Pseudoinstalacja ArchLinux offline, krok po kroku

Ten artykuł został wysłany do mnie przez naszego przyjaciela Hugo Florentino e-mailem, gdzie opowiada nam o swoich doświadczeniach z próbą instalacji ArchLinux bez posiadania żadnego repozytorium pod ręką, po prostu używając dysku instalacyjnego

Pseudoinstalacja

Kilka dni temu pobrałem ArchLinux ISO, aby przeprowadzić instalację w domu. Po wcześniejszym korzystaniu z innych dystrybucji, które pozwalają zainstalować przynajmniej minimalną bazę danych z płyty CD, chciałem zrobić coś podobnego, ale co ciekawe, proces instalacji Arch nie jest przeznaczony dla komputera, który nie ma dostępu do Internetu (skutki uboczne życia deweloperów w pierwszym świecie).

W moim przypadku miałem już Windows 7 (z partycją rozruchową i systemową) i Fedorą (z jej wymianą i partycją dedykowaną / rozruchową) na moim dysku. Pomysł polegał wtedy na zainstalowaniu Arch w miejscu, w którym wcześniej znajdowała się Fedora, bez niszczenia systemu Windows w trakcie.

Pseudoinstalacja ArchLinux offline

Cóż, wystartowałem z płyty Arch CD, wybierając x86_64 i bez zbędnych ceregieli zostawiłem mnie przy konsoli. Pomyślałem: „Wow, ci faceci poważnie nie chcą być początkującymi dystrybutorami… dobra, zagrajmy dalej i zobaczmy, co się stanie”.

Wymieniłem katalog, w którym miałem sprawdzić, czy jest jakaś dokumentacja i odkryłem, że rzeczywiście jest tam tekst z podstawową instrukcją instalacji. Napisałem to, co było istotne na kartce papieru (nie mam w domu drukarki) i zabrałem się do pracy.

Pierwszą rzeczą, jaką zrobiłem, była zmiana układu klawiatury na hiszpański z Hiszpanii, co było łatwiejsze niż się spodziewałem (jest nawet ciekawie nazwany nas-akcenty):

loadkeys es

Następną rzeczą było zamontowanie zewnętrznego dysku, aby zapisać kopię MBR na wypadek problemów i przy okazji zapisać ważne informacje, które miałem w mojej Fedorze:

mkdir -p / mnt / tmp1 && mount / dev / sdb1 / mnt / tmp1 dd if = / dev / sda of = / mnt / tmp1 / mbr.bin bs = 512 count = 1

Na szczęście LiveCD Arch obsługuje NTFS i ma wbudowany Komandor o północy (MC), więc w mgnieniu oka skończyłem zapisywać resztę informacji.

Następnie odmontowałem dysk, usunąłem katalog tymczasowy i fizycznie usunąłem dysk zewnętrzny, aby zmniejszyć ryzyko potencjalnych „katastrof”.

umount /mnt/tmp1 && rmdir /mnt/tmp1

Sformatowałem więc partycje, zamontowałem partycję root i rozruchową i włączyłem swap:

mkfs -t ext4 / dev / sda3 mkfs -t ext4 / dev / sda6 mount / dev / sda6 / mnt mkdir -p / mnt / boot mount / dev / sda3 / mnt / boot swapon / dev / sda5

Następnym krokiem była moja pierwsza przeszkoda:

pacstrap /mnt base

Arch naturalnie próbował szukać baz danych repozytoriów na niektórych serwerach lustrzanych i nie był w stanie znaleźć żadnego, wszystkiego pacstrap Stworzyło to strukturę katalogów w / mnt, bardzo zorganizowaną, ale oczywiście pustą.

Przez telefon zapytałem kilku znajomych, którzy używają Arch, czy nie ma możliwości zainstalowania bez dostępu do Internetu przynajmniej tych samych pakietów, które są na LiveCD, bez konieczności kopiowania repozytorium na dysk, i powiedzieli mi, że przynajmniej nie wiedzieli, jak to zrobić.

Uważam, że wyzwanie techniczne jest interesujące, więc pomyślałem: `` Jeśli Arch jest w stanie zalogować się w trybie LiveCD, powinien być w stanie zainstalować na dysku twardym co najmniej w tym samym trybie '', więc spróbowałem ręcznie skopiować pliki i wykonać następujące czynności resztę samouczka (z kilkoma innymi drobnymi zmianami), aby zobaczyć, co się stało:

rsync -avl / {bin, etc, home, lib, lib64, opt, root, sbin, srv, usr, var} / mnt arch-chroot / mnt genfstab -p / >> / etc / fstab echo hpc> / etc / nazwa hosta ln -sf / usr / share / zoneinfo / Cuba / etc / localtime locale-gen

Następnym krokiem była moja kolejna przeszkoda:

