Průvodce krok za krokem (s obrázky). Instalace Arch Linuxu


Na úvod bych rád odpověděl na standardní otázku všech, kteří se s touto distribucí nikdy nesetkali: „Proč?“. Proč vlastně potřebujete Arch Linux, když existuje spousta dalších uživatelsky přívětivých distribucí, jako je nedej bože Ubuntu, Debian, Linux Mate atd. A odpověď je velmi jednoduchá: Arch je jedna z nejlehčích a nejkompaktnějších distribucí, která neunese dokonce i desktopové prostředí, po vybalení dostaneme pouze konzoli a několik utilit (například fdisk). Pokud jste si někdy chtěli zahrát hru Build It Yourself, pak je tato distribuce určena právě vám.

Pojďme si tedy připravit naše zkušební stolice". V mém případě používám Parallels Desktop 12, ale přesně před týdnem jsem nainstaloval arch na notebook Sony Vaio, takže proces instalace se nebude příliš lišit.

Pokud máte WiFi

Jak jsem řekl, arch přichází nahý, ale instalační program je vybaven nástrojem Wifi-Menu, který vám umožní připojit se k sítím WiFi.

1. Začněte

Nejprve si stáhneme distribuci. Vydání v době psaní tohoto článku: 01.05.2017. Obrázek váží 400 megabajtů. Jádro 4.10.13. Pokud distribuci nainstalujete na virtuální stroj, můžete přeskočit první krok.

1.1 Vytvoření spouštěcí jednotky flash

Existuje několik způsobů, jak vytvořit bootovací flash disk. Podívejme se na dva z nich:

Okna:

UNetBootIN je bezplatný a intuitivní nástroj. Vyberte flash disk a distribuci a klikněte na „Pokračovat“, vše udělá samo (funguje i na Macu a Linuxu). Odkaz .

Win32 Disk Imager je bezplatný nástroj pro Windows. Vše je stejné: vyberte flash disk, distribuční sadu a klikněte na Zapsat. .

Linux/Mac:

Pro *nix-like systémy není potřeba stahovat další nástroje. Vše, co potřebujete, je po ruce terminál. Nejprve najdeme flash disk:

Mac OS: napište seznam diskutil, získejte seznam všech připojených zařízení.

Linux: napíšeme lsblk, obdržíme seznam nás-in. Ve skutečnosti dostaneme to samé, pouze odpověď bude jako / dev / sdX (X je písmeno, například / dev / sdb1)

Nyní, když jsme se rozhodli pro flash disk, napíšeme na něj obrázek. Uděláme to pomocí nástroje dd. Otevřete terminál (pokud jste ho zavřeli) a zadejte tam následující
dd if=cesta/k/archiso.iso of=cesta/k/flash stav=progres
Připraveno. Přejděme k dalšímu kroku.

2. Instalace základního systému

Takže restartujeme počítač a spustíme z USB flash disku. Nejprve se dostaneme do nabídky SysLinux, kde vybereme „Boot Arch Linux x86_64“. Takže jsme v prostředí zSH (nahrazení bash).

Nejprve zkontrolujeme naše internetové připojení. Pokud používáte ethernet, nemusíte provádět žádné další manipulace, arch si vše vyzvedne sám. Pokud používáte wifi, zadejte wifi menu a uvidíte seznam wifi sítí dostupných pro připojení. Mimochodem, pokud máte několik adaptérů, zadejte iw dev zobrazte všechny dostupné adaptéry (obvykle název začíná w) a zadejte wifi menu(místo vašeho adaptéru). Nyní zkontrolujeme připojení pomocí příkazu ping, například Yandex.

# ping -c 3 ya.ru PING ya.ru (93.158.134.203) 56(84) bajtů dat. 64 bajtů z www.yandex.ru (93.158.134.203): icmp_req=1 ttl=54 čas=62,4 ms z www.yandex.ru (93.158.134.203): icmp_req=3 ttl=54 čas=-62,4 yas Statistika .ru ping --- 3 pakety odeslané, 3 přijaté, 0 % ztráta paketů, čas 2002 ms rtt min/ avg/max/mdev = 62,423/62,623/63,009/0,273 ms
Internet je připraven. Nyní zkontrolujeme naše disky. Vjíždíme dovnitř lsblk abychom viděli, kde co máme. Takže mám hlavní disk, na kterém bude systém umístěn na / dev / sda, flash disk je na / dev / sdb (sdb1).

Jak vidíte, disk není rozdělen. Nyní vytvoříme dva oddíly pro adresář / system a / home (kde bude umístěno veškeré prostředí dostupné uživateli).

Použijeme utilitu fdisk, protože má grafické rozhraní a pracuje se s ní (pro mě) pohodlněji.

Do konzole zadejte fdisk. Může se nás zeptat, co potřebujeme: gpt nebo dos (MBR). Pro systémy UEFI/GPT zvolte gpt, pro systémy LegacyBIOS/MBR zvolte dos. V mém případě vytvoříme značku GPT. Objeví se více či méně známé gui.

Stiskněte "Nový", zadejte požadovanou hodnotu typu VELIKOST , kde G jsou gigabajty, MB jsou megabajty, KB jsou kilobajty, B jsou bajty. V mém případě vytvořím oddíl /dev/sda1, který bude jíst 20 GB pro systém, dev/sda2, který bude jíst 44 GB pro /home a oddíl 1023 MB pro swap.

Stisknutím tlačítka Zápis zapíšete tabulku oddílů na disk a stisknutím tlačítka Ukončit nástroj ukončíte.
Pojďme zkontrolovat oddíly opětovným zadáním lsblk:

Nyní vytvoříme souborový systém pro každý oddíl. Pro systémový a /home adresář použijeme ext4 a pro swap použijeme swap.

Do terminálu zadejte následující příkazy:

# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkswap /dev/sda3 # swapon /dev/sda3
Znovu zkontrolujeme konfiguraci oddílu. Jak můžete vidět, přípojný bod /dev/sda3 se změnil na , což znamená, že jsme udělali vše správně.

Nyní připojíme disky.

# mount /dev/sda1 /mnt # mkdir -p /mnt/home # mount /dev/sda2 /mnt/home
Můžete zadat lsblk a zkontrolovat přípojné body. Udělal jsem to, neměl jsem žádnou chybu. Pojďme k instalaci základního systému. Chcete-li to provést, zadejte do terminálu následující:

# pacstrap /mnt base-devel

Důležité

Upravte soubor /etc/pacman.d/mirrorlist pomocí nano. Před veškerý obsah souboru přidejte řádek:

Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
Přidáme tedy zrcadlo Yandex a z něj budou pocházet další stahování. To je velmi důležité, protože ve výchozím nastavení je tam nainstalován nějaký vzdálený server pro stahování. Například v době psaní tohoto článku stahování odtamtud vůbec nechodilo.


Proces stahování a instalace bude nějakou dobu trvat, takže můžete klidně jít pít pivo / čaj / atd.

Pro ty, kteří mají Wi-Fi

V základním systému NEPŘÍTOMNÝ schopnost pracovat s wi-fi, takže tam nainstalujte dialog a wpa_supplicant pro práci s bezdrátovými sítěmi pomocí packstrapu:

# pacstrap /mnt dialog wpa_supplicant

3. Nastavení základního systému

Systém jsme tedy nainstalovali. Nyní se do toho pustíme a nakonfigurujeme to zevnitř zadáním příkazu:

# arch-chroot /mnt
Nyní jsme opustili živé prostředí a již pracujeme přímo se systémem. Démon dhcpcd automaticky zvedne ethernetové připojení, pro wifi použijte nabídku wifi.

Nastavte národní prostředí (jazyk) pro náš systém. Otevřete soubor /etc/locale.gen pomocí nano, najděte a odkomentujte následující řádky:

cs_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Poté zadáme:

# locale-gen
pro generování lokalit.

Vytvořme soubor locale.conf, který bude obsahovat aktuální proměnnou národního prostředí a zapíšeme do něj proměnnou LANG=ru_RU.UTF-8 nebo LANG=ru_RU pro nastavení ruského jazyka:

# export LANG=ru_RU.UTF // nastavení jazyka pro aktuální relaci # echo LANG=ru_RU.UTF-8 > /etc/locale.conf # loadkeys ru // načtení ruského rozložení
Můžeme také napsat locale > /etc/locale.conf místo echo LANG ... za předpokladu, že jsme spokojeni s výstupem locale:

Nyní nainstalujme konzolové písmo, aby fungovalo. Proveďme následující příkazy:

# setfont cyr-sun16 # nano /etc/vconsole.conf
Přidejte následující řádky do souboru vconsole.conf

KEYMAP=ru
FONT=cyr-sun16

Nastavíme hodiny. Pojďme se představit:

ln -s /usr/share/zoneinfo/Zone/Subzone /etc/localtime
Například pro Novosibirsk zadám následující:

Ln -s /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime

Pokud chyba

Můžete narazit na chybu „soubor již existuje“. Nebojte se, stačí přidat přepínač -f za -s, čímž se soubor přepíše.


Pomocí příkazu timedatectl set-ntp true se ujistěte, že jsou hardwarové hodiny přesné, a poté zadejte hwclock --systohc --utc pro nastavení hodin.

Název našeho hostitele/domény nastavte příkazem echo localdomain > /etc/hostname , kde localdomain je vaše jméno (může to být cokoliv, v mém případě to budou furrypaws).

Nyní nastavíme heslo pro superuživatele příkazem passwd.
A vygenerujeme jádro příkazem:

Mkinitcpio -p linux
Vygenerujeme tabulku oddílů. Chcete-li to provést, vraťte se do živého prostředí pomocí příkazu exit a proveďte

# genfstab -U /mnt >> /mnt/etc/fstab
Nezapomeňte zkontrolovat soubor /mnt/etc/fstab pomocí nano. Vraťme se do chrootu, abychom dokončili konfiguraci přes arch-chroot /mnt.

Nainstalujte bootloader (tj. GRUB). Zadejte následující:

# pacman -S grub // pacman -S os-prober, přidejte toto, pokud máte jiné systémy než Arch. # grub-install --recheck /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
Ukončete prostředí pomocí příkazu exit a restartujte počítač pomocí příkazu reboot. Po restartu, pokud jsme udělali vše správně, se dostaneme do nabídky Grub a odtud do Arch. Přihlášení je root, heslo je to, které jsme zadali. Vytvořte internetové připojení přes drát:

Vstupte

# ip odkaz
Tam najdeme naše rozhraní. Pak vjíždíme:

# systemctl povolit [e-mail chráněný] rozhraní.služba


WiFi
Jezdíme v:

# nabídka wifi
Navažte spojení a poté zajeďte:

# cd /etc/netctl # ls
Název profilu bude začínat na wlp.

Nyní zajíždíme:

# netctl povolit název_profilu
a užijte si automatické připojení.


Pro informaci: nyní náš systém zabírá pouze 1,5 gigabajtu. Není to špatné, že?

4. Instalace grafického prostředí

V tuto chvíli mi spadl Parallels, který následně odmítl spustit virtuální stroj, takže jsem byl nucen migrovat na VirtualBox. Nic se nezměnilo, kromě toho, že tabulka oddílů na disku se změnila na DOS.

