Yum : از پیکربندی تا مخازن
Yum یا Yellow dog Updater, Modified مدیر بستهی سیستمهای ردهت، فدورا و سنت او اس به بهترین نحو ممکن تمام کارهای مربوط به نصب، بروزرسانی و حذف بستهها را برای شما انجام میدهد. Yum امکان تشخیص خودکار وابستگیهای بستهها را هم دارد و کار با بستهها را برای شما بسیار آسان میکند.
۱- پیکربندی
Yum تنظیمات خود را در مسیر etc/yum.conf/ نگهمیدارد. این فایل حاوی گزینههای زیادی برای شخصی سازی yum است که شرح مهمترین آنها را در زیر میبینید.
اگر فایل yum.conf را با یک ویرایشگر مثل vi یا gedit باز کنید چیزی شبیه به خروجی زیر را خواهید دید.
1. [main]
2. cachedir=/home/ali/rpm/yum
3. keepcache=1
4. debuglevel=2
5. logfile=/home/ali/rpm/yum/log/yum.log
6. exactarch=1
7. obsoletes=1
8. gpgcheck=1
9. plugins=1
10. installonly_limit=3
11. # This is the default, if you make this bigger yum won't see if the metadata
12. # is newer on the remote and so you'll "gain" the bandwidth of not having to
13. # download the new metadata and "pay" for it by yum not having correct
14. # information.
15. # It is esp. important, to have correct metadata, for distributions like
16. # Fedora which don't keep old packages around. If you don't like this checking
17. # interupting your command line usage, it's much better to have something
18. # manually check the metadata once an hour (yum-updatesd will do this).
19. metadata_expire=7d
20. # PUT YOUR REPOS HERE OR IN separate files named file.repo
21. # in /etc/yum.repos.d
خط دوم فایل مربوط به محل نگهداری بستههای دانلود شده و اطلاعات مخازن است که توسط yum استفاده میشود. این مسیر برای شما در tmp/ قرار دارد. من این مسیر را به پوشهی خانگی خودم منتقل کردهام.
خط سوم مربوط به نگهداری یا حذف بستههای دانلود شده توسط yum است که به طور پیش فرض مقدار آن صفر است، یعنی yum بستههای دانلود شده را پس از نصب حذف میکند. برای نگهداشتن این بستهها مقدار این خط را برابر یک قرار دهید.
خط پنجم مسیر نگهداری فایل yum.log را مشخص میکند. این فایل گزارشهای yum را در بر دارد که برای بررسیهای بعدی ممکن است مفید باشد.
خط هشتم مشخص میکند که yum عملیات gpgcheck را انجام دهد یا نه. با این کار بستهها پیش از نصب اعتبارسنجی خواهند شد. امکان تنظیم این گزینه برای مخازن به صورت جداگانه هم وجود دارد.
خط نهم فعال بودن یا غیرفعال بودن پلاگینهای yum را مشخص میکند.
خط بیستم زمان آپدیت کردن لیست بستههای مخازن را مشخص میکند. برای مثال من این مقدار را به 7d یعنی هر هفت روز یکبار تنظیم کردهام. برای اینکه لیست بستههای مخازن هیچ وقت بروز نشوند میتوانید مقدار این خط را برابر با صفر قرار دهید. البته این کار به هیچ وجه توصیه نمیشود. فراموش نکنید که علامت # ابتدای این خط را بردارید تا به عنوان کامنت در نظر گرفته نشود.
در انتهای این فایل میتوانید مخازن خود را نیز اضافه کنید. اما بهتر است برای هر مخزن از فایل repo جداگانه ای استفاده کنید.
۲- مخازن
yum اطلاعات مربوط به مخازن خود را در فایلهایی با پسوند repo. نگهداری میکند. خروجی دستور yum repoliost اطلاعاتی مفید راجع به مخازن فعال yum به شما میدهد.
[ali@silver]~% yum repolist
repo id repo name status
fedora/19/x86_64 Fedora 19 - x86_64 36,253
myrepo My Repo 1,912
rpmfusion-free/19/x86_64 RPM Fusion for Fedora 19 - Free 462
rpmfusion-free-updates/19/x86_64 RPM Fusion for Fedora 19 - Free - Updates 189
rpmfusion-nonfree/19/x86_64 RPM Fusion for Fedora 19 - Nonfree 219
rpmfusion-nonfree-updates/19/x86_64 RPM Fusion for Fedora 19 - Nonfree - Updates 212
russianfedora-free/19/x86_64 Russian Fedora for Fedora 19 - Free 91
russianfedora-free-updates/19/x86_64 Russian Fedora for Fedora 19 - Free - Updates 24
russianfedora-nonfree/19/x86_64 Russian Fedora for Fedora 19 - Nonfree 24
russianfedora-nonfree-updates/19/x86_64 Russian Fedora for Fedora 19 - Nonfree - Updates 6
updates/19/x86_64 Fedora 19 - x86_64 - Updates 14,351
repolist: 53,743
همانطور که میبینید در سیستم من به جز مخازن fedora و updates مخازن RPM Fusion و Russian Fedora و همچنین یک مخزن به نام myrepo فعال و استفاده میشوند. نام مخزن را در ستون دوم و تعداد بستههای موجود در آن را در ستون سوم میبینید.
برای استفاده از بستههای از قبل دانلود شده نیاز به ساخت یک مخزن محلی دارید. برای ساخت یک مخزن محلی ابتدا بستهی createrepo را نصب کنید.
sudo yum install createrepo
بعد به مسیری که بستهها در آن قرار دارند بروید و دستور زیر را اجرا کنید.
createrepo .
یک فایل جدید در مسیر etc/yum.repos.d/ با نام دلخواه و با پسوند repo. بسازید.
sudo touch myrepo.repo
اطلاعات مخزن را به صورت زیر در فایل وارد کنید.
[myrepo]
name=My Repo
baseurl=file:/home/ali/rpm/19
enabled=1
gpgcheck=0
خط اول و دوم مربوط به شناسه و نام مخزن است.
خط سوم مسیر قرار گرفتن بستهها را مشخص میکند.
خط چهارم فعال بودن یا غیرفعال بودن مخزن را مشخص میکند. برای غیرفعال کرده مخزن مقدار آن را برابر با صفر قرار دهید.
خط پنجم هم مشخص میکند که امضای بستهها در هنگام نصب بررسی نشوند.
در قسمتهای بعدی در مورد مخازن اضافی yum و طریقهی نصب آنها خواهم نوشت.