راهنمای جامع مدیریت بسته 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

 

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

 

 

 

46 نظرات
  1. Vampir3 می گوید

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

  2. لینوکس می گوید

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

  3. لینوکس می گوید

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

    1. hos7ein می گوید

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

  4. فرشاد می گوید

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

  5. sam می گوید

    سلام مهندس کارت عالیه ولی من هر کاری کردم نتونستم از روی سورس نصب کنم برنامه های که با فرمت tar.gzهستن به هیچ وجه نصب نمی شند یه راه حل ساده واسه ما تازه کارا هم بذارید بد نیست ممنون میشم کمکم کنید

    1. hos7ein می گوید

      درود بر شما
      آره با Yum نمیشه همچین بسته هایی رو نصب کرد،چون مدیر بسته هست و داخل مخازن هم بسته های rpm هست و فقط اونها رو مدیریت میکنه.
      سعی میکنم روش نصب بسته ها از روی سورس کد را بنویسم.
      پیروز باشید

  6. علیرضا جهانی فرد می گوید

    سلام
    ممنون میشم قابلیت نسخه چاپی رو بازرید تا راحت تر پرینت بگیریم
    ممنون

    1. hos7ein می گوید

      درود
      علیرضا جان درست متوجه نشدم!میشه توضیح بدین!؟؟

  7. عدنان می گوید

    aliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii bod

  8. مهسا می گوید

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

    1. hos7ein می گوید

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

  9. kourosh می گوید

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

  10. محسن می گوید

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

    1. hos7ein می گوید

      درود بر شما
      اول اینکه باید پسورد root را بزنید و فکر کنم توی ابونتو باید sudo بزنید به جای اینکار و گذشته از اینها yum توی ابونتو نیست!

  11. حسین یوسفی می گوید

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

    1. hos7ein می گوید

      کنسول/ترمینال/شل همون خط فرمان است.توی منوهای میزکارتون بگردین پیداش می کنین.

  12. حمید می گوید

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

  13. ناصر می گوید

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

  14. hasti می گوید

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

    1. hos7ein می گوید

      درود بر شما
      yum به صورت پیش فرض روی فدورا نصب است.برای کار با yum همین مطلب را کامل مطالعه کنین

  15. hooman می گوید

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

    1. hos7ein می گوید

      مشکل از شبکه است که این چند وفته خرابش کردنه

  16. majid می گوید

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

    1. hos7ein می گوید

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

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

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

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

  20. مصطفی می گوید

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

  21. […] : برنامه مدیریت گرافیکی yum  […]

  22. mohammad می گوید

    سلام
    من از فدورا 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)

    1. hos7ein می گوید

      درود بر شما
      دقیقا چه دستوری رو اجرا می کنید؟
      جهت اطلاع باید بگم توی فدورا ۲۲ مدیر بسته ی پیش فرض dnf هست که جایگزین yum شده :
      http://fedorafans.com/1394/03/19/4287/

      1. mohammad می گوید

        با 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)

        1. hos7ein می گوید

          قبلش چیزی رو نصب یا دستکاری کردین!؟

          1. mohammad می گوید

            دقیقا یادم نست داشتم مخزنهای Rpmfusion , Russianfedora رو نصب میکردم

          2. hos7ein می گوید

            یه دفعه این مخازن رو حذف کنین و فقط مخازن rpmfusion رو نصب کنین ببینید چطور میشه

  23. husein می گوید

    thank’s

  24. amirmohammadeftekhar می گوید

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

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

  26. چگونه EPEL Repository را فعال کنیم؟ | حامی برنامه|خرید|سرگرمی|اینترنت|دانلود

    […] راهنمای جامع مدیریت بسته Yum | طرفداران فدورا […]

  27. hosein می گوید

    سلام من از sentos7 استفاده میکنم اشتباهی این دایرکتوری رو پاک کردم etc/yum.repo.d
    حالا چطوری مخازن پیشفرض رو دوباره بسازم؟

    1. hos7ein می گوید

      درود بر شما
      از یه سیستم دیگه اونها رو کپی کنین و بزارید توی همون مسیر

      1. hosein می گوید

        ممنون که جواب دادی خودمم همین فکر بنظرم رسید ولی سیستم کی ؟:))

        1. hos7ein می گوید

          فایل rpm بسته centos-release را بر اساس نسخه و معماری سیستمتون رو به صورت دستی دانلود کنید و با دستور rpm اون رو نصب کنید.

  28. انیس می گوید

    سلام لطفا میشه یک ایمیل به من ارسال کنید می خواهم یک برنامه در فدورا اجرا کنم ممنون میشم کمکم کنید

    1. hos7ein می گوید

      درود بر شما

      موضوع رو همینجا مطرح کنین لطفا

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.