Nainstalujte xorg (X Window Manager).

# pacman -S xorg xorg-xinit xorg-twm xterm
Pokud máte zájem, můžeme prostředí spustit pomocí startx nebo xinit a uvidíme, co se stane:

To je jen "základ" našel budoucnost všeho.

Mimochodem, udělejme uživateli pro sebe další příkaz a pak se k němu propracujeme pomocí sudo.

# useradd -m -g users -G kolo,hry můj_uživatel
Nastavit sudo přístup pro uživatele. Zadejte příkaz visudo, najděte zakomentovaný řádek


Odkomentujte jej, stiskněte esc, poté „:wq“ a stiskněte Enter. Nyní přejdeme do našeho uživatelského prostředí s příkazem su můj_uživatel a pak budeme pracovat pod ním.

Plazmu budu používat pro práci, můžete si vybrat libovolné DE, které se vám líbí.
Nainstaluji to příkazem:

# sudo pacman -S plasma-desktop plasma-meta sddm # sudo pacman -S breeze-gtk breeze-kde4 kde-gtk-config # sudo pacman -S kde-applications networkmanager plasma-nm powerdevil
Poslední jmenovaný se bude instalovat velmi dlouho (stáhne 700 megabajtů balíčků a nainstaluje asi 2 gigabajty), takže můžete jít na čaj.

Důležité

Pokud potřebujete lehké pracovní prostředí, nainstalujte lxde a lxdm.


Po instalaci napište následující:

# echo "exec startkde" > ~/.xinitrc # systemctl povolit sddm # systemct zakázat dhcpcd # sudo reboot
Po restartu se nám otevře přihlašovací okno SDDM, zadáním hesla se dostaneme do našeho pracovního prostředí.

# systemctl povolit NetworkManager # systemctl spustit NetworkManager
To je vše. Konec.

Tento článek je o tom, jak nainstalovat Arch Linux. Pokud už toho o Arch Linuxu víte dost a chcete se posunout dál popis krok za krokem proces instalace a poté klepněte na . Níže je krátký úvod o samotném systému.

Co je Arch Linux

Arch Linux je distribuce, která se odlišuje od mnoha slavných Linuxů. Například Ubuntu, Linux Mint, Kali Linux, Debian. Všechny tyto distribuce jsou velmi blízko sebe. Ubuntu a Kali Linux jsou založeny na Debianu. A pro Linux Mint je základní platformou Ubuntu. Jsou založeny na obrovské sadě balíčků Debianu, ale každá z těchto distribucí má své vlastní balíčky. Jsou to dobré operační systémy, dalo se s nimi hodně práce a získaly si svou zaslouženou popularitu.

Podobně je tomu u Red Hat Enterprise Linuxu, ke kterému mají CentOS a Fedora velmi blízko – také mají svá specifika, ale jednu základní platformu balíčků (programů).

Distribuce Arch Linux není založena na Debianu nebo Red Hat Linuxu. Jedná se o samostatnou distribuci. Ačkoli má své vlastní úložiště a jiného správce balíčků, obecně má všechny oblíbené knihovny a programy, které se nacházejí v jiných distribucích.

Jednou z vlastností Arch Linuxu je, že se v něm balíčky aktualizují velmi rychle a nedochází k dělení na verze, jako je tomu například v Ubuntu a po něm v Linux Mintu. To může být důležité, pokud používáte relativně nový hardware, například balíček firmwaru Kali Linuxu (firmware - ve skutečnosti ovladače pro některá zařízení) nebyl dnes aktualizován déle než rok.

V důsledku toho jsem při instalaci na nový notebook musel samostatně nainstalovat ovladače pro Wi-Fi, Bluetooth a grafické jádro procesor. Na Arch Linuxu to všechno fungovalo hned.

Toto je oficiální stránka, Arch samotný je zdarma, stejně jako úložiště AUR a BlackArch.

V Zaváděcí systém Windows Flash disk můžete vytvořit pomocí .

V Linuxu tento nástroj odvede skvělou práci při vytváření zaváděcího USB flash disku. dd.

Instalace Arch Linuxu

Musíte zavést systém z flash disku. Chcete-li to provést, při spouštění počítače opakovaně stiskněte tlačítko Esc(na některých systémech Vymazat), pokud se zobrazí podobná nabídka, vyberte jednotku flash:

Nebo jdi do BIOSu a tam si vezmi boot z USB flash disku.

Poznámka: V nastavení BIOSu bezpečné spouštění (Zabezpečené spouštění) a Rychlé spouštění by mělo být zakázáno.

Vyberte první možnost:

A… vítejte v Arch Linuxu!

Arch Linux je distribuován s minimální sadou programů bez grafického rozhraní – podobně jako Debian minimal.

připojení k internetu

Je nutné nastavit internet, protože vše ostatní nemá smysl, pokud není připojení k internetu.

Pokud váš počítač má kabelový internet připojení, vše je celkem jednoduché - Arch se sám pokusí nastavit internetové připojení a získat IP adresu, pokud router podporuje DHCP.

V každém případě zkontrolujte připojení k síti pomocí příkazu ping:

Ping ya.ru

Pokud je tato služba na routeru zakázána, musíte ručně nakonfigurovat síťové rozhraní. Příklad, jak to udělat (v tomto návodu jsem nastavil připojení, když jsem ho nainstaloval na VPS)

Řekněme, že nemám kabelové připojení, takže vám ukážu, jak se připojit k Wi-Fi na příkazovém řádku.

Začneme tím, že se podíváme na název bezdrátového síťového rozhraní:

Můžete také vidět tým

Je vidět, že jméno mého bezdrátového rozhraní je wlo1. Před připojením k jakékoli síti Wi-Fi musíme zjistit, jaké přístupové body jsou obecně dostupné. Chcete-li to provést, prohledáme sítě Wi-Fi na příkazovém řádku.

Protože zatím není k dispozici NetworkManager, musíme začít aktivací síťového rozhraní:

IP odkaz nastaven wlo1 nahoru

Namísto wlo1 sem a do všech následujících příkazů vložte název vašeho bezdrátového adaptéru.

Skenování sítí:

Iw dev wlo1 scan | grep SSID

V důsledku provedení tohoto příkazu se zobrazí názvy bezdrátových sítí. Mám dvě sítě se stejným názvem MiAl, protože router funguje na dvou frekvencích a obě sítě se jmenují stejně.

Musíme vygenerovat konfigurační soubor. To se provádí příkazem:

wpa_passphrase AP_name heslo > konfigurační_soubor

Například pro TD MiAl Heslo zde_heslo_wifi a konfigurační soubor, který chci zavolat wpa_MiAl.conf, pak příkaz vypadá takto:

Wpa_passphrase MiAl here_wifi_password > wpa_MiAl.conf

Připojení k přístupovému bodu:

wpa_supplicant -B -i wlo1 -c wpa_MiAl.conf

V předchozím příkazu zadejte vaše bezdrátové rozhraní (wlo1) a konfigurační soubor (wpa_MiAl.conf).

Pro získání automatické nastavení přes protokol DHCP (přidělená IP adresa, IP adresa brány a IP adresy DNS servery) spusťte příkaz:

dhclient wlo1

Vyčištění disku

Už jsem upozorňoval, ale ještě jednou se zopakuji – pokud něco pokazíte při rozdělování disků, můžete nechtěně smazat data, která jsou pro vás důležitá.

Podíváme se na dostupné disky:

Fdisk -l

Je nepravděpodobné, že vám identifikátory disku něco řeknou, řiďte se proto výrobcem, objemem a počtem diskových oddílů.

Například na výše uvedeném snímku obrazovky můžete vidět jednotku /dev/nvme0n1, která systém Windows skartován na čtyři disky a na pátý jsem nainstaloval Kali Linux.

Má takový zvláštní název, protože je SSD disk, který se nepřipojuje ke konektoru SATA, ale NVM Express.

Disk /dev/sdb 7,5 GB je samotný flash disk.

Chci zbourat vše na /dev/nvme0n1 - všechny oddíly a všechna data - a nainstalovat na to Arch. Proto v dalších příkazech budu používat /dev/nvme0n1, stejně jako /dev/nvme0n1p1 a /dev/nvme0n1p2 odkazující na jeho podsekce. V následujících příkazech nahraďte tyto názvy názvy svých disků, například /dev/sda, /dev/sda1, /dev/sda2 a podobně.

Začínání s kompletní úklid disk /dev/nvme0n1.

Otevřete jej pomocí gdisk:

Gdisk /dev/nvme0n1

Chcete-li přepnout do expertního režimu, zadejte

Poté odeberte typ GPT

Dvakrát souhlaste s úplným vyčištěním disku.

Opouštíme program.

Fdisk -l

Rozdělení disku

Ach ano, v tomto tutoriálu nainstalujeme systém na počítač s UEFI. Tento analog BIOSu se aktivně používá 6-7 let, takže by to mělo fungovat pro většinu. Pokud máte starší systém s běžným BIOSem, tak napište do komentářů - dám odkazy na můj předchozí návod, kde jsem vysvětlil, jak na BIOS.

Nyní otevřete náš disk v programu cfdisk.

Cfdisk /dev/nvme0n1

Musíme ručně vytvořit dva nebo tři oddíly. Dvě požadované sekce jsou:

  • zavazadlový prostor
  • hlavní oddíl se systémem (root / )

Jako další třetí oddíl můžete vytvořit swapovací oddíl - potřebujete ho pro případ operační systém není dostatek paměti RAM. Mám již předinstalovaných 16 GB RAM a je tam slot pro dalších 16 GB. Proto nebudu dělat swapovací oddíl. Ale pokud to potřebujete, tak v tomto návodu dělám s odkládacím oddílem (mimochodem, screenshotů je více).

Vybrat gpt:

Nyní stiskneme Nový.

Nastavte velikost (pro spouštěcí oddíl stačí pro oči 200 megabajtů - obvykle je vyplněno 50 megabajty):

Uveďte typ:

Musíme si vybrat Systém EFI:

Přejděte do zbývající volné oblasti (šipka dolů), stiskněte znovu Nový, vyberte celou neobsazenou velikost, nastavte typ jako Linux root (x86-64)- nebo jiný, který odpovídá architektuře vašeho procesoru:

Nyní si vyberte Napsat pro zaznamenání vašich změn.

Píšeme Ano:

Opouštíme program.

Můžete znovu zkontrolovat výstup příkazu, abyste se ujistili, že změny byly uloženy:

Fdisk -l

Formátování našich sekcí:

mkfs.fat -F32 /dev/nvme0n1p1 mkfs.ext4 /dev/nvme0n1p2

Instalace základního systému Arch

Nyní musíme připojit vytvořené oddíly pevný disk. Chcete-li to provést, spusťte příkazy v následujícím pořadí:

Mount /dev/nvme0n1p2 /mnt mkdir /mnt/boot mount /dev/nvme0n1p1 /mnt/boot

Začněme instalaci:

Pacstrap -i /mnt base-devel

