ArchLinux offline pseudo-instalacija korak po korak

Ovaj članak mi je poslao naš prijatelj Hugo Florentino putem e-pošte, gdje nam govori o svom iskustvu kada je pokušavao instalirati ArchLinux bez ikakvog spremišta pri ruci, samo koristeći instalacioni disk

Pseudoinstalacija

Prije par dana sam skinuo ArchLinux ISO za instalaciju kod kuće. Pošto sam prethodno koristio druge distribucije koje vam omogućavaju da instalirate barem minimalnu bazu sa CD-a, želeo sam da uradim nešto slično, ali zanimljivo je da proces instalacije Arch nije dizajniran za računar koji nema pristup Internetu (nuspojave programeri koji žive u prvom svijetu).

U mom slučaju, već sam imao Windows 7 na svom disku (sa njegovom boot i sistemskom particijom) i Fedora (sa njegovom swap i namenskom /boot particijom). Tada je ideja bila da se instalira Arch tamo gde je ranije bila Fedora, bez uništavanja Windowsa u tom procesu.

ArchLinux van mreže pseudoinstalacija

Pa, podigao sam sa Arch CD-a, birajući x86_64, i bez mnogo me je ostavio na konzoli. Pomislio sam: "Vau, ovi momci ozbiljno misle da neće biti distribucija za novajlije... jako dobro, hajde da onda igramo i vidimo šta će se desiti."

Naveo sam direktorij u kojem sam trebao vidjeti postoji li ikakva dokumentacija i otkrio da zaista postoji tekst sa elementarnim vodičem za instalaciju. Napisao sam šta je relevantno na komad papira (nemam štampač kod kuće) i krenuo na posao.

Prvo što sam uradio je da promenim raspored tastature na španski iz Španije, što se pokazalo lakšim nego što sam očekivao (postoji čak i jedan zanimljivo nazvan us-akcenti):

loadkeys es

Sljedeća stvar je bila montiranje eksternog diska da sačuvam kopiju MBR-a u slučaju problema i istovremeno sačuvam važne informacije koje sam imao na svojoj Fedori:

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

Na sreću, Archov LiveCD podržava NTFS i integrisan je Ponoćni komandant (MC), tako da sam za kratko vrijeme završio sa pohranjivanjem ostalih podataka.

Zatim sam demontirao disk, izbrisao privremeni direktorij i fizički uklonio vanjski disk kako bih smanjio rizik od potencijalnih "pada".

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

Zatim sam formatirao svoje particije, montirao root i boot particije i omogućio swap:

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

Sljedeći korak je bila moja prva prepreka:

pacstrap /mnt base

Arch je, prirodno, pokušao da potraži baze podataka spremišta u jednom od ogledala, a kada nije mogao da nađe nijednu, sve što je uradio je pacstrap Ono što je uradio je da je napravio strukturu direktorijuma u /mnt, veoma organizovanu, ali očigledno praznu.

Telefonom sam pitao par prijatelja koji koriste Arch da li ne postoji način da se bez pristupa Internetu instaliraju barem isti paketi koji se nalaze na LiveCD-u, a da pritom nema kopiranja repozitorija na disk, i oni su mi rekli da barem nisu znali kako to da urade.

Tehnološki "izazov" mi je bio zanimljiv, pa sam pomislio: "ako se Arch može prijaviti u LiveCD mod, mora biti u mogućnosti da se instalira na hard disk barem u tom istom načinu", pa sam pokušao ručno kopirati fajlove i pratite ostatak tutorijala (sa malim promjenama) da vidite šta se dogodilo:

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

Sljedeći korak je bila moja sljedeća prepreka:

mkinitcpio -p linux

Ova naredba je proizvela neke greške nakon čitanja priručnika za naredbe i sadržaja datoteka /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, shvatio sam da komanda ne može pronaći datoteku vmlinuz-linux, pa sam pritisnuo Ctrl+D da izađem iz chroot okruženja i potražio sve datoteke koje su izgledale tako:

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

