chroot gondok

 ( valek | 2011. november 28., hétfő - 19:00 )

Ubuntu 10.04-en sikeresen hazavágtam a kernelemet, és próbálom valahogy live CD-vel orvosolni ostobaságomat.
Az eddig kapott segítség szerint:

-mountoltam a tetszhalott rendszerem a live CD-ről bootolást követően a /media könyvtár alá
-a live CD-ről ugyanide csatoltam a /dev, /proc, /sys könyvtárakat is
-majd ezután a chroot-olni próbáltam a /media könyvtárat, a sudo chroot /media paranccsal, de ezt a hibaüzenetet kaptam:

chroot: cannot run command `/bin/bash': No such file or directory

Ugyanez, ha mondjuk a fenti könyvtárakat a /mnt alá csatoltam akkor is. Mit tudok csinálni, hogy a chroot ellássa feladatát?
Rendszergazdaként próbáltam. És a /bin/bash fájl is létezik a live rendszeren, ugyebár, és az én régi rendszeremen is..
Egyébként a chroot-olt könyvtárban egy üres apt könyvtárat kreált a parancs futását követően a rendszer a kijelzett hiba ellenére.
Interneten sajnso nem leltem túl sok számomra szükséges szájbarágós megoldási lehetőséget.
Köszönettel venném, ha segítenétek továbblépni!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

majd ezután a chroot-olni próbáltam a /media könyvtárat, a sudo chroot /media paranccsal
...
És a /bin/bash fájl is létezik a live rendszeren, ugyebár, és az én régi rendszeremen is..

A hibaüzenet szerint a /media/bin/bash, vagy a /media/lib/ld-linux.so.2 nem létezik.

Ez utóbbinak a hiányán tudok segíteni? Mert az első a helyin van.

Hát, mondjuk kideríted, hogy hova lett. Mert nélküle bootolni sem fog a géped.

Őőő. Bizony nem tudok bootolni.

Egy mikrofonbeállítási procedúra során gyanús lett, hogy a feltelepült kernelek nem egyívásúak az alsával, így lekaptam a korábbiakat, viszont elszúrtam, mert egy olyan kernel maradt fenn (2.6.35 talán), ami nem volt beállítva teljesen -nem tudom ezt miért nem jelölte töröttnek a synaptic-, így az újraindításkor ez fogadott:

error:file not found
error:you need to load the kernel first
Failed to boot both default and fallback entries

Nem lehet valahogy kívülről, live CD-vel megbuherálni a kernelt? Más fórumon biztattak a korábban leírt műveletekkel, de elakadtam a chroot-nál, ahogy az elébb leírtam.
Tudom, vessek magamra.

"a feltelepült kernelek nem egyívásúak az alsával, így lekaptam a korábbiakat"
Ahogy az előbb vl rámutatott, ez nem kernelprobléma. Látható, hogy a libc6 vagy libc6-i386 tartalmazza az ld-linux.so.2 file-t. Mintha a /lib (részben) törölve lenne. Nem történt ilyen? Ezt a kernelcsomagnak nem szabadna bántania.

"Nem lehet valahogy kívülről, live CD-vel megbuherálni a kernelt?"
A csomagok letölthetőek, első körben próbáld belőlük a megfelelő helyre másolni a hiányzó file-okat. Miután ezután sikerült bebootolni, installáld újra a kézzel felmásolt csomagokat.

Hogy "kaptad le" a kerneleket?! A telepített rendszered 32 vagy 64 bites? És a bootolásra használt CD?

Valami nem kerek abban, amit írtál, így kérdezek. :)

Szerintem nem jó könyvtárba akarsz chroot-tal belépni.

Tehát bootolsz a live CD-ről...
Becsatolod a /mnt vagy /media alá... közvetlenül, vagy ez alatt egy könyvtárban van?

Ha utóbbi, akkor pl. chroot /mnt/disknév kellene.
Ill. ugyanide bindelheted a többi könyvtárat /mnt/disknév/dev, stb. nevek alá.

Ha a csatolás rendesen sikerült és a chroot-nak megfelelő könyvtárat adsz meg, valamint a /bin/bash valójában létezik, szerintem be kellene lépnie.

Ezután bent vagy a rendszerben, szimplán apt-vel fel tudod tenni a kernelt és csinálsz egy grub update-et. Lehet, elég csak a /boot könyvtárat felcsatolni.

Ez alapján tettem-vettem eddigelé.

"sudo mount /dev/sda1 /mnt"
Nálad is valóban az sda1-en van a root FS? Megnézted, hogy jó partíciót mountoltál fel, és nem pl. a /boot-ét?

a /media-ban lévőt tettem fel. és mikor másként próbáltam, akkor is ellenőriztem a tartalmát a felcsatolt könyvtárnak és egyezett az eredetivel.
De mi is az a root FS? Ahol az eredeti rendszerem van? Ha igen, akkor ellenőriztem, és az. Az egykoron telepítésnél a "/" partíciót tettem rá.

Összefoglalom:
- a rendszered rootja a /dev/sda1
- felmountoltad az sda1-et a a /media alá
- a /media alatt láttad a telepített rendszered rootját (bin, boot, etc, lib, lib64, sbin stb.)
- a /media/lib létezik, viszont a /media/lib/ld-linux.so.2 nem létezik
- az apt-get parancs hatására keletkezett egy üres /media/apt könyvtár, azaz a /media alatti könyvtárlista ez: apt, bin, boot, etc, lib stb.

Ez így van? (Na most ez itt felettébb érdekes.)

Azt írja a másik fórumon, hogy a nautilus automatikusan csatolta a /media könyvtár alá a partíciót.

Ha jól sejtem, akkor /media/sda1 vagy /media/label néven van felcsatolva...
...akkor viszont a chroot-nál is ezt a könyvtárat kellene megadni.

Nem itt lesz a gond (pl.)?

Esetleg idemásolhatná a mount parancs kimenetét is, talán segít.

Ááá. Sosem a gép az ökör! Simán ment a chroot, csak eddig nem az sda1 particiót csatoltam, hanem az automatikus /media lemezcsatolást, és külön könyvtárakban dolgoztam, és a média alatt nem az eredeti root, vagy gyökér fájlrendszerem látszódott, hanem a lemez neve... És külön dev, proc és sys könyvtárakat csináltam.
Most, hogy a /media alá közvetlen csatoltam az sda1-et, és a live cd /proc /sys és /dev könyvtárait, már szépen ment a chroot is.
Sikerült a megfelelő kernel csomagok telepítését követően bootoltatni a rendszert.
Köszönöm lelkes segítségetek!