Sajnos, belefutottam egy olyan jelenségbe, hogy az egyik számítógépemre nem telepíthető egy alkalmazás konzolos megoldása. És az eltávolítás is nehézségekbe ütközik: a csomag rossz, következetlen állapotban van - mondja a rendszer (a terminál, és a Synaptic). Tájékoztatás: a hiba a gépemben van, azaz a Telegram alkalmazáshoz (vélhetően, mert manapság mihez nem) szükséges a processzor SSE2 támogatása, és nálam ez nem teljesül. Összefoglalva: az SSE2 CPU támogatás hiánya miatt a grafikus alkalmazás nem indul, a CLI változat nem telepíthető, de utóbbi eltávolítása vagy javítása sem lehetséges a szokásos módszerekkel.
A hibaüzenet:
(azaz nincs frissítési forrás [archívum], ugyanis DEB csomagból telepítettem)
Remove package in bad state The package 'telegram-cli' is in an inconsistent state and needs to be reinstalled, but no archive can be found for it.
Mit lehet ilyenkor tenni?
Például a következőt:
sudo dpkg --remove --force-remove-reinstreq telegram-cli
Mit mond a kapcsolóról (--force-remove-reinstreq) a 'dpkg' kézikönyve?
man dpkg Package flags reinst-required A package marked reinst-required is broken and requires rein‐ stallation. These packages cannot be removed, unless forced with option --force-remove-reinstreq. [és] --force-things, --no-force-things, --refuse-things remove-reinstreq: Remove a package, even if it's broken and marked to require reinstallation. This may, for example, cause parts of the package to remain on the system, which will then be forgotten by dpkg.
Tehát az van a kézikönyvben, hogy ezt a kapcsolót használd,
-- ha a csomag -valamilyen okból- törött és
-- a javítás újratelepítést igényel. Ami például nem sikerül ...
így a 'dpkg' majd jól el fogja felejteni.
Az újratelepítés nálam nem járt eredménnyel.
A következő lépés, hogy
-- futtatod az update és az upgrade parancsokat
sudo apt-get update
sudo apt-get upgrade
-- így a hibáknak -ha egyáltalán vannak- látszaniuk kéne.
A beállítófájlok törlését -a példában szereplő csomag tekintetében, és mert ezt nem tettem meg- a '--purge' kapcsolóval hajtom végre,
(a telegram csomagot korábban -teljes eltávolítással- töröltem, így azzal nem kell foglalkoznom)
sudo dpkg --purge telegram-cli
vagy -más csomagok tekintetében, melyek a rendszer működéséhez feleslegesek- az alábbi paranccsal.
sudo apt-get autoremove --purge
Tekintettel arra, hogy a 'telegram-cli' telepítése egy függőséget igényelt, ez azonban más alkalmazáshoz kifejezetten nem tartozik: éppen ezért nem szükséges, hogy telepítve legyen.
Ha az előbbi módszer nem válik be, akkor:
-- a 'cd' paranccsal belépsz az alábbi könyvtárba
cd /var/lib/dpkg/info
-- majd az 'rm' paranccsal törlöd a gondot okozó csomagnevet tartalmazó fájlokat
(a * a fájlnevek végét helyettesíti)
sudo rm --force telegram-cli*
-- a törlés után kilépsz a könyvtárból
cd
-- és a már ismertetett módszer szerint lépsz tovább, innen indulva:
sudo dpkg --remove --force-remove-reinstreq telegram-cli
Enjoy!
:::::
Fogalmak
(pl. a Synaptic csomagkezelő is használja a kifejezéseket az eltávolítási menüben)
-- Eltávolítás: a csomag eltávolítása, de beállításai megmaradnak ( remove )
-- Teljes eltávolítás: a csomag és beállításainak eltávolítása ( purge )
-- az 'apt-get' parancs újabb rendszereken az 'apt' paranccsal helyettesítendő. De ezt már úgyis tudod.