تو دنیای پرسرعت تکنولوژی، وقتی داری محصولی رو توسعه می دی یا ازش پشتیبانی می کنی، خیلی مهمه که بتونی همه چی رو سریع و بدون دردسر تنظیم و آپدیت کنی. حالا فکر کن چقدر خوب می شد اگه یه سیستمی داشتیم که همه این کارها رو برامون راحت و امن انجام بده. خوشبختانه همچین چیزی هست! سیستم های مدیریت بسته، دقیقا همین کار رو می کنن. امروز قراره بریم سراغ یکی از معروف ترینشون به اسم YUM که برای توزیع های لینوکسی خانواده Red Hat ساخته شده.
یه چیزی هم هست به اسم Packagecloud، یه سرویس ابری که خیلی باحال و حرفه ای کار توزیع بسته های نرم افزاری رو انجام می ده. شرکت ها با استفاده از این سرویس، می تونن هزینه هاشون رو کم کنن و سرعت تنظیم سیستم هاشون رو بالا ببرن. همه چی خیلی امن و روون انجام می شه، و خلاصه اینکه حسابی زندگی رو راحت می کنه.
Packagecloud بسته های مختلف رو جمع می کنه و توی یه مخزن مرکزی ذخیره می کنه. این مخازن برای شرکت ها مثل یه سوپرمارکت بزرگن که همه چی توش هست. یعنی هرچی برای تنظیم، به روزرسانی و مدیریت سیستم ها نیاز داری، توی این مخازن پیدا می شه. به همین راحتی!
اگه دوست داری بدون دردسر ماشین هات رو سریع راه اندازی و به روز کنی، می تونی نسخه آزمایشی Packagecloud رو امتحان کنی و ببینی چقدر کارت رو آسون می کنه.
بذار یه مثال ساده بزنم. فرض کن تو یه سوپرمارکت بزرگ کار می کنی و باید هر روز تعداد زیادی جنس رو از قفسه ها برداری، ببری دم صندوق و حساب کنی. حالا اگه یه دستگاه هوشمند داشتی که خودش همه چیز رو انتخاب می کرد، لیست خرید رو می دید، قیمت ها رو چک می کرد و همه چیز رو برات آماده می کرد، چقدر کارت راحت تر می شد، درسته؟
پکیج منیجر دقیقاً همون دستگاه هوشمنده، ولی برای نصب نرم افزارهای لینوکسی. به جای اینکه بری دستی بسته های نرم افزاری رو از اینترنت دانلود کنی، نصبشون کنی و نگران وابستگی ها یا به روزرسانی ها باشی، پکیج منیجر همه این کارا رو برات انجام می ده.
تو ویندوز معمولاً نرم افزارها رو با اجرای یه فایل نصب (مثل فایل .exe) نصب می کنی. اما تو لینوکس، پکیج منیجرها این فرآیند رو خیلی راحت تر می کنن. اون ها مثل یه فروشگاه بزرگن که همه بسته های نرم افزاری مورد نیازت توش موجوده. فقط کافیه اسم نرم افزار رو به پکیج منیجر بدی و خودش بقیه کارا رو انجام می ده:
مثلاً فرض کن یه بازی جدید پیدا کردی. به جای اینکه بری دنبالش بگردی، فایل نصبش رو دانلود کنی، بعد متوجه بشی که برای اجراش به چندتا برنامه دیگه هم نیاز داری (که اون ها رو هم باید جدا جدا پیدا و نصب کنی)، پکیج منیجر خودش همه این کارا رو در یک حرکت انجام می ده.
حتی وقتی یه آپدیت جدید برای نرم افزارها میاد، پکیج منیجر بهت خبر می ده و می تونی با یه دستور ساده همه چیز رو به روز کنی.
حالا که متوجه شدی پکیج منیجر یا مدیر بسته چیه، بریم سراغ YUM و ببینیم اون تو دنیای پکیج منیجرها چه نقشی بازی می کنه!

