مدیریت بستههای RPM بخش دوم(3061 مجموع کلمات موجود در متن) (4995 بار مطالعه شده است)  نصب
بسته های rpm
برای
نصب بسته های rpm
با
استفاده از دستور rpm،
باید از روش زیر استفاده کنید :
$
rpm -i [option] package
package
نام
بسته rpm
است.
این
بسته ممکن است در مسیر جاری شما قرار داشته
باشد، یا در روی درایو CD-ROM
و یا
روی سایت FTP
.
|
توجه
:
در
صورتی که دستور نصب بستهای را صادر
کنید که روی سایت FTP
قرار
دارد، این بسته ابتدا از سایت دانلود
شده و سپس نصب میگردد.
|
همراه
با گزینه i
هنگام
نصب میتوانید از گزینههای زیر استفاده
نمایید:
-vv-
این
گزینه اطلاعات Debugging
را
هنگام نصب چاپ میکند.
با این
گزینه تمام آنچه را هنگام نصب رخ میدهد
خواهید دید.
-
h- فرایند
نصب بسته را بصورت تعدادی کاراکتر #
نشان
میدهد. این
کاراکترها در کنار هم تشکیل یک نوار پیشروی
(Progress bar)
را
میدهند که برای کسب اطلاعات از وضعیت نصب
بسته مفید است.
-
percent- درصد
پیشرفت نصب بسته را حین فرایند نصب چاپ
میکند.
قبل
از اینکه نصب بسته شروع شود، ابزار rpm
بررسیهایی
مبنی بر نصب بودن نسخه جدیدتر بسته و یا
بسته های دیگری که به آن نیاز میباشد
(Dependencies)
به عمل
میآورد.
در
صورتی که بستههای جدیدتر وجود داشته
باشد، بسته نصب نخواهد شد.
برای
عبور از این شرایط میتوانید از گزینه
های زیر استفاده کنید:
-
force-- با
استفاده حتی اگر بسته در حال نصب قدیمی
تر از بسته نصب شده باشد، نصب خواهد شد.
این
کار فایلهای جدیدتر را با فایلهای قدیمی
تر جایگزین خواهد کرد.
این
گزینه مشابه استفاده از گزینه های
oldpackage،
rplacefiles و
replacepkgs
است.
-
nodeps-- بسته
های مورد نیاز برا نادیده گرفته و بسته
را نصب میکند.
البته
ممکن است بسته ای که اینگونه نصب شود، کار
نکند.
-
ignorearch-- با
استفاده از این گزینه اگر بسته با معماری
پردازنده شما سازگاری نداشته باشد نیز
نصب خواهد شد.
-
ignoreos-- در
صورتی که بسته با سیستم عامل کامپیوترتان
سازگاری نداشته باشد، نصب خواهد شد.
مثال
زیر چگونگی نصب یک بسته را نشان میدهد
:
$
rpm -i audiofile-devel-0.6-1.i386.rpm
من
شخصا ترجیح میدهد هنگام نصب بسته مطلع
باشم که چه چیزی رخ میدهد.
برای
این کار معمولا گزینه vv
را هم
اضافه میکنم:
$
rpm -ivv audiofile-devel-0.6-1.i386.rpm D: counting packages
to install D: found 1 packages D: looking for packages to
download D: retrieved 0 packages D: New Header signature D:
Signature size: 160 ...
با
استفاده از یک خروجی اینچنینی میتوانید
به تمام جزئیات عملیاتی که هنگام نصب بسته
انجام میشود ، پی ببرید.
راه
دیگری که میتوانید بررسی کنید که آیا
بسته به درستی نصب شده است یا خیر استفاده
از گزینه h
است.
به
مثال زیر توجه کنید :
$
rpm -ivh audiofile-devel-0.6-1.i386.rpm audiofile-devel
[###################################]100%
بوسیله
این گزینه، همانطور که میبینید تعدادی
کاراکتر #
روی
صفحه ترمینال چاپ میشود که بیانگر صحت
نصب بسته است.
همانطور
که دیدید در صورتی که اشکالی وجود نداشته
باشد، نصب بسته های rpm
بسیار
آسان است.
برخی
اوقات ممکن است در نصب بسته ها اشکالاتی
ایجاد شود که نمونه هایی از آنها در زیر
شرح داده شده اند.
-خطای
بسته های مورد نیاز (Package
dependencies errors) : در
صورتی که بستههایی که نصب میکنید،
برای کارکرد صحیح به بستههای دیگری
نیاز داشته باشند، این خطا را دریافت
خواهید کرد.
برای
حل این مشکل کافی است که بستههای مورد
نیاز را نیز تهیه کرده و قبل از نصب بسته
اصلی آنها را نصب کنید.
البته
همانطور که در بالا شرح داده شد، میتوانید
rpm را
مجبور کنید تا بسته های مورد نیاز را
بررسی نکند، ولی این کار به هیچ وجه توصیه
نمی شود زیرا بسته نصب شده کار نخواهد
کرد.
-
خطاهای
کاربر غیر ریشه :
در
صورتی که در حالت کاربر ریشه نباشید و
دستور rpm
را با
گزینه i
اجرا
کنید، این خطاها را دریافت خواهید کرد.
برای
رفع این مشکل کافی است با استفاده از
دستور su
بصورت
کاربر ریشه وارد شوید.
ارتقا
بسته های rpm
گزینه
ارتقا یا U
بسیار
شبیه به گزینه نصب بسته جدید میباشد.
با این
تفاوت که ابتدا بسته قدیمی را از روی سیستم
برداشته و سپس بسته جدید را نصب میکند.
به
روش زیر توجه کنید :
$
rpm -U [options] package
ممکن
است پس از نصب بسته جدید، به دلایلی
نرمافزار مربوطه کار نکند.
برای
بازگشت به حالت قبلی و نصب بسته قدیمی تر
باید از گزینه oldpackage
استفاده
نمایید.
برای
روشن شدن مطلب به مثال زیر توجه کنید :
$
rpm -U --oldpackage audiofile-devel-0.5-3.i386.rpm
در
صورتی که بسته جدیدتر نصب باشد، از روی
سیستم برداشته شده و بسته قدیمی تر نصب
خواهد شد.
|
نکته
: از
گزینه U
میتوانید
چه برای نصب جدید بجای گزینه i
و
چه برای ارتقا استفاده نمایید.
گزینه
U همیشه
کار خواهد کرد.
ولی
گزینه i
در
صورتی که بسته قبلا نصب شده باشد، کار
نخواهد کرد.
|
حذف
بسته های rpm
در
صورتی که دیگر به یک بسته نیازی ندارید و
میخواهید برای آزاد شدن فضای دیسک سخت
خود آنرا از روی سیستم برداشته و حذف
نمایید، باید از گزینه e
استفاده
نمایید.
روش
این کار به صورت زیر است :
$
rpm -e package
در
صورتی که هیچ بسته ای به بسته مورد نظر
نیازی نداشته باشد، بسته از روی سیستم
حذف خواهد شد.
ممکن
است قبل از حذف بسته بخواهید این امر را
بررسی نمایید.
برای
این کار باید از گزینه q
استفاده
کنید. با
استفاده از این گزینه میتوانید بررسی
های مختلفی انجام داده و اطلاعات با ارزشی
بدست آورید.
برای
بررسی اینکه بسته مورد نظر، مورد نیاز
بسته ای میباشد یا خیر، از روش زیر
استفاده کنید :
$
rpm -q --whatrequires package
در
صورتی که تصمیم گرفتید تا بستهای را حذف
نمایید، من توصیه میکنم تا از گزینه vv
به
همراه گزینه e
استفاده
کنید. این
کار به شما نشان میدهد که آیا واقعا
فایلهای بسته حذف شده اند یا خیر..
بدلیل
اینکه معمولا در این موارد خروجی طولانی
خواهد بود و از صفحه ترمینال فراتر خواهد
رفت، میتوانید خروجی را از طریق لوله
بندی به یک برنامه دیگر و یا یک فایل هدایت
نمایید.
به
مثال زیر توجه کنید:
$
rpm -evv xpilot | more
در
مثال بالا خروجی rpm
به
برنامه more
هدایت
میشود و از طریق آن میتوانید خروجی را
بصورت صفحه به صفحه مطالعه نمایید.
برای
این کار میتوانید از کلید Space
استفاده
کنید.
سایر
گزینه هایی که میتوانید همراه با گزینه
e برای
نادیده گرفتن شرایطی که مانع حذف شدن یک
بسته میشوند، استفاده کنید به شرح زیر
هستند :
nodeps--
بسته
را بدون توجه به سایر بسته هایی که به آن
نیاز دارند حذف میکند.
nodcripts--
بسته
را بدون اجرای هر گونه اسکریپتی حذف میکند.
برای
اینکه مطمئن شوید هنگام برداشتن بسته چه
اتفاقاتی رخ میدهد، میتوانید با استفاده
از گزینه test
فقط
برداشتن بسته را شبیه سازی نمایید.
با این
کار مشکلات احتمالی را مشاهده خواهید کرد
و بهتر میتوانید آنها را رفع کنید.
همراه
با گزینه test
هم
میتوانید از vv
استفاده
کنید . به
مثال زیر توجه کنید :
$
rpm -evv –test xpilot | more
در
صورتی که همه چیز به خوبی پیش رفت، میتوانید
دستور خود را بدون گزینه test
اجرا
نمایید تا بسته از روی سیستم برداشته شود.
بدست
آوردن اطلاعات از بسته های rpm
با
استفاده از گزینه q
میتوانید
اطلاعات با ارزشی را از بسته های rpm
دریافت
نمایید.
این
اطلاعات میتواند از لیست بسته های نصب
شده تا اطلاعات جزئی هر بسته متغییر باشد.
روش
استفاده از این گزینه به صورت زیر است :
$
rpm -q [options]
اطلاعات
مفیدی که میتوانید با استفاده از این
گزینه بدست آورید به شرح زیر هستند :
qa-
لیستی
از بستههای نصب شده را نمایش میدهد.
qf
file- بستهای
که یک فایل خاص به آن تعلق دارد را چاپ
میکند.
بجای
file باید
مسیر کامل فایل مورد نظر را تایپ کنید و
در صورتی که فایل در دایرکتوری جاری قرار
دارد، تنها کافی است که نام فایل را تایپ
کنید.
qi-
اطلاعات
جزئی یک بسته را چاپ میکند.
qR-
اجزای
مورد نیاز بسته را چاپ میکند.
ql-
لیست
فایلهایی که در بسته قرار دارند را چاپ
میکند.
qd-
مستنداتی
که در بسته وجود دارند را چاپ میکند.
qc-
فایلهای
پیکربندی که در بسته قرار دارند را چاپ
میکند.
همانطوری
که در بالا گفته شد برای لیست کردن تمام
بسته های موجود روی کامپیوترتان میتوانید
از گزینه qa
استفاده
کنید. بدلیل
اینکه این لیست بسیار طولانی خواهد بود،
میتوانید خروجی آنرا به یک فایل هدایت
نموده و یا با استفاده از دستور grep
بسته
های مورد تیازتان را پیدا کنید.
برای
روشن شدن مطلب به مثالهای زیر توجه کنید
:
$
rpm -qa > myPackages $ rpm -qa | grep -i
php phpdoc-4.0.6-133 mod_php4-4.1.0-104 mod_php4-core-4.1.0-104
در
مثال اول خروجی دستور به فایلی به نام
myPackages
هدایت
میشود.
این
فایل یک فایل متنی است که میتوانید آنرا
در یک ویرایشگر متنی مانند gedit
یا vi
مشاهده
کنید. در
مثال دوم، خروجی دستور به فیلتر grep
هدایت
شده و خواسته میشود تا نامهای حاوی php
نمایش
داده شوند.
نتیجه
وجود سه بسته نصب شده است.
در
صورتی که به اطلاعات جزئی در مورد یک بسته
خاص نیاز داشتید، میتوانید از گزینه qi
استفاده
کنید. به
مثال زیر توجه کنید :
$
rpm -qi phpdoc Name : phpdoc
Relocations: (not relocateable) Version : 4.3.2
Vendor: Red Hat, Inc. Release : 133
Build Date: Sat 23 Mar 2002 11:30:27 AM PST Install
date : Thu 12 Jun 2003 11:55:13 AM PDT Build Host:
devel.redhat.com Size : 8592660 License: the PHP
Group Description : Documentation to PHP as HTML, PDF and RTF.
برای
کسب اطلاعات از محتوای یک بسته، باید از
گزینه ql
استفاده
کنید.مثال
زیر محتویات بسته phpdoc
را
نمایش میدهد :
$
rpm -ql
phpdoc /usr/share/doc/packages/phpdoc/manual/x61684.html /usr/share/doc/packages/phpdoc/manual/x61688.html /usr/share/doc/packages/phpdoc/manual/x61694.html /usr/share/doc/packages/phpdoc/manual/x61720.html ...
آیا
دوست دارید بدانید که همراه یک بسته خاص
چه مستنداتی ارائه شده است؟ کافی است از
گزینه qd
استفاده
کنید. با
این کار میتوانید به محل مستندات یک
برنامه به راحتی پی ببرید.
به
مثال زیر توجه کنید :
$
rpm -qd
ppp /usr/share/doc/packages/ppp/FAQ /usr/share/doc/packages/ppp/README /usr/share/doc/packages/ppp/README.cbcp /usr/share/doc/packages/ppp/README.linux ...
بیشتر
بسته های نرمافزاری به همراه خود چندین
فایل پیکربندی دارند .
برای
پیدا کردن آنها باید از گزینه qc
استفاده
کنید. به
مثال زیر توجه کنید :
$
rpm -qc
ppp /etc/pam.d/ppp /etc/ppp/chap-secrets /etc/ppp/options /etc/ppp/pap-secrets ...
در صورتی که
نیاز دارید بدانید که یک فایل یا برنامه
خاص به کدام بسته تعلق دارد، میتوانید
از گزینه qf
استفاده
نمایید.
به
مثال زیر توجه کنید:
$ rpm -qf
/usr/bin/wvdial wvdial-1.52-136
بررسی صحت
نصب بسته های rpm
گاهی اوقات
مدتی پس از نصب یک بسته به نظر میرسد که
نرمافزار مربوطه بطور صحیح کار نمیکند.
برای
بررسی اینکه تمام محتویات یک بسته بدون
تغییر باقی مانده اند یا خیر، باید از
گزینه V
استفاده
نمایید.
اطلاعات
هر بسته نصب شده در بانک اطلاعات rpm
کامپیوترتان
ذخیره میشود.
بوسیله
گزینه V
میتوانید
بررسی کنید که فایلهای مربوط به بسته دچار
تغییر نشده باشند.
هنگامی که از
این گزینه استفاده میکنید تعداد زیادی
آزمایش سایز فایلها و مجوزهای آنها صورت
میگیرد.
در
صورتی که تمام فایلها بدون مشکل باشند،
شما هیچ خروجی از دستور مشاهده نخواهید
کرد. تمام
بخشهایی که پس از نصب بسته دچار تغییر شده
باشند، همراه با چگونگی تغییر آنها چاپ
خواهند شد.
به
مثال زیر توجه کنید:
$
rpm -V ppp S.5......T c /etc/ppp/chap-secrets S.5......T c
/etc/ppp/pap-secrets
خروجی مثال
بالا نشان میدهد که از بسته ppp
(نرمافزاری
که برای ایجاد تماس dialup
با
اینترنت به کار میرود)
پس از
نصب۲ تغییر در فایلهایش داشته است.
حرف S
نشاندهنده
تغییر در اندازه فایل، عدد ۵ نشان دهنده
تغییر در ترکیب MD5
فایل،
حرف T
نشاندهنده
تغییر در زمان تغییر فایل و حرف c
نشان
میدهد که این فایلها فایلهای پیکربندی
هستند. با
بررسی فایلها متوجه میشویم که تغییرات
اعلام شده، تغییراتی است که خود من برای
تنظیم برنامه ppp
انجام
دادهام.
پس
بسته ppp
مشکلی
ندارد.
علائم
نشاندهنده ای که با این گزینه با آنها
برخورد خواهید کرد عبارتند از :
5 : نشانگر
تغییر در MD5
checksum است.
نشاندهنده
ایجاد تغییراتی در محتوای یک فایل میباشد.
S : نشانگر
تغییر در اندازه فایل میباشد.
L : نشانگر
این است که فایل تبدیل به یک لینک ظاهری
(Symbolic) به
فایل دیگری شده است.
T : زمان
تغییر فایل را نشان میدهد.
D : فایل
مورد نظر تبدیل به یک فایل مخصوص ابزار
(Device Special
File) شده
است.
U : کاربر
مالک فایل تغییر کرده است.
G : گروه
کاربری فایل تغییر کرده است.
M : مالکیت
یا مجوزهای دسترسی به فایل تغییر کرده
است. |