**Linux From Scratch** (LFS, հայ․ *Լինուքսը զրոյից*), տեղակայման տարատեսակներից մեկն է։ Դա մի գիրք է, որի հեղինակներից մեկը Ջերարդ Բիքմանսն է։ Այդ գրքում նկարագրված է, թե ինչպես սկզբնական կոդից ստեղծել Linux-ը։ Linux From Scratch կայքում այս գիրքն անվճար հասանելի է օգտագործման համար և նրա ընթացիկ տարբերակը 6.6-ն է։

**Beyond Linux From Scratch (BLFS)** գիրքը նկարագրում է քայլերի հաջորդականություն LFS-ով ստեղծված Linux-ը զարգացնելու համար, ինչը թույլ է տալիս LFS-ին մնալ չափերով փոքր և կենտրոնացված։ Այն ընթերցողին ներկայացնում և ուղղորդում է համակարգի լրացումներով, ներառյալ ցանցերը, X-ը, ձայնը, տպիչը և սկաները։ Սկսած 5.0 տարբերակից, BLFS և LFS գրքերի տարբերակները համընկնում են։

Ի լրումն LFS և BLFS գրքերի, **Cross Linux From Scratch-ը (CLFS)** նկարագրում է միջկոմպիլյացիան, իսկ Hardened Linux From Scratch-ն օգտագործելով grsecurity-ն, կենտրոնացված է անվտանգության բարելավումների շուրջ, ինչպես օրինակ՝ Buffer overflow protection-ը, PaX-ը և Address space layout randomization-ը։ Cross Linux From Scratch-ն ապահովում է անհրաժեշտ հրահանգներ միայն հրամանային տողով բազային Linux-ի դիստրիբյուտիվ ստեղծելու համար։ Մինչ LFS-ը սահմանափակված է միայն x86 ճարտարապետությունով, CLFS-ն ապահովում է ավելի շատ տեսակի պրոցեսորներ։ CLFS-ում ներառված են միջկոմպիլացված գործիքների բազմությունը, բազմագրադարանային ապահովումը (32 և 64 բիթային գրադարաններ), և այլընտրանքային ճարտարապետությունները (x86-64, Itanium, SPARC, MIPS, and Alpha), որոնք բացակայում են LFS-ում։ Hardened Linux From Scratch–ի գլխավոր նպատակն է ստեղծել Linux From Scratch բնօրինակի ավելի ապահով տարբերակ՝ ներառելով ներդրված համակարգերը։

**Linux From Scratch**-ը մի միջոց է, որը թույլ է տալիս տեղակայել աշխատող Linux համակարգը, ոչ ավտոմատ կերպով կառուցելով նրա բոլոր բաղադրիչները։ Սա իրականում ավելի երկար պրոցես է քան նախակոմպիլյացված Linux դիստրիբյուտիվի տեղակայումը։ Համաձայն **Linux From Scratch** կայքի, այս մեթոդի առավելություններն են՝ սեղմ, ճկուն և ապահով համակարգը, ինչպես նաև Linux օպերացիոն համակարգի ներքին աշխատանքների գերազանց ընկալունակությունը։

Պահանջները և ընթացակարգը
------------------------

LFS կառուցելու համար անհրաժեշտ են կոշտ սկավառակի ազատ բաժին և աշխատող Linux համակարգ՝ կոմպիլյատորով և մի քանի հիմնական ծրագրային գրադարաններով։ Գոյություն ունեցող Linux համակարգ տեղակայելու փոխարեն, կարելի է օգտագործել Live CD (օր․ Linux From Scratch Live CD)։ LFS Live CD-ն պարունակում է բոլոր ծրագրային փաթեթները (միայն Live CD-ի ամբողջական տարբերակում), LFS գիրքը, ավտոմատ կոմպիլյացվող ծրագրային գործիքները և (բացի մինիմալ Live CD տարբերակից) Xfce ԳԻ (գրաֆիկական ինտերֆեյս GUI) միջավայր՝ նրանում աշխատելու համար։

LFS-ը կոմպիլյացնելու համար սկզբում պետք է կոմպիլյացնել հետևյալ գործիքները՝ GCC, glibc, binutils և այլն։ Այնուհետև արմատային դիրեկտորիան պետք է փոխվի գործիքների սկավառակի բաժնի վրա (օգտագործելով chroot-ը), ինչը թույլ կտա սկսել վերջնական համակարգի կազմավորումը։ Առաջին կոմպիլյացվող փաթեթներից է glibc-ը, որը կոմպիլյացնելուց հետո գործիքների բազմության linker-ը պետք է ուղղել նոր glibc-ի վրա, այնպես, որ մնացած բոլոր փաթեթները, որոնք կազմում են ավարտուն համակարգ, նույնպես հնարավոր լինի հղել դրա վրա։ Արմատական դիրեկտորիան փոխելու chroot փուլում bash-ի hashing հատկությունը անջատվում է և գործիքների bin ժամանակավոր դիրեկտորիան տեղափոխվում է PATH-ի վերջնամաս։ Այս ձևով կոմպիլյացված ծրագրերը տեղափոխվում են PATH-ի սկիզբ և նոր համակարգը կոմպիլյացվում է իր նոր սեփական բաղադրիչներով։

Արտաքին հղումներ
----------------

* Պաշտոնական կայք (անգլ.)
* Beyond Linux From Scratch (անգլ.)

1. 1 2