( gee | 2021. 01. 14., cs - 17:49 )

Valóban nem bug.

De egyszerűbb a dolog. Ha van dependency, akkor megmarad. Ha úgy tudja a rendszer, hogy kézzel lett feltéve, akkor fennmarad. Ha úgy tudja a rendszer, hogy automatikusan lett telepítve ÉS semmi nem függ tőle (pre-depend, depend, recommend), akkor letörli.

Debianban pl. az alap telepítés feltesz egy csomó csomagot, ami a rendszer szerint kézzel van telepítve. Ha ezeket az ember kézzel automatára állítja, akkor rögtön egy részüket automatán törlésre jelöli ki a rendszer.

Pl. egy metacsomag feltétele azt jelenti, hogy a metacsomag kézzel lett feltéve, és minden, amitől függ, az automatán. Ha letörlöm kézzel a metacsomagot, vagy automatára állítom és semmi nem függ tőle, tehát automata törlésre jelöli ki a rendszer, akkor minden, amit feltett potenciálisan törlésre kerül. De nem feltétlenül mindent töröl az automata. Pl. ha az alma metacsomag feltette a körtét (depends), de egy korábban feltett barack csomag recommends körtét, akkor az alma törlése után a körte megmarad, mert a barack függ tőle. Másik példa, ha alma feltette a körte csomagot és feltette a narancs csomagot, és a körte függ a narancstól, a narancs meg függ a körtétől, akkor az automata csak annyit lát, hogy mindenki függ valakitől, és nem szedi ezeket automatán le. Ha viszont én kézzel mondjuk a narancs csomagot törlésre jelölöm ki, akkor mivel a körkörös függés megszűnt, a rendszer automatán kijelöli a körtét is törlésre. Ugyanígy, ha a barackot törlöm (vagy egy frissítés után már nem recommends szinten függ a körtétől), akkor a rendszer automatikusan törlésre jelöli a körtét is.

könnyű ellenőrizni, hogy egy csomag miért marad a rendszeren: aptitude-ban ha "i" van egy csomag előtt, akkor az kézzel telepítettnek számít, shift-m hatására beállítja a rendszer az automata jelzést, és vagy rögtön törlésre jelöli ki: "idA", vagy nem: "i A". Az első esetben nem volt semmi függőség, ami megtartotta volna a csomagot, a másodikban meg valami függ tőle. r billentyűvel lehet kilistázni, hogy mi függ ettől a csomagtól. Ha azt a listát kigymlálja az ember, akkor ez a csomag automatán törlésre ki lesz jelölve, attól függetlenül, hogy egy maintainer mire gondolt, miközben csomagolta ezt, vagy a metát.

Szóval simán lehet, hogy Debian és Ububtu egyszerűen annyiből tér el, hogy az Ubuntuban sokkal több minden függ egymástól, és a metacsomag eltávolítása után a körkörös függések miatt fennmaradnak a dolgok.

Amikor valaha régen egyszer próbát tettem az Ubuntuval, pont azért nem barátkoztam meg vele, mert én telepítés után szeretem kiirtani a számomra szükségtelen dolgokat, Ubuntu esetén viszont a számomra teljesen felesleges csomagoktól is millió egyéb függött, és nem tudtam kiirtani a bozótot.

De ez nem bug, bizonyára egyszerűen más a célkitűzése egy ilyen beállításnak. Pl. Debian alatt simán törölhetek annyit, hogy egy holt fapados rendszerem lesz, X meg hálózat meg hasonlók nélkül. Az Ubuntu meg bizonyára úgy volt vele, hogy a mi felhasználóink egy integráltan működő grafikus felületet akarnak, tehát az ehhez szükséges csomagokat beállítjuk függésként a legalapabb rendszercsomagokhoz és így soha nem tudja egy kezdő véletlenül letörölni.