راهنمای جامع مدیریت بسته Yum

yum

 

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

 

امیدوارم این مطلب مورد استفاده شما قرار گرفته باشد.

 

 

 

۴۰ دیدگاه

  • Vampir3 :

    عالی بود واقعا 🙂

  • لینوکس :

    خیلی عالی بود.

  • لینوکس :

    راستی
    آقا حسین شما که تو فدورا تجربیاتتون خیلی زیاده اگه لطف کنید در مورد خطاهایی که ممکنه این برنامه بده و روش های حلشون بدین به نظرم می تونه برای کاربران تازه کار خیلی کارساز باشه.

    • hos7ein :

      سلام دوست من
      خب ممکنه پیام خطاهای مختلفی رخ بده که مسلما پاسخ آنها هم متفاوت خواهد بود.
      اگه پیام خطایی دریافت میکنید،میتونید اون رو اینجا بنویسید تا در صورت توان شما را راهنمایی کنیم.
      موفق باشین

  • فرشاد :

    سلام
    خیلی عالی بود!

  • sam :

    سلام مهندس کارت عالیه ولی من هر کاری کردم نتونستم از روی سورس نصب کنم برنامه های که با فرمت 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
    به نظرتون مشکل کجاست؟
    اگه کامپیوتر و خاموش و روشن کنم و سریع دستور رو بزنم مشکل رفع میشه. درضمن از فدورای ۱۵ استفاده میکنم.

    • درود بر شما
      خب برنامه در پس زمینه با شماره پردازش ۲۲۲۹ همانطور که گفته در حال اجراست.
      یا می تونید صبر کنید تا کارش تموم بشه بعد شما دستورات خودتون رو اجرا کنید یا اینکه اون پروسه رو پیدا کنید و اون رو kill کنید. مثلا با دستور kill 2229 که با کاربر root باید اجراش کنید اون پروسه رو به پایان می رسونه.
      راستی چرا از فدورای نسخه بالاتر استفاده نمی کنید!؟
      شاد و پیروز باشید

  • kourosh :

    برای زمان بندی آپدیت سیستم واس کسایی که محدودیت دانلود دارن و ساعات خاصی رایگانه چه میشه کرد؟

  • محسن :

    سلام . با تشکر . من از لینوکس اوبونتو ۱۲.۰۴ استفاده میکنم . اما وقتی su -رو میزنم و بعدش ‍سوردم رو اون علامت دالر ($) به علامت مربع # تبدیل نمیشه. باید چی کار کنم؟؟ این ‍یغامو میده
    su: Authentication failure

  • حسین یوسفی :

    سلام من از لینوکس فدورا ۱۴ استفاده می کنم نمی دونم کنسول چیه و در کجا باید همچین چیزی رو بسازم

  • حمید :

    خوب بود فقط اون دستور پلاگینها کار نمی‌کرد.

  • ناصر :

    سلام
    آقا ممنونم از زحماتتون .
    خیلی خوب و مفید بود این پستتون.

  • hasti :

    با سلام
    من تازه می خوام با yum آشنا بشم. اگه میشه یه کم راهنماییم کنید و بگید که اصلا چه جوری yum رو نصب یا اجرا کنم تو لینوکس. با تشکر

  • hooman :

    سلام من هردستوری رو در ترمینال واردمیکنم با این \یام مواجه میشم Loaded plugins: langpacks, refresh-packagekit
    Error: Cannot retrieve metalink for repository: fedora/20/i386. Please verify its path and try again
    توروخداکمکم کنید

  • majid :

    سلام
    من پلاگین local رو واسه بک آپ گیری از بسته های نصبی نصب کردم ولی حالا حجم زیادی از هاردیسک به همین بسته ها اختصاص یافته چون هم تووی پوشه کش هم پوشه مربوط به این پلاگین بسته ها باقی می مونن .از دستور clean استفاده کردم که کش پاک بشه ولی هیچ بسته ای حذف نشد .
    می خوام تمام این بسته ها رو حذف کنم چه اونایی که تووی کش هستند چه اونایی که تووی پوشه این پلاگین هستند دستوری هست که راحت بتونم اینکار رو بکنم.
    البته می خوام بعد از اون دوباره از پلاگین local واسه بسته های جدید که نصب میشه استفاده کنم

    • احتمالا گزینه ی keepcache را برابر با ۱ گذاشتین توی فایل etc/yum.conf/
      اگه از اون پلاگین استفاده میکنید نیازی به فعال کردن اون گزینه ندارید.
      به هر حال می تونید به اون مسیرهایی که فایل های rpm ذخیره شدن برید و با دستور rm اونها رو پاک کنید.

  • […] می شود که برای تغییر آن به ۲ نسخه کافیست فایل  تنظیمات yum را باز کنید […]

  • […] Yumex استفاده نمایید و یا اینکه با استفاده از این دستور yum سیستم خود را بروزرسانی نمایید […]

  • […] می دهد را پیدا کرد.برای فهمیدن این موضوع کافیست تا از yum عزیز استفاده کنید و این دستور را اجرا نمایید […]

  • مصطفی :

    میگم راهی هست که هردفعه که میخوایم یه چیزی نصب کنیم
    هیدرها رو آپدیت نکنه؟
    مخصوصا هنگام استفاده از yum-downloader
    ممنون میشم اگه راهی هستُ اطلاع بدید

  • mohammad :

    سلام
    من از فدورا ۲۲ استفاده میکنم
    وقتی 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/

      • mohammad :

        با dnf هم همین اتفاق میوفته
        مثلا

        [[email protected] ~]# 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)

  • amirmohammadeftekhar :

    سلام
    من همه ی repo هام باک شده خواهش داشتم یکی repo هاشو که توی / etc/yum.repos.d
    برام بذاره
    سیستم عاملمم :
    fedora 21 64 bit
    البته اگر سیستم عاملتون این نبود مهم نیست فقط fedora باشه
    ممنون

  • […] می توان با استفاده از ابزارهای مدیریت بسته از جمله yum آنها را نصب و استفاده […]

دیدگاه شما چیست؟