autoremove letörli a drivereket? Hol kell jelenteni

Fórumok

Felraktam Trustyra (14.04) a snapd-t, ami felrakta magával a Xenial (16.04) kernelét is (trusty tárolóból).

Aztán nem tetszett a snap (nem is futott, amit akartam), meg a kernel is pocsék (5 másodpercenként felsikít és leáll a ventillátor), eltávolítottam a snapd-t, majd autoremove-ltem a felesleges csomagokat. Aztán ezután elromlott a felbontás, meg a wifi is elment.

Szerintem az

apt install snapd
apt remove snapd
apt-get autoremove

parancsok egy használhatatlan, driver nélküli rendszert eredményeznek, anélkül, hogy bármit is szólna. 

Ezt hol tudom nekik jelenteni?

Más: hol érdemes megmondani a rendszernek, hogy a régi kernelt akarom használni? Szerencsére bebootolni sikerült, az initrd.img és a vmlinuz symlinkeket nem törölte csak .old névre átírta, én meg visszaírtam, de, tartok attól hogy néhány konfig file azt hiszi, hogy az újabb kernelt használom, és a régi kernelt egyszer csak kisöprik alólam :/

Hozzászólások

Az 'autoremove' pont azt csinalja, ami a neve szegenynek. Leszedi azokat a csomagokat, amelyeknek a telepiteset nem kezzel kerted es nincs mar felrakva olyan kezzel telepitett csomag, amely dependenciakent hivatkozik ra. Tehat, ha felrakod a 'KDEAlmafa' nevu appot, ami magaval huzza fuggosegkent a 'KDEKortefa' appot es a 'KDELibKortefa' es a 'libmp3kortefa' libeket, akkor ha leszeded a 'KDEAlmafa'-t, a rendszer autoremove eseten le fogja szedni a fuggosegkent telepult szoftvereket is, fuggetlenul attol, hogy azokat hasznaltad-e vagy nem.

Tehat, valoszinuleg nincs mar fenn az a csomag, ami eredetileg fuggosegkent felhuzta a neked kello drivereket.

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.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

A csomagfüggőségnek oka van. pl az, ha  nincs fent akkor egyes funkciók mégsem jelennek a core alkalmazásban. Ubuntu desktopra készül és nem akar reklamációt. Ilyen az is, ha egy csomagnak kell egy user az Ubuntu létrehozza, a Debian nem mindig.  A két disztro között ez jellemző különbség, az Ubuntu kicsit gondolkodik helyetted, a Debian bízik abban, hogy tudod mit csinálsz.

Szerkesztve: 2021. 01. 13., sze - 21:32

én is jártam így... (valamelyik autoremove leszedte a kernelt... wtf?) nem is használok ubuntut azóta sem...

a szervereken debian van, de még kernelt nem szedett le...

a másik bajom az apt-tal, hogy naaaagyon lassú... sokszor upgradeltem már debiant (lxc-ben) úgy, hogy összetar, gzip, letölt, laptopon lefut az upgrade (ssd-vel), majd vissza...

Tudom sokat utálják, de én pont ezért használok aptitude-ot... :)

Debian Linux rulez... :D
RIP Ian Murdock