Dešava se da Archov LiveCD montira boot fajlove u direktorijum /trči/, pa sam odlučio da ih kopiram sebi / boot / da ih imam pri ruci u svom chroot okruženju:

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

Budući da je još jedna greška koju sam pronašao eksperimentirajući sa mkinitcpio bila da se oznaka korijenske particije ne može pronaći, zapisao sam njen UUID (koji sam identificirao pomoću komande blkid) za korištenje s naredbom, koja je na kraju izgledala ovako:

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

Ovaj put je gradnja uspješno završena, samo uz nekoliko upozorenja o modulima koji nisu mogli biti pronađeni, ali u mom slučaju nisu bili potrebni. Za svaki slučaj, regenerisao sam fstab, ali ovaj put specificirajući UUID:

genfstab -U -p / > /etc/fstab

Pomislio sam: ah dobro, konačno napredak. I nastavio sam da promenim lozinku i instaliram bootloader.

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

Konačno, i da budem metodičan, ponovo sam pritisnuo Ctrl+D da izađem iz chroot okruženja, demontirao sve i ponovo pokrenuo da vidim šta se dogodilo:

umount /mnt/boot umount /mnt ponovno pokretanje

Računar se ponovo pokrenuo pokazujući Grub meni sa Arch (Windows se nigde nije pojavio), pa sam ga odabrao i činilo se da se sve dobro učitava dok... sistem nije pokazao da je došlo do grešaka koje treba da proverim sledećom komandom:

journalctl -xb

Analizirajući greške, vidio sam da se većina može zanemariti, ali posljednja je bila neobična i rekla mi je da se plymouth ne može pronaći.

Odmah sam pomislio: „Plimut??? Zašto, zaboga, tako nešto treba okruženje koje se pokreće na konzoli? To ne izgleda baš KISS. Ja ga sigurno nisam stavio, niti mi treba.

Ali da budem praktičan, pomislio sam: "Pa, ali to bi barem trebalo referencirati u nekom fajlu, da vidimo...":

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

Iznenađujuće, nijedna datoteka s tekstualnim nizom “plymouth” se nije pojavila u konfiguracijskom direktoriju. Onda sam pomislio: "Ah, pa... hoćeš li me natjerati?" Hajde da vidimo kako onda asimilujete 'top'" (kako mi kažemo na Kubi) i "ja sam napravio" Plymouth od nule:

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

Za one koji se pitaju šta sam stavio u taj fajl, evo sadržaja u njegovoj veličanstvenoj celini:

#! /bin/sh izlaz

Ponovo sam pokrenuo sistem očekujući grešku i... iznenađujuće, systemd je bio sretan što je pronašao tu "bitnu komponentu", jer je završio proces pokretanja i bez daljeg odlaganja me ostavio na konzoli. Pošto nisam mogao vjerovati svojim očima, odlučio sam da "deinstaliram" Plymouth i restartujem, da vidim šta će se desiti:

rm -fr /usr/bin/plymouth ponovno pokretanje

Zanimljivo, ovaj put je sistem počeo glatko, a da me nije dodatno nervirao Plymouthovim odsustvom. (Bez komentara)

Dodavanje Windowsa u GRUB

Zatim je ostalo dodati unos Windowsa u GRUB. Budući da tradicionalni načini nisu funkcionirali (kombinacija grub-mkconfig con os-prober činilo se da ne radi dobro), odlučio sam da kreiram unos ručno, za koji sam trebao otkriti niz Windows pokretačkog programa i UUID particije za pokretanje:

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

Ovo mi je vratilo ova dva niza:

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

Na ovaj način sam potvrdio da je vraćeni UUID isti onaj dobijen za tu particiju prilikom izvršavanja komande blkid. Zatim je ostalo generirati prilagođeni unos grub sa navedenim podacima:

vi /etc/grub.d/40_custom

U svom sadržaju:

