frunze galben - Articolul - initramfs de optimizare în debian

Debian Linux este una dintre cele mai populare distribuții Linux de astăzi, care în afară de „părinte“ a unui număr de alte distribuții Linux, cum ar fi Ubuntu, Linux Mint, și așa mai departe. Debian a câștigat popularitate, datorită ușurința de utilizare.

Cu toate acestea, acest lucru prietenos și au o serie de dezavantaje: o încercare de a „mulțumi pe toți“, a însemnat că nu toate elementele sistemului cu configurația implicită funcționează optim. De exemplu, initramfs imagine durează aproape zece megabytes de spațiu pe disc și conține aproape toate modulele disponibile, care, desigur, într-o anumită sarcină este inutilă.

Următoarea va încerca să demontați mai multe detalii o metodă de generare a unui initramfs Debian și pentru a arăta modul în care aceasta poate fi optimizat.

Deci, ce este initramfs? Conform Wikipedia, este „un sistem de fișiere temporar utilizat de kernel la boot.“ Pur și simplu pune sarcinile bootloader în memorie kernel-ul și imaginea initramfs, iar portbagajul sistemului inițial se datorează acestei imagini. Prin urmare, mai mici excesul în acest mod - cu atat mai repede sistemul va porni și cu atât mai puțin va fi nevoie de memorie inițial.

Înainte de a continua, trebuie să fac două precizări. În primul rând, toate instrucțiunile descrise aici sunt valabile nu numai pentru Debian, dar pentru majoritatea „descendenți“ sale. În al doilea rând, da, desigur, dacă recompilați mâinile kernel este posibil să renunțați la initramfs, dar nu toate și nu doresc întotdeauna de fiecare dată când actualizați din nou recompilarea kernelului. Prin urmare, este mai bine doar pentru a optimiza initramfs înseamnă distribuirea regulată.

imagine initramfs este creat utilitar-actualizare initramfs. Observați modul în care se creează imaginea pentru kernel-ul curent cu setările implicite, puteți începe crearea imaginii echipei:

Se poate observa că primele programe de completare, și apoi instrumentele de bază minim necesare și apoi executați „cârlige“ (cârlige) - module de update-initramfs, care adaugă la imaginea de o varietate de funcții suplimentare. De exemplu, cârlig dmsetup adăuga suport pentru dispozitiv Mapper funcționalitate și cârlig fuse_utils - suport pentru sistemele de fișiere care sunt disponibile prin intermediul siguranței.

Trebuie remarcat faptul că, în cazul în imaginea initramfs nu este un fel de modul acesta va fi descărcat mai târziu, de pe hard disk (principalul lucru pe care un set de module din imagine permite kernel-ul pentru a ajunge la această unitate hard disk).

setările de bază-actualizare initramfs sunt localizate în directorul / etc / initramfs-tools. Să începem cu o listă de module încărcate. Pentru a încărca nevoie pentru a schimba valoarea parametrului în modulele initramfs.conf fișier:

În continuare avem nevoie pentru a crea o listă de module necesare. Cea mai simplă soluție de aici - trebuie doar să ia o listă de module deja încărcate și să-l utilizați. Lista modulelor stocate în fișierul de module. Creați-l prin obtinerea unei liste de module încărcate de lspci:

Apoi recrea imaginea initramfs, după îndepărtarea vechi:

Vizitatorii pot compara dimensiunea fișierului /boot/initrd.img-* înainte și după această comandă, ca să spunem așa, „se simt diferenta“.

Cu module, în general, atunci clar. Ne întoarcem la Hukam. cârligele de sistem sunt stocate în directorul / usr / share / initramfs-tools / cârlige, utilizatorul (sau mai degrabă administratorul de sistem) poate defini cîrlige în directorul / etc / initramfs-tools / cârlige (implicit este gol).

Din păcate, în generarea de imagine initramfs nu poate specifica o listă de cârlige pentru a fi omise. Prin urmare, singura modalitate de a elimina excesul de initramfs este de a elimina un pachet ce conține cârligul dorit. Ei bine, sau îndepărtarea fișierului cârlig (dar țineți cont de faptul că, în acest caz, acesta va fi recreat atunci când modernizarea sistemului).

Carlige care fac parte initramfs-tools și udev este mai bine să nu se atingă. Cu restul aveți nevoie pentru a înțelege situația. De exemplu, în cazul în care serverul este puțin probabil că există sisteme de fișiere folosite montate prin siguranța și, prin urmare, cârlige fuse_utils Și ntfs_3g clar redundante. Initramfs să le elibereze, după cum urmează:

Dacă este o stație de lucru care acceptă de multe ori unitate Mapper este inutilă. După cum sa menționat mai sus - este responsabil pentru cârlig dmsetup, care face parte din pachetul de același nume. În acest caz, eliminați utilizând următoarea comandă:

O atenție specială trebuie acordată unui mod clar de reconstrucție, după efectuarea modificărilor la configurația sa, pentru că după instalarea / ștergerea pachetelor, schimbarea configurației dpkg în sine este update-initramfs pentru a actualiza imaginea. Faptul este că dpkg se execută comanda de actualizare initramfs:

Aici opțiunea „-k“ se referă la nucleul ( „toate“ - înseamnă toate miezurile disponibile pe sistem), iar „-u“ - indică necesitatea de a actualiza (dar nu re-crea de la zero!) Initramfs imagine.

Când actualizați imaginea poate rămâne unele gunoi dorit, asa ca este mai bine pentru a colecta imaginea de la zero, care se face cu ajutorul:

Adică, în loc de „-u“ indică tasta „-c“, subliniind necesitatea de a re-crea o imagine de la zero. Pentru claritate, în același mod în care se poate specifica tasta „-v“ - în acest caz, în cursul creării imaginii va fi prezentat informații cu privire la toate acțiunile întreprinse.

În cele din urmă, în cazul în care abordarea atent la cea descrisă mai sus - poate reduce dimensiunea imaginii comprimat este de două până la patru ori, care se va încărca mai repede pentru câteva zeci de secunde.