yum که مخففYellowdog Updater Modified است یک مدیریت بسته (Package Manager) در توزیع های RPM Based می بایشد.yum در فدورا مدیریت بسته پیش فرض می باشد.این مدیر بسته که به صورت خط فرمان است قادر است بسته های مورد نیاز را از مخازنی که روی سیستم فعال هستند را نصب،آپدیت و یا حذف کند.پس با ما همراه باشید تا این مدیریت بسته را باهم بررسی کنیم.
Yum آنقدر هوشمند است که هنگام نصب یک بسته،پیش نیازهای(dependencies) آن را تشخیص دهد(در صورت داشتن پیش نیاز) و آنها را نصب کند.همانطور که گفته شد yum به صورت خط فرمان اجرا می شود و برای کار با آن باید مجوز کاربر root را در اختیار داشته باشیم.در واقع برای کار با آن ابتدا باید یک ترمینال باز کرده(konsole , terminal) و به کاربر root لاگین کرده وسپس yum را اجرا کرده.
برخی از قابلیت های مدیریت بسته yum به شرح زیر می باشند :
- پشتیبانی و استفاده از چند مخزن به طور همزمان
- پیکربندی ساده
- تشخیص پیش نیازها
- عملکرد سریع
- سازگار با بسته های RPM
- قابلیت نصب گروهی بسته ها
- رابط کاربری ساده
- استفاده از پلاگین ها مختلف
حالا که با این مدیر بسته قدرتمند آشنا شدیم می خواهیم برخی از دستورات پرکارد آن را توضیح دهیم.
لازم است بدانید که دستورyum دارای option و سوئیچ های مختلفی نیز می باشد.
اگر مخازن اینترنتی روی سیستم شما فعال باشد(که به صورت پیش فرض است) برای کارکردن با yum باید به اینترنت متصل باشید.
همانطور که گفته شد برای اجرای yum نیاز به مجوز کاربر root است.پس برای این کار ابتدا یک ترمینال یا کنسول باز کرده و این دستور را بزنید :
– su
و سپس password کاربر root را وارد کنید.همانطور که مشاهده می کنید اعلان سیستم از $ به # تغییر پیدا کرد.یعنی الان به کاربر root لاگین کرده ایم.
شکل کلی دستور yum به این صورت می باشد :
yum [options] COMMAND
برای نصب بسته های rpm از مخازن باید این دستور را وارد کرد :
yum install packge
اگر میخواهید همزمان دو یا چند بسته رو نصب کنید کافی است اسم بسته ها را پشت سر هم با فاصله بنویسید،به این ترتیب :
yum install packge1 packge2 packge3
برای آپدیت کردن یک بسته :
yum update packge
اگر میخواهید هنگام نصب یا آپدیت بسته از شما تاییدیه دریافت نکند از سوئیچ y- باید استفاده کرد.به اینصورت :
yum -y install packge
اگر یک بسته rpm را قبلا دانلود کرده باشیم و آن را روی کامپیوتر خود ذخیره داریم برای نصب آن می توانیم طوری عمل کنیم که اگر بسته مورد نظر دارای پیش نیاز باشد آن پیش نیاز ها از مخازن دانلود و نصب شوند.به این منظور باید از این فرمان استفاده کرد :
yum localinstall package1.rpm
نکته اینکه در این دستور اسم کامل فایل همراه با پسوند باید نوشته شود.
برای آپدیت کردن یک یا چند بسته از این دستور استفاده می کنیم :
yum update packge1 packge2
برای بروزرسانی همه ی بسته های rpm نصب شده روی سیستم از این دستور استفاده می کنیم :
yum -y update
برای حذف یک یا چند بسته rpm با استفاده از yum به این شکل عمل می کنیم :
yum remove package1 package2
برای نمایش لیستی از تمام بسته های نصب شده روی سیستم از این دستور استفاده می کنیم :
yum list
برای جستجو کردن یک بسته از مخازن از این دستور استفاده می کنیم :
yum search package
برای مشاهده اطلاعاتی در مورد یک بسته از این دستور استفاده می کنیم :
yum info package
برای پاک کردن cache که شامل بسته های rpm دانلود شده توسط yum است از این دستور استفاده می کنیم :
yum clean package1 packge2
برای پاک کردن همه فایل های header که سیستم برای حل پیش نیاز ها از آنها استفاده می کند از این دستور استفاده می کنیم :
yum clean headers
برای پاک کردن همه ی فایل های header و cache از این دستور استفاده می کنیم :
yum clean all
برخی از Option مدیریت بسته yum به شرح زیر می باشند :
برای غیرفعال کردن یک پلاگین :
disableplugin=plugin-name- –
برای فعال کردن یک پلاگین :
enableplugin=plugin-name- –
نکته اینکه به جای plugin-name باید اسم پلاگین را بنویسم.
برای غیرفعال کردن تمامی پلاگین های yum :
noplugins- –
برای اینکه چک کردن امضای بسته ها را غیرفعال کنیم از این option استفاده می کنیم :
nogpgcheck- –
برای غیر فعال کردن یک repo یا مخزن :
disablerepo=repo-name- –
برای فعال کردن یک repo یا مخزن :
enablerepo=repo-name- –
به جای repo-name باید نام مخزن را بنویسم.
اینها بیشترسوئیچ ها و option های فرمان yum بودن.برای آگاهی از تمامی دستورات با جزئیات کامل می تونید از این دستورات استفاده کنید :
yum – -help
man yum
امیدوارم این مطلب مورد استفاده شما قرار گرفته باشد.
عالی بود واقعا 🙂
خیلی عالی بود.
راستی
آقا حسین شما که تو فدورا تجربیاتتون خیلی زیاده اگه لطف کنید در مورد خطاهایی که ممکنه این برنامه بده و روش های حلشون بدین به نظرم می تونه برای کاربران تازه کار خیلی کارساز باشه.
سلام دوست من
خب ممکنه پیام خطاهای مختلفی رخ بده که مسلما پاسخ آنها هم متفاوت خواهد بود.
اگه پیام خطایی دریافت میکنید،میتونید اون رو اینجا بنویسید تا در صورت توان شما را راهنمایی کنیم.
موفق باشین
سلام
خیلی عالی بود!
سلام مهندس کارت عالیه ولی من هر کاری کردم نتونستم از روی سورس نصب کنم برنامه های که با فرمت tar.gzهستن به هیچ وجه نصب نمی شند یه راه حل ساده واسه ما تازه کارا هم بذارید بد نیست ممنون میشم کمکم کنید
درود بر شما
آره با Yum نمیشه همچین بسته هایی رو نصب کرد،چون مدیر بسته هست و داخل مخازن هم بسته های rpm هست و فقط اونها رو مدیریت میکنه.
سعی میکنم روش نصب بسته ها از روی سورس کد را بنویسم.
پیروز باشید
سلام
ممنون میشم قابلیت نسخه چاپی رو بازرید تا راحت تر پرینت بگیریم
ممنون
درود
علیرضا جان درست متوجه نشدم!میشه توضیح بدین!؟؟
aliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii bod
بعضی وقتا که دستور yum رو میزنم یه همچین اروری بهم میده:
Another app is currently holding the yum lock; waiting for it to exit…
The other application is: PackageKit
Memory : 323 M RSS (791 MB VSZ)
Started: Mon Jun 10 15:12:25 2013 – 1:41:56 ago
State : Sleeping, pid: 2229
به نظرتون مشکل کجاست؟
اگه کامپیوتر و خاموش و روشن کنم و سریع دستور رو بزنم مشکل رفع میشه. درضمن از فدورای ۱۵ استفاده میکنم.
درود بر شما
خب برنامه در پس زمینه با شماره پردازش 2229 همانطور که گفته در حال اجراست.
یا می تونید صبر کنید تا کارش تموم بشه بعد شما دستورات خودتون رو اجرا کنید یا اینکه اون پروسه رو پیدا کنید و اون رو kill کنید. مثلا با دستور kill 2229 که با کاربر root باید اجراش کنید اون پروسه رو به پایان می رسونه.
راستی چرا از فدورای نسخه بالاتر استفاده نمی کنید!؟
شاد و پیروز باشید
برای زمان بندی آپدیت سیستم واس کسایی که محدودیت دانلود دارن و ساعات خاصی رایگانه چه میشه کرد؟
سلام . با تشکر . من از لینوکس اوبونتو ۱۲.۰۴ استفاده میکنم . اما وقتی su -رو میزنم و بعدش سوردم رو اون علامت دالر ($) به علامت مربع # تبدیل نمیشه. باید چی کار کنم؟؟ این یغامو میده
su: Authentication failure
درود بر شما
اول اینکه باید پسورد root را بزنید و فکر کنم توی ابونتو باید sudo بزنید به جای اینکار و گذشته از اینها yum توی ابونتو نیست!
سلام من از لینوکس فدورا ۱۴ استفاده می کنم نمی دونم کنسول چیه و در کجا باید همچین چیزی رو بسازم
کنسول/ترمینال/شل همون خط فرمان است.توی منوهای میزکارتون بگردین پیداش می کنین.
خوب بود فقط اون دستور پلاگینها کار نمیکرد.
سلام
آقا ممنونم از زحماتتون .
خیلی خوب و مفید بود این پستتون.
با سلام
من تازه می خوام با yum آشنا بشم. اگه میشه یه کم راهنماییم کنید و بگید که اصلا چه جوری yum رو نصب یا اجرا کنم تو لینوکس. با تشکر
درود بر شما
yum به صورت پیش فرض روی فدورا نصب است.برای کار با yum همین مطلب را کامل مطالعه کنین
سلام من هردستوری رو در ترمینال واردمیکنم با این \یام مواجه میشم Loaded plugins: langpacks, refresh-packagekit
Error: Cannot retrieve metalink for repository: fedora/20/i386. Please verify its path and try again
توروخداکمکم کنید
مشکل از شبکه است که این چند وفته خرابش کردنه
سلام
من پلاگین local رو واسه بک آپ گیری از بسته های نصبی نصب کردم ولی حالا حجم زیادی از هاردیسک به همین بسته ها اختصاص یافته چون هم تووی پوشه کش هم پوشه مربوط به این پلاگین بسته ها باقی می مونن .از دستور clean استفاده کردم که کش پاک بشه ولی هیچ بسته ای حذف نشد .
می خوام تمام این بسته ها رو حذف کنم چه اونایی که تووی کش هستند چه اونایی که تووی پوشه این پلاگین هستند دستوری هست که راحت بتونم اینکار رو بکنم.
البته می خوام بعد از اون دوباره از پلاگین local واسه بسته های جدید که نصب میشه استفاده کنم
احتمالا گزینه ی keepcache را برابر با 1 گذاشتین توی فایل etc/yum.conf/
اگه از اون پلاگین استفاده میکنید نیازی به فعال کردن اون گزینه ندارید.
به هر حال می تونید به اون مسیرهایی که فایل های rpm ذخیره شدن برید و با دستور rm اونها رو پاک کنید.
[…] می شود که برای تغییر آن به ۲ نسخه کافیست فایل تنظیمات yum را باز کنید […]
[…] Yumex استفاده نمایید و یا اینکه با استفاده از این دستور yum سیستم خود را بروزرسانی نمایید […]
[…] می دهد را پیدا کرد.برای فهمیدن این موضوع کافیست تا از yum عزیز استفاده کنید و این دستور را اجرا نمایید […]
میگم راهی هست که هردفعه که میخوایم یه چیزی نصب کنیم
هیدرها رو آپدیت نکنه؟
مخصوصا هنگام استفاده از yum-downloader
ممنون میشم اگه راهی هستُ اطلاع بدید
[…] : برنامه مدیریت گرافیکی yum […]
سلام
من از فدورا 22 استفاده میکنم
وقتی yum رو اجرا میکنم این خطا رو میده
Traceback (most recent call last):
File “/usr/bin/dnf”, line 36, in
main.user_main(sys.argv[1:], exit_code=True)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 185, in user_main
errcode = main(args)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 84, in main
return _main(base, args)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 115, in _main
cli.configure(map(ucd, args))
File “/usr/lib/python2.7/site-packages/dnf/cli/cli.py”, line 973, in configure
self._configure_repos(opts)
File “/usr/lib/python2.7/site-packages/dnf/cli/cli.py”, line 725, in _configure_repos
self.base.read_all_repos(self.repo_setopts)
File “/usr/lib/python2.7/site-packages/dnf/base.py”, line 279, in read_all_repos
for repo in reader:
File “/usr/lib/python2.7/site-packages/dnf/conf/read.py”, line 48, in __iter__
for r in self._get_repos(repofn):
File “/usr/lib/python2.7/site-packages/dnf/conf/read.py”, line 85, in _get_repos
msg = str(e)
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u2013′ in position 476: ordinal not in range(128)
درود بر شما
دقیقا چه دستوری رو اجرا می کنید؟
جهت اطلاع باید بگم توی فدورا ۲۲ مدیر بسته ی پیش فرض dnf هست که جایگزین yum شده :
http://fedorafans.com/1394/03/19/4287/
با dnf هم همین اتفاق میوفته
مثلا
[root@localhost ~]# dnf update
Traceback (most recent call last):
File “/bin/dnf”, line 36, in
main.user_main(sys.argv[1:], exit_code=True)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 185, in user_main
errcode = main(args)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 84, in main
return _main(base, args)
File “/usr/lib/python2.7/site-packages/dnf/cli/main.py”, line 115, in _main
cli.configure(map(ucd, args))
File “/usr/lib/python2.7/site-packages/dnf/cli/cli.py”, line 973, in configure
self._configure_repos(opts)
File “/usr/lib/python2.7/site-packages/dnf/cli/cli.py”, line 725, in _configure_repos
self.base.read_all_repos(self.repo_setopts)
File “/usr/lib/python2.7/site-packages/dnf/base.py”, line 279, in read_all_repos
for repo in reader:
File “/usr/lib/python2.7/site-packages/dnf/conf/read.py”, line 48, in __iter__
for r in self._get_repos(repofn):
File “/usr/lib/python2.7/site-packages/dnf/conf/read.py”, line 85, in _get_repos
msg = str(e)
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u2013′ in position 476: ordinal not in range(128)
قبلش چیزی رو نصب یا دستکاری کردین!؟
دقیقا یادم نست داشتم مخزنهای Rpmfusion , Russianfedora رو نصب میکردم
یه دفعه این مخازن رو حذف کنین و فقط مخازن rpmfusion رو نصب کنین ببینید چطور میشه
thank’s
سلام
من همه ی repo هام باک شده خواهش داشتم یکی repo هاشو که توی / etc/yum.repos.d
برام بذاره
سیستم عاملمم :
fedora 21 64 bit
البته اگر سیستم عاملتون این نبود مهم نیست فقط fedora باشه
ممنون
[…] می توان با استفاده از ابزارهای مدیریت بسته از جمله yum آنها را نصب و استفاده […]
[…] راهنمای جامع مدیریت بسته Yum | طرفداران فدورا […]
سلام من از sentos7 استفاده میکنم اشتباهی این دایرکتوری رو پاک کردم etc/yum.repo.d
حالا چطوری مخازن پیشفرض رو دوباره بسازم؟
درود بر شما
از یه سیستم دیگه اونها رو کپی کنین و بزارید توی همون مسیر
ممنون که جواب دادی خودمم همین فکر بنظرم رسید ولی سیستم کی ؟:))
فایل rpm بسته centos-release را بر اساس نسخه و معماری سیستمتون رو به صورت دستی دانلود کنید و با دستور rpm اون رو نصب کنید.
سلام لطفا میشه یک ایمیل به من ارسال کنید می خواهم یک برنامه در فدورا اجرا کنم ممنون میشم کمکم کنید
درود بر شما
موضوع رو همینجا مطرح کنین لطفا