Właśnie wykonałem instalację z LiveCD 10.10 Desktop, dzięki czemu wolumin root to LVM LV.
Najwyraźniej nie jest to obsługiwane; Udało mi się to, wykonując następujące kroki przed uruchomieniem aplikacji instalatora GUI:
- instalowanie
lvm2
pakietu w działającym systemie - tworzenie partycji typu LVM na systemowym dysku twardym
- tworzenie woluminu fizycznego, grupy woluminów i głównego LV za pomocą narzędzi LVM. Stworzyłem także drugą LV dla
/var
; to nie wydaje mi się istotne. - tworzenie systemu plików (ext4) na każdym z dwóch LV.
Po wykonaniu tych kroków instalator GUI zaoferował dwa LV jako cele instalacji; Z przyjemnością się zgodziłem, także /boot
na partycję podstawową oddzielną od partycji LVM.
Wydawało się, że instalacja przebiegła bezproblemowo, a ja zweryfikowałem, że zarówno woluminy root, jak i var zawierają struktury katalogów, które wyglądają na akceptowalne.
Jednak uruchamianie nie powiedzie się; jeśli dobrze zrozumiałem, co się stało, zostałem upuszczony do busybox działającego w systemie plików initrd.
Chociaż nie przepracowałem jeszcze całej dokumentacji grub2, wygląda na to, że wpis, który próbuje uruchomić mój nowy system, jest poprawny:
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set $UUID_OF_BOOT_FILESYSTEM
linux /vmlinuz-2.6.35-22-generic root=/dev/mapper/$LVM_VOLUME_GROUP-root ro quiet splash
initrd /initrd.img-2.6.35-22-generic
}
Zauważ, że $ VARS są zastępowane w rzeczywistości grub.cfg
ich odpowiednimi wartościami.
Uruchomiłem ponownie z powrotem do livecd i rozpakowałem obraz initrd do katalogu tymczasowego. Wygląda na to, że obrazowi initrd brakuje funkcjonalności LVM. Na przykład, jeśli czytam /usr/share/initramfs-tools/hooks/lvm2
(zainstalowany lvm2
w systemie uruchomionym na LIVECD, nieobecny na zainstalowanym) poprawnie, lvm
plik wykonywalny powinien znajdować się w /sbin
; tak nie jest.
Jaki jest najlepszy sposób na zaradzenie tej sytuacji? Zdaję sobie sprawę, że łatwiej byłoby po prostu użyć alternatywnej instalacyjnej płyty CD, która najwyraźniej obsługuje LVM, ale nie chcę czekać na pobranie, a następnie ponowne zainstalowanie.
źródło
apt-get
, co jest trudne. Czy masz link do dodatkowych informacji na ten temat?Po zainstalowaniu systemu na dysku twardym musisz zainstalować lvm2 w tym systemie, zanim będzie można go uruchomić. Jeśli zainstalowałeś lvm2 na livecd, pakiety nadal będą w / var / cache / apt / archives. Przejdź do tego katalogu, podłącz dysk twardy i zainstaluj pakiety na dysku twardym, używając dpkg --root = / mnt * .deb. W twoim przypadku musisz zamontować root fs w / mnt, a także var fs w / mnt / var.
Nie potrzebujesz też oddzielnej partycji / boot, a osobna partycja / var jest wątpliwa.
źródło
chroot
. Myślę, że to nie zarejestruje się waptitude
db pakietów, które zostały wyraźnie zainstalowane, więc prawdopodobnie powinienem po prostu zainstalowaćlvm2
i jego zależności w ten sposób. Jakieś wady używania osobnego/var
? Innym zagadnieniem jest konieczność przydzielenia dodatkowego „luzu”? Chciałbym móc go zrobić migawkę, więc nie chcę mieszać go z innymi dużymi zmiennymi plikami; Planuję dowiązać symbolicznie lub zamontować mój katalog domowy do katalogu w osobnym/data
woluminie, który utworzę po uruchomieniu systemu, aby przechowywać muzykę i tym podobne./mnt/boot
, nie? Rozumiem, żelvm2
buduje nowy initrd podczas instalacji./var
partycja nie pomoże w tworzeniu migawek, nie, ale na przykład pomoże zapobiec nieoczekiwanemu zapełnieniu roota. Czy mówisz, że spowoduje to problemy z robieniem migawek? Och, czekaj, to ty w innym wątku komentarza do pytania. Nieważne ..Skończyło się na tym, że robiłem głównie to, co ładnie układa Kees Cook, z pewną pomocą z ostatniej części tego przewodnika . Jednak:
/dev
. Wygląda na to, że spowodowało to później pewne komunikaty o błędach; patrz poniżej./var
Oprócz tego zamontowałem wolumin na nowym katalogu głównym/boot
.Nie skopiowałem debsów do
/tmp
nowego katalogu głównego. Zamiast tego pobiegłem# apt-get install aptitude; aptitude install lvm2
pochroot
ing.aptitude
a być może równieżapt-get
, będę śledził, które pakiety zostały zainstalowane jawnie, a które zostały zainstalowane automatycznie jako zależności.apt-cacher-ng
), nie musiałem nawet czekać na ich ponowne pobranie. Musiałem zrobić plik/etc/apt/apt.conf.d/02proxy
zawierającyAcquire::http::Proxy "http://local-apt-proxy-server:3142";
przed uruchomieniemapt-get
. Zrobiłem to samo przed rozpoczęciem instalowania pakietów podczas uruchamiania LiveCD przed instalacją.Kilka razy dostałem komunikat o błędzie lub ostrzeżenie
** mount -o bind / dev / pts / mnt / YouNameIt / dev / pts
źródło