حالا بریم سراغ YUM! این ابزار (که مخفف Yellowdog Updater Modified هست)، یه سیستم مدیریت بسته رایگان و متن بازه که برای کار با بسته های RPM ساخته شده. با YUM می تونی به راحتی بسته های مختلف رو از مخازن دانلود کنی، نصب یا حذفشون کنی و حتی کل سیستم رو آپدیت کنی.
از ویژگی های خفن YUM اینه که خودش هوشمنده و وقتی داری یه بسته رو نصب می کنی، می فهمه به چه چیزای دیگه ای نیاز داری و اون ها رو هم به طور خودکار نصب می کنه. خلاصه اینکه، هر بسته ای که می خوای، YUM همه وابستگی هاش رو هم برات ردیف می کنه.
نکته ی مهم اینه که بهتره فقط با بسته های .rpm کار کنی، چون YUM برای مدیریت این بسته ها طراحی شده. این بسته ها شامل نرم افزارهای از پیش کامپایل شده و اطلاعات مربوط به وابستگی ها هستن. معمولا این بسته ها به یکی از دو فرمت زیر ارائه می شن:
بسته ها توی مخازن مرکزی جمع می شن و از طریق اینترنت یا به صورت محلی در دسترس هستن. این مخازن مثل یه ویترین بزرگن که همه چیز رو توشون می تونی پیدا کنی، چه برای استفاده عمومی چه برای نیازهای خاص شرکتت.
YUM برای اینکه امنیت سیستم ها رو هم تضمین کنه، می تونه امضاهای دیجیتال GPG رو چک کنه. یعنی وقتی این گزینه فعال باشه، فقط بسته های معتبر از مخازن معتبر نصب می شن و خیالت راحت می شه که چیزی رو از جای نامعتبر نصب نکردی.
در نهایت، Packagecloud هم بهت این امکان رو می ده که مخازن امن و ابری برای بسته هات داشته باشی و سیستم هات رو بدون نیاز به زیرساخت های فیزیکی مدیریت کنی. این یعنی راحتی و امنیت در کنار هم.
هر ابزاری که در دنیای فناوری وجود داره، علاوه بر نقاط قوت، ممکنه یه سری نقاط ضعف هم داشته باشه. YUM هم از این قاعده مستثنا نیست. بیایم یه نگاهی به مزایا و معایب YUM بندازیم تا ببینیم این ابزار چطور می تونه به کارمون بیاد و کجاها ممکنه کمی چالش برانگیز باشه.
تو دنیای لینوکس ابزارهای مختلفی برای مدیریت بسته ها داریم که هر کدوم بسته به نیاز و توزیعی که استفاده می کنی، می تونه به کار بیاد. YUM یکی از قدیمی ترین و محبوب ترین هاست، ولی رقبای قدرتمندی مثل APT، DNF و Zypper هم تو این حوزه حضور دارن. تو این بخش می خوایم یه مقایسه بین این ابزارها داشته باشیم تا راحت تر بفهمی کدوم یکی به دردت می خوره.
APT مدیر بسته ایه که تو توزیع های Debian-محور مثل Ubuntu استفاده می شه. خب، بذار ببینیم APT چه تفاوت هایی با YUM داره:
| ویژگی | YUM (Red Hat-based) | APT (Debian-based) |
|---|---|---|
| پشتیبانی از توزیع ها | Red Hat، CentOS، Fedora | Debian، Ubuntu |
| فرمت بسته ها | RPM | DEB |
| مدیریت وابستگی ها | به طور خودکار و کامل | به طور خودکار و کامل |
| سرعت | کمی کندتر | سریع تر |
| کاربردپذیری | راحت و ساده برای مبتدی ها | نسبتاً ساده اما کمی تجربه می خواد |
| مخازن نرم افزاری | نیاز به اضافه کردن دستی بعضی مخازن | گسترده تر و به روزتر |
| امنیت | چک کردن امضای دیجیتال GPG | چک کردن امضای دیجیتال GPG |
توضیحات بیشتر
DNF در واقع نسخه ی پیشرفته تر و مدرن تر YUM محسوب می شه و تو توزیع هایی مثل Fedora و CentOS 8 استفاده می شه. بیایم ببینیم DNF چه چیزی بیشتر از YUM داره:
| ویژگی | YUM | DNF |
|---|---|---|
| سرعت | کندتر | سریع تر و بهینه تر |
| مصرف منابع | سنگین تر | سبک تر و بهینه تر |
| مدیریت وابستگی ها | خوب ولی کندتر | سریع تر و بهتر |
| قابلیت ها | قدیمی ولی قابل اعتماد | مدرن و با امکانات بیشتر |
| امنیت | چک کردن GPG | امنیت بهتر و مدیریت مخازن قوی تر |
توضیحات بیشتر
Zypper مدیر بسته ایه که بیشتر تو توزیع openSUSE استفاده می شه و برای کاربرایی که دنبال انعطاف پذیری بیشتری هستن، گزینه خیلی مناسبیه.
| ویژگی | YUM | Zypper |
|---|---|---|
| سرعت | متوسط | سریع تر توی آپدیت ها |
| مدیریت وابستگی ها | خوب و دقیق | خیلی دقیق و انعطاف پذیر |
| پشتیبانی از توزیع ها | Red Hat، CentOS، Fedora | openSUSE، SLES |
| کاربردپذیری | راحت و ساده | مناسب برای کاربران حرفه ای |
| ابزارهای اضافی | محدودتر | ابزارهای پیشرفته مثل Snapper |
توضیحات بیشتر
خب، حالا انتخاب بهترین ابزار مدیریت بسته بستگی به این داره که از کدوم توزیع لینوکسی استفاده می کنی و نیازات چیه:
در نهایت، بستگی به توزیعی که استفاده می کنی و نیازهای خاص پروژت داره که کدوم یکی از این ابزارها برای تو مناسب تره. اما با داشتن این اطلاعات، حالا راحت تر می تونی تصمیم بگیری که کدوم پکیج منیجر بیشتر به کارت میاد!
تو این بخش می خوایم یاد بگیریم چطور با استفاده از ابزار YUM (که توسط RedHat توسعه داده شده) بسته ها رو نصب، به روزرسانی، حذف و پیدا کنیم. همچنین یاد می گیریم چطور مخازن و بسته ها رو مدیریت کنیم. لازمه ی این بخش اینه که یه آشنایی اولیه با دستورات لینوکس داشته باشی و روی سیستمت یه لینوکس در حال اجرا داشته باشی تا بتونی دستورات رو امتحان کنی.

برای نصب یه بسته مثل فایرفاکس، کافیه این دستور رو وارد کنی. YUM خودش به طور خودکار وابستگی های لازم برای اجرای فایرفاکس رو پیدا می کنه و نصب می کنه:
yum install firefoxوقتی این دستور رو اجرا می کنی، YUM اول از همه پلاگین های لازم رو لود می کنه و بعد می ره سراغ بسته ها و وابستگی هاشون. به طور خلاصه، این فرآیند رو خواهی دید:
Loaded plugins: fastestmirror
Dependencies Resolved
================================================================================================
Package Arch Version Repository Size
================================================================================================
Updating:
firefox i686 10.0.6-1.el6.centos updates 20 M
Updating for dependencies:
xulrunner i686 10.0.6-1.el6.centos updates 12 Mیعنی فایرفاکس و بعضی وابستگی هاش مثل xulrunner آماده ی نصب یا به روزرسانی می شن. بعدش ازت می پرسه که آیا می خوای ادامه بدی یا نه:
Is this ok [y/N]: yاگه تایید کنی (با زدن "y")، YUM شروع می کنه به دانلود بسته ها و نصب اون ها. وقتی که نصب کامل شد، پیغام موفقیت آمیز بودن نصب رو بهت نشون می ده.
اگه نمی خوای هربار ازت تایید بخواد و می خوای نصب به طور خودکار انجام بشه، می تونی از گزینه -y استفاده کنی:
yum -y install firefoxاینطوری دیگه بدون اینکه ازت سوالی بپرسه، نصب به طور خودکار انجام می شه.
اگه بخوای یه بسته رو به طور کامل، همراه با همه وابستگی هاش حذف کنی، کافیه از دستور زیر استفاده کنی. فرض کنیم می خوای فایرفاکس رو حذف کنی. خیلی راحت می تونی این دستور رو وارد کنی:
yum remove firefoxوقتی این دستور رو اجرا می کنی، YUM میاد همه پلاگین های مورد نیاز رو لود می کنه و فرآیند حذف بسته رو شروع می کنه. تو این مرحله، وابستگی هایی که به بسته ی فایرفاکس مرتبط هستن بررسی می شن:
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolutionبعدش بهت نشون می ده که چه بسته ای قراره حذف بشه، مثل فایرفاکس، و سایز اون بسته رو هم می گه. دوباره ازت سوال می کنه که آیا مطمئنی می خوای این بسته رو حذف کنی:
Is this ok [y/N]: yوقتی تایید کنی (با زدن "y")، YUM فرآیند حذف رو ادامه می ده و بسته رو از سیستم پاک می کنه. در نهایت، یه پیام می بینی که می گه عملیات حذف به طور کامل انجام شده.
اگه نمی خوای هربار ازت تایید بخواد، می تونی با اضافه کردن -y این مرحله رو رد کنی و حذف به صورت خودکار انجام بشه:
yum -y remove firefoxاینطوری فایرفاکس بدون اینکه سوالی ازت بپرسه، حذف می شه!
فرض کن یه نسخه قدیمی از بسته MySQL داری و می خوای اونو به آخرین نسخه پایدار به روز کنی. خیلی راحت می تونی این کار رو با دستور زیر انجام بدی. این دستور خودش به طور خودکار همه مشکلات مربوط به وابستگی ها رو حل می کنه و اونا رو نصب می کنه:
yum update mysqlوقتی این دستور رو وارد می کنی، YUM اول وابستگی ها رو چک می کنه و بهت نشون می ده که چه بسته هایی قراره به روز بشن. مثلا ممکنه ببینی چیزی مثل زیر رو نمایش بده:
Loaded plugins: fastestmirror
Dependencies Resolved
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Updating:
vsftpd i386 2.0.5-24.el5_8.1 updates 144 kاین یعنی بسته vsftpd قراره به روز بشه. بعدش YUM ازت می پرسه که آیا می خوای ادامه بدی یا نه:
Is this ok [y/N]: yاگه تایید کنی (با زدن "y")، فرآیند به روزرسانی شروع می شه و بسته ها دانلود و نصب می شن. وقتی عملیات به پایان رسید، YUM بهت اطلاع می ده که همه چیز به خوبی انجام شده.
اگه بخوای یه بسته خاص رو تو سیستم پیدا کنی، می تونی از تابع list استفاده کنی. مثلا اگه بخوای بدونی بسته OpenSSH تو سیستمت نصبه یا نه، کافیه این دستور رو وارد کنی:
yum list opensshوقتی این دستور رو وارد کنی، YUM اول می ره سراغ پلاگین ها و سرعت سرورها رو بررسی می کنه، بعدش نتایج زیر رو بهت نشون می ده:
Loaded plugins: fastestmirror
Installed Packages
openssh.i386 4.3p2-72.el5_6.3 installed
Available Packages 4.3p2-82.el5 baseاینجا می بینی که نسخه 4.3p2 از OpenSSH روی سیستمت نصبه و نسخه جدیدتری هم تو مخزن موجوده که اگه خواستی، می تونی به روزرسانیش کنی.
اگه می خوای جستجوت دقیق تر باشه، مثلا یه نسخه خاص از یه بسته رو پیدا کنی، می تونی نام بسته و نسخه مورد نظر رو هم به دستور اضافه کنی. مثلا اگه دنبال نسخه OpenSSH-4.3p2 باشی، دستور زیر رو وارد کن:
yum list openssh-4.3p2این دستور به طور خاص اون نسخه رو برات پیدا می کنه و نشون می ده که آیا نصبه یا تو مخزن موجوده.
اگه اسم دقیق بسته ای که می خوای رو یادت رفته، نگران نباش! می تونی از دستور search برای جستجوی همه بسته های موجودی که اسمشون شبیه به چیزی که وارد کردی هست، استفاده کنی. مثلا برای پیدا کردن همه بسته هایی که شامل vsftpd هستن، کافیه این دستور رو وارد کنی:
yum search vsftpdYUM میاد و پلاگین های لازم رو لود می کنه و بعد نتایج جستجو رو برات نمایش می ده. این نتایج شامل بسته هایی هست که به کلمه مورد نظرت مرتبطن:
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemonاینجا می بینی که بسته هایی مثل vsftpd و pure-ftpd-selinux پیدا شدن. حالا می تونی بسته مورد نظرت رو از بین اون ها انتخاب کنی.
فرض کن می خوای قبل از نصب یه بسته، اطلاعات بیشتری در موردش داشته باشی. برای اینکه اطلاعات کامل یه بسته رو ببینی، می تونی از دستور info استفاده کنی. مثلا برای دیدن اطلاعات مربوط به فایرفاکس، دستور زیر رو وارد کن:
yum info firefoxبعد از اجرای این دستور، YUM اطلاعات بسته مورد نظر رو بهت نمایش می ده:
Name : firefox
Arch : i386
Version : 10.0.6
Release : 1.el5.centos
Size : 20 M
Repo : updates
Summary : Mozilla Firefox Web browser
URL : http://www.mozilla.org/projects/firefox/
License : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
: compliance, performance and portability.اینجا می تونی اسم، نسخه، سایز، مخزن و توضیحات کامل بسته رو ببینی. این کمک می کنه که مطمئن بشی داری بسته درستی رو نصب می کنی.
اگه می خوای همه بسته های موجود توی پایگاه داده YUM رو ببینی، می تونی از دستور list استفاده کنی. این دستور همه بسته هایی که می تونی از مخازن نصب کنی رو نمایش می ده. برای راحت تر دیدن این لیست می تونی از دستور زیر استفاده کنی:
yum list | lessبا این کار می تونی لیست بسته ها رو صفحه به صفحه مرور کنی.
اگه می خوای ببینی چه بسته هایی الان روی سیستمت نصب شدن، می تونی از همون دستور list ولی با یه تغییر کوچیک استفاده کنی. این دستور همه بسته هایی که روی سیستمت نصب شدن رو نشون می ده:
yum list installed | lessاینجا هم می تونی لیست بسته های نصب شده رو صفحه به صفحه ببینی و بررسی کنی که چه چیزهایی روی سیستمت نصب هستن.
قابلیت provides توی YUM یه ابزار کاربردیه که بهت کمک می کنه بفهمی یه فایل خاص توی کدوم بسته قرار داره. مثلا فرض کن می خوای بدونی فایل /etc/httpd/conf/httpd.conf مربوط به کدوم بسته هست. خیلی راحت می تونی از این دستور استفاده کنی:
yum provides /etc/httpd/conf/httpd.confوقتی این دستور رو اجرا می کنی، YUM می ره سراغ مخازن و بسته های نصب شده و بهت می گه این فایل تو کدوم بسته ها موجوده. مثلا ممکنه چیزی شبیه این ببینی:
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo : base
Matched from:
Filename : /etc/httpd/conf/httpd.confاین یعنی فایل httpd.conf توی بسته httpd وجود داره که توی مخزن base قرار گرفته. همینطور می تونی ببینی که نسخه های دیگه این بسته هم وجود دارن، چه توی مخزن updates و چه توی بسته های نصب شده.
اگه می خوای بدونی کدوم یکی از بسته هایی که روی سیستمت نصب شدن، آپدیت جدید دارن، می تونی از دستور check-update استفاده کنی. این دستور تمام بسته های نصب شده رو چک می کنه و می گه کدوم هاشون نیاز به آپدیت دارن. خیلی ساده، این دستور رو وارد کن:
yum check-updateYUM می ره و همه بسته های نصب شده رو بررسی می کنه و اگه آپدیتی موجود باشه، لیستش رو بهت نشون می ده. حالا می تونی تصمیم بگیری کدوم بسته ها رو می خوای به روز کنی!
اگه می خوای سیستمت همیشه به روز و امن باشه، بهترین کار اینه که به روزرسانی های امنیتی و بسته های جدید رو مرتباً نصب کنی. با اجرای این دستور، همه آپدیت های لازم و آخرین پچ ها روی سیستمت نصب می شن:
yum updateYUM می ره سراغ بسته های نصب شده و چک می کنه که کدوم هاشون نسخه جدیدتری دارن. بعد ازت می پرسه که آیا می خوای آپدیت ها رو نصب کنی یا نه. با تایید کردن، همه بسته ها و آپدیت های جدید نصب می شن و سیستمت همیشه به روز و ایمن باقی می مونه.
تو لینوکس، بعضی از بسته ها به صورت گروهی کنار هم قرار می گیرن. یعنی به جای اینکه تک تک بسته ها رو نصب کنی، می تونی یه گروه مشخص رو نصب کنی که شامل همه بسته های مرتبطه. برای اینکه لیست همه گروه های موجود رو ببینی، کافیه از این دستور استفاده کنی:
yum grouplistبعد از اجرای این دستور، YUM بهت نشون می ده که چه گروه هایی روی سیستمت نصب شدن و چه گروه هایی در دسترس هستن:
Installed Groups:
Administration Tools
DNS Name Server
Dialup Networking Support
Editors
Engineering and Scientific
FTP Server
Graphics
Java Development
Available Groups:
Authoring and Publishing
Base
Beagle
Cluster Storage
Clustering
Development Libraries
Development Tools
Eclipse
Educational Software
KDE (K Desktop Environment)
KDE Software Developmentاین لیست نشون می ده که چه گروه هایی رو قبلاً نصب کردی و چه گروه هایی هنوز نصب نشده ولی در دسترس هستن. مثلا می تونی گروه Development Tools رو انتخاب کنی که شامل همه ابزارهای مورد نیاز برای توسعه دهندگان هست و با نصبش کلی ابزار به کارت میاد.
اگه می خوای چندتا بسته مرتبط با هم رو به صورت یکجا نصب کنی، نیازی نیست دونه دونه این کار رو انجام بدی. با دستور groupinstall می تونی یه گروه کامل از بسته ها رو با هم نصب کنی. مثلا برای نصب MySQL Database، کافیه دستور زیر رو وارد کنی:
# yum groupinstall 'MySQL Database'
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Updating:
unixODBC i386 2.2.11-10.el5 base 290 k
Installing for dependencies:
unixODBC-libs i386 2.2.11-10.el5 base 551 k
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 1 Package(s)
Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : unixODBC-libs 1/3
Updating : unixODBC 2/3
Cleanup : unixODBC 3/3
Dependency Installed:
unixODBC-libs.i386 0:2.2.11-10.el5
Updated:
unixODBC.i386 0:2.2.11-10.el5
Complete!اگه قبلاً یه گروه از بسته ها رو نصب کردی و حالا می خوای همه بسته های اون گروه رو به روزرسانی کنی، خیلی راحت می تونی با این دستور این کار رو انجام بدی:
# yum groupupdate 'DNS Name Server'
Dependencies Resolved
================================================================================================================
Package Arch Version Repository Size
================================================================================================================
Updating:
bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k
Updating for dependencies:
bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k
bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k
Transaction Summary
================================================================================================================
Install 0 Package(s)
Upgrade 4 Package(s)
Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : bind-libs 1/8
Updating : bind 2/8
Updating : bind-chroot 3/8
Updating : bind-utils 4/8
Cleanup : bind 5/8
Cleanup : bind-chroot 6/8
Cleanup : bind-utils 7/8
Cleanup : bind-libs 8/8
Updated:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Dependency Updated:
bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2
Complete!اگه بخوای یه گروه بسته رو که قبلاً نصب کردی، به طور کامل از سیستمت حذف کنی، از این دستور استفاده کن:
# yum groupremove 'DNS Name Server'
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0
Transaction Summary
===========================================================================================================
Remove 2 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : bind 1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
Erasing : bind-chroot 2/2
Removed:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Complete!اگه می خوای بدونی چه مخازن Yum روی سیستمت فعال هستن، از این دستور استفاده کن:
# yum repolist
repo id repo name status
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
mod-pagespeed mod-pagespeed enabled: 1
rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290
updates CentOS-5 - Updates enabled: 743
repolist: 20,824اگه بخوای همه مخازن، چه فعال و چه غیرفعال رو ببینی، می تونی از این دستور استفاده کنی:
# yum repolist all
repo id repo name status
C5.0-base CentOS-5.0 - Base disabled
C5.0-centosplus CentOS-5.0 - Plus disabled
C5.0-extras CentOS-5.0 - Extras disabled
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
repolist: 20,824اگه می خوای یه بسته رو از یه مخزن خاص نصب کنی (چه اون مخزن فعال باشه چه غیرفعال)، می تونی از گزینه --enablerepo تو دستور YUM استفاده کنی. مثلا برای نصب PhpMyAdmin از یه مخزن مشخص، اینطوری عمل کن:
# yum --enablerepo=epel install phpmyadmin
Dependencies Resolved
=============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M
Transaction Summary
=============================================================================================
Install 1 Package(s)
Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Installed:
phpMyAdmin.noarch 0:3.5.1-1.el6
Complete!YUM یه قابلیتی داره که بهت اجازه می ده چندتا دستور رو به صورت پشت سر هم داخل یه محیط تعاملی (شل) وارد کنی. یعنی به جای اینکه هر بار یه دستور رو وارد کنی و منتظر بمونی، می تونی تو این شل چندین دستور رو یکی بعد از دیگری وارد کنی. برای شروع این شل، کافیه دستور زیر رو وارد کنی:
# yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
* base: mirrors.sin3.sg.voxel.net
* epel: ftp.riken.jp
* extras: mirrors.sin3.sg.voxel.net
* updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>به طور پیش فرض، YUM همه اطلاعات مربوط به مخازن رو داخل یه پوشه کش می کنه که مسیرش معمولاً /var/cache/yum/ هست. برای اینکه این فایل های کشی که دیگه لازم نیستن رو پاک کنی و فضای سیستمت رو آزاد کنی، بهتره هر از چند وقت یه بار این دستور رو بزنی:
# yum clean all
این دستور همه فایل های کش مربوط به مخازن فعال رو پاک می کنه و سیستمت تمیزتر می شه. پس یادت باشه که به طور منظم این دستور رو اجرا کنی تا مطمئن بشی فضای اضافی سیستمت گرفته نمی شه.
اگه می خوای ببینی تو گذشته چه دستوراتی با YUM اجرا کردی و چه بسته هایی نصب یا حذف شدن، می تونی از دستور history استفاده کنی. این دستور همه تراکنش های گذشته اون رو نشونت می ده:
# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
10 | root | 2012-08-11 15:19 | Install | 3
9 | root | 2012-08-11 15:11 | Install | 1
8 | root | 2012-08-11 15:10 | Erase | 1 EE
7 | root | 2012-08-10 17:44 | Install | 1
6 | root | 2012-08-10 12:19 | Install | 2
5 | root | 2012-08-10 12:14 | Install | 3
4 | root | 2012-08-10 12:12 | I, U | 13 E<
3 | root | 2012-08-09 13:01 | Install | 1 >
2 | root | 2012-08-08 20:13 | I, U | 292 EE
1 | System | 2012-08-08 17:15 | Install | 560
history listما سعی کردیم همه دستورات مهم YUM رو از پایه تا پیشرفته با مثال توضیح بدیم. اگه حس می کنی چیزی رو جا انداختیم، حتماً بهمون بگو تا با کمک بازخوردهای شما، مقاله رو به روز کنیم و بهترش کنیم!

YUM یه ابزار مدیریت بسته توی لینوکسه که بهت کمک می کنه بسته ها رو نصب، به روزرسانی، حذف و مدیریت کنی. این ابزار وابستگی های لازم رو به طور خودکار تشخیص می ده و نصب یا حذف می کنه، بنابراین خیلی کار رو راحت می کنه.
اگه اسم دقیق بسته رو یادت رفته، می تونی از دستور yum search استفاده کنی و یه کلمه کلیدی مرتبط با بسته رو وارد کنی. YUM همه بسته هایی که شامل اون کلمه باشن رو برات لیست می کنه.
برای دیدن لیست همه بسته هایی که روی سیستمت نصب شدن، از دستور yum list installed استفاده کن. این دستور همه بسته های نصب شده رو نمایش می ده.
برای نصب گروهی از بسته ها، از دستور yum groupinstall استفاده کن. این دستور همه بسته های مرتبط با یه گروه خاص رو نصب می کنه، مثلاً برای نصب MySQL Database می تونی از yum groupinstall 'MySQL Database' استفاده کنی.
برای پاک کردن فایل های کشی که YUM ذخیره کرده، از دستور yum clean all استفاده کن. این کار باعث می شه فضای اضافی که توسط این فایل ها اشغال شده، آزاد بشه.
برای دیدن تاریخچه دستورات و تراکنش های YUM، از دستور yum history استفاده کن. این دستور نشون می ده که قبلاً چه بسته هایی نصب، حذف یا به روز شدن.
DNF نسخه به روزتر و سریع تر YUM هست که توی توزیع های جدیدتر مثل Fedora استفاده می شه. DNF سرعت بالاتری داره و مصرف منابع کمتری نسبت به YUM داره.
بله، برای این کار می تونی از دستور yum --enablerepo استفاده کنی و مخزن مورد نظرت رو مشخص کنی. مثلاً برای نصب یه بسته از یه مخزن غیرفعال، باید اون مخزن رو با این گزینه فعال کنی.
برای دیدن لیست همه مخازن فعال و غیرفعال روی سیستمت، از دستور yum repolist all استفاده کن. این دستور تمام مخازن رو با وضعیت فعال یا غیرفعالشون نمایش می ده.
نه، YUM بسته ها رو به طور خودکار نصب نمی کنه مگر اینکه خودت دستور yum install یا yum update رو بزنی. با این حال، می تونی تنظیماتی انجام بدی که YUM بسته ها رو به صورت خودکار به روز کنه.
همون طور که گفتیم، YUM یه ابزار قدرتمند و ساده برای مدیریت بسته ها توی توزیع های مبتنی بر Red Hat مثل CentOS و Fedora هست. این ابزار بهت اجازه می ده بسته ها رو به راحتی نصب، حذف، به روز و مدیریت کنی. یکی از ویژگی های خیلی خوب YUM اینه که به طور خودکار وابستگی های لازم رو مدیریت می کنه و از این جهت وقت و دردسر کمتری بهت وارد می کنه.
از نصب گروهی بسته ها تا پاک کردن کش و دیدن تاریخچه، YUM همه امکانات لازم رو در اختیارت قرار می ده تا سیستمت همیشه تمیز و به روز بمونه. با داشتن این ابزار، می تونی بدون نگرانی و دردسر، بسته های مورد نیازت رو مدیریت کنی و مطمئن باشی که همه چیز به درستی کار می کنه.
اصفهان، خیابان حمزه اصفهانی، بن بست تخت جمشید(18) ، پلاک ۴
دفتر تهران: تهران، خیابان سهروردی شمالی، خیابان هویزه شرقی، پلاک 20، طبقه دوم، واحد 6