منطقِ بسته ها در این کتاب
همونطور که قبلاً گفتیم، هدف LFS ساخت یه سیستم پایه قابل استفاده و کامله و این شامل تمام بسته های مورد نیاز برای باز تولید خودش میشه به طوریکه در عین حال یه پایه ی نسباتا ابتدایی برای ساختن یه سیستم کامل تر بر اساس تصمیمات کاربر فراهم کنه.
این به این معنی نیست که LFS کوچیک ترین سیستمیه که میشه ساخت. بسیاری از بسته های مهمی که آورده شده واقعاً نیاز نیستند. لیست پایین، کارایی و دلیل استفاده از هر بسته رو نشون میده.
Acl
این بسته شامل ابزارهاییه که برای مدیریت لیست های دسترسی(Access Control Lists) -که برای تعریف کردن دسترسی های ریزتر برای فایلها و پوشه هاست- بکار میره.
Attr
این بسته شامل برنامههایی برای مدیریت ویژگیهای فایلهای سیستمیه
Autoconf
این بسته شامل برنامه هاییه که میتونن اسکریپت های شِلی تولید کنن که به صورت خودکار تنظیمات کدمنبع رو بر اساس قالب توسعهدهنده انجام بده. معمولاً زمانی استفاده میشه که بخواین بسته ای رو بعد از آپدیت، دوباره بسازین.
Automake
این بسته شامل برنامه هاییه که میتونن فایلهای Make رو بر اساس یک قالب تولید کنن. این بسته معمولاً زمانی استفاده میشه که بخواین بسته ای رو بعد از آپدیت، دوباره بسازین.
Bash
این بسته یکی از الزامات هسته ی LSB هست که یک رابط Bourn Shell برای سیستم میسازه. این بسته به این دلیل از بین بقیه ی بسته های shell انتخاب شده که متداوله و قابلیتهای زیادی رو – با توجه به کارکرد ساده ی شل- ارائه میده.
Bc
این بسته یک زبان برای پردازش اعداد با دقت دلخواه ارائه میده. این بسته برای ساخت کرنل لینوکس لازمه.
Binutils
این بسته شامل یک پیوند دهنده(linker)، یک سرهم کننده(assembler) و ابزار های دیگه ایه که برای رسیدگی به فایلها استفاده میشه. برنامههای درون این بسته برای کامپایل کردن بیشترِ بسته های LFS و غیره نیازه.
Bison
این بسته شامل ورژن گنوییِ yacc (همونYet Another Compiler Compiler) هست که برای ساخت بسیاری از برنامههای LFS کاربرد داره.
Bzip2
این بسته شامل برنامه هاییه که برای فشرده کردن و یا خارج کردن از حالتِ فشرده فایلها کاربرد دارن. این بسته برای بسیاری از بسته های LFS ای از حالت فشرده نیاز میشه.
Check
این بسته ایه که بررسی خطاها رو برای بقیه برنامهها انجام میده و فقط توی toolchain موقت نصب میشه.
Coreutils
این بسته شامل تعدادی از برنامههای ضروری برای مشاهده و دستکاری فایلها و پوشه هاست. این برنامهها برای مدیریت فایلها تحت خط فرمان و نصب همه ی بسته های LFS ای نیاز میشن.
DejaGNU
این بسته یه framework داره که برای تست کردن بقیه ی برنامهها استفاده میشه و توی toolchain موقت نصب میشه.
Diffutils
این بسته شامل برنامه هاییه که تفاوتهای بین فایلها و یا پوشه هارو نشون میده. این برنامهها میتونن برای ساخت وصله ها استفاده بشن. همچنین برای ساخت بسیاری از پکیج ها هم مورد استفاده قرار میگیرن.
E2fsprogs
این بسته شامل ابزارهایی برای رسیدگی به فایلهای سیستمی از نوع ext2 ، ext3 و ext4 هست. این فایلهای سیستمی متداول ترین و قابل اطمینان ترین نوع فایلهای سیستمی ای هستن که لینوکس پشتیبانی میکنه.
Eudev
این بسته یک مدیریت کننده دستگاه (device manager) هست. این بسته به صورت پویا ورودی های موجود در پوشه ی dev/ رو به صورت دستگاههای اضافه و یا حذف شده کنترل میکنه.
Expat
این بسته شامل کتابخونه های نسبتاً کوچیکی برای تجزیه ی XML داره که یکی از ملزومات ماژول XML::Parser پِرل(Perl) هست.
Expect
این بسته شامل برنامههاییه که ارتباط میان برنامههای تعاملی رو برقرار میکنه. بیشتر برای تست کردن بسته های دیگه استفاده میشه و فقط روی toolchain موقت نصب میشه.
File
این بسته شامل ابزار هایی برای فهمیدن نوع فایل هاست و اندکی از بسته ها برای ساخته شدن بهش نیاز دارن.
Findutils
این بسته شامل برنامه هاییه که برای جستجوی فایلها در فایلهای سیستمی استفاده میشن و توی بسیاری از اسکریپت های سازنده بسته های دیگه کاربرد داره.
Flex
این بسته شامل ابزارهاییه که برای تولید برنامههای یابنده الگو در متن استفاده میشن. این بسته، نسخه ی گنوئیِ lex هست و برای ساخت بسیاری از بسته های LFS لازمه.
Gawk
این بسته برنامههایی داره که برای دستکاری فایلهای متنی بکار میان. این بسته، ورژن گنوئی awk هست و برای تولید بسیاری از بسته های دیگه نیازه.
Gcc
این بسته، مجموعه ی کامپایلر های گنوعه. این بسته شامل کامپایلر های C و ++C هست که مثل بسیاری از کامپایلر های دیگه، توسط LFS ساخته نمیشن.
GDBM
این بسته شامل کتاب خونه های مدیریتِ دیتابیسِ گنوعه و توسط یکی دیگه از بسته های LFS ای به اسم Man-DB استفاده میشه.
Gettext
این بسته ابزاراها و کتابخونه هایی داره که برای جهانی سازی(internationalization) و محلی سازی (localization) بسته های دیگه استفاده میشن.
Glibc
این بسته شامل کتاب خونه های اصلیِ C هست و برنامههای لینوکس بدون این بسته اجرا نمیشن.
GMP
این بسته کتابخونه های ریاضیاتی ای داره که توابع مفیدی برای محاسبه های با دقت دلخواه ارائه میدن. این بسته برای ساخت Gcc نیازه.
Gperf
این بسته برنامههایی داره که توابع باحالی برای ساخت یک هَش از یک کلید دارن و برای بسته یEudev ضروری ان
Grep
این بسته شامل برنامههاییه که برای جستجو بین فایلها بدرد میخورن و این برنامهها توسط اغلب اسکریپت های سازنده استفاده میشن.
Groff
این بسته شامل برنامههایی برای پردازش و فرمت دهی متن هاست. یکی از مهمترین وظایف این برنامهها قالب سازی صفحه های راهنما(man pages)--- هست.
GRUB
این بسته(Grand Unified Boot Loader) یکی از چندین بوت لودر قابل استفاده ست که بین بقیه ی بوت لودر ها، منعطف ترینه.
Gzip
این بسته شامل برنامههاییه که برای فشردهسازی و خارج کردن فایلها از حالت فشرده کاربرد دارن. این بسته برای خارج کردن بسیاری از بسته ها از حالت فشرده نیاز میشه.
lana-etc
این بسته دادههایی برای سرویس ها و پروتکل ها ارائه میده و برای انجام درستِ کار های شبکه ای، نیازه.
Inetutils
این بسته شامل برنامههای ابتدایی ای برای مدیریت شبکه ست.
Intltool
این بسته ابزار هایی داره که برای استخراج رشتههای قابل ترجمه از فایلهای منبع استفاده میشن.
IProute2
این بسته هم برنامههایی برای انجام کار های شبکه ایِ ساده و یا پیچیده ی آیپی نسخه ۴ و ۶ داره. این بسته از بین بسته های شبکه ایِ رایج دیگه (مثل net-tools) برای به دلیل امکاناتی که برای آیپی نسخه ۶ میداد انتخاب شد.
Kbd
این بسته شامل فایلهای جداول-کلیدی(key-table) هست. ابزار های مربوط به کیبورد های غیر انگلیسی، و فونتهای کنسول ها از این قبیل هستن.
Kmod
این بسته برنامههایی داره که برای مدیریت ماژول های کرنل نیاز میشن.
Less
این بسته یه نمایش دهنده ی باحال برای فایلهای متنیه که به شما امکان میده توی متن بالا و پایین برین. همچنین این بسته برای مشاهده ی صفحه های راهنمای داخل Man-DB استفاده میشه.
Libcap
این بسته رابط های فضاییِ(user-space) کاربر رو برای قابلیت----- POSIX 1003.1e موجود در کرنل پیادهسازی میکنه.
Libelf
پروژه ی elfutils کتابخونه ها و ابزار هایی برای فایلهای ELF و دادههای از نوع DWARF ارائه میده. بسیاری از ابزار های این بسته در داخل بسته های دیگه موجود هستن اما کتابخونه های این بسته برای ساخت کرنلِ لینوکس با استفاده از تنظیمات پیشفرض لازمه.
Libffi
این بسته یک رابط قابل حمل و سطح بالای برنامه نویسی برای فراخوانی قرارداد های مختلف ارائه میده. یه سری برنامهها در زمان کامپایل ممکنه ندونن که چه آرگومان هایی رو باید به یک تابع بدن. به عنوان مثال، ممکنه به یک مفسر در زمان اجرا درباره ی نوع و تعداد آرگومان های مربوط به فراخوانی یک تابع گفته بشه. Libffi توی همچین مواقعی استفاده میشه و یک پل بین برنامه ی مفسر و کد کامپایل شده ایجاد میکنه.
Libpipeline
این بسته شامل کتاب خونه هایی برای دستکاری راحتتر و منعطف ترِ pipeline های زیرپروسه هاست(subprocesses). این بسته برای بسته ی Man-DB لازمه.
Libtool
این بسته شامل کتابخونه های عمومیِ اسکریپت های پشتیبان گنوئه. ××××××××. این بسته برای مجموعه آزمون های بسته های دیگه ی LFS لازم میشه.
Linux Kernel
این بسته، سیستم عامله. این همون «لینوکس» توی محیط گنو/لینوکس هست.
M4
این بسته برای پردازش ماکروهاست و به عنوان ابزاری برای ساخت برنامههای دیگه مورد استفاده قرار میگیره.
Make
این بسته شامل برنامههایی برای ساخت بسته هاست و تقریباً همه ی بسته های موجود در LFS نیازمند بسته ی Make هستن.
Man-DB
این بسته برای پیدا کردن و مشاهده ی صفحه های راهنماست. این بسته به دلیل ویژگیهای خفن محلی سازیش، به جای بسته ی man انتخاب شد. خودِ این بسته برنامه ی man رو ارائه میده.
Meson
این بسته یه ابزار نرم افزاری برای اتوماتیک کردن فرآیند ساخت نرمافزار هاست. هدف اصلی Meson اینه که زمانی که توسعهدهنده ها برای تنظیم سیستم ساختشون استفاده میکنن کم بشه.
MPC
این بسته دارای توابعی برای کار با اعدادِ مختلط هست و Gcc بهش نیاز داره.
MPFR
این بسته شامل توابعی برای محاسبات با دقت چندگانه ست و Gcc بهش نیاز داره.
Ninja
این بسته یه سیستمِ ساخت کوچیکه که تمرکزش بر روی سرعته. نینجا طراحیش اینجوریه که ورودی هارو به صورت فایلهایی که توسط یک سیستمِ ساختِ سطح بالاتر ایجاد شدن رو بگیره و فرآیند ساخت رو با بالاترین سرعت ممکن انجام بده.
Ncurses
این بسته کتابخونه هایی مستقل از ترمینال داره که برای مدیریت نمایش حروف روی صفحه استفاده میشن. معمولاً برای اشاره گرهاش توی سیستمهایی که مِنو ارائه میدن کاربرد داره و توسط تعدادی از بسته های LFS استفاده میشه.
Openssl
این بسته ابزارهای مدیریتی و کتابخونه های مربوط به کارای رمزنگاری رو داره که توابع مربوط به رمزنگاری ها رو در اختیار بسته های دیگه، مثل کرنل لینوکس، قرار میده.
Patch
این بسته شامل برنامههایی برای اصلاح و یا ساخت فایلها با بکار بردن وصله هایی که معمولاً توسط برنامه یdiff ساخته شدن میشه. این بسته در فرآیند ساخت بسیاری از بسته های LFS ای نیازه.
Perl
این بسته یه مفسر برای زبان پِرل هست و برای نصب و بررسی بسیاری از بسته های LFS ای نیاز میشه.
Pkg-config
این بسته برنامههایی داره که اطلاعاتی درباره ی کتابخونه ها و یا بسته های نصب شده به ما میدن.
Procps-NG
این بسته برای مانیتور کردن پروسه هاست. برنامههای درون این بسته برای مدیریت سیستم خیلی مفیدن و همچنین توسط اسکریپت های بوت توی LFS مورد استفاده قرار میگیرن.
Psmisc
این بسته شامل برنامه هاییه که برای نمایش اطلاعاتِ پروسه های درحال اجرا استفاده میشن و برای مدیریت سیستم خیلی مفیدن.
Python3
این بسته یه زبانِ برنامه نویسیِ مفسری ارائه میده که فلسفه ی طراحیش افزایش خوانایی کد هاست.
Readlin
این بسته مجموعهای از کتابخونه هارو داره که ویژگیهایی مثل ویرایش کردن و تاریخچه ی دستورات رو به خط فرمان اضافه میکنه. این بسته توسط Bash استفاده میشه.
Sed
این بسته این امکان رو میده که بتونیم یک متن رو بدون اینکه توی یه ویرایشگر بازش کنیم، ویرایش کنیم. اغلب اسکریپت های تنظیم کننده در بسته های LFS ای از این بسته استفاده میکنن.
Shadow
این بسته شامل برنامه هاییه که برای مدیریت امنِ گذرواژه ها استفاده میشن.
Sysklogd
این بسته شامل برنامههایی برای ضبط پیامهایی هست که سیستم میفرسته(مثل همون پیامهایی که کرنل و یا پروسه ی دیمن در زمان وقوع یه اتفاق غیر عادی میفرستن).
Sysvinit
این بسته، برنامه ی آغازگر(init) رو در خودش داره. برنامه ی آغازگر، والد همه ی پروسه های یک سیستم لینوکسیه.
Tar
این بسته امکاناتی مثل آرشیو سازی و یا استخراج بسته های مورد استفاده در LFS رو به ما میده.
Tcl
این بسته (Tool Command Language) توی بسیاری از آزمون بسته ها مورد استفاده قرار میگیره و فقط توی toolchain موقت نصب میشه.
Textinfo
این بسته برای خوندن، نوشتن و تبدیل کردن صفحه های اطلاعاتی ئه. این بسته توی فرآیند نصب بسیاری از بسته های LFS استفاده میشه.
Util-linux
این بسته شامل ابزار های متفرقه ست. ابزارایی برای مدیریت فایلهای سیستمی، کنسول ها، پارتیشن ها و پیام ها.
Vim
این بسته، یه ویرایشگره. این بسته به دلیل سازگاریش با ویرایشگر کلاسیک vi و قابلیتهای خفنِ بسیارش انتخاب شد. ویرایشگر یه چیز کاملاً شخصی برای کاربر محسوب میشه و هرکسی میتونه از ویرایشگر مورد نظر خودش بجای vim استفاده کنه.
XML::Parse
این بسته یه ماژول پرله که به عنوان یه رابط برای Expat استفاده میشه.
XZ Utils
این بسته شامل برنامههاییه که برای فشردهسازی و یا خارج کردن فایلها از حالت فشرده استفاده میشن. این بسته بیشتر برای خارج کردن فایلهایی با فرمت XZ و یا LZMA از حالت فشرده استفاده میشه.
Zlib
این بسته هم شامل روشهایی براش فشردهسازی و یا خارج کردن فایلها از حالت فشرده ست که توسط بعضی از برنامهها استفاده میشه.
Last updated