Hlavní navigace

Jak si opravit problémy s dpkg

10. 10. 2011 11:26 (aktualizováno) Petr Krčmář

Stala se mi nepříjemná věc, poškodily se mi některé soubory dpkg a balíčkovač křičel. Oprava byla naštěstí jednoduchá.

Netuším kdy a jak se to stalo, ale od určité chvíle mi dpkg (základní balíčkovací systém v Debianu) ječel podobné chyby:

varování, v souboru „/var/lib/dpkg/available“ okolo řádku,
 45184 balík „virtualbox-3.0“:
 error in Version string '3.0.12-54655_Debian_lenny':
 invalid character in revision number

varování, v souboru „/var/lib/dpkg/status“ okolo řádku,
 40532 balík „virtualbox-3.0“:
 error in Config-Version string '3.0.12-54655_Debian_lenny':
 invalid character in revision number

Je to jen výřez, těch chyb bylo asi dvacet. Všimněte si, že příklad ukazuje na dva různé soubory, jedná se totiž o dva různé problémy. Došlo k poškození databází kvůli špatně napsaným balíčkům, naštěstí dpkg fungovalo normálně, jen to takhle ječelo. Oprava byla naštěstí poměrně snadná, stačilo zadatt:

# dpkg --clear-avail
# dpkg -P virtualbox-3.0

Druhý příkaz je třeba zopakovat pro všechny balíky, u kterých to ječí. Až při tomto příkazu jsem si všiml, že problém je jen u balíčků VirtualBox, které už v systému nemám. Parametr -P odstraňuje konfiguraci starého odinstalovaného balíku a zároveň jej maže z databází. Po tomto vyčištění už je všechno v pořádku a dpkg zase šlape jako hodinky.