نرمافزارهای جدید معمولاً به صورت بستههایی با قالبهای استاندارد توزیع میگردند. چند قالب معروف به همراه چند مثال را در این قسمت شرح میدهیم:
قالب RPM
لغت RPM مخفف RedHat Pakage Manager هست و یکی از قدرتمندترین ابزارهای مدیریت بستهها و نصب و بهروزرسانی و حذف آنها میباشد. این قالب قدرت جستجو در میان بستهها و نیز ردیابی فایلهای هر بسته را به شما میدهد. ساختارهایی نیز برای اطمینان از اعتبار بستههای دریافتی از اینترنت در این قالب پیشبینی شده است. کاربران حرفهای هم میتوانند برنامههای خود را برای نصب به این قالب ساخته و عرضه نمایند. یک بسته RPM از دو قسمت آرشیو فایلها و کدهای مدیریتی تشکیل شده است. خود کدهای مدیریتی نیز شامل کدهای نصب و حذف فایلها، کدهای سازنده راهنمای بسته، وضعیت امنیتی فایلها و نیز توضیحات بسته میشود. از بستههای RPM برای ارائه دو نوع مختلف اطلاعات استفاده میشود : بستههای دودوئی که مانند یک کپسول نرمافزار را داخل یک فایل نگه میدارد و بستههای متن برنامه که حاوی متن(سورس) برنامه جهت کمپایل و نصب هستند. خیلی از توزیعهای غیر RedHat هم RPM را پشتیبانی میکنند؛ SuSe و Mandrake از آن جملهاند. برای اطلاع از اینکه آیا توزیع لینوکس شما هم این پشتیبانی را دارد و یا نه میتوانید راهنمای man rpm را در سیستم خود مطالعه کنید. خیلی از بستهها به سادگی با اجرا فرمان بهروزرسانی بسته نصب میشوند؛ حتی اگر بسته از قبل بر روی سیستم شما نصب نشده باشد. چرا که بسته RPM حاوی ویرایش کامل فایلهای برنامه هست و فایلهایی که از قبل بر روی سیستم شما موجود هست را بازنویسی میکند و فایلهای جدید را نیز کپی میکند. در محیط گرافیکی لینوکس معمولاً با دوبار کلیک بر روی فایل RPM، پس از خواندن اطلاعات سرمتن فایل، از شما کلمه عبور root را میپرسد. پس از ورود کلمه عبور، عملیات نصب را شروع میکند و ظرف چند سوت!، بسته موردنظر را نصب میکند. البته مثل همیشه قدرت در تنظیمات محیط متنی میباشد! در محیط متنی (و یا ترمینال) عبارت معمول برای نصب بسته(ها)ی RPM، به قرار زیر میباشد:
rpm -Uvh /path/to/rpm-pakage(s)
خصیصه -U در عبارت بالا برای بهروزرسانی (Upgrade) آورده شده و خصیصه -v نیز جهت گزارش تفصیلی آورده شده است. خصیصه -h موجب نمایش یک میله پیشرفت در هنگام نصب میگردد:
[root@localhost Programs_for_install]# rpm -Uhv kmysqladmin-0.6.9-1.fedora1.i386.rpm Preparing... ################################### [100%] 1:kmysqladmin ################################### [100%] [root@localhost Programs_for_install]#
|
معمولاً کرنل (هسته لینوکس) را با خصیصه -i نصب میکنند. این خصیصه موجب نصب بسته بدون بازنویسی فایلهای قدیمی میشود. نصب کرنل بدون بازنویسی موجب میشود که در صورت کار نکردن نسخه جدید کرنل، سیستم شما دچار مشکل نشده و از فایلهای قدیمی برای راهاندازی سیستم استفاده کند. شما همچنین میتوانید از rpm برای چک کردن اینکه آیا بسته خاصی بر روی سیستم شما نصب شده است استفاده کنید:
[mh@localhost mh]$ rpm -qa | grep vi vim-common-6.2.121-1 vim-enhanced-6.2.121-1 vim-X11-6.2.121-1 redhat-config-services-0.8.5-23 [mh@localhost mh]$
|
و یا بستهای که حاوی فایل خاصی است را ردیابی کنید:
[mh@localhost mh]$ rpm -qf /etc/profile setup-2.5.27-1.1 [mh@localhost mh]$ which cat /bin/cat [mh@localhost mh]$ rpm -qf /bin/cat coreutils-5.0-24
|
دقت کنید که برای جستجو در میان اطلاعات بستهها نیازی به امتیازات مدیر (root) سیستم ندارید. شما تنها زمانی لازم است root باشید که بخواهید برنامهای نصب، بهروزرسانی و یا حذف نمایید. در زیر آخرین مثال را میبینید؛ نحوه حذف یک برنامه:
[root@localhost Programs_for_install]# rpm -e kmysqladmin [root@localhost Programs_for_install]#
|
توجه داشته باشید که عمل حذف خروجیای به صورت پیشفرض ایجاد نمیکند. اگر از حذف بسته اطمینان ندارید، میتوانید از دستور rpm -qa برای چک کردن این موضوع استفاده کنید. RPM قدرتی فرای مطالب مطرحشده در این بخش دارد. برای دستیابی به منابع بیشتر میتوانید سری به RPM HOWTO بزنید.
قالب DEB
این قالب برای لینوکسهای دبیان به صورت پیشفرض استفاده میشود و ابزار استاندارد مدیریت این قالب نیز dselect نام دارد. این ابزار امکان انتخاب بستهها جهت نصب و بهروزرسانی را برای شما میسر میکند و در عین حال در هنگام نصب دبیان نیز در تنظیم و مشخص کردن بستههای قابل استفاده به شما کمک میکند. سایت دبیان تمامی اطلاعاتی لازم را در خود دارد. به اضافه یک راهنمای کامل dselect برای کاربران مبتدی!
قالبهای فشرده شامل متن برنامه
قسمت عظیمی از نرمافزارهای لینوکسی متن-باز هستند و بسیاری از برنامهنویسان لینوکس نیز هنگام توزیع، به جای عرضه نسخه کمپایل شده برنامه، متن برنامه را عرضه مینمایند. متن برنامه میتواند به همراه بسته نرمافزاری و یا مستقلاً در یک فایل فشره شده مثل program-version.tar.gz و یا چیزی شبیه به این و یا در یک بسته قالب RPM و یا DEB قرار گرفته باشد. کارهایی که باید برای نصب اینجور بستهها انجام دهید همراه با نیازمندیهای خاص نرمافزاری و سختافزاری در فایل README گنجانده میشود. احتمالاً برای استفاده از اینجور بستهها نیاز به کمپایلر C نیز خواهید داشت. gcc و یا GNU C Compiler همراه تقریباً تمامی نسخههای لینوکس توزیع میگردد و در تعدادی از سیستمعاملهای غیر لینوکس نیز عرضه گشته است. نصب اینجور بستهها هیجان خاص خودش را دارد!
بهروزرسانی و مدیریت خودکار بستهها
کلیات
اولین کاری که پس از نصب یک سیستم باید انجام داد، بهروزرسانی آن سیستم میباشد؛ این قاعده برای تمامی سیستمعاملها صادق میباشد. بهروزرسانیهای اکثر توزیعهای لینوکس را میتوان در باز سایتهای بازتابگر توزیع لینوکستان پیدا کرد. لیست چنین بازتابگرهایی را میتوانید در سایت توزیع لینوکستان پیدا کنید. بهروزرسانی را باید به صورت منظم انجام دهید. هر دو هفته یکبار برای کاربر خانگی معقول به نظر میرسد. شما باید همیشه سعی کنید که آخرین ویرایش بستههای نصب شده بر روی سیستمتان را داشته باشید. همانطور که قبلاً گفته شد، امکانات جدید و رفع اشکالها مدام تدوین میگردند و گهگاه مشکلات امنیتی مهمی کشف میشوند. این نه به خاطر بینظمی لینوکس که به خاطر ویژگیهای خاص برنامههای متن-باز هست. ما میخواهیم نرمافزارمان بهترین باشد ولی رسیدن به این هدف انعطاف در عمل و کشیدن زحمت بهروزرسانی را طلب میکند! خبر خوب اینه که بیشتر توزیعها برنامهای برای مدیریت بهروزرسانی دارد و شما را از زحمت به روز رسانی روزانه بستهها به صورت دستی خلاص میکند. در این بخش میخواهیم نگاهی به برنامههای مدیریت بهروزرسانی بستهها بیاندازیم. البته این موضوع وسیعی است و امکانات این برنامهها فرای توضیح در چند پاراگراف است. ما در این بخش بیشتر رو چند برنامه مردمی تمرکز میکنیم و خیلی جاها شما رو به راهنماهای تدوین شده ارجاع میدهیم. نگید که نگفتیم!
APT
Advanced Pakage Tool یکی از ابزارهای مدیریت بستهها میباشد. برنامه محیط متنی apt-get که همراه با یک راهنمای ممتاز نصب و استفاده به صورت پیشفرض در توزیع دبیان قرار گرفته، قابلیت کار با قالب RPM را نیز علاوه بر قالب DEB دارا میباشد. اولین ویژگی APT انعطافپذیری و آزادی عمل آن میباشد. در اولین استفاده از apt-get میبایست یک لیست از بستههای قابل استفاده تهیه کنیم. این کار را با دستور
apt-get update
انجام میدهیم. پس از آن میتوانید سیستم خود را به روز برسانید :
apt-get upgrade
این کار را به طور منظم انجام دهید؛ این یک راه آسان بهروز و امن نگه داشتن سیستم میباشد. جدای این کارکرد پر کاربرد، apt-get ابزار سریعی برای نصب بستههای تکی به شمار میرود. نحوه کار آن بدین صورت است:
[mh@localhost mh]$ su - -c "apt-get install xsnow" Password: Reading Package Lists... Done Building Dependency Tree... Done The following packages will be upgraded xsnow (1.42-10 => 1.42-11) 1 upgraded, 0 newly installed, 0 removed and 7 not upgraded. Need to get 33.8kB of archives. After unpacking 20B disk space will be freed. Get:1 http://ftp.ussg.iu.edu fedora/1/i386/os xsnow 1.42-11 [33.8kB] Fetched 33.8kB in 22s (1490B/s) Checking GPG signatures... Committing changes... Preparing... ################################### [100%] 1:xsnow ################################### [100%] Done.
|
به خصیصه -c دقت کنید؛ این خصیصه موجب میشود که فقط دستور پس از این خصیصه با امتیازات root اجرا میشود. این کار خطر فراموش کردن عمل خروج از root را از بین میبرد. چنانچه بستهای برای نصب بسته منتخب شما پیشنیاز باشد، خود apt-get آن بسته را از اینترنت گرفته و نصب میکند. اطلاعات بیشتر را میتوانید در APT HOWTO بیابید.
ابزارهای مدیریت بستهها و بهروزرسانی خاص قالب RPM
ابزار Update Agent که در ابتدا برای قالب RedHat RPM تدوین گردیده بود، اکنون برای قالبهای دیگری نیز برنامهریزی گشته است. این ابزار تمامی امکانات لازم جهت بهروزرسانی توزیع شرکت ردهت و یا فدورا را دارا میباشد. چنانچه در محیط متنی عبارت up2date را وارد نمایید، به صورت پیشفرض یک نمایه کوچک در کنار محل ساعت ظاهر میگردد که با زبان بی زبانی به شما وجود و یا عدم وجود بسته جدید جهت بهروزرسانی را اعلام میدارد! یکی دیگر از ابزار بهروزرسانی که اخیراً محبوبیت بیشتری یافته، Yellowdog"s Updater Modified یا yum میباشد. این ابزار انتخاب سیستمهای فدورا میباشد. YaST و یا Yet another Setup Tool طیف عظیمی از کارهای مدیریتی سیستمهای SuSE را به عهده دارد و از آن جمله هست بهروزرسانی بستههای RPM! از نسخه ۷.۱ به بعد SuSE شما میتوانید از طریق YOU یا Yast Online Update در محیط وبی سیستم خود را به روز برسانید. در لینوکس Mandrake یک مجموعه ابزار به نام URPMI تدوین گشته که در نصب نرمافزارهای جدید به کاربر کمک میکند. این ابزار با RPMDrake و MandrakeUpgrade به هم آمیخته تا کار نصب و حذف برنامهها را هلو کند! MandrakeOnline گستره وسیعتری از خدمات را ارائه میدهد و میتواند به صورت خودکار مدیر سیستم را در زمان لازم از وجود بهروزرسانی برای سیستم خاص شما آگاه کند. میزکارهای KDE و Gnome نیز برای خودشان برنامههای مدیریتی (گرافیکی) خاص خودشان را دارند؛ KPakage و GnoRPM. یکی از ارائهکنندگان نرمافزارهای میزکار لینوکس، XIMIAN، ابزار گرافیکی به نام RedCarpet تدوین کرده است که توان اتصال به کانالهای مختلف بهروزرسانی را دارد. این بدان معناست که از طریق این ابزار قادر به بهروزرسانی توزیعهای مختلف لینوکس و یا حتی دریافت ابزارهای تکی و یا محصولات Ximian خواهید بود. این نرمافزار هماکنون سیستمهای RedHat، Debian، Mandrake، Solaris، SuSE و YellowDog را پشتیبانی میکند.
ارتقاء هسته لینوکس (کرنل)
اکثر لینوکسها به خوبی کار خواهند کرد اگر شما آنها را به روز نگه دارید. در پروسه بهروزرسانی چنانچه نیاز باشد، هسته جدیدی نصب میگردد و تغییرات لازم بهصورت خودکار صورت میگیرد. شما تنها در صورتی نیاز به کمپایل و یا نصب یک هسته جدید به صورت دستی دارید که کرنل توزیع لینوکس شما، امکانات خاصی که شما نیاز دارید را برآورده نمیکند. هیچوقت کرنلتان را به این امید که حتماً درست کمپایل شده و بدون آزمایش کردن با کرنل قبلی خود جایگزین نکنید. شما میتوانید با تغییر فایل پیکربندی grub.conf بهراحتی کرنل جدید را به مجموعه سیستم عاملهای سیستم خود اضافه کنید. نمونهای از یک چنین فایل پیکربندی را ببینید :
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,5) # kernel /vmlinuz-version ro root=/dev/hda8 # initrd /initrd-version.img #boot=/dev/hda default=1 timeout=10 splashimage=(hd0,5)/grub/splash.xpm.gz title Fedora Core - New (2.6.6) root (hd0,5) kernel /vmlinuz-2.6.6 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.6.img title Fedora Core - OLD (2.6.5-1.358) root (hd0,5) kernel /vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.5-1.358.img title Windows 98 rootnoverify (hd0,0) chainloader /bootsect.dos
|
شما میتوانید پس از اطمینان از کارکرد کرنل، خطهای قدیمی را از فایل تنظیمات Grub حذف کنید؛ گرچه بهتر است چند روزی را برای اطمینان صبر کنید.
نصب برنامه از روی CD
mount کردن CD
روش نصب بستههای نرمافزاری از روی CD تفاوتی با نصب آنها از طریق اینترنت ندارد مگر در اضافه کردن CD به ساختار فایلی سیستمتان. البته در اکثر سیستمها این کار به صورت خودکار انجام میگیرد. (چرا که automount در هنگام boot سیستم فعال میگردد) اما اگر شما CD را درون CD-ROM قرار دادهاید و نمیتوانید از آن استفاده کنید، به احتمال زیاد باید آن را mount کنید. (ممکن هم هست CD و یا CD-ROM خراب باشند!) برای اینکار لازم است دستوری شبیه به خط زیر را به سیستم خود بدهید. (بنا بر تنظیمات سیستم ممکن هست کمی متفاوت باشد) :
mount /dev/cdrom /mnt/cdrom
بر روی بعضی سیستمها تنها root اجازه mount کردن CD و media های دیگر را دارد. (بستگی به تنظیمات سیستمتان دارد) برای خودکار کردن این فرایند، معمولاً یک سطر در هنگام نصب لینوکس به فایل etc/fstab / اضافه میگردد. در این فایل ساختارهای فایلی (پارتیشنها، CD، دیسکت، cool-disk و ...) به همراه محل قرار گرفتنشان در ساختار فایلی ریشه سیستم ، mount point ، لیست گردیده است. سطر مورد نظر چیزی شبیه به این میباشد (البته من CD-Writer هم دارم که موجب میشود سطر مورد نظر دو سطر باشد!) :
[reza@localhost reza]$ grep cdrom /etc/fstab /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 /dev/cdrom1 /mnt/cdrom1 udf,iso9660 noauto,owner,kudzu,ro 0 0
|
وجود چنین سطری در فایل پیکربندی سیستم فایلی رایانه شما نشاندهنده این است که سیستم شما دستور mount /mnt/cdrom را میشناسد. کلمه noauto هم برای جلوگیری از mount خودکار درایو در هنگام فرآیند boot در این خط قرار گرفته است. چنانچه در میزکار (Desktop) شما نمایه CD وجود دارد، عملیات mount در راست کلیک کردن بر روی نمایه و انتخاب گزینه mount خلاصه میشود. برای دیدن لیستی از ابزارهای mount شده میتوانید از دستور mount به تنهایی استفاده کنید. برای مثال میتوانید با دستور زیر از اینکه آیا cool disk شما mount هست و یا نه اطلاع پیدا کنید :
[reza@localhost reza]$ mount | grep usb_drive /dev/sda on /mnt/usb_drive type vfat (rw)
|
استفاده از CD
پس از mount کردن CD، شما میتوانید مسیر سیستم را به مسیر CD تغییر دهید. (معمولاً /mnt/cdrom میباشد) در این مرحله میتوانید با همان روشهای قبلی بستههای مورد نظر خود را نصب کنید. فقط دقت کنید که سعی در تغییر و یا نوشتن بر روی مسیر CD نکنید و فایلهای فشرده شده را نیز در مسیر CD باز نکنید. چرا که مسیر CD فقط-خواندنی میباشد. البته قالبهایی همچون rpm را در صوتی که از روی CD اجرا کنید هم مشکلی ایجاد نمیکنند
درآوردن CD از CD-ROM
برای درآوردن CD، ابتدا بایستی آنرا umount کنید. این کار را میتوان با دستورهای umount /mnt/cdrom و یا eject cdrom انجام دهید. توجه داشته باشید که در هنگام umount کردن CD، هیچ فرآیندی نباید در حال استفاده از CD باشند. حتی بودن در مسیر CD عدم موفقیت umount را به همراه دارد. اگر هنوز پیغام "device busy" با اعصاب شما بازی میکند، سعی نکنید CD-ROM را با سنجاق مجبور به پس دادن CD کنید! سنجاق را به عنوان آخرین راه نگه دارید. با دستور ps aux | grep cdrom میتوانید فرآیندهایی که در حال استفاده از CD هستند را ردیابی کرده در صورت لزوم kill نمایید.
جمعبندی
وقتی همه چیز سر جاش باشد، یعنی نصف کارها انجام شده است! همانطور که نظم مهم هست، احساس راحتی در محیط، چه متنی و چه گرافیکی، نیز مهم هست. محیط متنی با استفاده از فایلهای پیکربندی و ابزارهای shell مدیریت میشود. محیط گرافیکی نیز دارای فایلهای پیکربندی خودش هست و در عین حال دارای ابزارهای گرافیکی جهت هلو کردن کار با آنها! برای تنظیمات خاص میتوانید پس از خواندن راهنمای برنامه به سراغ فایل پیکربندی خاص آن برنامه رفته و سلیقه خود را در کمال خودخواهی بر آن تحمیل کنید! راحتترین راه برای تنظیم امکانات خاص منطقهای مانند زبان و تنظیمات keyboard در هنگام نصب لینوکس میباشد. البته همیشه راههایی برای تغییر تنظیمات اعمال شده در هنگام نصب وجود دارد. برنامههای نرمافزاری مختلف در بستهبندیهای مختلف در اختیار شماست و ابزارهای مدیریتی نیز در خدمت شما! خلاصه اینکه اگر درست به لینوکس خود دستور دهید، امر، امر شماست!
|