حل مشکل نصب بسته ها در فدورا به وسیله Add/Remove یا YUM

0

نصب برنامه ها از طریق DVD

دو راه وجود دارد ،یا اینکه تنظیم کنید همیشه از روی dvd نصب کند ، یعنی همیشه باید dvd دم دستتون باشه یا اینکه 3 گیگ فضای خالی دارید و میخواید با خیال راحت همیشه از روی هاردتون بسته ها نصب بشود
در کل فرق چندانی برای تنظیم ندارند فقط اینکه برای نصب از روی هارد از روی dvd یک iso تهیه کنید.
  • مراحل انجام کار

1-ساختن دایرکتوری مورد نیاز برای dvd

mkdir   -p   /repo/dvd
2-مونت کردن DVD
mount   -ro  loop   /dev/hdb   /repo/dvd
اگر فایل iso تهیه کردید بدین ترتیب(فرض میکنم این فایل در repo هست)
mount   -ro   loop   /repo/fc-dvd.iso   /repo/dvd
همچنین تنظیم میکنیم که همیشه در موقع بوت سیستم dvd به دایرکتوری مورد نظر مونت شود
nano   /etc/fstab
این خط رو به انتهای فایل اضافه کنید
/dev/hdb   /repo/dvd   ro,loop   0   0
یا
/repo/fc-dvd.iso   /repo/dvd   ro,loop   0   0
3-محتوای دایرکتوری /etc/yum.repos.d رو به مکانی دیگر منتقل میکنیم
mv  /etc/yum.repos.d/*   /repo/yum.repos.d
4-
cd   /etc/yum.repos.d
 touch   fedora-core.repo
 nano   fedora-core.repo
این کانفیک را در فایل قرار دهید
[PersianAdmins]
name= Fedora Core local repo
baseurl=file:///repo/dvd
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
file:///etc/pki/rpm-gpg/RPM-GPG-KEY

اگر از این دو فایل RPM-GPG-KEY-fedora و RPM-GPG-KEY ایراد گرفت میتونید ار توی dvd کپیشون کنید به دایرکتوری مورد نظر

5-

yum    --enablerepo=*    update
از الان با خیال راحت چه با Add/Remove و چه با دستور yum بسته های مورد نظرتون رو نصب کنید.

نصب برنامه ها از طریق CD

امکان تست این روش به علت نداشتن cdهای فدورا برای من مقدور نیست.برای نصب از روی cd باید 3 گیگ فضای خالی بر روی هارد داشته باشید.

  • مراحل انجام کار :

1-یک دایرکتوری برای ذخیره بسته ها میسازیم و بسته ها را از cd های فدورا به روش زیر کپی میکنیم

# mkdir -p /repo/RPMS
# cd /repo/repo
# mkdir disc1 disc2 disc3 disc4 disc5
# mount -r -o loop /repo/FC-5-i386-disc1.iso disc1
# mount -r -o loop /repo/FC-5-i386-disc2.iso disc2
# mount -r -o loop /repo/FC-5-i386-disc3.iso disc3
# mount -r -o loop /repo/FC-5-i386-disc4.iso disc4
# mount -r -o loop /repo/FC-5-i386-disc5.iso disc5
# cp disc*/Fedora/RPMS/* RPMS
# cp disc1/repodata/comps.xml

2-دیگه به cd ها نیاز ندارید پس از حالت مونت خارج و دایرکتوری هایی که برای مونت ساخته بودیم رو پاک میکنیم

# umount disc1 disc2 disc3 disc4 disc5
# rmdir disc1 disc2 disc3 disc4 disc5

3-repository metadata رو میسازیم

# rpm -Uvh RPMS/createrepo*
# createrepo -g comps.xml .
4-محتوای دایرکتوری /etc/yum.repos.d رو به مکانی دیگر منتقل میکنیم
mv   /etc/yum.repos.d/*   /repo/yum.repos.d
5-
cd   /etc/yum.repos.d
 touch   fedora-core.repo
 nano   fedora-core.repo
این کانفیک را در فایل قرار دهید
[PersianAdmins]
name= Fedora Core local repo
baseurl=file:///repo/RPMS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
file:///etc/pki/rpm-gpg/RPM-GPG-KEY

6-

yum    --enablerepo=*    update
هم اکنون با خیال راحت چه با Add/Remove و چه با دستور yum بسته های دلخواهتان را نصب کنید.

بروررسانی آموزش :
تذکر :
در زمان نصب بسته ها در فدورا ، ممکن است با خطایی مانند زیر مواجه شوید :

File "/usr/bin/yum", line 29, in <module>
 yummain.main(sys.argv[1:])
 File "/usr/share/yum-cli/yummain.py", line 82, in main
 base.getOptionsConfig(args)
 File "/usr/share/yum-cli/cli.py", line 154, in getOptionsConfig
 disabled_plugins=opts.disableplugins)
 File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 159, in _getConfig
 self._conf = config.readMainConfig(startupconf)
 File "/usr/lib/python2.5/site-packages/yum/config.py", line 611, in readMainConfig
 yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
 File "/usr/lib/python2.5/site-packages/yum/config.py", line 678, in _getsysver
 idx = ts.dbMatch('provides', distroverpkg)
این مشکل به علت باگ موجود در  yum نصب شده بر روی بعضی نسخه های فدورا بوجود می آید, برای حل این مشکل ابتدا بسته yum فعلی را حذف و آخرین نسخه yum را نصب می کنیم :
حذف بسته قدیمی:

rpm   -e   yum
دانلود نسخه جدید :
نسخه جدید را از آدرس زیر دانلود کنید
http://kojipkgs.fedoraproject.org/packages/yum
با دستور wget بدین صورت فایل را دانولد کنید ( آدرس فایل برای مثال می باشد ) :
wget    http://kojipkgs.fedoraproject.org/packages/yum/3.2.23/3.fc12/noarch/yum-3.2.23-3.fc12.noarch.rpm

نصب بسته جدید

rpm    -ivh    yum-3.2.23-3.fc12.noarch.rpm
یا از همان ابتدا با این دستور بسته yum را بروز کنید :
rpm    -U    yum-3.2.23-3.fc12.noarch.rpm
حال با خیالی آسوده به نصب بسته ها در فدورا بپردازید.

نگارنده : رضا بهروزی

نظرات مسدود است.