mkinitcpio -p linux

Polecenie to spowodowało błędy, po przeczytaniu instrukcji obsługi i zawartości plików /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Zrozumiałem, że polecenie nie może znaleźć pliku vmlinuz-linux, więc nacisnąłem Ctrl + D, aby wyjść ze środowiska chroot i szukałem dowolnego pliku, który wyglądał tak:

find / -type f -iname "*vmlinuz*"

Zdarza się, że LiveCD Archa montuje pliki rozruchowe w katalogu / biegać /, więc zdecydowałem się skopiować je do mnie / bagażnik / aby mieć je pod ręką w moim środowisku chroot:

cp /run/archiso/bootmnt/arch/boot/[memtest,intel_ucode.img} / mnt / boot / cp / run / archiso / bootmnt / arch / boot / x86_64 / * / mnt / boot / arch-chroot / mnt

Ponieważ kolejnym błędem, który znalazłem podczas eksperymentowania z mkinitcpio, było to, że nie można znaleźć etykiety partycji głównej, zapisałem jej identyfikator UUID (który zidentyfikowałem za pomocą polecenia blkid), aby użyć go z poleceniem, które ostatecznie wyglądało tak:

mkinitcpio -p linux -k /boot/vmlinuz root=UUID=d85938aa-83b8-431c-becb-9b5735264912

Tym razem kompilacja zakończyła się pomyślnie, tylko z kilkoma ostrzeżeniami o modułach, których nie można znaleźć, ale w moim przypadku nie były potrzebne. Na wszelki wypadek ponownie wygenerowałem fstab, ale tym razem podając UUID:

genfstab -U -p / > /etc/fstab

Pomyślałem: no cóż, wreszcie postęp. Następnie zmieniłem hasło i zainstalowałem bootloader.

passwd grub-install --target = i386-pc --recheck / dev / sda grub-mkconfig -o /boot/grub/grub.cfg

Wreszcie, aby być metodycznym, ponownie nacisnąłem Ctrl + D, aby wyjść z chrootowanego środowiska, zdemontowałem wszystko i uruchomiłem ponownie, aby zobaczyć, co się stało:

umount / mnt / boot umount / mnt reboot

Komputer zrestartował się pokazując menu Grub z Arch (Windows nigdzie się nie pojawił), więc wybrałem to i wszystko wydawało się ładować dobrze, aż ... system wskazał, że były błędy, które powinienem sprawdzić następującym poleceniem:

journalctl -xb

Analizując błędy, zauważyłem, że większość można zignorować, ale ostatni był niezwykły, mówiąc mi, że nie można znaleźć plymouth.

Natychmiast pomyślałem: „Plymouth ??? Czego do cholery potrzebuje konsolowe środowisko rozruchowe? To nie wydaje się zbyt KISS. Z pewnością tego nie powiedziałem i nie potrzebuję tego ”.

Ale żeby być praktycznym, pomyślałem: „No, ale przynajmniej powinno się do niego odwoływać w jakimś pliku, zobaczmy…”:

find /etc -type f -print0 | xargs -0 grep -i "plymouth"

Zaskakujące jest, że w katalogu konfiguracyjnym nie pojawił się plik z ciągiem tekstowym „plymouth”. Pomyślałem wtedy: «Och, więc ... zmuszasz się do mnie? zobaczmy, jak przyswoisz sobie „armatę” (jak mówimy na Kubie) i „zbudowałem” plymouth od podstaw:

vi / usr / bin / plymouth chmod 755 / usr / bin / plymouth

Dla tych z Was, którzy zastanawiają się, co umieściłem w tym pliku, oto zawartość w jego chwalebnej całości:

#! / bin / sh wyjście

Ponownie uruchomiłem ponownie, spodziewając się błędu i ... o dziwo, systemd był zadowolony, że znalazł ten „niezbędny komponent”, ponieważ zakończył proces uruchamiania i bez dalszej zwłoki zostawił mnie w konsoli. Ponieważ nie mogłem uwierzyć własnym oczom, zdecydowałem się „odinstalować” plymouth i zrestartować, aby zobaczyć, co się stanie:

rm -fr / usr / bin / plymouth reboot

O dziwo, tym razem system uruchomił się cicho, nie denerwując mnie dalej nieobecnością Plymoutha. (Bez komentarza)

Dodawanie systemu Windows do GRUB

To było wtedy, aby dodać wpis Windows do GRUB. Ponieważ tradycyjne trasy nie działały (połączenie grub-mkconfig z sonda os nie wydawało się działać dobrze), zdecydowałem się stworzyć wpis ręcznie, dla którego potrzebowałem wykryć ciąg bootloadera systemu Windows oraz UUID partycji rozruchowej:

mkdir -p / mnt / winboot && mount / dev / sda1 / mnt / winboot grub-probe --target = hints_string / mnt / winboot / bootmgr grub-probe --target = fs_uuid / mnt / winboot / bootmgr

To odpowiednio zwróciło mi te dwa ciągi:

--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
DC788F27788EFF8E

W ten sposób zweryfikowałem, czy zwrócony UUID był taki sam, jak ten uzyskany dla tej partycji podczas wykonywania polecenia blkid. Konieczne było wtedy wygenerowanie niestandardowego wpisu GRUB z tymi danymi:

vi /etc/grub.d/40_custom

W swojej treści:

#! / bin / sh exec tail -n +3 $ 0 # Ten plik zapewnia łatwy sposób dodawania własnych wpisów menu. Po prostu wpisz # pozycje menu, które chcesz dodać po tym komentarzu. Uważaj, aby nie zmienić # linii 'exec tail' powyżej. menuentry "Microsoft Windows 7 SP1" --class windows --class os {insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr search --fs-uuid --set = root --hint-bios = hd0, msdos1 --hint-efi = hd0, msdos1 --hint-baremetal = ahci0, msdos1 DC788F27788EFF8E ntldr / bootmgr}

Po wykonaniu tego kroku postanowiłem ustawić Windows jako domyślny system operacyjny, aby moja żona nie wpadała w panikę, a siostrzenica mogła grać w swoje Barbie, gdy przyjdzie. W tym celu po prostu wyedytowałem plik / etc / default / grub i ustawiłem wejście na domyślne uruchamianie i limit czasu na zaledwie 3 sekundy.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Pozostało tylko ponownie wygenerować konfigurację GRUB-a i zrestartować:

grub-mkconfig -o /boot/grub/grub.cfg reboot

Na szczęście wszystko poszło zgodnie z oczekiwaniami. Wybrałem wpis Windows i zaczęło się szczęśliwie.

Jak widać, co najmniej jedną pseudoinstalację ArchLinux offline można wykonać krok po kroku, nie będąc w trybie online tylko z płytą CD, chociaż oczywiście to, co zostanie zainstalowane na dysku twardym, jest zasadniczo LiveCD, ale przynajmniej może uruchom system, skopiuj pliki i uruchom niektóre aplikacje.

Na szczęście Sandy (KZKG ^ Gaara) zatrzymał się i skopiował repozytorium Arch (za co jestem bardzo wdzięczny), więc planuję wkrótce dokończyć prawdziwą instalację offline, ale to będzie inna historia. Mogę was zapewnić, że przez długi czas trochę tęskniłam za tego rodzaju zabawnymi eksperymentami. Tak naprawdę, gdybym miał czas, łączność w domu i pewne warunki materialne, prawdopodobnie spróbuję stworzyć niestandardową dystrybucję opartą na LFS, co byłoby znacznie przyjemniejszym projektem. 😉


