Linux From Scratch

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 (անգլ.)