Кіріспе

Linux орнату түрі Linux From Scratch (LFS) – Linux орнату түрі және Джерард Бикманс жазған кітаптың атауы, 2021 жылдың мамыр айына дейін негізінен Брюс Даббс басқарады. Кітап оқырмандарға Linux жүйесін бастапқы кодтан қалай құруға болатындығы туралы нұсқаулар береді. Кітап Linux From Scratch сайтынан тегін алуға болады. LFS-ті шағын және нақтылы ету үшін Beyond Linux From Scratch (BLFS) кітабы жасылды, онда LFS-те құрылған негізгі Linux жүйесін одан әрі дамыту туралы нұсқаулар келтірілген. Ол оқырмандарды жүйеге қосылған қосымшалар арқылы таныстырады және бағыттайды, соның ішінде X терезелік жүйесі, жұмыс үстелі орталары (KDE, GNOME, Xfce, LXDE), өнімділік бағдарламалық құралдары, веб-браузерлер, бағдарламалау тілдері мен құралдары, мультимедиалық бағдарламалық құралдары, желілік басқару және жүйелік әкімшілендіру құралдары. 5.0 нұсқасынан бастап BLFS кітабының нұсқасы LFS кітабының нұсқасына сәйкес келеді. Cross Linux From Scratch (CLFS) кітабы Linux-ты іске асыруға болатын, бірақ Linux-ты құрастыру үшін қажетті ресурстары жеткіліксіз бассыз немесе кіріктірілген жүйелер үшін компиляциялауға бағытталған. CLFS көптеген процессорларды қолдайды және LFS кітабында қамтылмаған, мысалы, кросс-құрастыру құралдары тізбегі, көп кітапханалық қолдау (32 және 64 биттік кітапханалар бірге), Itanium, SPARC, MIPS және Alpha сияқты нұсқаулар жиынтығы архитектуралары сияқты кеңейтілген әдістерді қамтиды. Linux from Scratch жобасы, BitBake сияқты, Raspberry Pi және BeagleBone сияқты ARM кіріктірілген жүйелері үшін Linux-ты кросс-компиляциялауды қолдайды. Hardened Linux From Scratch (HLFS) кітабы ядроны нығайтуға арналған түзетулер, міндетті кіруді бақылау саясаты, стекке шабуылдан қорғау және адрес кеңістігінің орналасуын кездейсоқ ету сияқты қауіпсіздікті күшейтуге назар аударады. HLFS-тің басты мақсаты қауіпсіздікке бағытталған операциялық жүйені жасау болса, екінші мақсаты қауіпсіздікті оқыту құралы болу еді. Ол 2011 жылдан бері жаңартылмаған. Automated Linux From Scratch (ALFS) – LFS жүйесін құру процесін автоматтандыруға арналған жоба. Ол LFS және BLFS кітаптарын бірнеше рет оқыған және жұмыс көлемін азайтуды қалайтын пайдаланушыларға арналған. Екінші мақсаты – LFS және BLFS кітаптарының XML көздерінен тікелей нұсқауларды алу және орындау арқылы LFS және BLFS кітаптарын сынау.

Талаптар мен рәсім

LFS құру үшін таза бөлім және компилятор мен бірнеше маңызды бағдарламалық кітапханалары бар жұмыс істейтін Linux жүйесі қажет. Қолданыстағы Linux жүйесінен орнатудың орнына, LFS жүйесін құру үшін Live CD-ді де пайдалануға болады. Бұрын жоба Linux From Scratch Live CD-ді ұстап келген. LFS Live CD-де бастапқы кодтардың барлық пакеттері (тек Live CD-нің толық нұсқасында), LFS кітабы, автоматтандырылған құрастыру құралдары және (минималды Live CD нұсқасын қоспағанда) жұмыс үшін Xfce GUI ортасы бар. Ресми LFS Live CD енді қолдау көрсетілмейді және LFS нұсқасы 7 немесе одан кейінгі нұсқаларын құру үшін қолданылмайды. Алдымен, GCC, glibc, binutils және басқа да қажетті утилитарлар сияқты LFS құрастыруға қолданылатын құралдардан тұратын құралдар тізбегі құрастырылуы керек. Содан кейін түпнұсқалық каталог (chroot арқылы) құралдар тізбегінің бөліміне өзгертіліп, соңғы жүйені құру басталады. Компиляцияланатын алғашқы пакеттердің бірі – glibc; одан кейін құралдар тізбегінің байланыстырғышы жаңадан құрылған glibc-ге байланыстырылуы керек, сонда дайын жүйені құрайтын барлық басқа пакеттер де оған байланыстырылуы мүмкін. Chroot кезеңінде bash-тың хэш функциясы өшіріледі және уақытша құралдар тізбегінің bin каталогы PATH соңына жылжытылады. Осылайша, жаңадан құрастырылған бағдарламалар PATH-та бірінші болып келеді және жаңа жүйе өзінің жаңа компоненттеріне сүйенеді.

Стандартты құрастыру бірлігі

"Стандартты құрастыру бірлігі" ("SBU") – жүйені алғашқы рет іске қосу кезінде қолданылатын термин, ол белгілі бір компьютерде LFS-те алғашқы пакетті құруға қажетті уақытты көрсетеді. Бұл термин LFS жүйесін құрудың ұзаққа созылуы және көптеген пайдаланушылардың бастапқы кодты құрастыруға қанша уақыт кететінін алдын ала білу тілегінен туындады. Linux From Scratch нұсқасы 10.1 бойынша, пайдаланушы құрастыратын алғашқы пакет – GNU binutils. Оны құрастыру кезінде пайдаланушылар қабықша командаларын пайдаланып құрастыру процесін өлшеп, осы уақытты жүйенің "стандартты құрастыру бірлігі" деп атауға ұсынылады. Бұл сан белгілі болғаннан кейін, кейінгі пакеттерді құруға қажетті уақытты бағалау белгілі SBU-ға сәйкес жүргізіледі. Компиляция кезінде құрастырылатын бірнеше пакеттердің құрастыруы binutils-ке қарағанда әлдеқайда ұзаққа созылады, мысалы, GNU C кітапханасы (4,2 SBU) және GNU Compiler Collection (11 SBU). Бұл бірлік шамамен алынған мән ретінде қарастырылуы керек, өйткені пакетті құруға қажетті нақты уақытқа әртүрлі факторлар әсер етеді.

Қабылдау

LWN.net 2004 жылы LFS-ті қарастырды: Linux From Scratch – тамаша жоба. Бұл Linux оқу курстарының барлығында міндетті оқу материалына айналуы керек, және әрбір Linux әуесқойы кем дегенде бір рет оны аяқтауы тиіс. Бұл сондай-ақ бір қызықты қосымша әсер тудырады: дистрибутивтердің почта тізімдері мен форумдарында наразылықтарын білдіруге бейім адамдар, әзірлеушілерге көбірек құрметпен қарауы мүмкін. Дайын дистрибутивті орнату – оңай шаруа. Бірақ 4 дискілік жинақты тұрақты, қауіпсіз және сенімді операциялық жүйемен, сондай-ақ мыңдаған қосымшалармен құрастыру – мүлдем басқа нәрсе. Tux Machines 2005 жылы Linux From Scratch 6.1 туралы мақала жазды: Енді BLFS-ке көшейік. Өкінішке орай, Beyond Linux From Scratch әрқашан бір қадам артта қалуда сезіледі. Менің ойымша, терезе менеджеріне кіре алмайынша, бұл толыққанды орнату емес. Tux Machines сондай-ақ шолудың екінші және үшінші бөлімдерін жариялады.