Když je seznam balíčků sestaven, stiskněte dvakrát ENTER pro jeho schválení, když je zapsána velikost stažených dat, stejně jako velikost po instalaci, znovu stiskněte ENTER pro souhlas:

Vytvořte soubor fstab:

Genfstab -U -p /mnt >> /mnt/etc/fstab

Nastavení systému

Proveďme následující příkaz:

Arch-chroot /mnt

Nainstalujte vim:

Pacman -Sy pacman -S vim

Pokud jste zvyklí na konzolový textový editor nano pak jej nainstalujte.

Nyní v souboru locale.gen k tomu potřebujeme odkomentovat dva řádky

vim /etc/locale.gen

Hledáme tam a odkomentujeme řádky:

En_US.UTF-8 UTF-8 cs_RU.UTF-8 UTF-8

Velmi stručně o vim- má dva režimy: režim úprav a režim příkazů. Režim úprav se aktivuje stisknutím tlačítka Vložit, příkazový režim se aktivuje tlačítkem Esc. V režimu úprav jako obvykle textový editor— stiskněte písmeno, dostanete písmeno na obrazovku. V příkazovém režimu mají klávesy zvláštní význam. Chcete-li například vyhledat řetězec, stiskněte / (lomítko) a začněte psát řádek. Klikněte n pro přechod na další výskyt hledaného řetězce.

Chcete-li dokument uložit a opustit, přepněte do příkazového režimu (stiskněte Esc), poté stiskněte :wq A Vstupte(tj. dvojtečka, w, q A Vstupte).

Poté provedeme:

locale-gen

Pojďme tvořit locale.conf a exportovat národní prostředí:

echo LANG=cs_US.UTF-8 > export /etc/locale.conf LANG=cs_US.UTF-8

Konkrétně jsme při instalaci zvolili anglické národní prostředí, protože pokud dojde k chybám, pak s ruským národním prostředím se budou zprávy zobrazovat ve čtverečkách a bude obtížné pochopit, co je příčinou problému.

Nastavte časové pásmo přiřazením informací o časovém pásmu k místnímu času. Zobrazení všech časových pásem:

ls /usr/share/zoneinfo

Ls /usr/share/zoneinfo/Europe

Ln -s /usr/share/zoneinfo/Europe/Moskva /etc/localtime

Nastavte hardwarové hodiny na UTC:

Hwclock --systohc --utc

Nastavte název hostitele (můžete si vybrat libovolný):

Echo HackWare > /etc/hostname

Nastavili jsme síť. Pokud máte kabelové připojení, povolte automatické získávání IP adresy:

Systemctl povolí dhcpcd.service

Pokud máte WiFi připojení, pak při prvním restartu jej budete muset nakonfigurovat ručně.

Pozor pro ty, kteří mají připojení Wi-Fi: nezapomeňte nainstalovat balíčky:

Pacman -S wpa_supplicant dhclient iw

Nastavte heslo root:

Vytvořte nového uživatele pomocí sudo(nahradit <имя пользователя> skutečné jméno):

Useradd -m -g users -G wheel,video -s /bin/bash<имя пользователя>

instalace sudo:

Pacman -S sudo

V souboru /etc/sudoers najděte a odkomentujte řádek %wheel VŠECHNY=(VŠECHNY) aby uživatelé ihned po vytvoření mohli sudo:

vim /etc/sudoers

Nastavte heslo pro vytvořeného uživatele:

passwd<имя пользователя>

Instalace bootloaderu

instalace bootctl

Úprava obsahu souboru:

Vim /boot/loader/loader.conf

Smažte, co tam je, a zadejte tam:

výchozí oblouk

Vytvořte konfigurační soubor pro přidání položky Arch Linuxu do správce spouštění systemd:

Vim /boot/loader/entries/arch.conf

Obsah souboru by měl být následující:

Title  BlackArch linux  /vmlinuz-linux initrd  /initramfs-linux.img options  root=/dev/nvme0n1p2 rw

Dávejte pozor na /dev/nvme0n1p2- toto je cesta k mému disku se systémem, nahraďte ho vlastním.

Ukončete chroot, odpojte připojené oddíly a restartujte:

Ukončete umount -R /mnt/boot umount -R /mnt reboot

Instalační disk můžete vyjmout.

Instalace serveru Xorg a ovladačů videa

Po přihlášení musíme provést úplnou aktualizaci pomocí následujícího příkazu:

Sudo pacman -Syu

Předtím se ale musíte připojit k internetu. Pokud máte drát, pak by vše mělo fungovat samo, a pokud máte Wi-Fi, proveďte to, jak je uvedeno výše (na začátku instalace).

Než nainstalujeme veškerý potřebný software, potřebujeme pomoc z balíčku dokončení bash, který po stisku klávesy TAB připojí příkazy nebo zobrazí seznam možných příkazů nebo souborů, které lze nahradit.

Sudo pacman -S bash-dokončení

Dalším krokem je instalace výchozího prostředí X, které poskytuje výchozí nastavení serveru Xorg a podporu 3D.

Sudo pacman -S xorg-server xorg-apps xorg-xinit mesa

Pro další funkce Xorg nainstalujte také následující balíčky.

Sudo pacman -S xorg-twm xterm xorg-xclock

U notebooků a netbooků také nainstalujte ovladače pro podporu touchpadu.

Sudo pacman -S xf86-input-synaptics

Nyní potřebujeme nainstalovat ovladač specifický pro váš systém VGA (grafická karta), ale nejprve musíme identifikovat vaši systémovou grafiku. A je potřeba si projít malým vzdělávacím programem.

Grafické karty jsou:

  • NVIDIA
  • Intel

Grafika Intel je video jádro zabudované v procesoru. Nyní má většina procesorů video jádro. Váš systém proto může mít s největší pravděpodobností dva grafické adaptéry: NVidia a Intel nebo AMD a Intel.

Pro další zmatek existují proprietární (od výrobce) a open source ovladače pro NVidia a AMD.

Aby to bylo opravdu komplikované, tyto ovladače spolu kolidují a jejich „konflikty“ obvykle vedou k závěru, že systém prostě nenabootuje do grafického rozhraní.

Zadejte následující příkaz k identifikaci grafické karty.

lspci -k | grep -E "(VGA|3D)"

Ukázkový výstup:

00:02.0 VGA kompatibilní řadič: Intel Corporation Device 3e9b 01:00.0 3D řadič: NVIDIA Corporation GP107M (rev a1)

Mám Intel a NVIDIA.

Pozornost pokud instalujete do virtuálního počítače VirtualBox, tzn. vidíš:

00:02.0 VGA kompatibilní řadič: grafický adaptér InnoTek Systemberatung GmbH VirtualBox

Potom nemusíte instalovat ovladač pro vaši skutečnou grafickou kartu, protože OS ve virtuálním počítači stejně nemůže používat skutečnou grafickou kartu. Přeskočte proto instalaci ovladače videa a místo toho postupujte podle kroků v článku Instalace doplňků VirtualBox Guest pro BlackArch (Arch).

Jakého řidiče si vybrat? Poskytuje proprietární ovladač NVIDIA nejlepší výkon. Pokud budete používat Hashcat a Pyrit, pak to potřebujete.

Otevřený ovladač NVIDIA (nazývaný nouveau) může přepínat z grafické karty Intel na NVIDIA a naopak. Ale spoustu dalších věcí neví. Pokud nainstalujete proprietární i otevřený ovladač, pak lze systém "vést" tak, že nebude možné se ani přepnout na konzoli a opravit to... (Přesněji řečeno při bootu je potřeba abyste měli čas stisknout Cntr + Alt + F2, než systém úplně zamrzne).

Intelu není znám žádný proprietární ovladač (pouze open source).

AMD vyhrává tuto soutěž bolesti. Proprietární ovladač samozřejmě není kompatibilní s otevřeným a „visí“ systém téměř pevně.

Quest nainstalovat proprietární AMD ovladače/ATI Catalyst pro středně zastaralé karty. U ještě starších map je popis . U novějších grafických karet pojmenovali ovladač buď AMDGPU-Pro nebo RadeonOpenCompute (ROCm) nebo jakkoli jinak; A nevím jak to nainstalovat.

Samostatná poznámka k AMD: Crimson můžete nainstalovat na řadu grafických karet starší generace. ALE: tento ovladač je pro Hashcat k ničemu. Pokud to nelze použít pouze s předchozí verze hashcat. Pokud tedy AMDGPU-Pro není pro vaši grafickou kartu k dispozici, nainstalujte ovladač z komunity.

Poté, co jste definovali své grafická karta, nyní je čas nainstalovat příslušné ovladače. Ve výchozím nastavení Arch nabízí výchozí ovladač videa Vesa - xf86-video-vesa, který umí pracovat s velkým množstvím grafických čipsetů, ale neposkytuje podporu pro 2D ani 3D akceleraci.

Chcete-li nainstalovat otevřený ovladač AMD, spusťte příkaz:

Sudo pacman -S xf86-video-amdgpu

Chcete-li nainstalovat otevřený Ovladače nVidia běh:

Sudo pacman -S xf86-video-nouveau

NEBO pro instalaci proprietárního ovladače nVidia spusťte:

Sudo pacman -S nvidia nvidia-utils

Chcete-li nainstalovat otevřený ovladač Intel, spusťte:

Sudo pacman -S xf86-video-intel

Jakmile je nainstalován příslušný ovladač pro vaši grafickou kartu, je čas otestovat server Xorg a ovladače videa, a to pomocí následujícího příkazu.

sudo startx

Pokud je vše správně nakonfigurováno, bude relace X spuštěna jako na obrázku níže. Můžete se odtud dostat psaním výstup v největší konzoli.

Poznámka: Mám karta nVidia a s proprietárním ovladačem vypadal obraz spíše jako černá obrazovka, ale správce zobrazení stále fungoval - zdá se, že je to normální ...

Instalace prostředí Cinnamon Desktop Environment

Nyní je čas získat chytré, inovativní, přizpůsobitelné grafické uživatelské rozhraní – kompletní desktopové prostředí pro náš systém. Nainstalujte balíček Cinnamon. Spuštěním následujícího příkazu nainstalujte Cinnamon a další závislosti z oficiálního úložiště arch.

Sudo pacman -S cinnamon nemo-fileroller

Dalším krokem je instalace balíčku GDM display manager, který pomáhá systému spustit X server a poskytuje grafické uživatelské rozhraní pro uživatele k přihlášení do desktopového prostředí Cinnamon.

Sudo pacman -S gdm

Tento příkaz zajistí, že nebudete muset pokaždé ručně vybírat požadované pracovní prostředí:

Sudo mv /usr/share/xsessions/gnome.desktop ~/

Pozornost pokud jste nainstalovali proprietární ovladač. Otevřít soubor /etc/gdm/custom.conf

sudo vim /etc/gdm/custom.conf

Najděte tam čáru.

#WaylandEnable=false

a odkomentujte to, abyste získali:

WaylandEnable=false

Dalším krokem je povolit a otestovat GDM, pomocí svých přihlašovacích údajů se přihlásit do Arch Linuxu.