19 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   peterczech powiedział

    Mam nadzieję, że wypróbujesz FreeBSD Elav.
    Jeśli chodzi o twojego przewodnika, bardzo, bardzo, bardzo dobrze i kompletnie ...

    1.    Rampa powiedział

      Jak bardzo jesteś zmienny. Zapewniam, że za kilka miesięcy znudzi Ci się FreeBSD.

      1.    lf powiedział

        Ciekawe informacje, jednak nadal nie widzę poradników jak zainstalować arch w systemach z UEFI, czy łucznicy mają nowe pecety?

        1.    pełen życia powiedział

          Instalacja z UEFI w ArchLinux jest uproszczona, instalując Antergos, wystarczy utworzyć partycję w Fat32 z mniej niż 500 MB i automatycznie (po uruchomieniu USB z UEFI), Antergos oznaczy partycję jako / boot.

      2.    peterczech powiedział

        Dlatego się zmieniam ... Aby już się nie zmieniać, przechodzę z Linuksa na BSD: D.

    2.    peterczech powiedział

      Wprowadzona zmiana i napisana instrukcja: D.

  2.   r @ y powiedział
    1.    oskar powiedział

      Kontynuuj używanie Arch, kiedy pojadę do Hawany, odbiorę go.

  3.   Alex powiedział

    Mam na USB Arch Linux iso. Nie odważyłem się go użyć z powodu braku czasu.
    Zrobię dobrą recenzję artykułu i wykorzystam go!

  4.   Serce bojowe powiedział

    Świetny artykuł, przy okazji przypomina mi odyseję, przez którą przeszedłem, aby zainstalować Arch przez WIFI z BCM4312.

  5.   kalevito powiedział

    Elav, przepraszam za pytanie, ale jestem nowy w Linuksie, używałem tylko ubuntu, a arch linux przykuwa moją uwagę. Moi znajomi mówią, że nie będę mógł go zainstalować, ponieważ jest dla ekspertów, ale widząc twój tutorial offline, myślę, że krok po kroku mogę to zrobić, zainstalowanie go jest dla mnie wyzwaniem. Tylko ja chcę to zrobić z Internetem, oto moje pytanie: czy masz lub kiedy zrobisz samouczek z tak dużą ilością szczegółów (jak ten), aby go zainstalować?

    1.    Daecko powiedział

      Przewodnik jest opublikowany na tej stronie. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Korzystając z przewodnika i zwracając uwagę na to, co zostało zrobione, będziemy mieli instalację bez komplikacji, szczęście!

    2.    pełen życia powiedział

      Nadal możesz zainstalować Antergos, czyli Archlinux, ale z instalacją „w stylu Ubuntu”. 😀

  6.   aphanyczny powiedział

    W Arch istnieje inne alternatywne medium instalacyjne do oficjalnych obrazów o nazwie Archboot, które w przeciwieństwie do oficjalnych obrazów zawiera repozytorium [core] (i coś innego), przydatne do instalacji offline (jest to również architektura hybrydowa, jest używana dla i686 i dla x86_64).

    Złe jest to, że zajmuje teraz 1 GB (zajmował znacznie mniej lat temu), który musiałby zostać pobrany wcześniej ... i bez stabilnego połączenia, aby wykonać to początkowe pobieranie, jest skomplikowane.

    Oto link na wypadek, gdyby okazał się przydatny: https://wiki.archlinux.org/index.php/archboot

    1.    pełen życia powiedział

      Ciekawe, że go nie znałem 😀

    2.    Hugo powiedział

      Cóż, co ciekawe, jakiś czas temu próbowałem archboot i kiedy docieram do części pacstrap, mówi mi, że nie może znaleźć pakietu ntfs-3g 🙁

      Ma również inne cechy szczególne, takie jak to, że nie zawiera stron mc ani stron podręcznika, a do zainstalowania wymaga dużo pamięci RAM. To nie wygląda na dobrze dopracowane rozwiązanie.

  7.   Maksymalna stal powiedział

    Prawda jest taka, że ​​istnieje bardzo prosty sposób na zainstalowanie arch w trybie offline, który musiałem wykonać klasyczną metodą prób i błędów, aby zainstalować go na moim domowym komputerze (gdzie nie mam internetu).

    Do tego potrzebny jest oczywiście inny komputer z łukiem i połączeniem internetowym. Po prostu stwórz najpierw pacman -Syu, a następnie bazę pacman -Sw (plus wszystko, co oczywiście chcesz zainstalować). Skopiuj wszystkie pliki z pamięci podręcznej pacmana na pamięć USB, a także pliki bazy danych (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Następnie przejdź do normalnej instalacji arch, ale zanim przejdziesz do punktu tworzenia bazy pacstrap - d / mnt (lub cokolwiek, mówię wszystko z pamięci>.) Musisz dokładnie edytować pacstrap (z vi lub cokolwiek wolisz lub przynieś dysk instalacyjny) i prawie na końcu znajduje się wiersz odnoszący się do „pacman -Syy”, po prostu go usuwamy. Następnie kopiujemy pliki bazy danych pacman do ich odpowiednich miejsc (wszystkie pliki .db do / var / lib / pacman / sync), a pliki cache do katalogu cache.

    Więc teraz przechodzimy do pacstrap -loquenomeaccord / mnt base i wszystko inne.

    Wszystko, co mówię z pamięci, więc może być trochę szczegółów, które poszedłem, na przykład pliki pamięci podręcznej, których nie pamiętam dokładnie, gdzie idą, ale powinno być w / var / cache / pacman / pkg lub jeśli nie można go określić w wydaje mi się, że pacstrap.

  8.   Leonel powiedział

    Możesz zrobić samouczek dotyczący cfdisk z podwójnym lub potrójnym ładowaniem 🙁, oprócz tego, czego potrzebuję, aby zainstalować arch

    1.    Hugo powiedział

      Naprawdę nie ma wiele do powiedzenia na temat cfdisk, ponieważ nie jest on wcale skomplikowany, aw rzeczywistości przewodnik instalacji, o którym mowa powyżej, w zasadzie pokazuje, jak go używać. Ale jeśli masz zainstalowane inne systemy, możesz użyć czegoś bardziej przyjaznego, na przykład Gparted. Dla Windows jest darmowe narzędzie (choć niestety nie darmowe) o nazwie Easeus Partition Master, z którego możesz skorzystać, wydaje się, że działa bardzo dobrze.

      Co do reszty cieszę się, że artykuł był dla Ciebie interesujący, nie widziałem wielkiej wartości mojego doświadczenia, ale Elav zachęcił mnie do przygotowania czegoś na ten temat.