Arch Linux alapok

Arch Linux
Arch Linux

Arch Linux alapok témát már többféleképp feldolgoztam. A mostani sorozatban pedig megpróbálom összefoglalni azt a minimális tudást, amivel a kezdő Arch Linux felhasználó elindulhat. Az első kérdés, amit feltesznek ilyen sorozatban: Miért is jó nekem, ha Arch Linux-ot használok? Mi is az az Arch Linux?
A kérdést gyorsan megválaszolhatjuk: mert az Arch az jó! Arch Linux egy könnyű, rugalmas disztribúció, amit jellemzően haladóbbaknak készítettek. Az x86-64 architektúrára készül, így pld. arm stb. környezetben nem fog működni. Ez nem jelent akadályt a legtöbb esetben, az asztali PC-ben és a laptopokban ez az architektúra az elterjedt. A megszokott – és szerintem az összes Linux leírásban elismételt – jellemzőkkel bír: gyors, stabil, flexibilis, sok program van hozzá, jó közösség, jó dokumentáltság stb. Egy jellemzőt emelek ki, a rolling módszert, amivel a disztribúció frissül. Ezt két ágra kell bontani. Itt nincs verziószám, azaz nem készül az alap Arch Linuxból egy-egy jól elkülöníthető, névvel vagy sorszámmal ellátott kiadás. Folyamatosan viszik tovább, így nem lesz problémás a verziók közti rendszer frissítés sem.
A másik fontos tényező a folyamatosan kapott frissítések a legújabb programverziókra. Ez ideális, ha mindig a legfrissebb programokat szeretnéd használni. Hátrányát sem szabad elfejteni, mert a legfrissebb verziókban lehetnek hibák. Ezt a hibalehetőséget erősen eltúlozzák más disztribúciók hívei, én nagyon kevés olyan problémába ütköztem, ami a rendszert komolyabban érintette. Ha van is ilyen, akkor is hamar javítják, vagy ha kell visszatérhetsz a régebbi program verzióhoz.
Az internet tele van pró és kontra érvekkel, így én nem is taglalnám a témát. A valódi értékeit nem a leírások, hanem a használat adja.
Ami fontos: a rendszeradmin feladatokat emelt joggal végezhetjük el. Én nem teszem a parancsok elé ezekben a leírásokban a sudo-t, így biztosan nem okozol gondot a rendszeredben, ha csak másolgatod a parancsokat.

Telepítés

Az Arch Linux telepítésénél három utat választhatsz.

Terminálos, szkriptes telepítés. Ez a hagyományos megoldás, amit javasolnak. Ez nem feltétlen jó mindenkinek, így aki kezdő, középhaladó felhasználó más utat szokott választani. A hagyományos Arch Linux telepítésről szintén sok leírás található, rengeteg jó videót is készítettek. Aki ezt választja megfelelő tudást hamar megszerezheti.
Szubjektív vélemény: nagyon jó, ha egyszer ezt is kipróbálod, de nem a leggyorsabb módszer, és sok hibát elkövethetsz. Hasonlóan jó eredményt érhetsz el a következő megoldással.

Könnyített, grafikus telepítés.

Az Arch Linux telepítése régebben elég nehézkes volt, alap, de talán közép szinten haladónak is problémákat okozott. Ezt felismerték, és készül több olyan „disztribúció” ami grafikus felületű telepítést ad, de nem nyúltak bele az alap rendszerbe, nem vagy csak nagyon minimális kiegészítéseket tesznek. A feltelepített csomagokat igyekeznek minimalizálni, így egy tiszta Arch rendszert kapsz.
A használatuk erősen ajánlott kezdőknek, kik nem azzal szeretnék kezdeni a munkát, hogy leszedik a számukra felesleges programokat. Én kettőt szoktam megemlíteni: MagyArch, Calam Arch. Ezt a kettőt kedvelem, mindegyik nagyon jó, különösebb problémám nincs egyikkel sem.
A MagyArch egy magyar fejlesztés, több ablakkezelőt és XFCE asztali környezetet ad előre konfiguráltan. Illetve a legtöbb asztali környezet (kde, gnome, mate stb) alaptelesítésére is lehetőséget ad. Nem telepít fel a hagyományos értelemben vett felhasználói programokat, csak a rendszert rakja fel, a kiválasztott környezettel.
A Calam Arch nem ad előre konfigurált asztali környeztet, illetve ami jelen pillanatban kicsit kellemetlen a paru AUR helpert sem teszi fel. Ha ezek idegen fogalmak, a későbbiekben minden világos lesz.
ArcoLinux-nak is van több olyan telepítő médiája, ami minimális felszereltséggel érkezik, ezek közül is lehet választani. Az ArcoLinux hátrányaként említhető a több, sok esetben felesleges program telepítése. Illetve ami számomra nem megfelelő a saját tárolók használata, amikben azok a programot vannak, melyeket ők átírtak, konfiguráltak. Az ilyen saját tárolós programok egyfajta kötöttséget adnak az adott disztribúció felé.

Arch alapú Linux disztribúciók telepítése.

Az Arch Linuxra a distrowach  oldalon 22 disztribúciót kapunk a keresőben. Ezek közt van nagyon egyszerű, illetve komoly összetett rendszer is. Ezek egy része komoly fejlesztéseket, saját programokat is kínál. Itt már komolyabb összehasonlítást kell tenni a megfelelő kiválasztásához. Bár jellemzően vonzó ezek használata, hiszen készen kapunk mindent, a személyes tapasztalatom szerint jobb ha maradunk a sima Arch Linux rendszernél.
A legtöbb beállítást megtehetjük a sima Arch Linux alatt is, a legtöbb ezekben a disztribúciókban megtalálható programot a hagyományos Arch Linux alatt is elérhetjük. ArcoLinux, Manjaro kipróbálása után ráébredtem: több gondot generálnak, mint ami előnyt adnak. ArcoLinux alatt a hibajavítás (amiket a belenyúlásuk okozott) több esetben lassú, Manjaro (aminél a csomagfrissítések vissza vannak tartva, tesztelésre) alatt bár lassabban jönnek a csomagfrissítések, de komolyabb problémákat okoztak.

Szubjektív:

„bloat” azaz duzzadt, felpüffedt. Sokszor hangzik el egy-egy fórumon ez a beszólás. Akkor használják, amikor olyan rendszerről van van szó, ami a beszóló embernek felesleges programot is tartalmaz. Mi ne tegyünk ilyent. Minden disztribútornak szíve joga az összeállítás, azt tesz bele, amit a célkörnyezetének jónak talál. Ami nekem felesleges, az másnak kellemes program lehet.
Ennél csak az a bosszantóbb, ha olyan bloat-ol, akiről biztosan tudja az embert, hogy egy Arch Linux-ot nem tudna összerakni az alapoktól kezdve. Profinak szeretne tűnni, de csak égeti magát. Nincs „bloat” disztribúció, csak olyan, aminek a célközönsége nem én vagyok.

Bármelyik telepítést választod, a telepítés utáni újraindítást pár alapvető teendő követ.

A telepítés, fordítás gyorsítása Arch Linux alatt

A program telepítés, összeállítás gyorsítása

Az első lépésként elmagyarázzuk a csomagkezelő rendszernek, hogy hány darab szálon szeretnénk a csomagok fordítását elvégezni.
Kis kitérő. Az Arch Linux csomagkezelésének egyik megoldása, amikor a program forráskódját tölti le, majd azt egy megadott parancsfájl szerint lefordítja, elkészíti, majd a kész csomagot telepíti. Ezt jellemzően az AUR csomagoknál láthatjuk. A fordítási művelet nagyobb forráskódnál időigényes, ideális lenne a rendelkezésre álló összes CPU szálat kihasználni.
Ezt a /etc/makepkg.conf fájlban tudjuk megtenni.

Ezt egy grafikus, vagy éppen parancssoros szövegszerkesztővel megnyitjuk. Ilyen lehet a

nano /etc/makepkg.conf

majd megkeressük ezt a sort: MAKEFLAGS=”-j13″
és beírjuk a magok száma plusz egy értéket a j betű mögé. Ahogy látjátok, nekem 13 van beírva, ami azt jelzi, egy 12 szálas processzorral üzemel ez a gép.

Gyakorlatilag így tizedére csökkent nálam a programok fordításának az ideje. Ez nem minden esetben gyorsít, hiszen vannak kész, előre lefordított csomagok is. Ezek a jellemzőbbek.

Ha már a megfelelő érték van, akkor nincs teendőd. Több disztribúció figyel erre is, és telepítéskor lekérdezi a magok számát és beállítja ezt az értéket.

Pár egyéb megoldást is szoktak javasolni

Cseréljük le a CFLAGS és CXXFLAGS értékeket -march=x86-64 -mtune=generic bejegyzésről -march=native bejegyzésre.

Használjunk kevésbé erős tömörítést: COMPRESSXZ=(xz -c -z -2 -T0 -)

A -2 egy jobb megoldás, mint az alapértelmezett -6, a -0 pedig gyorsabb. Így a 0 és a -6 közt skálázhatod. Bár a kisebb tömörítési ráta nagyobb fájlt ad, de számunkra ez most másodlagos. Az egyik legunalmasabb feladat a programok fordítási idejét kivárni. A felesleges, már nem kellő csomagfájlokat amúgy is eltávolítjuk egy később megbeszélt módszerrel.
Ha a tömörítési rátát levettük, akkor már csak a tömörítő programnak kell megmondani, hogy használja ki a többmagos rendszert, maximálisan.

COMPRESSXZ=(xz -c -z -2 – –threads=12)

Ahol a 12 helyére a saját gépeden elérhető maximális szálak számát kell beírni.

Így már közel ideális lesz a program telepítési idő.

Ha ezzel készen vagyunk, akkor a többszálas letöltést engedélyezzük a rendszernek.

Többszálas letöltés engedélyezése a pacman részére

Bár még az Arch Linux csomagkezelésről nem volt szó, de előredolgozva beállítjuk a pacman program egyes jellemzőit. Itt is igaz lehet, hogy a disztribútorod ezt is beállíthatta előre.
Az egyik legfontosabb alap beállítás a letöltési szálak meghatározása.
A pacman csomagkezelő párhuzamos letöltési támogatását az alábbi lépések követésével lehet engedélyezni. Nyisd meg a /etc/pacman.conf fájlt a kívánt szerkesztőben

nano /etc/pacman.conf

Keresd meg a következő sort, és: ParallelDownloads = 5. A számon lehet emelni, ez adja meg a párhuzamos szálakat, de nagyon nagyra nem érdemes venni. Így a csomagok letöltése több szálon, gyorsabban történik.

Friss és gyors Arch Linux tükör

A többszálas és gyors letöltésnél fontos a gyors és friss állapotú szemközti gép is, ami az adatokat küldi. Ezeket vagy Arch Linux repo-knak, vagy tükröknek nevezzük, és itt tárolódnak a programok csomagjai. Ezek nem mindig egyforma sebességűek, így érdemes azokat használni, melyek gyorsan küldik a csomagokat. Ennek a beállítására többféle megoldás is létezik, én egy egyszerűbbet mutatok, amivel nem kell sokat dolgozni. Legelőször telepíteni kell a

pacman -S reflector rsync curl

paranccsal a kellő programokat azután ki kell adni a

reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

parancsot. A reflector nagyon sokféle beállítással paraméterezhető, így ha valami speciálisabbat akarsz, akkor olvasd el a man(uál)t.

Alapbeállítások TLDR

## Program fordítási, csomagkészítési gyorsítása
nano /etc/makepkg.conf

# xx CPU szálak száma plusz egy
MAKEFLAGS="-jxx"

# xx CPU szálak száma
COMPRESSXZ=(xz -c -z -2 - --threads=xx)

# Compiler and Linker Flags
CFLAGS="-march=nativ

## Párhuzamos letöltéshez
nano /etc/pacman.conf
ParallelDownloads = 5

## Repo lista frissítések
reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

Bár Arch Linux telepítés után az azonnali frissítést javasolják, ezeket érdemes megtenni. Így már az első frissítés és azt követő program telepítések gyorsabban lefutnak.