sudo systemctl povolit gdm sudo systemctl spustit gdm

Po načtení GDM se objeví přihlašovací okno s výzvou k zadání přihlašovacích údajů. Vyberte svého uživatele -> klikněte na ikonu vlevo od Přihlásit se vlevo (ozubené kolo) a ujistěte se, že máte vybranou Cinnamon, poté zadejte heslo a stiskněte tlačítko Přihlásit se nebo Enter.

Naše připojení k internetu je spravováno přes příkazový řádek, ale pokud chcete spravovat svá síťová připojení z grafického rozhraní, musíte zakázat službu dhcpd a nainstalovat a povolit balíček Network Manager (správce sítě). Nainstalujte také balíček net-tools pro pokročilé síťové příkazy. Z GUI otevřete shell UXterm a spusťte následující příkazy:

sudo pacman -Syu sudo pacman -S net-tools network-manager-applet

Zakažte službu dhcpcd (zde enp0s3 je název mého síťového rozhraní.

Chcete-li vidět své síťová rozhraní typ:

Můžete mít jiný název – upravte příkazy tak, aby odpovídaly vašemu systému).

sudo systemctl stop [e-mail chráněný] sudo systemctl zakázat [e-mail chráněný] sudo systemctl stop dhcpcd.service sudo systemctl zakázat dhcpcd.service

Pokud potřebujete podporu OpenVPN v Network Manageru, spusťte příkaz:

Sudo pacman -S networkmanager-openvpn

Spusťte a přidejte Správce sítě do spuštění:

sudo systemctl spustit NetworkManager sudo systemctl povolit NetworkManager

Nyní znovu otestujte své připojení k internetu spuštěním příkazu ping pro jakéhokoli hostitele.

Chcete-li dokončit testování systému, restartujte počítač, abyste se ujistili, že je vše správně nainstalováno a nakonfigurováno, a poté pokračujte.

Základní instalace softwaru

Na tento moment systém má nainstalováno minimum software což při každodenním používání jen málo pomáhá stolní počítač nebo notebook. Spusťte následující velký příkaz k instalaci základního softwaru.

sudo pacman -S gedit gnome-terminal pulseaudio pulseaudio-alsa pavucontrol firefox vlc eog eog-plugins chrom unzip unrar p7zip pidgin toxcore deluge smplayer audacious qmmp gimp xfburn thunderbird gnome-system-monitor doublecalcmdgera pincoll crypt bleachbit gnome- screenshot evince mlocate antiword catdoc unrtf djvulibre id3lib mutagen python2-pychm aspell-en git kalibr ttf-freefont ttf-linux-libertine ntfs-3g libmtp

Spolu s těmito programy budou nainstalovány také fonty, po kterých nápisy získají normální vzhled.

Nainstalujte ruské národní prostředí:

Su - echo LANG=ru_RU.UTF-8 > /etc/locale.conf Ctrl+d

Pokud potřebujete kancelářské nástroje jako Writer, Calc, Impress, Draw, Math a Base, nainstalujte si balíček LibreOffice pomocí následujícího příkazu.

Sudo pacman -S libreoffice-fresh libreoffice-fresh-ru

Slovníky pro kontrolu pravopisu a stylu v LibreOffice:

Instalace nástrojů BlackArch

Již víte, že BlackArch je kompatibilní s běžnými instalacemi Arch. Funguje jako neoficiální úložiště.

Stáhněte a spusťte popruh.sh jako root:

Curl -O https://blackarch.org/strap.sh sudo bash ./strap.sh

Aktualizujte mezipaměť:

Sudo pacman -Syyu

Instalace balíčků BlackArch

Nyní můžete nainstalovat nástroje z úložiště blackarch.

1. Vypsat všechny dostupné nástroje běh:

Pacman -Sgg | grep blackarch | řez -d " " -f2 | sort-u

2. Chcete-li nainstalovat všechny nástroje, spusťte:

Pacman -S blackarch --force

Sudo pacman -S blackarch-mirrorlist

Můžete nainstalovat všechny nástroje najednou, některé skupiny nástrojů nebo jen jednotlivé nástroje, které potřebujete. Chci například nainstalovat nástroje pro automatizaci hackování, prolomení hesel, práci s databázemi, používání exploitů, síťové nástroje, průzkum, skenery, sniffery, sociální inženýrství, spoofing, práce s webovými aplikacemi a práce s bezdrátovými sítěmi, spustím příkaz:

sudo pacman -S blackarch-automation blackarch-cracker blackarch-database blackarch-exploitation blackarch-networking blackarch-recon blackarch-scanner blackarch-sniffer blackarch-social blackarch-spoof blackarch-webapp blackarch-wireless --need --force

Jak nainstalovat Hashcat na Arch Linux

Zrychlení aktualizace

U správce balíčků pacman Tady je textový soubor s velkým seznamem zrcadel, odkud stahuje aktualizace. Vybere první zrcadlo ze seznamu a začne stahovat. Pokud je rychlost příliš nízká nebo zrcátko není k dispozici, zvolí se další zrcátko atd. Existují zrcadla pro celý svět, ale pokud máte rychlé připojení k internetu, můžete si všimnout, že některá z nich mají nízkou rychlost stahování.

Můžete si vybrat rychlá zrcadla balíčků, která výrazně zrychlí rychlost aktualizace systému ve fázi stahování balíčků.

Chcete-li to provést, otevřete soubor /etc/pacman.d/mirrorlist:

Sudo gedit /etc/pacman.d/mirrorlist

A okomentujte nebo odstraňte zrcadla, která nechcete používat. Nebo jen přesuňte zrcadla nejblíže a nejrychleji k vám až úplně nahoru.

V Ruské federaci je velmi rychlým zrcadlem zrcadlo Yandex:

Jak opravit Arch Linux, pokud nejde spustit

Pokud se systém nespustí, přepněte pomocí kláves na jiný terminál Ctrl+Alt+F2 nebo Ctrl+Alt+F3. Přihlaste se a vraťte zpět změny, které vedly k selhání.

I když to nepomůže, to znamená, že systém pevně zamrzne a není možné přepnout na jiný terminál, stále můžete svůj Arch obnovit!

K tomu potřebujete spouštěcí flash disk s Arch Linuxem. Spusťte z něj a poté připojte oddíl pevného disku:

Připojte /dev/nvme0n1p2 /mnt

Místo toho pozornost /dev/nvme0n1p2 zadejte svůj disk, např. /dev/sda2

Proveďme následující příkaz:

Arch-chroot /mnt

V důsledku toho se zdá, že jste ve svém hlavním operačním systému (a ne v tom, který se spouštěl z jednotky flash). To znamená, že se můžete vrátit zpět nebo provést jakékoli změny na počítači, který se nespustí.

Abyste pochopili sílu této metody: i když je linuxové jádro nebo bootloader poškozeno, tato metoda vám umožní zavést a přepnout na nefunkční systém a vše opravit!

od GeekBrains? Obsáhlý roční program praktickýškolení pokrývající všechna hlavní témata a také doplňkové kurzy Na dárek. Na základě výsledků školení osvědčení standardní vzor a osvědčení. Speciální sleva pro všechny fakulty a kurzy!

Arch je linuxová distribuce, která se velmi snadno a flexibilně udržuje s podporou architektury i686 a x86-64 vytvořené Juddem Wynethem. Tato distribuce zahrnuje všechny nejnovější stabilní verze PODLE. Archie není vhodný pro začátečníka a je určen pro zkušeného uživatele. Proces instalace arch linux se provádí přes síť, proto má nejaktuálnější software, který vývojáři nahráli na internet. Všechny instalační kroky provádíte sami v konzole (není zde žádné grafické rozhraní s instalací a místo toho je použita sada spritů -Arch Install Scripts). Proto je tato distribuce trochu jako Slackware, ale v nejnovější verzi - existuje kontrola závislostí pro balíčky a usnadňuje život. Všechny binární soubory pro archie jsou vytvořeny pro architektury i686 a x86-64 a poskytují lepší výkon (existují však binární soubory pro jiné architektury, například - PowerPC).

Dokumentace je k dispozici ve velké formě, která je podporována vývojáři distro a komunitou. GUI chybí, ale můžete použít (nainstalovat sami) - GNOME, KDE, XFCE a možná další.

Arch Linux je distribuce „od nuly“ – která není založena na jiné distribuci. Na jeho inspiraci, inspirovanou CRUXem a že z něj vychází - ŠPATNĚ! Na základě arch - ArchBang, Arch Hurd, Chakra, ConnochaetOS, linuX-gamers, Manjaro a další.

Instalace Arch Linuxu

První věc, kterou musíte udělat, je přejít na oficiální web a stáhnout distribuci. Už jsem si to stáhl, tak pojďme dál. Pro nastavení budu používat virtuální stroj (VMware). To není tak důležité, můžete použít svůj notebook nebo PC, ale k tomu si budete muset zapisovat spouštěcí disk nebo flash disk.

Pro své testy jsem vybral následující možnosti Arch Linux:

  • 2 - Procesor
  • 2048 RAM
  • 15 GB - disk

Myslím, že tyto možnosti jsou dostatečné. A tak nastartuji auto:

Vyberte 1. řádek - "Boot Arch Linux (x86_64)" a stiskněte "enter". Tím se načte příkazový řádek a postupujte podle následujících kroků k instalaci této distribuce. Toto je moje první instalace a proto se pokusím popsat co nejvíce.

V kořenovém adresáři je soubor install.txt, můžete si přečíst instalaci:

# cat install.txt| méně

Před zahájením instalace zkontrolujte, zda je připojení k internetu:

# ping ya.ru

Pokud je vše v pořádku, dostanete ping.

Aktualizujte systémové hodiny:

# timedatectl set-ntp true

Chcete-li zkontrolovat stav, spusťte:

# stav timedatectl

Rozdělení disku pro instalaci arch linux

K identifikaci blokových zařízení (jako je /dev/sda) použijte lsblk nebo fdisk - výsledky končící na rom, loop nebo airoot mohou být ignorovány:

# fdisk -l

Mám tento výstup:

Podle očekávání mám 15 GB. A teď to musíte rozdělit na části.

PS: Zde je užitečné čtení na toto téma:

Pokud chcete používat LVM nebo RAID, můžete to udělat také - je to jen na vás. V oblouku se používá parted, vytvořím pomocí něj příčky.

Začínáme rozděleni:

# parted /dev/sda

Uvedu označení pro několik typů:

  1. BIOS/MBR
  2. UEFI/GPT

Chcete-li vytvořit sekci, použijte příkaz jako:

(rozdělený) mkpart část typu fs typ začátek konec

  • part-type - Tento argument má hodnotu: primární (primární), rozšířený (rozšířený) nebo logický (logický).
  • fs-type – Tento argument má hodnotu: ext2, ext3, ext4 a další pro nastavení typu OS.
  • start- Tento argument nabývá hodnoty, která určuje počáteční pozici (vytvářené sekce) vzhledem k 0. bajtu. Můžete zadat v bajtech, ale nejlepší (jednodušší) je zadat - 100M / 1G.
  • end – Tento argument nabývá hodnoty, která určuje koncovou pozici (vytvářené sekce) vzhledem k bajtu 0. Můžete zadat v bajtech, ale nejlepší (jednodušší) je zadat - 100M / 1G, 100%.

Příklady pro BIOS/MBR

Pokud chcete použít rozdělení MBR pro systémy s BIOSem, spusťte příkaz:

(rozdělený) mklabel msdos

A tak, abyste vytvořili 1 oddíl, který zabere veškerý prostor (a bude také použit k bootování OS), spusťte:

(rozdělený) mkpart primární ext4 2M 100% (rozdělený) sada 1 boot na

Můžete vytvořit kořenový oddíl, řekněme 15Gb, ale přesunout domovský adresář (/home) do samostatného oddílu, použijte:

(rozdělená) mkpart primární ext4 1M 15G (rozdělená) sada 1 boot na (rozdělená) mkpart primární ext4 15G 100%

Můžete vytvořit oddíl /boot, který přidělí 100 Mb pro načtení bootloaderu, a také vytvořit swap, který bude mít 2 GB. Také pod oddílem /root jsem přidělil 8 GB a vše ostatní bude pro oddíl /home:

(rozdělený) mkpart primární ext4 1M 100M (rozdělený) sada 1 boot na (rozdělený) mkpart primární linux-swap 100M 2.1G (rozdělený) mkpart primární ext4 2.1G 8.1G (rozdělený) mkpart primární ext4 8.1G 100% 100

Zvolil jsem poslední možnost:

Ne příliš složité operace.

Příklady pro UEFI/GPT

Pokud chcete použít oddíl GPT pro systémy s UEFI, spusťte příkaz:

(rozdělený) mklabel gpt

PS: Pokud používáte UEFI / GPT pro 2. (řekněme, že OS Windows je již nainstalován), pamatujte - ŽE NEMŮŽETE ODSTRANIT JIŽ STÁVAJÍCÍ ODDĚL UEFI!. Jinak systém Windows znovu nespouštějte.

A tak, abyste vytvořili 1 oddíl, který bude zabírat 100 MB, spusťte:

(rozdělená) mkpart ESP fat32 1M 100M (rozdělená) sada 1 bota na

A pro zbytek vyberu ještě 1 sekci, kterou zaplním veškerým zbývajícím místem:

(rozdělený) mkpart primární ext4 100M 100%

Řekněme, že nebylo potřeba vytvořit celé místo, ale jen jeho část. Například pod samotným kořenem přidělím 50,5 GB a pro domovskou složku - zbytek je k dispozici:

(rozdělený) mkpart primární ext4 100M 50,5G (rozdělený) mkpart primární ext4 50,5G 100%

Někdy je potřeba vytvořit swap a můžete to udělat takto:

(rozdělený) mkpart primární ext4 100M 50.5G (rozdělený) mkpart primární linux-swap 50.5G 8.5G (rozdělený) mkpart primární ext4 58.5G 100%

V posledním příkladu jsem vytvořil 3 oddíly (bez zaváděcího oddílu).

Instalace ARCHA

Podívejme se, jaké sekce jsou k dispozici:

# fdisk -l

U mě to vypadá takto:

Vytvořené oddíly naformátujeme:

# mkfs.ext4 /dev/sda1 -L boot # mkfs.ext4 /dev/sda3 -L root # mkfs.ext4 /dev/sda4 -L home # mkswap /dev/sda2 -L swap

Nyní připojte systém souborů (FS):

# mount /dev/sda3 /mnt

Vytvořte přípojné body pro všechny zbývající oddíly:

# mkdir /mnt/(home,boot)

Montujeme je:

# mount /dev/sda1 /mnt/boot # mount /dev/sda4 /mnt/home

Protože mám swap, musíte jej připojit:

# swapon /dev/sda2

Později genfstab detekuje připojené souborové systémy a swapuje je.

Je téměř připraven a můžete instalovat balíčky a aby se instalovaly rychleji, musíte zaregistrovat (vybrat) nejbližší zrcadlo a zaregistrovat ho:

# vi /etc/pacman.d/mirrorlist

PS: Nic jsem neměnil ani nepřidával, použiji vše standardní.

Nainstalujte balíčky:

# pacstrap -i /mnt base-devel

Instalace bude nějakou dobu trvat. Tato akce stáhne asi 250 MB balíčků a nainstaluje je.

Vytvořte soubor fstab (pro určení UUID nebo štítků použijte -U nebo -L):

# genfstab -U /mnt >> /mnt/etc/fstab

Pro kontrolu použijte následující příkaz:

# cat /mnt/etc/fstab

Pokud jsou nějaké chyby, upravte je.

Pojďme k nainstalovanému OS:

# arch-chroot /mnt

# arch-chroot /mnt /bin/bash

Nastavení časového pásma:

# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

  • Region – váš region.
  • Město je vaše město.

Můj příkaz vypadal takto:

# ln -sf /usr/share/zoneinfo/Europe/Zaporozhue /etc/localtime

Spusťte hwclock pro vygenerování /etc/adjtime:

#vi /etc/locale.gen

A přidej:

En_US.UTF-8 UTF-8 cs_RU.UTF-8 UTF-8

Nastavte proměnnou LANG:

#vi /etc/locale.conf

A vložit:

#LANG=en_US.UTF-8 LANG=ru_RU.UTF-8 LC_MESSAGES=ru_RU.UTF-8

Pokud jste nastavili rozložení klávesnice, proveďte změny:

#vi /etc/vconsole.conf

Například:

LOCALE="cs_RU.UTF-8" KEYMAP="cs" HARDWARECLOCK="UTC" TIMEZONE="Evropa/Zaporozhue" FONT="cyr-sun16" CONSOLEFONT="cyr-sun16" CONSOLEMAP=""

A vytvořte je pomocí:

# locale-gen

Přidat název hostitele:

Jdeme jako root a změníme následující data v systému na naše vlastní.

Napíšeme název počítače (například vezmu - arch-linux):

# hostnamectl set-hostname arch-linux

Můžete také napsat do hostitelů:

#vi /etc/hosts

A píšeme:

127.0.0.1 localhost.localdomain localhost::1 localhost.localdomain localhost

PS: Nebudu zde nic měnit, zatím to nechám tak, jak to je.

Nastavte heslo root:

# heslo

Instalace zavaděče Grub

Nainstalujte bootloader systému BIOS:

Bios # pacman -S grub

$ grub-install /dev/sda

A vytvořte konfigurační soubor:

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

Nainstalujte bootloader pro EFI:

# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub

K práci v systému budete potřebovat běžného uživatele. Chcete-li jej vytvořit, spusťte:

$ useradd -m -g users -G wheel -s /bin/bash kapitán

Nyní vytvoříme heslo pro tohoto uživatele:

$ passwd kapitán

Zadejte své heslo dvakrát.

V některých článcích je potřeba odpojit složky. Nedělal bych to, a to z jednoho důvodu - po restartu OS se to všechno stejně udělá.

Poté provedeme:

# ukončit && restartovat

Po restartu síť zmizela. Teď musíme celou věc napravit.

Ve výchozím nastavení v archu není žádná utilita ifconfig, ale to je v pořádku - je tam ip a teď ji použijeme. Nejprve se podívejme, co je v OS:

# ip adresa

Chcete-li vidět, co je otevřené (Jsem pro připojení), můžete použít:

# ss-tuwpln

a tak, když jsme se naučili rozhraní, otevřeme:

# vim /etc/systemd/network/ethernet.network

Zapišme si použití DHCP:

Jméno=cs32 DHCP=ano

Povolit použití sítě:

# systemctl enable systemd-networkd # systemctl start systemd-networkd # systemctl status systemd-networkd

# systemctl povolit dhcpcd # systemctl spustit dhcpcd

Chcete-li zobrazit protokoly, použijte:

# journalctl -u systemd-networkd

zkontrolujte ping, pokud jde, pak vše bzučí).

Pojďme nainstalovat software:

$ pacman -S dnsutils net-tools vim

V novém instalačním prostředí není standardně aktivován internetové připojení. Chcete-li nastavit bezdrátovou síť, nainstalujte balíčky:

# pacman -S dialog wpa_supplicant

Vytváření nového initramfs obvykle není vyžadováno, protože mkinitcpio bylo spuštěno při instalaci linuxového balíčku s pacstrap.
Pro speciální změny konfigurace:

# vim /etc/mkinitcpio.conf

A znovu vytvořte obraz initramfs:

# mkinitcpio -p linux

Nainstalujte sudo:

# pacman -S sudo

Pro konfiguraci spusťte:

#vizum

Najděte řádek:

# %wheel ALL=(ALL) ALL

Připomínáme:

%wheel VŠECHNY=(VŠECHNY) VŠECHNY

Něco takového.

Instalace grafického prostředí (GUI) pro Arch Linux

Takže OS je již k dispozici, ale bez grafický režim(GUI) a teď to opravím ....

Aktualizujte balíčky v OS:

# pacman -Syy && pacman -Su

Pro grafické prostředí nainstaluji KDE 5 plasma. Instalaci jsem popsal v tématu:

O instalaci dalších GUI budu mluvit o něco později.

A v tomhle mám všechno. Článek "Instalace Arch Linuxu" byl dokončen.

Instalace, montáž a počáteční nastavení Arch Linux jako desktop

Tak jsem se konečně dočkal Arch Linux. Systém je pro mě nový, ale nemyslím si, že se bude příliš lišit od svého vlastního druhu. Protože nemůžete jen tak vzít a dát Oblouk od prvního okamžiku jsem si pak připravil pracovní manuál přímo pro sebe. Chci vás hned varovat, že milenci EFI bude to těžké. Manipulace s GRUB na EFI donutil mě propuknout v hysterický smích. Na server s obvyklým BIOS vše bylo nainstalováno poprvé.

Příprava obrázku

Stáhněte si distribuční obrázek z oficiálních stránek vývojáře a zapište jej na USB flash disk:

A také změnit písmo konzoly na písmo, které podporuje azbuku:

Aktualizujte aktuální národní prostředí systému:

locale-gen
export LAN=ru_RU.UTF-8

Konfigurace sítě

Při instalaci systému je vyžadováno připojení k internetu.
Servis DHCP již běží při spouštění pro nalezeno ethernet- adaptéry. Pro bezdrátové síťové adaptéry spusťte nabídku wifi . Pokud potřebujete nastavit stat IP nebo použijte jiné nástroje pro konfiguraci sítě, zastavte službu DHCP příkaz systemctl zastavte dhcpcd.service a použijte netctl .

Rozdělení pevného disku

Pro správu oddílů na pevném disku během procesu instalace doporučuji použít program fdisk. Také vřele doporučuji smazat MBR nebo GPT tabulky s sgdisk --zap-all /dev/sdX

Vytvořte oddíly na disku:

  • (1) 512 Mb pod /boot; (dev/sdX1)
  • (2) SWAP ve swapovacím souboru; (dev/sdX2)
  • (3) FREE_SPACE pod rootem; (dev/sdX3)

Vytvořte prázdnou tabulku oddílů

Vytvořit 2 oddíly (swap)

Přidejte spouštěcí příznak pro první oddíl:

Pro swapovací oddíl (swap):

Pro kořenový oddíl použijte šifrované LVM:

Nastavte formát pro vytvořené oddíly:

Montáž přepážek (pokračování)

Připojte kořenový oddíl:

Pojďme nasednout spouštěcí oddíl:

Výběr zrcadla pro pacmana

Více rychlé načítání balíčků nastavíme zrcadla. Postavme ruské zrcadlo Yandex nad všechny ostatní:

Po provedení příkazu a výběru všech balíčků nejnovější verze požadované balíčky.

Důležité: pokud probíhá instalace WiFi, pak musíte nainstalovat balíčky netctl , dialog a wpa_supplicant:

Pokud instalujeme 32bitový systém, pak použijeme balíček grub-efi-i386.

Počáteční nastavení systému

Pojďme vygenerovat fstab, k tomu použijeme následující příkaz

Pojďme k nainstalovanému systému

Aktualizujte aktuální národní prostředí systému

Přidat nového uživatele

Nainstalujte bootloader (pro BIOS)

Aktualizujte soubor grub.cfg

Odpojte dříve připojené oddíly:

Nastavíme čas

Založit pacman (pouze pro x86_64):

Zakázat IPv6

K tomu vytvoříme nový soubor/etc/sysctl.d/10-ipv6.conf s obsahem:

Nastavte mu heslo

Začněme službu:

Aktualizujte databáze balíčků:

(pokud používáte touchpad nebo dotykovou obrazovku, nainstalujte xf86-input-synaptics)

Nainstalujte ovladač pro grafickou kartu:

Balíčky lib32-* by měl být instalován pouze na x86_64 systémy.

Xfce+SDDM

Začněme s instalací a konfigurací grafického prostředí xfce se správcem přihlášení SDDM:

Nyní můžete restartovat systém pomocí příkazu

restartování sudo systemctl

Pokud bylo vše provedeno správně a bez chyb, máme hotovo pracovní systém Arch Linux S xfce na palubě.

Důležité: pokud do vstupního pole nezadáte znaky, zkuste změnit rozložení pomocí kombinace kláves: levý shift + pravý shift . Chcete-li nastavit výchozí anglické rozložení, otevřete soubor /etc/X11/xorg.conf.d/00-keyboard.conf a v řádku Option "XkbLayout" "ru,us" zaměňte ru a us.
Po restartu a prvním přihlášení vyberte položku výchozí nastavení, poté vám doporučuji přejít do Nabídka Aplikace -> Nastavení -> Vzhled-> Písma a vyberte si své oblíbené písmo, preferuji Helvetica. Poté přidejte na panel prvek rozložení klávesnice a přizpůsobte jej.

Nainstalujte potřebné balíčky pro práci

pacman je skvělý správce balíčků, který je mnohem pohodlnější apt-get od rodiny Debian systémy. Začněme tím, že je bez jakéhokoli nadání může nezávisle vyhledávat, instalovat, odstraňovat balíčky, uspokojovat závislosti, synchronizovat úložiště a aktualizovat systém, přičemž má poměrně jednoduché a logické rozhraní konzoly. Příklad několika příkazů:

pacman -S foo # instalace balíčku foo
pacman -S --asdeps foo # nainstalovat balíček foo jako závislost
pacman -Sy # synchronizace repozitářů
pacman -Su # aktualizace systému
pacman -Syu # synchronizace repozitářů a aktualizace systému.
pacman -Syu foo # synchronizace repozitářů, aktualizace systému a instalace balíčku foo

Pro archlinux můžete najít jakýkoli software, pro který vůbec najdete linux. Pokud balíček nenajdete v oficiálním úložišti, určitě ho najdete v Arch User Repository. Existují balíčky publikované a spravované uživateli. archlinux. Balíčků je 53 tisíc proti 37,5 tisíc pro Debian.

Balíček se kterým GRUB bude schopen detekovat všechny nainstalované operační systémy při generování konfigurace:

Grafika:

FTP klient:

Automatické doplňování

Automatické dokončování je velmi šikovná funkce terminálu bash. knoflík Tab může výrazně usnadnit a zrychlit zadávání příkazů. Tato možnost však není dostupná pro programy jako např sudo, pacman a některé další. K nápravě této nespravedlnosti stačí nainstalovat balíček bash-completion.

sudo pacman -S bash-dokončení

Nejprve nainstalujeme Archlinux a uděláme z něj bootovací server. Přímo odtud připravíme nový kompaktní systém, do kterého přidáme minimum grafické prostředí a nejnutnější funkčnost (na příkladu Firefoxu). Naučme náš systém bootovat přes síť i na počítačích s UEFI. Poté jej zcela převedeme do režimu „pouze pro čtení“ (učiníme „živý“), což nám umožní používat systém současně pro minimálně půl stovky různých počítačů s jedním jediným bootovacím serverem. To vše bude fungovat i v rámci levné 100-Mb sítě, kterou navíc ještě několikrát „přetaktujeme“.

Žádné záložky pevné disky nebudete se bát, protože nebudeme mít disky. Žádné šílené ruce uživatelů nic nezlomí, protože po restartu se systém vrátí do původního stavu vámi osobně. Samozřejmě se naučíte a budete schopni samostatně měnit zaváděcí systém tak, aby obsahoval pouze funkcionalitu, kterou potřebujete, a nic víc. Mezitím zjistíme, jak a v jakém pořadí Linux bootuje a také z čeho se skládá. Vědomosti, jak víte, jsou k nezaplacení, proto je sdílím jako dárek.

Pokusím se bez velkých diskusí vysvětlit, co se děje, někdy trochu předběhnout, ale následně vše odložit na police. Abyste vůbec neměli problémy s porozuměním, předpokládám, že už jste s nějakým hotovým pracovali Linux distribuce, zkusili psát jednoduché skripty pomocí nano nebo jiného textového editoru. Pokud jste v ArchLinuxu nováčkem, naučíte se toho hodně, pokud jste starý, naučíte se méně, ale doufejme, že si Linux stejně zamilujete ještě více.

Informací bylo hodně. A podle zavedené hollywoodské tradice je série před vámi v několika dílech:
pokračování ;
končící .

Nyní nainstalujeme Archlinux do VirtualBoxu, který lze naklonovat a spustit na téměř každém počítači se starším BIOSem bez jakéhokoli pokročilé nastavení. Mezitím se podíváme na základy systemd a také na to, jak jej používat ke spouštění libovolných služeb a programů při bootování. Uvidíme také, jakými fázemi Linux při bootování prochází a napíšeme si vlastní handler (hák), který umístíme do initramfs. Nevíte, co je to initramfs? Pak jděte pod kočku.

Existuje mnoho důvodů, proč volba padla na Archlinux. První důvod: je to můj starý svérázný přítel a věrný pomocník. Gentoo, jak se říká na internetu, je ještě riskantnější, ale nechcete budovat systém ze zdroje. Druhý důvod: hotové sestavy vždy obsahují spoustu nadbytečných věcí a čerpání velkého množství dat může kriticky ovlivnit výkon sítě a za širokými zády „automatického instalátoru“ není nic vidět – to je třetí důvod. Začtvrté, systemd si pomalu razí cestu do všech distribucí a dokonce i do Debianu, takže se můžeme pořádně ponořit do nadcházejících běžně dostupných distribucí na příkladu Archlinuxu. Díky tomu všemu lze systém, který si později připravíme, nabootovat po síti nejen ze serveru běžícího na virtuálním stroji, ale také z běžného počítače, například s Raspberry Pi, a dokonce i z západní digitál My Cloud (testováno), který běží pod Debianem.

Přípravné práce

Stáhněte si nový obrázek z odkazu z oficiální stránky. Například v Moskvě ze serverů Yandex je stahování velmi rychlé, a pokud se váš proces protahuje, zkuste stáhnout na jiném místě. Doporučuji si zapamatovat jakou, protože tyto informace se nám budou ještě hodit.

Ve VirtualBoxu vytvoříme nový virtuální stroj (například s 1 GB RAM a 8 GB úložiště). V nastavení sítě musíte vybrat typ připojení „síťový most“ a vhodný síťový adaptér s přístupem k internetu. Připojíme stažený obraz na CD-ROM "y. Pokud se nemůžete dočkat, až začnete pracovat s hardwarem, vezměte USB flash disk a vypalte obraz pomocí (pokud pracujete pod Windows) a poté nabootujte budoucí server přímo z něj.

Zapneme stroj, počkáme, až se objeví příkazový řádek a nastavíme heslo, bez kterého SSH nebude fungovat:

passwd
Spusťte SSH server příkazem:

Systemctl spusťte sshd
Zbývá zjistit IP adresu stroje prozkoumáním výstupu příkazu:

IP adresa | grep "globální rozsah"
Adresa bude uvedena hned za "inet".

Nyní Uživatelé Windows se budou moci připojit ke stroji pomocí putty a poté odtud zkopírují příkazy a vloží je a stisknou pravé tlačítko myši.

Základní instalace

Dále popíšu co nejstručněji standardní instalaci Archlinuxu. Pokud máte otázky, pravděpodobně na ně najdete odpovědi v. Wiki je skvělá a anglická wiki je dokonce aktuální, takže se jí držte.

Média připravujeme pomocí cfdisk (jedná se o konzolovou utilitu s jednoduchým a intuitivním rozhraním). Jeden oddíl nám stačí, jen jej nezapomeňte označit jako spouštěcí:

cfdisk /dev/sda
Naformátujte v ext4 a nastavte štítek, například HABR:

Mkfs.ext4 /dev/sda1 -L "HABR"
Budoucí kořenový oddíl připojíme do /mnt:

Exportujte root=/mnt mount /dev/sda1 $root
Archlinux se obvykle instaluje přes internet, takže hned po instalaci budete mít nejnovější a nejaktuálnější verzi. Seznam úložišť se nachází v souboru /etc/pacman.d/mirrorlist. Zkuste si zapamatovat, odkud jste distribuci stáhli, a přesuňte tyto servery úplně nahoře v seznamu – tímto způsobem vážně ušetříte čas další krok. Obvykle se jedná o servery geograficky umístěné na stejném místě, kde se aktuálně nacházíte.

Nano /etc/pacman.d/mirrorlist
Nainstalujte základní sadu balíčků a sadu pro vývojáře:

Pacstrap -i $kořenový základ base-devel
Nyní použijeme příkaz arch-chroot, který umožňuje dočasně změnit kořenový adresář na jakýkoli jiný, který má kořenovou strukturu souborů Linuxové systémy. Zároveň programy, které odtamtud spustíme, nebudou vědět, že venku existuje něco jiného. Prakticky budeme ve svém nový systém s administrátorskými právy:

Arch-chroot $root
Všimněte si, jak se změnil příkazový řádek.

Vyberte jazyky, které plánujeme používat. Navrhuji ponechat en_US.UTF-8 UTF-8 a ru_RU.UTF-8 UTF-8. V textovém editoru stačí odstranit komentáře před nimi:

Nano /etc/locale.gen
Nyní vygenerujeme vybrané lokalizace:

Pokud vše proběhlo v pořádku, uvidíte něco takového:

Generování lokalit... en_US.UTF-8... hotovo ru_RU.UTF-8... hotovo Generování dokončeno.
Nastavte jazyk, který se má používat jako výchozí:

echo LANG=ru_RU.UTF-8 > /etc/locale.conf
Stejně jako rozložení a písmo v konzole:

echo -e "KEYMAP=ru\nFONT=cyr-sun16\nFONT_MAP=" > /etc/vconsole.conf

Zadejte časové pásmo (používám moskevský čas):

Ln -s /usr/share/zoneinfo/Europe/Moskva /etc/localtime
Vymýšlíme název našeho budoucího serveru:

echo "HabraBoot" > /etc/hostname
Nyní nastavíme heslo správce. Děláme to především proto, že SSH nám nedovolí připojit se k systému bez hesla. Téma nerozumnosti používání systému, který není chráněn heslem, zde nebude rozvíjeno.

passwd
Zadejte heslo dvakrát a ujistěte se, že je heslo úspěšně aktualizováno.

Pojďme přidat nového uživatele jménem uživatelské jméno(můžete si vybrat libovolné), dejte mu administrátorská práva a nastavte mu heslo ze stejných důvodů, ale také kvůli tomu, že pod rootem v aktuální verzi Archu nebudeme moci sestavovat balíčky z AUR (Arch User Úložiště je úložiště od uživatelů komunity Arch Linux s programy, které nejsou součástí hlavního úložiště):

Useradd -m uživatelské jméno
Upravte konfigurační soubor /etc/sudoers pomocí nano:

EDITOR=nano video
Přidáním dalšího řádku hned za řádek "root ALL=(ALL) ALL":

Uživatelské jméno ALL=(ALL) ALL
A nastavte heslo pro uživatelské jméno uživatele:

uživatelské jméno passwd
Nyní je potřeba nainstalovat bootloader na interní disk, aby z něj mohl systém sám nabootovat. Jako bootloader doporučuji použít GRUB, protože později jej budeme znovu potřebovat. Nainstalujte balíčky pomocí standardního správce balíčků pacman pro Archlinux:

Pacman -S grub
Bootloader zapíšeme do MBR (Master Boot Record) našeho interního disku.

grub-install --target=i386-pc --force --recheck /dev/sda
Pokud vše dobře dopadlo, uvidíte Instalace dokončena. Nebyla hlášena žádná chyba.

Ukončit chroot:

výstup
A všimneme si, jak se změnil příkazový řádek.

Použijeme označení disků, podrobné vysvětlení tohoto tvrzení bude následovat později.

Odkomentujte řádek GRUB_DISABLE_LINUX_UUID=pravda nepoužívat UUID jednotky:

Nano $root/etc/default/grub
Vygenerujte konfigurační soubor bootloaderu opět pomocí arch-chroot. Budete přihlášeni, provedete jediný příkaz a následuje automatické odhlášení:

Arch-chroot $root grub-mkconfig --output=/boot/grub/grub.cfg
Musíme nahradit všechny reference /dev/sda1 na LABEL=HABR v konfiguračním souboru:

Mv $root/boot/grub/grub.cfg $root/boot/grub/grub.cfg.autoconf && cat $root/boot/grub/grub.cfg.autoconf | sed "s/\(root=\)\/dev\/sda1/\1LABEL=HABR/g" > $root/boot/grub/grub.cfg
Pokud změníte řádek ve stejném souboru nastavit lang=en_US na nastavit lang=ru_RU, pak s námi nakladač bude komunikovat na velkém a mocném.

Vygenerujeme soubor fstab s přepínačem -L, který přinutí generátor používat štítky disků:

Genfstab -p -L $root > $root/etc/fstab
Tím je základní instalace ArchLinuxu dokončena. Systém se spustí sám a přivítá vás přátelským rozhraním příkazového řádku v ruštině. Pokud poté zadáme příkaz dhcpcd, bude pravděpodobně fungovat i internet. Na restart ale zatím nespěcháme.

Počínaje při spouštění se systemd pomocí příkladu NTP a SSH

Protože náš systém bude komunikovat s ostatními počítači, budeme muset čas synchronizovat. Pokud se čas na serveru a klientovi liší, pak je vysoká pravděpodobnost, že se k sobě vůbec nebudou moci připojit. Sudo se může po každé akci začít ptát na heslo v domnění, že časový limit autorizace již dávno vypršel. A kdo ví, čemu ještě budeme čelit? Pojďme hrát na jistotu.

Chcete-li synchronizovat čas se servery přes internet pomocí protokol NTP, musíme nainstalovat chybějící balíčky. Můžete použít arch-root, ale vystačíme si s klíči, které správci balíčků řeknou, kam má nainstalovat:

Pacman --root $root --dbpath $root/var/lib/pacman -S ntp
Nastavte získávání přesného času z ruských serverů:

Mv $root/etc/ntp.conf $root/etc/ntp.conf.old && cat $root/etc/ntp.conf.old | sed "s/\(\).*\(.pool.ntp.org\)/\1.ru\2/g" | tee $root/etc/ntp.conf

Nám stačí synchronizovat čas jednou při bootu. Dříve bychom spuštění služby přesného času zapsali do souboru rc.local, ale nyní se objevil správce systému a služeb systemd, který se snaží paralelně spouštět služby (v originále se jim říká jednotky), aby snížil systém doba potřebná ke spuštění. Výkon jedné služby může přirozeně záviset na fungování jiné. Je pro nás například zbytečné zkoušet synchronizovat čas přes internet, než nám na počítači začne fungovat síť. K popisu všech těchto vztahů již nestačí jen zadat název spustitelného souboru, takže spuštění přes systemd se stalo velmi netriviálním úkolem. Za tímto účelem byly vytvořeny speciální soubory s příponou „.service“. Obsahují závislosti, jména spustitelné soubory a další parametry, které je potřeba pro úspěšné spuštění zvážit. Konkrétně systemd používá cíle ke správě kroků spouštění, které jsou podobné úrovním běhu, pokud jde o úkoly, které jsou jim přiřazeny. Podrobnosti najdete na wiki.

K radosti začátečníků je ntpdate.service již součástí balíčku ntp. Všechny soubory popisující spouštění služeb se nacházejí ve složce $root/usr/lib/systemd/system/ a lze je otevřít v libovolném textovém editoru nebo prohlížet běžným způsobem. Zde je například $root/usr/lib/systemd/system/ntpdate.service:

Description=One-Shot Network Time Service After=network.target nss-lookup.target Before=ntpd.service Type=oneshot PrivateTmp=true ExecStart=/usr/bin/ntpd -q -n -g -u ntp:ntp WantedBy= víceuživatelský.cíl
V bloku označuje řádek Popis Stručný popis službu a za jakých podmínek by měla být spuštěna (v tento případ, po spuštění sítě, ale před spuštěním NTP serveru, který vůbec neplánujeme spouštět). Požadavek na přesný čas se během načítání vyskytuje pouze jednou a je za to zodpovědný řádek Type=oneshot z bloku. Ve stejném bloku jsou v řádku ExecStart uvedeny akce, které je nutné provést pro spuštění služby. Blok v našem případě uvádí, že je třeba spustit naši službu, abychom dosáhli cíle multi-user.target. Ke spuštění vlastních služeb se doporučuje použít stejný obsah bloku.

Jako první praktický příklad mírně rozšíříme funkčnost ntpdate.service tím, že jej požádáme o dodatečnou korekci času na hardwarových hodinách. Pokud poté na stejném počítači spustíte systém Windows, uvidíte čas GMT, takže se nelekejte.

Změna standardního chování kterékoli služby systemd se provádí následovně: nejprve se ve složce /etc/systemd/system/ vytvoří nový adresář s úplným názvem služby a příponou ".d", kde je soubor s příponou je přidán libovolný název a přípona ".conf" a již tam jsou provedeny potřebné úpravy. Začněme:

Mkdir -p $root/etc/systemd/system/ntpdate.service.d && echo -e "\nExecStart=/usr/bin/hwclock -w" > $root/etc/systemd/system/ntpdate.service.d/ hwclock.conf
Jednoduše říká, že ihned po spuštění služby spusťte příkaz "/usr/bin/hwclock -w", který resetuje hardwarové hodiny.

Přidejte službu ntpdate do spuštění (syntaxe je standardní pro všechny služby):

Arch-chroot $root systemctl povolit ntpdate Vytvořený symbolický odkaz z /etc/systemd/system/multi-user.target.wants/ntpdate.service do /usr/lib/systemd/system/ntpdate.service.
Jak vidíte, v adresáři multi-user.target.wants vznikl obyčejný symbolický odkaz na soubor ntpdate.service a v samotném bloku tohoto souboru jsme viděli zmínku o cíli multi-user.target. Ukazuje se, že aby systém dosáhl cíle multi-user.target, musí být spuštěny všechny služby z adresáře multi-user.target.wants.

Nyní nainstalujte balíček SSH stejným způsobem (v ArchLinuxu se nazývá openssh):

Pacman --root $root --dbpath $root/var/lib/pacman -S openssh
Tentokrát ale pro autostart použijeme socket, aby se SSH server spustil až po příchodu požadavku na připojení a nevisel jako mrtvá váha v RAM:

Arch-chroot $root systemctl povolí sshd.socket
Nezměnili jsme výchozí port 22 a nevynutili použití protokolu 2 - ať to zůstane na mém svědomí.

Pohled dopředu nebo seznámení se s handlery (háky)

Abychom se mohli připojit k našemu budoucímu serveru, aniž bychom se museli dívat, potřebujeme znát jeho IP adresu. Bude mnohem snazší, pokud bude tato adresa statická. Obvyklé způsoby, které říká wiki, pro nás nejsou vhodné. Problém je v tom, že síťové adaptéry v moderním světě jsou pojmenovány podle jejich fyzického umístění na základní desce. Například název zařízení enp0s3 znamená, že se jedná o síť ethernetový adaptér, který je umístěn na nulové sběrnici PCI ve třetím slotu (podrobnosti). To se provádí tak, že při výměně jednoho adaptéru za jiný se název zařízení v systému nezmění. Toto chování pro nás není žádoucí, protože na různé modely základní desky pozice síťová karta se může lišit, a když se pokusíme migrovat náš zaváděcí server z VirtualBoxu na skutečný hardware, s největší pravděpodobností budeme muset zavést systém pomocí klávesnice a monitoru, abychom síť správně nastavili. Potřebujeme jméno síťový adaptér se stal předvídatelnějším, například eth0 (toto místo je rezervováno smajlíkem).

Proč to děláme?

Jsem si jistý, že existují elegantnější řešení problému s pojmenováním zařízení, ale následující příklad se ukázal jako vhodný pro demonstraci. obecný princip Linux ke stažení. Nezapomeňte prosím v komentářích seznámit komunitu s metodami, které jste otestovali.


Nainstalujte balíček mkinitcpio-nfs-utils a budeme mít handler (hák) nazvaný „net“:

Pacman --root $root --dbpath $root/var/lib/pacman -S mkinitcpio-nfs-utils

