۱۳۸۶ اردیبهشت ۲۰, پنجشنبه

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

نصب از 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 بسته های مورد نظرتون رو نصب کنید.

بروررسانی آموزش برای فدورا 7:
تذکر :
در فدورا 7 در زمان نصب بسته ها به خطایی شبیه زیر بر خواهید خورد :
File "/usr/bin/yum", line 29, in
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 نصب شده بر روی فدورا 7 بوجود می آید, برای حل این مشکل ابتدا بسته yum فعلی را حذف و آخرین نسخه yum را نصب می کنیم :
حذف بسته قدیمی
rpm -e yum

دانلود ورژن جدید
wget http://koji.fedoraproject.org/packages/yum/3.2.7/1.fc7/noarch/yum-3.2.7-1.fc7.noarch.rpm

نصب بسته جدید
rpm -ivh yum-3.2.7-1.fc7.noarch.rpm

حال با خیال راحت به نصب بسته ها در فدورا 7 بپردازید.

هیچ نظری موجود نیست: