Linuxi installijärgne skript: kuidas oma süsteemi pärast vormindamist automatiseerida

  • Hea Bashi installijärgne skript võimaldab teil pärast Linuxi uuesti installimist automatiseerida värskendusi, programmide installimist ja võtmeseadeid.
  • Iga distributsioonide perekond vajab spetsiifilisi uuendamis- ja installimiskäsklusi, seega on soovitatav iga distributsiooni jaoks eraldi skripte hallata.
  • Täiustatud või massiivsete juurutuste jaoks saab kasutada selliseid tööriistu nagu Kickstart, Ansible või isegi Linux From Scratch-tüüpi lähenemisviise.
  • Keerukuse tase võib ulatuda lihtsast korduvkasutatavast install.sh-failist kuni kohandatud Linuxi süsteemi täieliku ehitamiseni.

Linuxi installijärgne skript

Kui iga kord Linuxi uuesti installimine või vormindamine Sa raiskad terve pärastlõuna, et saada süsteem "just selliseks, nagu sulle meeldib" – sa pead selle kohe automatiseerima. Hea installijärgne skript võimaldab sul ühe käsuga... Värskenda oma süsteemi, installi põhiprogrammid ja rakenda turvaseadeid. ja isegi oma töölauakeskkonda ja dotfile'e peenhäälestada ilma käskude kaupa edasi liikumata.

Idee on väga lihtne: valmistage ette üks või mitu korduvkasutatavad Bash-skriptid Salvesta see käivitatavale mitmikkäivitusega USB-mälupulgale, oma konfiguratsioonihoidlasse või välisele kõvakettale ja käivita see kohe pärast distributsiooni installimist. Sellest ajast alates töötab süsteem autopiloodil ja pead jälgima ainult suuremaid vigu. Vaatame, kuidas seda teha erinevates olukordades: alates tüüpilisest värskest Ubuntu installist kuni keerukamate stsenaariumideni mitme distributsiooniga, sealhulgas automatiseeritud installitööriistadega.

Mis on Linuxis installijärgne skript ja milleks seda kasutatakse?

Installijärgne skript pole midagi muud kui käivitatava tekstifaili Bashi käskudega, mis teevad järjestikku kõike, mida teeksite käsitsi kohe pärast Linuxi installimist. Selle asemel, et kirjutada "sudo apt install this", "sudo apt install that", muuta tulemüüri, installida snapse jne, kirjutate selle üks kord ja saate seda nii mitu korda kasutada kui soovite.

Seda tüüpi skript vastutab tavaliselt tüüpilised seadistusülesanded: uuenda distributsiooni, installi põhiprogrammid (brauser, kontoritarkvara, turvatööriistad, multimeedia), aktiveeri ja seadista tulemüür, kohanda graafilise keskkonna käitumist (näiteks GNOME dock) ja soovi korral käivita muid skripte, mis toovad sinu dotfile'id, Vimi konfiguratsioonid, terminali või mis iganes sa igapäevaselt kasutad.

Loo lihtne installijärgne Bash-skript

Alustame kõige otsesemast lähenemisviisist: Bash-skript teie kodus mida saab kopeerida ja kleepida mis tahes uude installi. See on kasulik distributsioonide hüppajatele, neile, kes sageli sama distributsiooni uuesti installivad või kui on vaja reprodutseeritavat skripti teistele süsteemide loomisel.

Kuidas kasutada Ventoyd USB parandamiseks
Seotud artikkel:
Ventoy abil käivitatava mitme käivitusega USB-draivi loomise sammud

Esmalt looge skriptifail, näiteks install.sh:

touch install.sh

Seejärel tee see käivitatavaks, et saaksid selle käivitada ./install.shSiin kasutatakse seda tavaliselt chmod kõigi kasutajate õigustega ja sageli kasutatakse sudo käsku, kui fail asub asukohas, kus on vaja kõrgendatud õigusi:

sudo chmod a+x install.sh

Nüüd redigeeri faili oma eelistatud redaktoriga. Saate kasutada Vim, Nano, Emacs, Gedit, Kate või mis iganes sul kõige käepärasem on. Klassikaline näide Vimi kasutamisest oleks:

sudo vim install.sh

Faili alguses on kaks peaaegu kohustuslikku rida. Esimene näitab, milline interpretaator peaks skripti käivitama („shebang“):

#!/bin/bash

Teist rida kasutatakse tavaliselt selle tähistamiseks. kodeerimineSee on kasulik, kui kavatsete kommentaarides või sõnumites kasutada aktsente, ñ-sid või muid erimärke:

# -*- ENCODING: UTF-8 -*-

Uuenda süsteemi vastavalt jaotusele

Üks esimesi asju, mida igaüks pärast Linuxi installimist teeb, on värskenda paketteSee samm peaks samuti teie skriptis olema, kuid on oluline meeles pidada, et iga distributsioon kasutab erinev paketihaldurTavaliselt on teie skript loodud kindla perekonna jaoks (näiteks Debian/Ubuntu) ja kui te töötate mitme perekonnaga, peaks teil iga juhtumi jaoks olema eraldi skript.

Stiili jaotuste jaoks Debian, Ubuntu ja derivaadidTüüpiline järjekord võib olla järgmine:

sudo apt update && sudo apt -y upgrade

Teistes distributsioonides on asjad teisiti. Näiteks CentOS ja Red Hat "meeldivad" on traditsiooniliselt kasutatud yum:

sudo yum update

See ilmus Fedora uuemates versioonides DNF yumi evolutsioonina, millel on väga sarnane süntaks. Seega Fedora Sa võiksid kasutada:

sudo dnf update

Puhul openSUSEPakettsüsteemi hallatakse tavaliselt koos tõmblukk Ja üldine uuendus tehakse järgmiselt:

sudo zypper update

Maailmas Arch Linux, Manjaro, Antergos, KaOS ja teised Pac-Manil põhinevad, oleks samaväärne:

sudo pacman -Syu

Kui kasutate ka väliseid tööriistu nagu yaourt (tänapäeval asendab seda yay ja teised AUR-i abilised), siis mõnes keskkonnas nägi see välja umbes selline:

yaourt -Syua

Teised teised Gentoo või Slackware Neil on oma uuendushaldurid ja käsud. Sellisel juhul kohandatakse teie skripti teie kasutatavaga (emerge, slapt-get jne), kuid idee on alati sama: hoidke süsteemi andmebaasi ajakohasena niipea kui järelpaigaldus algab.

Programmi installimise korraldamine kategooriate kaupa

Kui süsteem on uuendatud, on aeg installige kogu vajalik tarkvaraSkripti kaootiliseks muutumise vältimiseks on hea mõte paketid loogilistesse rühmadesse jagada ja kommentaarid selged hoida. Tüüpiline ülesehitus võib sisaldada selliseid kategooriaid:

  • kommunaalteenused: süsteemitööriistad, kompressorid, monitorid jne.
  • Internetbrauserid, e-posti kliendid, sõnumside.
  • mängudSteam, Lutris, natiivmängud jne.
  • ALATES / Lauad: graafilised keskkonnad ja pluginad.
  • Multimeedia: video- ja helipleierid, pildiredaktorid.
  • TootlikkusKontoritarkvarapaketid, märkmete tegemise rakendused, ülesannete haldurid.
  • Arengkompilaatorid, IDE-d, silumisvahendid.

Skriptis saate nendele sektsioonidele kommentaare lisada, mis teeb iga ploki leidmise lihtsaks. Näiteks:

# Utilidades
# Desarrollo
# Internet
# Juegos
# DE's y WM's
# Multimedia
# Productividad

Iga kommenteeritud ploki alla lisate oma distributsioonile sobivad installikäsklused. Süsteemil, mis põhineb järgmisel: Arch LinuxSul võiks olla midagi sellist:

sudo pacman -S chromium
sudo pacman -S steam
sudo pacman -S gnome-shell gnome-extra

Eesmärk on, et skripti käivitamisel kõik... rakendused, mida tavaliselt kasutateKui soovite oma valikut igal ajal muuta (programmi lisada või eemaldada), muutke lihtsalt selle kategooria pakettide loendit ja oletegi valmis.

Käivita skript ja järgi parimaid tavasid

Kui olete oma skripti kirjutanud ja salvestanud install.shTerminalist tuleb lihtsalt navigeerida kausta, kus see asub, ja see käivitada. Mugav muster on kombineerida kataloogi muutmine ja selle käivitamine:

cd /ruta/del/script && ./install.sh

Teine väga lihtne võimalus Ubuntu või Debiani kasutajatele on käivita bash otse faili kohta:

bash nombre-script.sh

Kinnituste ootamise vältimiseks kasutavad paljud installikäsklused parameetrit -y (või samaväärne), mis vaikimisi aktsepteerib küsimust „Kas soovite jätkata?“. Nii saab skript teostada algusest lõpuni ilma sekkumisetamis on mugav, kui käivitate selle kohe pärast süsteemi installimist ja jätate selle värskenduste, installimiste ja puhastamise juurde, samal ajal kui teete midagi muud.

Praktiline näide Ubuntu järelinstallimisskriptist

Ubuntu järelinstallimisskript

Tüüpilises stsenaariumis koos Ubuntu 22.04 LTS või uuemMõistlik on luua skript, mis ühendab APT ja Snapi, sest mõned rakendused on saadaval ainult snapidena. Näide töövoog võiks olla järgmine: värskendamine, standardpakettide installimine, süsteemi puhastamine, võtme snapide installimine, tulemüüri aktiveerimine ja töölaua muudatuste rakendamine.

Sellise skripti lihtne skelett võib sisaldada selliseid plokke:

#!/bin/bash

# Uuenda pakettide nimekirja
sudo apt uuendatud

# Installige saadaolevad värskendused küsimata
sudo apt -y uuendamine

# Eemalda paketid, mida enam ei vajata, ja puhasta need
sudo apt -y autoremove
sudo apt autoclean

# Paigaldage tavalisi rakendusi APT kaudu
sudo apt -y install vlc gimp clamav chkrootkit lynis

# Installi tavalisi rakendusi nagu Snaps
sudo snap installib kroomi vapra

# Luba UFW (Linuxi kerneli tulemüür)
sudo ufw lubada

# GNOME doki käitumise kohandamine
gsettings määrab org.gnome.shell.extensions.dash-to-dock klõpsutoiminguks 'minimeeri'

Millegi nii kompaktse kattega värskendused, puhastus, baastarkvara, turvalisus ja väike kasutatavuse muudatusMuidugi saate seda skripti oma maitse järgi laiendada: lisada arendustööriistade installimise, varukoopiate konfiguratsiooni, skripte, mis laadivad teie dot-failid Gitist alla jne.

Kasutage täiustatud tööriistu: Ansible, Chef ja sarnased

Kui töötate mitme masinaga või peate oma keskkonda serverites, sülearvutites ja lauaarvutites kopeerima, saabub punkt, kus lihtne Bash-skript jääb ebapiisavaks. Siin on tööriistad nagu Ansible, peakokk ja ettevõte, mis võimaldavad teil kirjeldada süsteemi soovitud olekut (installitud paketid, konfiguratsioonifailid, aktiivsed teenused) ja rakendada seda reprodutseeritaval viisil.

Mõned kasutajad, kes on väsinud Ubuntus pärast installimist alati sama konfiguratsiooni tegemast, pöörduvad nende konfiguratsioonihaldussüsteemide või eelvalmistatud projektide poole. konkreetne järelpaigaldusReaalse maailma näide on Ubuntu järelinstallimise automatiseerimisele pühendatud hoidla, kus Bashi skriptid on kombineeritud pakettide definitsioonide, teemade, fontide ja muude eelistustega.

Sellegipoolest on paljude lauaarvutite puhul kõige praktilisem lahendus Bash-skript ilma väliste sõltuvustetaeriti kui otsite midagi, mida on lihtne USB-draivile transportida või mida saate äsja installitud masinasse kopeerida ilma täiendavat infrastruktuuri seadistamata.

Automatiseerimine installija enda seest: %post ja Kickstart skriptid

Tüübijaotuste maailmas Red Hat, CentOS, Rocky ja derivaatide kasutamine on väga levinud Kickstart Järelevalveta installide jaoks. Sektsiooni saab määratleda Kickstart-failis. %post mis käivitub automaatselt pärast baassüsteemi installimise lõpetamist.

Idee seisneb selles, et kui sa oled defineerinud võrgusätted Kickstart'is endas, kui sisenete installijärgsesse sektsiooni, on võrk juba töökorras. Seal saate paigutada mis tahes käsu, mida soovite automatiseerida: täiendavate pakettide installimine, sätete muutmine, skriptide allalaadimine, süsteemisõnumite muutmine jne.

Lihtsa näitena võiks muuta Päeva sõnum (MOTD) äsja paigaldatud süsteemist, asetades selle sektsiooni %post midagi samaväärset:

%post
echo "Bienvenido a tu nuevo servidor" > /etc/motd
%end

See lähenemisviis, kus installimisjärgne skript lisatakse installijasse, on väga võimas massiliste juurutuste jaoksKuna kogu protsess on 100% automaatne: installimine algab, partitsioonid ja baaspaketid rakendatakse, installijärgsed skriptid käivitatakse ja süsteem on kasutusvalmis.

Piirangud heterogeensete jaotuste vahel installide replikeerimisel

Kui proovite kasutada ühte üldist järelpaigaldusmehhanismi, et väga erinevad jaotusedSiis peavalud algavadki. Mitte kõik neist ei halda värskendusi, sõltuvusi ja parandusi ühtemoodi ega paku oma repositooriumides samu tarkvaraversioone.

Me peame eristama ühelt poolt skripti, mis ainult loetleb installitavad paketid ja võimaldab distributsiooni sõltuvushalduril lahendada sõltuvusi (näiteks apt-get või tööriistad nagu zypper, dnf, urpmi) ning teisalt süsteemil, mis kavatseb ka hakkama saada turvapaigad, backportid ja uued versioonid programmidest, mida algne jaotus isegi ei paku.

Sellises distributsioonis nagu DebianTuhandete pakettide ja tohutu ökosüsteemiga haldavad installija ja tööriistad nagu apt distributsiooni enda hallatavaid tarkvarasõltuvusi. Teistes distributsioonides, eriti kommertsdistributsioonides, on filosoofia erinev: nad annavad sulle pakettide ja paikade komplekti, mida nad on valinud toetada, ja peale selle sisened valdkonda, kus... Sõltuvuste ja värskenduste lahendamine pole garanteeritud..

Illustreeriv näide: ühes SuSE 8.2 Varem, kui soovisite PostgreSQL-i apt abil uuendada distributsiooni algsest versioonist uuemale versioonile, küsis apt kõigepealt ametlikel CD-del olevat versiooni. Pidi minema YaST-i, valima vastavalt CD-lt installimiseks algse paketi ja alles seejärel aktsepteeris apt oma repositooriumidest lisavärskenduse. Sellised iseärasused raskendavad... üks tööriist, mis töötab igal juhul ilma sekkumiseta.

Kiired meetodid failitüübi tuvastamiseks Windowsis ja Linuxis
Seotud artikkel:
Kuidas installida ja konfigureerida Windowsi alamsüsteemi Linux 2 jaoks (WSL2)

Paljud jaotuskeskuste paigaldajad lisavad juba mehhanismid salvestuspaketi valikud ja neid teistes masinates uuesti kasutada (näiteks salvestades pakettide nimekirja disketile või välisele andmekandjale ja laadides selle uude installi). Sellistel juhtudel arvutab installija sõltuvused uuesti, hoiatab teid puuduva eest, saab probleemi automaatselt lahendada või paluda teil täiendavaid pakette vastu võtta või isegi näitab teile riskantset valikut „jätkata vaatamata võimalikele vastuoludele”.

Kui me lisaks räägime heterogeensed masinafarmidErinevate riist- ja tarkvaraprofiilide korral suureneb keerukus järsult. Selleks, et üldine installimisjärgne replikatsiooniutiliit töötaks hästi erinevates distributsioonides või Sa pakid ja haldad iga distributsiooni kõiki binaarfaile, plaastreid ja sõltuvusi ise.Või vajate distributsioone endid, et pakkuda sellele ühtsele süsteemile ametlikku tuge, mis praeguses ärikeskkonnas on ebatõenäoline.

Installijärgsed skriptid kohandatud keskkondades ja LFS-is

Eelnevalt pakendatud distributsioonide spektri vastasotsas on keskkonnad, kus te ise ehitate. oma Linuxi süsteemi nullist, stiilis Linux From Scratch (LFS). Siin ei ole pärast installimist enam pakettide loend, vaid see muutub väga pikk juhendatud sammude jadatööriistade kompileerimine, partitsioonide loomine, failisüsteemide paigaldamine, tööriistakettide kohandamine, põhiteenuste konfigureerimine jne.

Põhjaliku LFS-i juhendi või didaktilisema lähenemisviisi järgimine aitab sul süsteemi mõista alates madalaimatest kihtidest: kompilaatorid, linkerid, C-teegid, shell, põhilised utiliidid ning lõpuks kernel ja GRUB-iga käivitamine. See protsess võib olla pikk. mitu päeva (3–5, kergesti)See nõuab kannatlikkust ja teatud tasemel Unixi administreerimise oskust, aga vastutasuks annab see sulle... täielik kontroll selle üle, mis installitakse ja kuidas süsteem kokku pannakse.

Reaalses olukorras, kus virtuaalmasina sees hostisüsteemina kasutatakse Debiani VirtualBoxProtsess algab virtuaalmasina loomisega, mille kettamaht on näiteks 30 GB, millele installitakse Debian 10 baasina ja seejärel repositooriumide peenhäälestamisega. /etc/apt/sources.list et pääseda ligi ehituspakettidele (build-essential, linux-headers-amd64jne) ja seejärel installige VBoxLinuxi lisad täielik integratsioon hostiga.

Kui baassüsteemiga on mugav töötada (täisekraan, kompileerimissõltuvused lahendatud), a teine ​​virtuaalne kettaseadeSee teine ​​ketas, samuti fikseeritud suurusega, on koht, kuhu installitakse uus kohandatud Linuxi süsteem. See teine ​​ketas on näiteks Debianist partitsioonitud. /dev/sdb) selliste tööriistadega nagu lahusDefineeritakse msdos-tüüpi partitsioonitabel ning luuakse primaarsed ja loogilised partitsioonid (root, swap, /home) esimese kettaga sarnase skeemi järgi.

Seejärel vormindatakse need partitsioonid sobivate failisüsteemidega ja nende sisu saadakse kätte. UUID selliste kommunaalteenustega nagu blkid ja kirjed lisatakse /etc/fstab hostsüsteemist nende paigaldamiseks sellistesse kohtadesse nagu /mnt/lfs, /mnt/lfs/home ja lubada vahetamaSealt edasi ehitatakse üles põhistruktuur ja kataloogid, näiteks $LFS/sources y $LFS/toolspikk pakettide nimekiri laaditakse alla koos wget faili kasutades wget-list ja luuakse näiteks spetsiaalne kasutaja lfs, koos tema .bash_profile y .bashrc kohandatud kompileerimiskeskkonnaga.

Protsess jätkub a-ga kontrollija (versioonikontrolli skript), mis kontrollib kõigi vajalike tööriistade olemasolu (Bash, Binutils, GCC jne), paljudel juhtudel installides nii põhipaketi kui ka selle arendusvariandi (-dev o -arendadaSamuti luuakse võtmesümboolseid linke, näiteks tehes /bin/sh Suuna see Bashile ja sellised paketid kompileeritakse ükshaaval. binutils, gcc, glibc, tcl, expect, dejagnu, m4, ncurses, bison, bzip2, coreutils, diffutils, file, findutils, gawk, gettext, grep, gzip, make, patch, perl, Python, sed, tar, texinfo, xz ja paljud teised, kahes voorus (ajutine tööriistakett ja lõplik tööriistakett chrooti sees).

Tee on tavaliselt puhastatud silumissümbolid Ruumi kokkuhoiuks eemaldatakse mittevajalikud teegid, elimineeritakse mittevajalikud staatilised teegid, tööriistaketti kohandatakse nii, et kõik uued versioonid kasutaksid äsja installitud teeke, ja keskkonda sisenetakse. chroot ettevalmistamine /dev, /proc, /sys, /run ja luues selliseid sõlmi nagu /dev/console y /dev/null.

Standardne kataloogipuu on ehitatud chrooti (/bin, /sbin, /usr, /var, /etc...), veel mitte eksisteerivate programmide jaoks genereeritakse ajutised sümboolsed lingid ja need initsialiseeritakse / etc / passwd y / etc / group minimaalse root kasutajaga ja logifailid valmistatakse ette /var/log õigete õigustega. Samuti on konfigureeritud järgmine: Kohalik tööriistadega nagu locale-gen või samaväärne, valitakse ajavöönd tzselect ja link luuakse sellest /etc/localtime valitud piirkonda sisse /usr/share/zoneinfo.

Teine kriitiline osa on konfiguratsioon nsswitch.conf nii et nimelahendus ja muud teenused töötaksid võrgus hästi ja ld.so.conf kõrval ldconfig uute dünaamiliste teekide teede registreerimiseks. Seejärel kompileeritakse glibc ja lõplike kompilaatorite abil võtmepaketid uuesti, et tagada kõige korrektne linkimine.

Paralleelselt konfigureeritakse uues süsteemis võrguühendust: luuakse faile. /etc/sysconfig/ifconfig.eth0 (või vastav liidese nimi), defineeritakse IP-aadress, lüüs ja mask ning genereeritakse järgmine: / Etc / resolv.conf sobivate DNS-serveritega ja need on fikseeritud hostname y / Etc / hosts masina infoga.

Skriptid ja alglaadimisfailid on samuti konfigureeritud järgmiselt / etc / inittab, /etc/sysconfig/clock, /etc/sysconfig/console y /etc/sysconfig/rc.sitekus muudetakse selliseid üksikasju nagu vaikimisi käivitustase, süsteemilogide käitlemine, konsooli keel, klaviatuuripaigutus ja teenuse käitumine käivitamisel.

Koorikogemus on kohandatud / etc / profile ja seda tüüpi failid ~ / .bash_profiil y ~ / .bashrc, Plus /etc/inputrc Readline'i teegi jaoks (klaviatuuri otseteede, käskude ajaloo käitumise jms juhtimine). A / etc / kestad kehtivate kestade loendi ja a-ga / etc / fstab kohandatud uutele partitsioonidele (root, home, swap, /boot, kui see on olemas).

Järgmisena on vaja koostada Linuxi tuum: valitud versioon pakitakse lahti (näiteks linux-5.x.y), alustades baaskonfiguratsioonifailist, vaadatakse üle peamised valikud, näiteks CONFIG_DEVTMPFS ja muud udevi ja virtuaalmasina riistvaraga seotud toimingud leiate konfiguratsioonimenüüst (make menuconfig), et muuta vaikimisi hostinime ja arvukalt funktsioone ning lõpuks see kompileeritakse (make, make modules_install) ja tuum ning selle komponendid on installitud /boot.

Viimane samm on tavaliselt installimine ja konfigureerimine GRUB alglaadurina. Käsklused täidetakse GRUB-i kirjutamiseks õige ketta MBR-i, genereerides grub.cfg uue kerneli ja vajadusel ka teiste olemasolevate süsteemide kirjetega. Selles konkreetses kontekstis, kuna hostjaotust Debianit kasutati ainult "tellinguna", eemaldatakse selle virtuaalne ketas lõpuks masinast, nii et algselt oli ketas /dev/sdb juhtub olema / Dev / sda ja uus Linuxi süsteem käivitub automaatselt.

Kui kõik on paigas, luuakse identifitseerimisfailid, näiteks /etc/lsb-release y /etc/os-release uue distributsiooni nimega (näiteks „S4viOS”), a bashrc Meeldiv nii root-kasutajatele kui ka tulevastele kasutajatele ning enne suurt hetke tehakse viimane failisüsteemi lahtiühendamine: virtuaalmasina taaskäivitamine, vastava kirje valimine GRUB-is ja nägemine Kuidas käivitada nullist üles ehitatud Linuxi süsteem esimest korda.

Millal tasub selliste pingutustega tegeleda ja millal piisab lihtsast skriptist?

Kuidas kasutada Ventoyd USB parandamiseks
Seotud artikkel:
Ventoy abil käivitatava mitme käivitusega USB-draivi loomise sammud

Kogu see teekond, alates Lihtne APT või PacMan skript Isegi LFS-süsteemi seadistamine kohandatud kerneli ja GRUB-iga illustreerib selgelt Linuxi võimaluste ulatust järelinstallatsiooni automatiseerimisel.

Igapäevaelus on peaaegu igaühe jaoks kõige praktilisem hoida ühte või mitut installijärgsed skriptid levitamise järgikus uuendad, installid ja peenhäälestad seda, mida alati kasutad; kui töötad paljude masinatega või segakeskkondades, tulevad mängu Ansible või Kickstart koos %post sektsioonidega; ja kui sa tõesti tahad Linuxit seestpoolt väljapoole mõista, annab LFS-tüüpi tee, ehkki pikk, sulle kontrolli taseme, mida ükski kommertsdistributsioon kohe karbist võttes ei paku. Jaga juhendit, et rohkem kasutajaid teemast teada saaks.