Portál AbcLinuxu, 12. května 2025 10:29
System jsem mel rozdeleny na /home a zbytek. Filesystem, na kterem byl ten zbytek se zhroutil. Nicmene muzu ho primountovat na jinem pc pote, co jsem ho projel programkem fsck.ext3
Vzhledem k tomu, ze jsem neprisel o podstatna data, pojal jsem myslenku jednoduse system preinstalovat. Tj. zformatovat zlobivou partisnu a nahodit stejne baliky jako jsem mel doted. A nyni k memu dotazu... jak z primnountovaneho disku zjistim, jake balicky na nem byly nainstalovany?
Na bezicim systemu znam prikaz dpkg --get-selections
, ale jak na to v primountovanem disku? Lze to nejak vycucat treba z /var nebo tak?
Jedna se o debian testing amd64.
jo, ten existuje a je OK. Krom toho je tu jeste /var/lib/dpkg/status
.
Zbyva tedy vyresit otazku, jak z toho dostat neco, cim nakrmim dpkg. Nebo jednoducha otazka... co s tim souborem mam delat? >:]
chroot
? Pokud ten souborový systém máš řekněme v adresáři /mnt/crash
, zkusil bych chroot /mnt/crash dpkg --get-selections
.
bohuzel mam k dispozici pouze 32bitovy system (kam to mountuju) a na disku je 64bitovy system. Takze chroot
se nezdari s tim, ze cannot run command '/bin/bash': Exec format error
dctrl-tools
a v něm program grep-status
, který umí hledat v souboru /var/lib/dpkg/status
. Pak by šlo něčím jako grep-status -s Package,Status '.' /mnt/crash/var/lib/dpkg/status
a několika regulárními výrazy napodobit výstup dpkg --get-selections
.
tak tohle nefunguje. Kdyz chci pustit chroot
, tak nasledne chce pustit /bin/sh a ten neprojde, prave proto, ze /bin/sh je link na /bin/bash a bash potrebuje nejake shared libraries, ktere jsou na tom disku zrejme koruptene.
hmm, nakonec jsem to vyresil tak, ze jsem proste nainstaloval system znova a baliky, ktere mi chybi jednoduse prubezne doinstalovavam. Nicmene zalohu byvaleho /var mam, takze si s tim ve volnych chvilich muzu hrat... >:]
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.