#!/bin/sh exec tail -n +3 $0 # Ova datoteka pruža jednostavan način za dodavanje korisničkih unosa u meni. Jednostavno ukucajte # stavke menija koje želite da dodate nakon ovog komentara. Pazite da ne promijenite # 'exec tail' red iznad. menuentry "Microsoft Windows 7 SP1" --prozori klase --class os { insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr pretraga --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi= hd0,msdos1 --hint-baremetal=ahci0,msdos1 DC788F27788EFF8E ntldr /bootmgr }

Kada je ovaj korak završen, odlučio sam da postavim Windows kao podrazumevani operativni sistem, kako moja žena ne bi bila užasnuta i da bi moja mala nećaka mogla da igra svoje Barbike kada dođe. Za ovo sam jednostavno uredio fajl / etc / default / grub i postavio sam ulaz na pokretanje prema zadanim postavkama i timeout na samo 3 sekunde.

GRUB_DEFAULT=2 GRUB_TIMEOUT=3

Sve što je preostalo je da ponovo regenerišete GRUB konfiguraciju i ponovo pokrenete sistem:

grub-mkconfig -o /boot/grub/grub.cfg ponovno pokretanje

Srećom, sve je prošlo kako se očekivalo. Odabrao sam unos za Windows i on se sretno pokrenuo.

Dakle, kao što vidite, možete napraviti barem offline pseudo-instalaciju ArchLinux-a korak po korak, a da ne budete na mreži samo sa CD-om, iako je očigledno, ono što će biti instalirano na tvrdom disku u suštini je LiveCD, ali barem možete pokrenite sistem, kopirajte datoteke i pokrenite neke aplikacije.

Srećom, Sandy (KZKG^Gaara) je svratio i kopirao Arch repo za mene (na čemu sam veoma zahvalan), tako da uskoro planiram da završim sa pravom offline instalacijom, ali ovo bi bila druga priča. Ono što vas mogu uvjeriti je da mi je već neko vrijeme malo nedostajala ova vrsta zabavnog eksperimentiranja. Zapravo, da imam vremena, povezanost kod kuće i osigurane određene materijalne uslove, vjerovatno bih pokušao napraviti prilagođenu distribuciju zasnovanu na LFS-u, što bi bio mnogo zabavniji projekat. 😉


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   peterczech rekao je

    Nadam se da ćete isprobati FreeBSD Elav.
    Što se tvog vodiča tiče, veoma jako dobar i kompletan…

    1.    Rampa rekao je

      Kako si promjenjiv. Uvjeravam vas da će vam FreeBSD dosaditi za nekoliko mjeseci.

      1.    lf rekao je

        Zanimljiva informacija, ali još uvijek ne vidim vodiče za instalaciju arch na sisteme sa UEFI. Zar strelci nemaju nove računare?

        1.    živahno rekao je

          Instalacija sa UEFI na ArchLinux je pojednostavljena instalacijom Antergosa, samo morate kreirati particiju na Fat32 sa manje od 500MB i automatski (kada pokrenete USB sa UEFI), Antergos će označiti particiju kao /boot.

      2.    peterczech rekao je

        Zato se menjam... Da se vise ne bi menjao, sa Linuxa prelazim na BSD :D.

    2.    peterczech rekao je

      Izmjena napravljena i vodič napisan :D.

    1.    ozkar rekao je

      Nastavi koristiti Arch, kad odem u Havanu, pokupiću ga.

  2.   Alex rekao je

    Imam Arch Linux iso na USB-u, nisam se usudio da ga koristim zbog nedostatka vremena.
    Idem dobro pogledati članak i onda ga iskoristiti!!

  3.   Warheart rekao je

    Odličan članak, usput me podsjeća na odiseju kroz koju sam prošao da instaliram Arch preko WIFI-ja sa BCM4312.

  4.   kalevito rekao je

    Elav, izvinjavam se na pitanju, ali ja sam nov u Linuxu, koristio sam samo Ubuntu i Arch Linux mi privlači pažnju. Moji prijatelji kažu da ga neću moći instalirati jer je za stručnjake, ali gledajući vaš offline tutorijal, mislim da slijedeći korak po korak mogu to učiniti, za mene je izazov instalirati ga. Samo želim da to uradim sa internetom, tu je moje pitanje: imate li ili kada ćete napraviti tutorijal sa toliko detalja (kao što je ovaj) da ga instalirate?

    1.    daekko rekao je

      Vodič je objavljen na istoj stranici. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Dakle koristeći vodič i pazeći na ono što je urađeno imaćemo instalaciju bez komplikacija, sretno!!!

    2.    živahno rekao je

      Još uvijek možete instalirati Antergos, koji je Archlinux, ali sa instalacijom u "Ubuntu stilu". 😀

  5.   afanik rekao je

    U Arch postoji još jedan alternativni instalacijski medij za službene slike pod nazivom Archboot koji, za razliku od službenih slika, sadrži [core] spremište (i nešto drugo), korisno za offline instalacije (također je hibridna arhitektura, radi za i686 i za x86_64).

    Loša stvar je što trenutno zauzima 1GB (prije mnogo manje godina) što bi se moralo unaprijed skinuti... a bez stabilne konekcije za to prvo preuzimanje je komplikovano.

    Evo linka u slučaju da vam bude od koristi: https://wiki.archlinux.org/index.php/archboot

    1.    živahno rekao je

      Zanimljivo, nisam znala za to 😀

    2.    hugo rekao je

      Zanimljivo, maloprije sam probao archboot i kada dođem do pacstrap dijela, kaže mi da ne može pronaći ntfs-3g paket 🙁

      Takođe ima i druge specifičnosti, kao što je da ne dolazi sa mc ili manual stranicama, a potrebno mu je dosta ram-a za instalaciju. Ne izgleda kao dobro uglačano rješenje.

  6.   MaxSteel rekao je

    Istina je da postoji vrlo jednostavan način da se arch instalira van mreže i morao sam da uradim klasičnu probu i grešku da ga instaliram na svom kućnom računaru (gde nemam internet).

    Za ovo vam je očigledno potreban još jedan računar sa fajlom i internet vezom. Samo prvo napravite pacman -Syu, a zatim osnovni pacman -Sw (plus sve što želite da instalirate očigledno). Kopirajte sve pacman keš datoteke na USB memoriju, kao i datoteke baze podataka (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Zatim nastavite da radite normalnu instalaciju arch-a, ali prije nego što pređete na tačku izrade pacstrap – d /mnt baze (ili kako god, sve kažem po sjećanju >.< ) morate precizno urediti pacstrap (sa vi ili kako god želite preferirajte ili donesite instalacioni disk) i skoro do kraja je red koji se odnosi na "pacman -Syy", jednostavno ga izbrišemo. Nakon toga kopiramo datoteke pacman baze podataka na njihovo odgovarajuće mjesto (sve .db u /var/lib/pacman/sync), a keš datoteke u direktorij keša.

    Dakle, sada nastavljamo s pacstrap-om -whatevermeagreement /mnt base i svim ostalim.

    Sve ovo govorim po sjećanju, tako da možda ima nekih detalja koje sam propustio, kao što su keš fajlovi, ne sjećam se tačno gdje idu ali bi trebao biti u /var/cache/pacman/pkg ili inače može biti navedeno u pacstrapu čini mi se.

  7.   lionel rekao je

    Možete li napraviti cfdisk tutorial sa duplim ili trostrukim pokretanjem 🙁, to je ono što mi treba da instaliram arch

    1.    hugo rekao je

      Zaista nema puno toga da se kaže o cfdisk-u jer on uopšte nije složen, a u stvari gore navedeni vodič za instalaciju pokazuje kako ga koristiti. Ali ako imate instalirane druge sisteme, možda biste mogli koristiti nešto ugodnije, možda Gparted. Za Windows postoji besplatni (iako nažalost ne besplatan) alat pod nazivom Easeus Partition Master koji možete koristiti, čini se da radi vrlo dobro.

      U ostalom, drago mi je da vam je članak bio zanimljiv, nisam vidio veliku zaslugu u svom iskustvu, ali me Elav ohrabrio da pripremim nešto o tome.