Jak tak nad tím přemýšlím, jak vlastně systém tím prázdným souborem zachráním, když někdo do blogu o instalaci dá místo
sudo apt install ...
upravenou verzi
sudo touch ....
sudo apt install...
a lama to prostě zkopíruje? V tu chvíli je tam, kde by byla bez té pojistky.
13. 11. 2021, 10:47 editováno autorem komentáře
Ono cely ten sposob ako toto "vyriesili" je uplne nestastny a dufam, ze sa to nedostane do upstreamu. (verim ze nie) V /etc/apt/ ma apt svoje konfiguracne subory. Na Debian/Ubuntu derivatoch mohli proste pridat nejaku extra konfiguraciu do /etc/apt/apt.conf.d/
Pouzivat existenciu/neexistenciu nejakeho suboru ako sposob nastavenia apt je uplne nesystemovy a velmi nestandardny.
rozdil je podstatnej, zatimco dotaz o potrvrzeni slovy "Yes, do as I say!" ci v CZ: "Ano, udělej to tak, jak říkám!" muze nepremyslejici BFU potvrdit, tak s pojistkou tu moznost nema...
a protoze tezko nejakey navod pro BFU dnes ma "az to napise ze jde o nebezpecnej ukon, napis Yes, do as..." tak predpokladam "sudo touch /etc/.. pojistka v tech navodech take nebude :)
13. 11. 2021, 18:46 editováno autorem komentáře
Soustředěnýmu náporu blbosti neodolá nic. To ale neznamená, že když voloviny dělá BFU, musí voloviny dělat i vývojář.
A je docela podstatný, co všechno za tou pojistkou bude. Jestli odinstalace čehokoliv, nebo jenom odinstalace konkrétního balíčku ze seznamu ( na prasáka natvrdo v kódu, jak jinak :D ), nebo i instalace,... Pokud se dostane do stavu, kdy musí obejít pojistku pro korektní akci, projde i ta nekorektní.
Jediná korektní možnost není testovat prázdný soubor, ale u kritických balíčků hodit atribut, který spustí chování k eliminaci poškození systému. A to musí jednoznačně upozornit uživatele, že bude mazat co by neměl a měl by se to aktivovat fakt jenom výjimečně, aby se o tom nepsalo v návodu.
Ze zprávičky není zřejmý, co všechno a na základě čeho ten pojistný soubor pokryje.
byl by samozrejme nesmyl aby to blokovalo odinstalace nedulezitejch balicku...
tedy logicky predpokladam ze ta "pojistka" bude detekovana ve stejlejch pripadech v kterej ted normalne vyskocilo "Yes, do as I say!" a to NEni dane seznamem natvrdo v kodu, ale naprosto systemove, balicek je povazovan za dulezitej pro system pokud ma nastaveno "Essential: yes"
predpoklad sem mel spravnej, je to vylozene pridani detekce souboru k puvodni detekeci "essential" baliku:
https://github.com/pop-os/apt/pull/1/commits/0cbdc740944daa97ea5aceac52c172ada4fc0dc5