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. 😉
Nadam se da ćete isprobati FreeBSD Elav.
Što se tvog vodiča tiče, veoma jako dobar i kompletan…
Kako si promjenjiv. Uvjeravam vas da će vam FreeBSD dosaditi za nekoliko mjeseci.
Zanimljiva informacija, ali još uvijek ne vidim vodiče za instalaciju arch na sisteme sa UEFI. Zar strelci nemaju nove računare?
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.
Zato se menjam... Da se vise ne bi menjao, sa Linuxa prelazim na BSD :D.
Izmjena napravljena i vodič napisan :D.
Vau i mislio sam da mi je bilo teško https://humanos.uci.cu/2014/11/instalando-arch-linux-en-gpt-con-repositorio-local/
Nastavi koristiti Arch, kad odem u Havanu, pokupiću ga.
Imam Arch Linux iso na USB-u, nisam se usudio da ga koristim zbog nedostatka vremena.
Idem dobro pogledati članak i onda ga iskoristiti!!
Odličan članak, usput me podsjeća na odiseju kroz koju sam prošao da instaliram Arch preko WIFI-ja sa BCM4312.
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?
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!!!
Još uvijek možete instalirati Antergos, koji je Archlinux, ali sa instalacijom u "Ubuntu stilu". 😀
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
Zanimljivo, nisam znala za to 😀
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.
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.
Možete li napraviti cfdisk tutorial sa duplim ili trostrukim pokretanjem 🙁, to je ono što mi treba da instaliram arch
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.