Ve výchozím nastavení jsou všechny soubory obslužných programů uloženy do /usr/lib/initcpio/. Obvykle se jedná o spárované soubory se stejným názvem, z nichž jeden bude v instalačním podadresáři a druhý v hookech. Samotné soubory jsou běžné skripty. Soubor ve složce hooks obvykle končí uvnitř souboru initramfs (dozvíme se o něm později) a spustí se při nabootování systému. Druhý soubor z dvojice jde do instalační složky. Uvnitř je funkce build(), která obsahuje informace o tom, co dělat při generování souboru initramfs, a také funkce help(), která popisuje, k čemu tento handler slouží. Pokud budete zmateni, pak jen čtěte dál a vše, co je řečeno v tomto odstavci, zapadne na své místo.

Složka initcpio je také přítomna v adresáři /etc a má také podadresáře install a hooks. Zároveň má bezpodmínečnou prioritu před /usr/lib/initcpio, tj. pokud obě složky obsahují soubory se stejnými názvy, pak se při generování initcpio použijí soubory z /etc/initcpio a ne z /usr/lib /initcpio .

Potřebujeme trochu změnit funkčnost obslužného programu sítě, takže stačí zkopírovat soubory z /usr/lib/initcpio do /etc/initcpio:

cp $root/usr/lib/initcpio/hooks/net $root/etc/initcpio/hooks/ && cp $root/usr/lib/initcpio/install/net $root/etc/initcpio/install/
Soubor hooks/net přinášíme do následující podoby:

Cat $root/etc/initcpio/hooks/net # vim: set ft=sh: run_hook() ( if [ -n "$ip" ] then ipconfig "ip=$(ip)" fi ) # vim: set ft= sh ts=4 sw=4et:

Nyní otevřeme soubor $root/etc/initcpio/install/net a uvidíme, že funkce help() dokonale říká, jak by měla být proměnná „ip“:
ip= ::::::
Zbývá pouze nastavit hodnotu proměnné pro nastavení statické IP adresy a názvu síťového zařízení, například „192.168.1.100::192.168.1.1:255.255.255.0::eth0:none“ (dále jen nastavení sítě, které vám vyhovuje). V další části se dozvíte, kde přesně se hodnota nastavuje.

Mezitím odstraníme vše nepotřebné z $root/etc/initcpio/install/net. Necháme načítání modulů síťová zařízení, výše použitý program ipconfig a samozřejmě samotný skript ze složky hooks, který dělá veškerou hlavní práci. Dostanete něco takového:

Cat $root /etc/initcpio/install/net #!/bin/bash build() ( add_checked_modules "/drivers/net/" add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig" add_runscript ) help( ) (kat<Když se správce zařízení systemd-udevd pokusí přejmenovat naše síťové zařízení při zavádění na jeho obvyklý předvídatelný název síťového rozhraní, například na enp0s3, selže. Proč - čtěte dále.

Jak se systém spouští

Pro jednoduchost zvažte obvyklý BIOS. Po zapnutí a inicializaci začne BIOS procházet seznam bootovacích zařízení v pořadí, dokud nenajde bootloader, na který přenese další bootovací řízení.

Právě takový bootloader jsme zaznamenali v MBR našeho disku. Použili jsme GRUB, v jehož nastavení (soubor grub.cfg) bylo uvedeno, že kořenový oddíl je umístěn na disku označeném HABR. Zde je celý řádek:

Linux /boot/vmlinuz-linux root=LABEL=HABR rw tichý
Je zde zmíněn soubor vmlinuz-linux, což je jádro systému a ukazatel na kořenový systém je jeho parametrem. Žádáme vás, abyste hledali kořenový systém na zařízení označeném HABR. Pro každý disk by také mohlo existovat jedinečné UUID, ale v tomto případě bychom jej museli při přesunu systému na jiný disk nepochybně změnit. Pokud bychom zadali pozici kořenového systému běžným způsobem pro uživatele Linuxu: /dev/sda1, pak bychom nemohli bootovat z USB disku, protože USB disk by dostal toto jméno pouze v případě, že by byl jediným diskem v počítači. Je nepravděpodobné, že v počítači bude další jednotka s označením HABR, ale nezapomeňte na to.

Také nastavuje hodnotu globální proměnné "ip" pro náš "net" handler (nezapomeňte změnit adresy na ty, které se používají ve vaší síti):

Linux /boot/vmlinuz-linux root=LABEL=HABR rw tichý ip=192.168.1.100::192.168.1.1:255.255.255.0::eth0:none

V dalším řádku je zmínka o souboru initramfs, se kterým jsem slíbil, že se budu zabývat:

Název initramfs je odvozen od počátečního souborového systému ram. Je to vlastně běžný linuxový kořenový souborový systém zabalený v archivu. Rozšiřuje se v RAM při bootu a je navržen tak, aby našel a připravil kořenový souborový systém našeho linuxu, který se nakonec pokoušíme zavést. Initramfs má vše, co pro tyto účely potřebujete, protože je to skutečný „malý Linux“, který dokáže provádět mnoho běžných příkazů. Jeho schopnosti jsou rozšiřovány pomocí handlerů (háčků), které pomáhají formovat nový kořenový souborový systém našeho linuxu.

Poté, co programy z initramfs odvedou svou práci, je řízení dalšího načítání přeneseno do procesu init připraveného kořenového souborového systému. Archlinux používá systemd jako svůj init proces.

Správce zařízení systemd-udevd je součástí systemd. Stejně jako jeho starší bratr se snaží paralelně objevovat a konfigurovat všechna zařízení v systému. Zahájí svou práci jako jedna z prvních, ale již poté, co náš obslužný program sítě inicializuje síťovou kartu ve fázi initramfs. Systemd-udevd tedy nemůže přejmenovat používané zařízení a název eth0 je uchováván na NIC po dobu běhu.

Ujistěte se, že jste odstranili obslužnou rutinu autodetekce. Zkontroluje zařízení nainstalovaná v tomto konkrétním počítači a v initramfs ponechá pouze moduly, které jsou pro ně nezbytné. To nepotřebujeme, protože zpočátku zvažujeme možnost dalšího přenosu systému na jiný počítač, který se bude s největší pravděpodobností hardwarově lišit od použitého virtuálního stroje.

Seznam handlerů dostatečný pro naše účely, včetně sítě, kterou jsme vytvořili, vypadá takto:
HOOKS="base udev net block filesystems"
vložte tento řádek do souboru mkinitcpio.conf a okomentujte starý řádek:
nano $root/etc/mkinitcpio.conf

Na základě standardní linuxové předvolby vytvoříme naši předvolbu habr:

Cp $root/etc/mkinitcpio.d/linux.preset $root/etc/mkinitcpio.d/habr.preset

A přinášíme to do této podoby:
cat $root/etc/mkinitcpio.d/habr.preset ALL_config="/etc/mkinitcpio.conf" ALL_kver="/boot/vmlinuz-linux" PRESETS=("výchozí") default_image="/boot/initramfs-linux. img"

Nepotřebujeme "záložní" větev, která odstraňuje autodetect z handlerů, protože jsme ji již odstranili sami, a nepotřebujeme generovat stejný soubor initramfs dvakrát s různými názvy.

Vygenerujeme nový initramfs pomocí přednastavení habr:

Arch-chroot $root mkinitcpio -p habr

Psaní aktualizační služby DNS pro použití s ​​systemd

Naše síťová karta přijímá všechna nastavení pro fungování sítě a internetu. Názvy stránek však nebudou převedeny na IP adresy, protože náš systém neví, které DNS servery by k tomu měly být použity. Pojďme si pro tyto účely napsat vlastní službu, která se systemd spustí při bootu. A abychom se dozvěděli něco nového a nenudili se z monotónnosti, předáme jako parametr informaci o názvu síťového zařízení a uložíme seznam DNS serverů do externího souboru.

Resolvconf je zodpovědný za aktualizaci informací o serverech DNS. Syntaxe nám naprosto vyhovuje:

Resolvconf [-m metric] [-p] -a rozhraní V zde importovaném souboru je IP adresa každého serveru uvedena na novém řádku za klíčovým slovem nameserver. Můžete zadat libovolný počet serverů, ale budou použity pouze první 3 z nich. Jako příklad použijeme Yandex. V tomto případě by soubor předaný do resolvconf měl vypadat takto:

Nameserver 77.88.8.8 nameserver 77.88.8.1
Potřebujeme získat informace o serverech DNS dříve, než se systém ujistí, že je síť plně funkční, tedy před dosažením cíle network.target. Budeme předpokládat, že nám postačí aktualizovat informace o serverech jednou během stahování. A jako standard řekněme, že naši službu vyžaduje cíl multi-user.target. Vytvořte spouštěcí soubor služby v adresáři s následujícím obsahem:

$root/etc/systemd/system/ [e-mail chráněný] Description=Ruční aktualizace resolvconf (%i) Before=network.target Type=oneshot EnvironmentFile=/etc/default/ [e-mail chráněný]%i ExecStart=/usr/bin/sh -c "echo -e "nameserver $(DNS0)\nnameserver $(DNS1)" | resolvconf -a %i" WantedBy=multi-user.target
V řádku ExecStart spustíme příkaz echo, který za běhu vygeneruje soubor se seznamem serverů, který předáme potrubím do resolvconf. Obecně platí, že v řádku ExecStart nemůžete používat více příkazů a ještě více nemůžete používat potrubí, ale opět jsme všechny oklamali tím, že jsme tyto příkazy předali jako parametr -c do /usr/bin/sh.

Vezměte prosím na vědomí, že název souboru [e-mail chráněný] je použit symbol @, po kterém můžete zadat proměnnou a ta se dostane do souboru a nahradí "%i". Tedy řádek EnvironmentFile=/etc/default/ [e-mail chráněný]%i se stane EnvironmentFile=/etc/default/ [e-mail chráněný]- toto je název externího souboru, který použijeme k uložení hodnoty proměnných DNS0 a DNS1. Syntaxe je stejná jako v běžných skriptech: "název proměnné=hodnota proměnné". Vytvoříme soubor:

Nano $root/etc/default/ [e-mail chráněný]
A přidejte následující řádky:

DNS0=77.88.8.8 DNS1=77.88.8.1

Nyní přidáme službu ke spuštění a nezapomeneme zadat název síťové karty za @:

Arch-chroot $root systemctl povolit [e-mail chráněný]
Právě jsme napsali obecný soubor pro spuštění služby. Všestrannost spočívá v tom, že pokud je v našem systému více síťových adaptérů, pak pro každý z nich můžeme specifikovat vlastní DNS servery. Stačí si připravit sadu souborů se seznamem serverů pro každé ze zařízení a spustit službu pro každý adaptér jednotlivě zadáním jeho názvu za @.

Před prvním spuštěním

Tím je počáteční nastavení dokončeno. Aby se změny, které jsme provedli, projevily, potřebujeme zavést nainstalovaný ArchLinux z interního disku.

Zakažte hotový kořenový systém:

Odpojit $kořen
A vypněte virtuální počítač:
initramfs Přidat štítky