نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • ویندوز 8
  • نصب بسته های نرم افزاری در لینوکس برای مبتدیان. نصب فایل RPM در رابط کاربری گرافیکی

نصب بسته های نرم افزاری در لینوکس برای مبتدیان. نصب فایل RPM در رابط کاربری گرافیکی

RPM (مدیر بسته RedHat)محبوب ترین ابزار مدیریت بسته برای سیستم های مبتنی بر کلاه قرمز، مانند RHEL, CentOS, فدورا... این ابزار به مدیران و کاربران سیستم اجازه می دهد تا بسته های نرم افزاری سیستم را بر روی سیستم عامل ها نصب، به روز رسانی، حذف نصب، پرس و جو، بررسی و مدیریت کنند. یونیکس / لینوکس... مدیر بسته دور در دقیقهاطلاعات مربوط به برنامه های نصب شده روی سیستم را در پایگاه داده خود ذخیره می کند / var / lib / rpm... فایل‌های rpm خود حاوی نسخه‌های کامپایل‌شده نرم‌افزار، کتابخانه‌های لازم برای عملکرد آنها، و همچنین اطلاعات به‌روز در مورد منابع بسته، نسخه‌ها و وابستگی‌ها هستند. دور در دقیقهنمی تواند نرم افزارهای کامپایل شده و نصب شده از کدهای منبع را مدیریت کند.

در حقیقت دور در دقیقهدر چندین حالت کار می کند. درخواست ها و بررسی ها:

  • دور در دقیقه (-q | --پرس و جو)
  • دور در دقیقه (-V | --تأیید)
نصب، به روز رسانی، حذف بسته ها:
  • دور در دقیقه (-i | --نصب) PACKAGE_FILE ...
  • دور در دقیقه (-U | --ارتقا) PACKAGE_FILE ...
  • دور در دقیقه (-F | --تازه‌سازی) PACKAGE_FILE ...
  • دور در دقیقه (-e | -- پاک کردن) [--همه منطبق‌ها] [--justdb] [--nodeps] [--nodeps] [- notriggers] [--test] PACKAGE_NAME ...

1. امضای rpm بسته gpg را بررسی کنید

توصیه می شود همیشه بررسی کنید gpgقبل از نصب بسته را امضا کنید تا صحت آن را بررسی کنید. # rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. نصب پکیج rpm

برای نصب پکیج rpm از کلید استفاده کنید -من: # rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm آماده سازی ... ######################### ################### 1: pidgin ################################################# ############# -من: بسته را نصب کنید -v: نمایش اطلاعات اشکال زدایی -h: خروجی علامت هش در نصب

3. وابستگی بسته rpm را قبل از نصب بررسی کنید

می‌توانید فهرست وابستگی‌های بسته را مانند این مشاهده کنید: # rpm -qpR htop-2.0.2-2.fc26.aarch64.rpm ld-linux-aarch64.so.1 () (64bit) ld-linux-aarch64.so. 1 (GLIBC_2. 17) (64bit) libc.so.6 () (64bit) libc.so.6 (GLIBC_2.17) (64bit) libm.so.6 () (64bit) libm.so.6 (GLIBC_2. 17) (64bit) libncursesw.so.6 () (64bit) libtinfo.so.6 () (64bit) rpmlib (CompressedFileNames)<= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 rtld(GNU_HASH) -q: اجرای درخواست -p | --بسته: درخواست اطلاعات : گزینه حالت query، لیست وابستگی های بسته

4.Rpm، نصب بسته ها بدون وابستگی

اگر مطمئن هستید که تمام وابستگی های لازم نصب شده اند و rpm فحش می دهد و اجازه نصب بسته را نمی دهد، می توانید نصب وابستگی ها را با استفاده از پرچم نادیده بگیرید. -- گره ها: # rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm در حال آماده سازی ... ###################### ##################### 1: BitTorrent ######################### ################# دستور بالا بسته را مجبور به نصب با وجود خطا می کند دور در دقیقه... لطفاً توجه داشته باشید که اگر مشخص شود که وابستگی ها هنوز در سیستم وجود ندارند، برنامه نصب شده کار نمی کند و باید وابستگی های لازم را جداگانه نصب کنید.

5. Rpm، بسته نصب شده را بررسی کنید

برای بررسی اینکه آیا یک بسته نصب شده است یا نه، باید بسته مورد نیاز را درخواست کنید: بسته htopنصب بسته # rpm -q htop htop-2.0.2-1.el7.x86_64 جعلینصب نشده # rpm -q بسته جعلی جعلی نصب نشده است

6.Rpm، لیست فایل های بسته نصب شده

لیست فایل های بسته نصب شده را می توان با درخواست دریافت کرد -ql (لیست پرس و جو): # rpm -ql htop / usr / bin / htop /usr/share/doc/htop-2.0.2 /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0. 2 / COPYING /usr/share/doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz / usr / share / pixmaps / htop.png

7.Rpm، لیست بسته های اخیرا نصب شده

# rpm -qa --last htop-2.0.2-1.el7.x86_64 Sat 03 Jun 2017 06:20:07 PM MSK

8. Rpm، لیست تمام بسته های نصب شده

برای دریافت لیستی از تمام بسته های نصب شده در سیستم، باید یک پرس و جو را اجرا کنید -قابدون پارامترهای اضافی # rpm -qa perl-HTML-Parser-3.71-4.el7.x86_64 dracut-network-033-463.el7.x86_64 filesystem-3.2-21.el7.x86_64 .......... ........... لیست بسته ها بسیار بزرگ خواهد بود، برای صفحه بندی می توانید از ابزارهای کاربردی مانند بیشتریا کمتر: # دور در دقیقه -qa | بیشتر

9. به روز رسانی بسته rpm

برای به روز رسانی هر دور در دقیقهگزینه بسته استفاده می شود -U (ارتقا دهید). این گزینه نه تنها هر بسته ای را به آخرین نسخه به روز می کند، بلکه یک نسخه پشتیبان از نسخه قدیمی بسته ایجاد می کند. اگر بعد از به روز رسانی مشکلی پیش آمد و نرم افزار کار نکرد، می توانید به نسخه کار قبلی نصب شده و شناخته شده بازگردید. # rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm در حال آماده سازی ... ########################## ################ 1: nx ############################## ###########

10. برداشتن بسته rpm

برای حذف یک بسته، از گزینه استفاده کنید -e (پاک کردن)، گزینه vv برای خروجی دقیق تر پیام های اشکال زدایی استفاده می شود: # rpm -evv nx

11. حذف بسته rpm بدون وابستگی

پارامتر -- گره هایک بسته را به زور برمی دارد دور در دقیقهاز سیستم توجه داشته باشید که حذف یک بسته خاص ممکن است سایر برنامه های تولید را خراب کند. # rpm -ev --nodeps htop

12. Rpm، درخواست یک فایل متعلق به یک بسته

اگر می خواهید بفهمید یک فایل خاص به کدام بسته تعلق دارد، از گزینه استفاده کنید -qf (فایل پرس و جو): # rpm -qf /etc/my.cnf mariadb-libs-5.5.52-1.el7.x86_64

13. Rpm، اطلاعاتی در مورد یک بسته نصب شده دریافت کنید

برای دریافت اطلاعات دقیق در مورد بسته نصب شده، از گزینه استفاده کنید -چی (اطلاعات پرس و جو): # rpm -qi htop نام: htop نسخه: 2.0.2 انتشار: 1.el7 معماری: x86_64 تاریخ نصب: یکشنبه 04 ژوئن 2017 10:20:51 ق.ظ MSK گروه: برنامه ها / حجم سیستم: 212139 مجوز: GPL : RSA / SHA256، یکشنبه 24 ژوئیه 2016 09:22:13 بعد از ظهر MSK، شناسه کلید 6a2faea2352c64e5 منبع RPM: htop-2.0.2-1.el7.src.rpm تاریخ ساخت: یکشنبه 24 جولای 2016: MSK30 میزبان ساخت: buildvm-26.phx2.fedoraproject.org جابجایی ها: (قابل جابجایی نیست) بسته بندی: فروشنده پروژه فدورا: آدرس پروژه فدورا: http://hisham.hm/htop/ خلاصه: نمایشگر فرآیند تعاملی توضیحات: htop یک متن تعاملی است - نمایشگر پردازش حالت برای لینوکس، مشابه بالا (1).

14.Rpm، اطلاعاتی در مورد بسته ای که هنوز نصب نشده است را دریافت کنید

برای دریافت اطلاعات در مورد بسته ای که قبلا دانلود شده، اما هنوز نصب نشده است، می توانید درخواست دهید -qip (بسته اطلاعات پرس و جو): rpm -qip ./pachage_name.rpm

15.Rpm، مشاهده فایل های مستندات برای یک بسته خاص

استعلام -qdf (فایل سند پرس و جو) همه فایل‌های اسناد بسته را فهرست می‌کند: # rpm -qdf / usr / bin / htop /usr/share/doc/htop-2.0.2/AUTHORS /usr/share/doc/htop-2.0.2/COPYING / usr / share /doc/htop-2.0.2/ChangeLog /usr/share/doc/htop-2.0.2/README /usr/share/man/man1/htop.1.gz

16. بررسی یک بسته دور در دقیقه خاص

هنگام بررسی یک بسته، اطلاعات مربوط به فایل های بسته نصب شده با پایگاه داده مقایسه می شود دور در دقیقه... # rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5 .... T. c /etc/httpd/conf.d/sqlbuddy.conf

17. بررسی تمام بسته های دور در دقیقه

# دور در دقیقه -Va S.5 .... T. c /etc/rc.d/rc.local ....... T. c /etc/dnsmasq.conf ....... T. ‎/etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf

18. کلید GPG را وارد کنید

برای بررسی بسته ها RHEL / CentOS / Fedora، باید وارد کنید GPGکلید برای انجام این کار، دستور زیر را اجرا کنید: # rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-7

19.Rpm، مشاهده تمام کلیدهای وارد شده

# rpm -qa gpg-pubkey * gpg-pubkey-7bd9bf62-5762b5f8 gpg-pubkey-352c64e5-52ae6884 gpg-pubkey-f4a80eb5-53a7ff4b gpg-pubkey-810f899d

20. پایگاه داده rpm خراب را بازسازی کنید

گاهی اوقات پایگاه داده rpm ممکن است خراب شود و rpm به درستی کار نکند. اگر این اتفاق افتاد، باید پایگاه داده را بازسازی کنید. دور در دقیقه: # cd / var / lib / rpm # rm -f __db. * # rpm --rebuilddb طبق معمول: # man rpm موفق باشید

* .RPM - فایل هایی مشابه بایگانی ها و نصب کننده های Windows SFX.
به عنوان یک قاعده، آنها حاوی کدهای منبع جمع آوری شده برنامه هایی هستند که به راحتی قابل ویرایش هستند.
کد منبع خود بسته با پسوند .SRPM به دستور کاربر کامپایل می شود.

عملیات با بسته های کنسول توسط دستور RPM انجام می شود.
یادآوری می کنم:
کمک در مورد آن را می توان با تایپ کردن "rpm --help" یا "rpm -?" بدست آورد. و دفترچه راهنمای دقیق "مرد دور در دقیقه" است
(برای خروج از دفترچه راهنما و بازگشت به ترمینال، "q" را فشار دهید).

در اینجا پیشنهاد می شود ابتدا با توضیحات خود برنامه ها برای نصب پکیج ها آشنا شوید
(اصلی rpm است) و سپس - با لیستی از دستورات و پارامترهای این برنامه.

نصب نرم افزار در لینوکس

سه راه برای نصب نرم افزار در لینوکس وجود دارد:

  • سنتی.
  • از بسته های RPM.
  • از بسته های حاوی کد منبع.

بیایید هر سه روش را به ترتیب در نظر بگیریم.

این روش شامل این واقعیت است که برنامه نه به صورت مونتاژ شده، بلکه در قالب کدهای منبع توزیع می شود. این روش سنتی نامیده می شود زیرا اولین روش نصب برنامه ها قبل از ظهور RPM یا مشابه (apt-get) بود.

1. روش سنتی نصب، نصب از منابع است.

به طور معمول، کد منبع در یک آرشیو توزیع می شود. معمولاً فایل حاوی کد منبع دارای پسوند دوگانه است: برای مثال tar.gz یا tar.bz2. این به این معنی است که این فایل توسط دو بایگانی فشرده شده است: ابتدا tar و سپس gzip.

باید آرشیو را طبق اصل پشته باز کنید: ابتدا با یک بایگانی خارجی و سپس با یک داخلی. بیایید فرض کنیم prg-2.00.tar.gz نام فایل آرشیو ما باشد. برای باز کردن بسته بندی آن، باید دستورات زیر را وارد کنید:

gunzip prg-2.00.tar.gz
tar xvf prg-2.00.tar

دستور اول فایل prg-2.00.tar را باز می‌کند که به عنوان یکی از آرگومان‌های دستور دوم ارائه می‌کنیم. گزینه x to tar به این معنی است که باید فایل ها را از آرشیو استخراج کنیم (گزینه c ایجاد شده است). شما می توانید پارامتر v را به صلاحدید خود مشخص کنید، زمانی که برنامه در حال اجرا است اطلاعات بیشتری را ارائه می دهد.
آخرین پارامتر، f، هنگام کار با فایل ها مورد نیاز است.
برنامه tar در ابتدا برای کار با نوارهای پخش کننده طراحی شده بود، بنابراین باید از پارامتر f استفاده کنیم تا به برنامه بگوییم که با فایل ها کار کند.
اگر پسوند خارجی gz، bz یا bz2 نیست، به جای دستور اول باید دستورات را وارد کنید (به ترتیب):

bunzip prg-2.00.tar.bz
bunzip2 prg-2.00.tar.bz2


سپس، مانند حالت اول، باید دستور tar را (با همان پارامترها) اجرا کنید.

گاهی اوقات فایل های منبع فقط یک پسوند tgz دارند. در این حالت فقط باید یک دستور را وارد کنید:

tar xzf prg-2.00.tgz


پارامتر z به معنای استخراج فایل ها با استفاده از بسته بندی gzunzip است. به طور معمول، فایل های آرشیو ایجاد شده با برنامه tar و عبور از فیلتر بایگانی gzip دارای این پسوند هستند.

مرحله بعدی نصب مستقیم برنامه است. پس از انجام موفقیت آمیز مرحله اول (باز کردن بسته بندی)، به دایرکتوری حاوی منابع تغییر دهید. این معمولا یک دایرکتوری است<имя_программы-версия>:

سی دی prg-2.00

... / پیکربندی
ساختن
را نصب کنید

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

این معمولا زمانی اتفاق می افتد که یکی از کتابخانه های مورد نیاز برنامه جدید روی سیستم شما نصب نباشد. برای ادامه نصب، باید کتابخانه مورد نیاز را نصب کنید و سعی کنید دوباره دستور را وارد کنید. / Configure. پس از اتمام موفقیت آمیز برنامه / پیکربندی، یک Makefile ایجاد می شود که حاوی پارامترهای لازم (مسیرهای کتابخانه ها، مسیر نصب برنامه) برای برنامه make است.

دستور دوم (make) برنامه را "ساخت" می کند. در این مرحله برنامه کامپایل می شود، یعنی فایل های اجرایی باینری از منابع ایجاد می شود.

دستور سوم، make install، برنامه و فایل های راهنما را در دایرکتوری های مربوطه نصب می کند. معمولاً برنامه ها در پوشه / usr / bin نصب می شوند، اما این بستگی به محتوای Makefile دارد.

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

2.نصب برنامه از بسته RPM.

نصب نرم افزار بر روی توزیع های Red Hat و Mandrake با استفاده از برنامه rpm انجام می شود. RPM (Red Hat Package Manager) مدیر بسته Red Hat است. علیرغم "کلاه قرمزی" در نام، این کلاه کاملاً به عنوان یک سیستم بسته منبع باز عمل می کند که برای همه در دسترس است. این امکان را به کاربران می دهد تا کد منبع نرم افزار جدید را گرفته و آن را به صورت منبع و باینری بسته بندی کنند تا باینری ها به راحتی نصب و ردیابی شوند و کد منبع به راحتی قابل دسترسی باشد.
ساخته شده. این سیستم همچنین یک پایگاه داده از تمام بسته ها و فایل های آنها نگهداری می کند که می توان از آن برای بازرسی بسته ها و درخواست اطلاعات در مورد پرونده ها و / یا بسته ها استفاده کرد.

بر خلاف جادوگران آشنای InstallShield که برای نصب برنامه‌های ویندوز استفاده می‌شوند، RPM (فایل‌هایی با پسوند rpm.) فایل‌های اجرایی، یعنی برنامه‌ها نیستند. بسته‌ها حاوی فایل‌هایی هستند (مانند یک بایگانی) که باید نصب شوند، و همچنین اطلاعات مختلفی در مورد این بسته: کدام بسته برای کار کردن این بسته مورد نیاز است، با کدام بسته تضاد دارد، اطلاعات مربوط به توسعه‌دهنده، و همچنین اطلاعاتی که نشان می‌دهد هنگام نصب این بسته چه اقداماتی باید انجام داد، به عنوان مثال کدام دایرکتوری ها را ایجاد کنید. مدیر بسته RPM در بسیاری از توزیع های لینوکس (Red Hat، Mandrake، ASP، Black Cat) استفاده می شود و در استفاده بسیار سبک و انعطاف پذیر است که محبوبیت آن را توضیح می دهد.

به عنوان مثال، برای بسته نرم افزار-1.0-I.i386.rpm موارد زیر عبارتند از: نرم افزار - نام;

1.0 - نسخه برنامه؛
1 - انتشار بسته؛
i386 - پلت فرم Intel 386.

معمولاً نام فایل بسته حاوی نام، نسخه، نسخه، پلتفرم آن است. چهار کاراکتر آخر - ".rpm" - نشان دهنده این است که این فایل یک بسته است. در لینوکس چیزی به نام پسوند یا نوع فایل وجود ندارد.

لطفاً به تفاوت بین نسخه نرم افزار و انتشار بسته توجه کنید. نسخه مشخص شده در نام بسته، نسخه نرم افزاری است که در آن وجود دارد. شماره نسخه توسط نویسنده برنامه تنظیم می شود که معمولاً سازنده بسته نیست.
شماره نسخه نرم افزار را شناسایی کرده و به آن ارجاع می دهد. در مورد شماره انتشار، خود بسته را مشخص می کند - شماره نسخه موجود بسته را نشان می دهد. در برخی موارد، حتی اگر نرم افزار تغییر نکرده باشد، ممکن است نیاز به بسته بندی مجدد آن باشد.

با نام و نسخه برنامه فکر کنم همه چیز مشخص است. اما معماری کمی پیچیده تر است. "عمومی" ترین بسته ها برای معماری Intel 386 هستند. این برنامه باید
روی هر پردازنده اینتل که با 80386DX شروع می شود (یا سازگار) اجرا شود. با این حال، اگر یک پردازنده 80486 دارید، بسته ای که برای کار با معماری 80586 (Pentium) طراحی شده است، به احتمال زیاد روی سیستم شما نصب نخواهد شد.
به طور معمول، پردازنده های CISC (مجموعه دستورالعمل x86) از قراردادهای زیر استفاده می کنند:

i386 - Intel 80368DX؛
i586 - Intel Pentium (MMX)، AMD K5 (K6)؛
i686 - Intel PPro، Celeron، PII، RSH، PIV.

در ساده ترین حالت، دستور نصب بسته به صورت زیر است:

دور در دقیقه -i<пакет>

قبل از نصب برنامه، RPM وابستگی های بسته را بررسی می کند، یعنی اگر بسته های دیگری را روی سیستم خود نصب کرده اید که مورد نیاز یا در تضاد با برنامه جدید باشد. در صورت تمام نیاز
برنامه دارای بسته هایی است (یا برنامه اصلاً نیازی به بسته های اضافی ندارد) و اگر برنامه جدید با هیچ یک از بسته های نصب شده قبلی مغایرت نداشته باشد، RPM برنامه را نصب می کند.
در غیر این صورت، پیامی دریافت خواهید کرد مبنی بر اینکه برنامه به بسته های اضافی نیاز دارد یا اینکه برنامه با یک بسته از قبل نصب شده در تضاد است.

اگر به یک بسته اضافی نیاز دارید، فقط آن را نصب کنید. اما اگر برنامه با یک بسته از قبل نصب شده تضاد داشته باشد، باید انتخاب کنید به کدام بسته بیشتر نیاز دارید: قبلاً نصب شده یا جدید.

هنگام نصب برنامه، توصیه می کنم دو پارامتر اضافی را مشخص کنید: h و v. اولی به برنامه می‌گوید نوار وضعیت فرآیند نصب را نمایش دهد و دومی پیام‌های اضافی را نمایش می‌دهد. نوار وضعیت به عنوان # نماد نمایش داده می شود. با توجه به این دو پارامتر، دستور install کمی پیچیده تر می شود:

rpm -ihv software-1.0-1.i386.rpm

نصب را می توان نه تنها از یک دیسک محلی، بلکه از طریق FTP نیز انجام داد:

برای حذف یک بسته، از دستور استفاده کنید:

دور در دقیقه -e<пакет>

مجدداً، به یاد داشته باشید که هنگام نصب یا حذف بسته‌ها، به خاطر داشته باشید که برخی از بسته‌ها ممکن است نیاز به وجود بسته‌های دیگر در سیستم داشته باشند - این وابستگی بسته نامیده می‌شود. بنابراین، گاهی اوقات تا زمانی که تمام بسته های مورد نیاز برای کارکرد آن را نصب نکنید، نمی توانید یک بسته خاص را نصب کنید. هنگام حذف یک برنامه، مدیر بسته وابستگی بین بسته ها را نیز بررسی می کند. اگر بسته ای که باید حذف شود توسط برخی از بسته های دیگر مورد نیاز باشد، نمی توانید آن را حذف کنید.

برای رد شدن از بررسی وابستگی ها، از گزینه --nodeps استفاده کنید.
این گاهی اوقات مفید است. به عنوان مثال، شما postfix را نصب کرده اید و باید sendmail را نصب کنید. هر دو برنامه برای ارسال نامه استفاده می شوند.

با این حال، بسیاری از برنامه های پستی به MTA (نماینده انتقال نامه) نیاز دارند - برنامه ای برای ارسال نامه (پست فیکس یا ارسال نامه).
بنابراین، نمی توانید برنامه postfix را با استفاده از پارامتر -e حذف نصب کنید.
همچنین نمی توانید برنامه sendmail را بدون حذف برنامه postfix نصب کنید، زیرا بسته ها با یکدیگر تضاد دارند. در این مورد، دستور به شما کمک می کند:

rpm -e -nodeps postfix

پس از چنین حذفی، عملکرد عادی سایر برنامه هایی که به MTA نیاز دارند امکان پذیر نیست، بنابراین باید بلافاصله برنامه sendmail (یا سایر MTA) را نصب کنید. در این حالت باید طبق معمول برنامه را با استفاده از پارامتر -i نصب کنید.

پارامتر -U برای به روز رسانی برنامه ها استفاده می شود. توصیه می کنم هنگام نصب برنامه ها از آن استفاده کنید زیرا اگر بسته ای که قرار است نصب شود قبلاً نصب شده باشد به روز می شود و در غیر این صورت بسته جدید به سادگی نصب می شود. برای مشاهده نشانگر متن هنگام نصب بسته ها، از گزینه h استفاده کنید. دستور به روز رسانی بسته:

دور در دقیقه -Uhv<пакет>

برای مثال:

rpm -Uhv software-1.1-4.i386.rpm

نشانگر متن به صورت # نماد نمایش داده می شود. با استفاده از دستور زیر می توانید تمام بسته های نصب شده را مشاهده کنید:

دور در دقیقه -قا من کمتر

اگر می خواهید بدانید که بسته خاصی نصب شده است یا خیر، دستور را اجرا کنید:

دور در دقیقه -qa | grep package_name

شما می توانید اطلاعات کلی در مورد یک بسته را با استفاده از دستور زیر مشاهده کنید:

بسته rpm -qi

و اطلاعات مربوط به فایل های موجود در بسته:

بسته rpm -ql

Gnorpm, kpackage, apt.

مدیر بسته RPM یک ابزار قدرتمند برای انجام عملیات روی بسته ها - ایجاد، نصب، به روز رسانی، حذف است. با این حال، رابط خط فرمان ممکن است برای همه، به خصوص یک مدیر تازه کار جذاب نباشد. همچنین پیاده‌سازی‌های گرافیکی (برای X Window) از مدیر بسته وجود دارد - به عنوان مثال، kpackage از KDE، gnorpm و موارد دیگر.
من استفاده از gnorpm را توصیه می کنم که دارای یک رابط گرافیکی بصری است. RPM برای ایجاد بسته های جدید و همچنین به روز رسانی تعداد زیادی بسته مناسب تر است. استفاده از gnorpm برای نصب یک یا دو بسته بهتر و راحت تر است.

توابع برنامه gnorpm:

نصب پکیج ها
حذف بسته ها
اطلاعاتی در مورد یک بسته دریافت کنید.
بررسی بسته بندی
یک بسته را در پایگاه داده RPM جستجو کنید.

برای نصب هر بسته، روی دکمه «نصب» کلیک کنید. اگر یک سی دی نصب در درایو CD-ROM وجود دارد، در پنجره ای که ظاهر می شود، لیستی از بسته هایی که هنوز روی سیستم نصب نشده اند را مشاهده خواهید کرد.

اگر بسته در لیست نیست یا می خواهید بسته ای را نصب کنید که در کیت توزیع موجود نیست، روی دکمه افزودن کلیک کنید و بسته هایی را که می خواهید نصب کنید به لیست اضافه کنید. برای مشاهده جزئیات بسته بر روی دکمه "درخواست" کلیک کنید.

اگر بسته هنوز نصب نشده است و فضای دیسک کافی برای نصب آن دارید، روی دکمه Install کلیک کنید. پس از آن، بسته بررسی می‌شود تا ببینیم آیا وابستگی‌ها برآورده می‌شوند: آیا این بسته به وجود بسته‌های حذف‌شده نیاز دارد و آیا با بسته‌های از قبل نصب شده در تضاد است. اگر همه چیز مرتب باشد، پنجره وضعیت نصب بسته را مشاهده خواهید کرد.

با استفاده از عملیات جستجو می توانید یک بسته را پیدا کنید. برای انجام این کار، روی دکمه "جستجو" در نوار ابزار gnorpm کلیک کنید یا دستور منو Operations -> Search را اجرا کنید. در پنجره ای که باز می شود، می توانید معیارهای جستجو را تعیین کرده و بر روی دکمه "جستجو" کلیک کنید.

KDE با یک برنامه رابط کاربری گرافیکی برای مدیریت بسته ها، kpackage ارائه می شود. از نظر عملکرد مشابه برنامه gnorpm است. استفاده از کدام یک از این برنامه ها سلیقه و عادت است.

همچنین قابل ذکر است برنامه APT. APT یک سیستم مدیریت بسته نرم افزاری است. سیستم APT در ابتدا برای لینوکس دبیان توسعه داده شد. در حال حاضر با برخی از Red Hat سازگار است
توزیع ها (به عنوان مثال، apt-get با AltLinux گنجانده شده است، اما شما آن را در لینوکس Red Hat پیدا نخواهید کرد). برنامه apt-get برای مدیریت بسته ها استفاده می شود. فرمت فراخوانی برنامه apt-get به شرح زیر است:

apt-get [گزینه‌ها] [فرمان‌ها] [بسته. ... .]


توزیع لینوکس Mandrake شامل ابزار مدیریت بسته خود، rpmdrake است. در نسخه دهم کیت توزیع، کمی تغییر یافت. اکنون دارای سه بخش است:

/ usr / sbin / edit-urpm-media - مدیر منبع بسته (من قبلاً گفته ام چه منابعی هستند ، بنابراین ما در این مورد صحبت نمی کنیم).
rpmdrake - مدیر نصب بسته؛
rpmdrake-remove یک مدیر حذف بسته است.
می توانید هر یک از قسمت ها را از K: System | شروع کنید تنظیم | بسته ها

از بسته های حاوی کد منبع نصب کنید.

گاهی اوقات RPM ها حاوی کد منبع هستند نه نسخه های کامپایل شده برنامه ها. این با کلمه src به جای نام معماری مشخص می شود. برای نصب چنین بسته ای، وارد کنید:

rpm --Rebuild software-2.00-1.src.rpm

البته به جای software-2.00-l.src.rpm باید نام واقعی فایل را مشخص کنید. قبل از نصب برنامه، کد منبع آن کامپایل شده و سپس برنامه نصب می شود.

گزینه های عمومی

این گزینه ها را می توان در تمام حالت های عملکرد استفاده کرد.

"-vv" بسیاری از اطلاعات اشکال زدایی را چاپ کنید.

"--quiet" تا حد امکان تعداد کمتری پیام را چاپ کنید - معمولاً فقط پیام‌های خطا خروجی می‌شوند.

"--help" راهنمای دقیق تری در مورد استفاده از دور در دقیقه از معمول چاپ کنید.

"--نسخه" یک خط حاوی شماره نسخه دور در دقیقه که استفاده می کنید چاپ کنید.

"--rcfile<список-файлов>" هر یک از فایل ها از کولون جدا شد<списка-файлов>دور در دقیقه برای اطلاعات پیکربندی به صورت متوالی خوانده می شود.
پیش فرض<список-файлов>شبیه /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc است.
فقط خط اول باید در این لیست وجود داشته باشد. همه تایلدها با مقدار $ HOME جایگزین خواهند شد.

"--ریشه<каталог>"از فایل سیستمی که در آن ریشه دارد استفاده کنید<каталог>.
توجه داشته باشید که این بدان معنی است که پایگاه داده نیز در زیر خوانده و اصلاح می شود<каталог>، و تمام اسکریپت های قبل و بعد پس از chroot () در اجرا می شوند<каталог>.

"--dbpath<путь>از پایگاه داده RPM استفاده کنید<путь>.

"--justdb" فقط پایگاه داده را به روز کنید، نه سیستم فایل را.

"--ftpproxy ، --http پروکسی " استفاده کنید به عنوان پروکسی FTP یا HTTP.

"--ftpport<порт>، --httpport<порт>" استفاده کنید<порт>به عنوان پورت FTP یا HTTP سرور پروکسی.

"--لوله خروجی دور در دقیقه را به ورودی فرمان تغییر مسیر می دهد .

نگهداری پایگاه داده:

دور در دقیقه -i [--initdb]

دور در دقیقه -i [--rebuilddb]

گزینه های بازسازی پایگاه داده.

فرم کلی دستور برای بازسازی پایگاه داده RPM به شکل زیر است:
دور در دقیقه -- rebuilddb
برای ساخت یک پایگاه داده جدید:
دور در دقیقه --initdb
این حالت فقط از دو گزینه --dbpath و --root پشتیبانی می کند.

در حال دویدن
دور در دقیقه -- showrc
مقادیری را چاپ می کند که rpm برای همه گزینه هایی که می توان در فایل های rpmrc تنظیم کرد استفاده می کند.

مونتاژ:
دور در دقیقه [-b | t] +
دور در دقیقه [--Rebuild] +
دور در دقیقه [--tarbuild] +

گزینه های مونتاژ بسته (ساختمان).

فرم کلی دستور ساخت بسته rpm به صورت زیر است:
دور در دقیقه -O [گزینه‌های ساخت] +
آرگومان -bfR زمانی استفاده می شود که از یک فایل spec برای ساخت بسته استفاده می شود. اگر rpmfR نیاز به استخراج این فایل از آرشیو gzip (یا فشرده سازی) داشته باشد، از آرگومان -tfR استفاده می شود. آرگومان اول با آرگومان بعدی (OfR) دنبال می شود که نشان می دهد کدام مراحل مونتاژ و بسته بندی باید انجام شود. این یکی از:

-bp مرحله آماده سازی% فایل مشخصات را اجرا کنید. این معمولاً شامل باز کردن بسته‌بندی منابع و اعمال وصله‌ها برای آنها می‌شود.

"-bl" یک "بررسی لیست" انجام دهید. در بخش «% files» فایل مشخصات، ماکروها گسترش می‌یابند و فایل‌های فهرست‌شده برای وجود بررسی می‌شوند.

"-bc" مرحله "% build" فایل مشخصات را اجرا کنید (پس از انجام مرحله آماده سازی٪). این معمولاً به اجرای معادل "ساخت" خلاصه می شود.

-bi مرحله نصب% فایل مشخصات را اجرا کنید (پس از انجام مراحل آماده سازی و ساخت). این معمولاً به انجام نوعی معادل خلاصه می شود
"ساخت نصب".

"-bb" یک بسته باینری بسازید (پس از انجام مراحل آماده سازی،% ساخت و% نصب).

"-bs" فقط بسته منبع را بسازید (پس از انجام مراحل آماده سازی، ساخت و نصب).

"-ba" بسته های باینری (RPM) و منبع (SRPM) را بسازید (پس از انجام مراحل آماده سازی، ساخت و نصب).

از گزینه های زیر نیز می توان استفاده کرد:

"--اتصال کوتاه" مرحله مشخص شده را مستقیماً اجرا کنید و از مراحل قبلی صرف نظر کنید. فقط با -bc و -bi قابل استفاده است.

"--timecheck" سن "timecheck" را تنظیم کنید (0 برای غیرفعال کردن). این مقدار را نیز می توان با تعریف ماکرو "_timecheck" تنظیم کرد.
مقدار timecheck حداکثر سن (بر حسب ثانیه) فایل هایی را که باید در دسته بسته بندی شوند را مشخص می کند. برای همه فایل های قدیمی تر از این سن یک هشدار نمایش داده می شود.

--clean پس از ساخته شدن بسته ها، درخت ساخت را حذف کنید.

"--rmsource" منابع و فایل مشخصات را پس از ساخت حذف کنید (می توان به طور جداگانه استفاده کرد، به عنوان مثال "rpm --rmsource foo.spec").

"--test" هیچ مرحله ساختی را اجرا نکنید. برای تست فایل های مشخصات مفید است.

"--sign" یک امضای PGP را در بسته جاسازی کنید. از این امضا می توان برای تایید یکپارچگی و منشاء یک بسته استفاده کرد. بخش را ببینید
امضاهای PGP برای گزینه های PGP.

"--ساخت<каталог>"از دایرکتوری استفاده کنید<каталог>به عنوان ریشه برای ساخت پکیج ها.

"--هدف<платформа>" هنگام ساخت یک بسته، تفسیر کنید<платформа>به عنوان arch-vendor-os
و ماکروهای _target، _target_arch و _target_os را بر این اساس تنظیم کنید.

"--buildarch "بسته سازی برای معماری غافل از معماری
سیستمی که مونتاژ بر روی آن انجام می شود. این گزینه منسوخ شده است؛ در RPM 3.0، به جای آن باید از گزینه --target استفاده شود.

"--buildos "یک بسته برای سیستم عامل بسازید توجه نکردن به
معماری سیستمی که مونتاژ بر روی آن انجام می شود. این گزینه منسوخ شده است؛ در RPM 3.0، به جای آن باید از گزینه --target استفاده شود.

گزینه های مونتاژ مجدد و ترکیب مجدد.

دو راه دیگر برای اجرای دور در دقیقه وجود دارد:

دور در دقیقه -- recompile<файл_исходного_пакета>+"

دور در دقیقه -- بازسازی<файл_исходного_пакета>+"

هنگامی که به این روش فراخوانی می شود، rpm بسته منبع مشخص شده را نصب می کند و% prep،% build و% install را اجرا می کند. علاوه بر این، --rebuild یک بسته باینری جدید می سازد. پس از تکمیل ساخت، درخت مورد استفاده برای ساخت (مانند گزینه --clean)، خود منابع و فایل مشخصات حذف می شود.

امضای RPM موجود.

دور در دقیقه -- استعفا دهید<файл_бинарного_пакета>+ این گزینه امضاهای جدیدی را در بسته های مشخص شده تولید و درج می کند.
تمام امضاهای موجود از بسته ها حذف می شوند.

rpm --addsign<файл_бинарного_пакета>+ این گزینه امضاهای جدیدی را به بسته های مشخص شده تولید و اضافه می کند.
تمام امضاهای بسته موجود حفظ می شود.

امضاهای PGP.

برای استفاده از ویژگی امضا، rpm باید برای اجرای PGP پیکربندی شود و باید بتواند حلقه کلید عمومی را با کلید RPM در آن پیدا کند. به‌طور پیش‌فرض دور در دقیقه از پیش‌فرض‌های PGP برای یافتن حلقه‌های کلید (با رعایت PGPPATH) استفاده می‌کند.
اگر حلقه های کلید در جایی نیستند که PGP انتظار دارد آنها را بیابد، باید ماکرو "_pgp_path" را در دایرکتوری حاوی حلقه های کلید تنظیم کنید.

اگر می‌خواهید بتوانید بسته‌هایی را که ایجاد می‌کنید امضا کنید، باید جفت کلید عمومی/خصوصی خود را نیز ایجاد کنید (به مستندات PGP مراجعه کنید). علاوه بر ماکرو فوق، باید ماکروها را نیز پیکربندی کنید

"_signature" نوع امضا. در حال حاضر فقط pgp پشتیبانی می شود.

"_pgp_name" نام کاربری "که می خواهید از کلیدهای آن برای امضای بسته های خود استفاده کنید.

هنگام ساخت بسته ها، گزینه --sign را به خط فرمان اضافه می کنید. از شما رمز عبور خواسته می شود و بسته شما ساخته و امضا می شود.

به عنوان مثال، برای استفاده از PGP برای امضای بسته ها از طرف کاربر "John Doe از حلقه های کلید واقع در /etc/rpm/.pgp، باید آن را وارد کنید

"% _signature"
pgp
"% _pgp_name"
/etc/rpm/.pgp
"% _pgp_name"
جان دو "

به فایل پیکربندی ماکرو. از / etc / rpm / macros برای کل سیستم و ~ / .rpmmacros برای پیکربندی سفارشی استفاده کنید.

ارائه بسته های نصب شده:

دور در دقیقه [--نصب] [گزینه‌های نصب] [فایل بسته] +
دور در دقیقه [--eshen | -F] [گزینه‌های نصب] [فایل بسته] +
rpm [--uninstall | -e] [uninstall-Options] [package] +
دور در دقیقه [--تأیید | -V] [گزینه‌های تأیید] [بسته] +

گزینه های نصب و به روز رسانی.

فرم کلی دستور نصب rpm به صورت زیر است:
rpm -i [گزینه‌های نصب]<файл_пакета>+
این دستور بسته های جدید را نصب می کند.

فرم کلی دستور به روز رسانی rpm به صورت زیر است:
دور در دقیقه -U [گزینه‌های نصب]<файл_пакета>+
این دستور بسته های نصب شده را به روز می کند. این دستور دقیقاً مانند دستور نصب عمل می کند، با این تفاوت که سایر نسخه های بسته از سیستم حذف می شوند.

دور در دقیقه [-F | --eshen] [گزینه‌های نصب]<файл_пакета>+
چنین دستوری بسته ها را به روز می کند، اما تنها در صورتی که نسخه های قبلی این بسته ها در سیستم وجود داشته باشد.
کار مجاز<файл_пакета>به عنوان URL سبک ftp یا http. در این صورت قبل از نصب فایل از سرور مشخص شده در URL دریافت می شود.

"--force" مانند ترکیب --replacepkgs، --replacefiles و --oldpackage.

"-h، --hash" چاپ 50 # کاراکتر به عنوان آرشیو بسته باز می شود. برای زیبایی با -v استفاده می شود.

"--oldpackage" به شما امکان می دهد هنگام ارتقاء (بازگشت) بسته جدید را با بسته قدیمی جایگزین کنید.

"--%" با باز شدن آرشیو بسته، درصد آماده را چاپ کنید. طراحی شده برای سهولت استفاده از دور در دقیقه از سایر ابزارها.

"--replacefiles" بسته ها را نصب کنید حتی اگر آنها فایل ها را از بسته های دیگر نصب شده بازنویسی کنند.

"--replacepkgs" بسته ها را نصب کنید حتی اگر برخی از آنها قبلاً روی سیستم نصب شده باشند.

--allfiles همه فایل های شناسایی شده به عنوان missingok را نصب یا به روز کنید، حتی اگر از قبل وجود داشته باشند.

"--nodeps" قبل از نصب یا ارتقاء یک بسته، وابستگی ها را بررسی نکنید.

"--noscripts" اسکریپت های قبل و بعد از نصب را اجرا نکنید.

"--notriggers" اسکریپت های ماشه ای را که برای نصب این بسته نصب شده اند اجرا نکنید.

"--ignoresize" قبل از نصب این بسته، سیستم فایل را برای فضای خالی کافی بررسی نکنید.

"--excludepath<путь>"فایل هایی که نام آنها با شروع می شود را نصب نکنید<путь>.

"--excludedocs" هیچ فایلی را که به عنوان فایل مستند علامت گذاری شده است نصب نکنید (شامل دفترچه راهنما و اسناد texinfo).

"--includedocs" فایل های اسناد را نصب کنید. این رفتار به طور پیش فرض است.

"--test" بسته را نصب نکنید، فقط بررسی کنید که آیا می توان آن را نصب کرد و مشکلات احتمالی را گزارش کنید.

"--ignorearch" نصب یا ارتقا دهید حتی اگر معماری RPM باینری و دستگاه مطابقت نداشته باشد.

"--ignoreos" نصب یا ارتقا دهید حتی اگر سیستم عامل های RPM باینری و دستگاه با هم مطابقت ندارند.

"--پیشوند<путь>«پیوند نصب را روی<путь>برای بسته های قابل جابجایی

"--نقل مکان<старый_путь>=<новый_путь>" برای بسته های قابل جابجایی: فایل هایی را که باید در آن ها نصب می شد تبدیل می کند<старый_путь>v<новый_путь>.

--badreloc برای استفاده با --relocate. حرکت می کند حتی اگر بسته قابل جابجایی نباشد.

"--noorder" لیست بسته های نصب شده را دوباره ترتیب ندهید. معمولاً فهرست برای ارضای وابستگی‌ها مرتب می‌شود.

استعلام:
دور در دقیقه [--query] [query-Options]
دور در دقیقه [--querytags]

گزینه های درخواست.

فرم کلی دستور درخواست rpm (بازرسی) به صورت زیر است:
دور در دقیقه -q [درخواست-گزینه ها]
می توانید قالبی را تنظیم کنید که در آن اطلاعات مربوط به بسته نمایش داده شود. برای انجام این کار، از گزینه --queryformat و سپس یک رشته قالب استفاده کنید.

فرمت های پرس و جو نسخه اصلاح شده قالب بندی استاندارد printf (3) هستند. این قالب شامل رشته‌های ثابت (که می‌تواند شامل توالی‌های استاندارد C برای خطوط جدید، برگه‌ها و سایر کاراکترهای خاص باشد) و قالب‌هایی شبیه به موارد استفاده شده در printf (3) است. از آنجایی که rpm از قبل انواع داده‌هایی را که باید چاپ شوند می‌داند، مشخص‌کننده‌های نوع باید حذف شوند و با نام تگ‌های سرصفحه (کلیدها) که باید چاپ شوند، جایگزین شوند. قسمت نام تگ RPMTAG_ را می توان حذف کرد.

فرمت های خروجی جایگزین را می توان با افزودن تگ typetag به نام مشخص کرد. انواع زیر در حال حاضر پشتیبانی می شوند: octal، date، shescape، perms، flags و depflags.

به عنوان مثال، برای نمایش تنها نام بسته های درخواستی، می توانید از% (NAME) به عنوان رشته قالب استفاده کنید. می توانید از % -30 (NAME)% (DISTRIBUTION) برای نمایش نام بسته ها و اطلاعات توزیع در دو ستون استفاده کنید.

هنگامی که با آرگومان --querytags اجرا می شود، rpm تمام تگ هایی را که در مورد آنها می داند فهرست می کند.

دو مجموعه گزینه برای پرس و جو وجود دارد - انتخاب بسته و انتخاب اطلاعات.

گزینه های انتخاب بسته:

"<название_пакета>" درخواست بسته نصب شده به نام<название_пакета>.

"-a, --all" همه بسته های نصب شده را پرس و جو کنید.

"-- آنچه لازم است "درخواست برای تمام بسته های مورد نیاز برای عملکرد مناسب

"-- چه چیزی فراهم می کند "درخواست برای ارائه کلیه بسته ها سرویس.

"-f<файл>، --فایل<файл>" درخواست بسته ای که فایل را در اختیار دارد<файл>.

"-g<группа>، -- گروه<группа>" درخواست بسته ها از یک گروه<группа>.

"-پ<файл_пакета>"درخواست یک بسته (حذف نصب شده).<файл_пакета>.
فایل<файл_пакета>می تواند به عنوان URL سبک ftp یا http مشخص شود. در این صورت هدر بسته از سرور مشخص شده دریافت می شود.

"--specfile "تجزیه و پرس و جو انگار یک بسته بود در حالی که همه اطلاعات (مانند لیست فایل ها) در دسترس نیستند، این نوع درخواست اجازه می دهد تا از rpm برای استخراج اطلاعات از فایل های مشخصات بدون نیاز به نوشتن تجزیه کننده فایل مشخصات استفاده شود.

"--querybynumber «شماره رکورد پایگاه داده را مستقیماً درخواست کنید ... برای اهداف اشکال زدایی مفید است.

"--برانگیخته شده توسط<имя_пакета>" تمام بسته‌هایی که حاوی اسکریپت‌های راه‌اندازی هستند که توسط بسته فعال می‌شوند را پرس و جو کنید<имя_пакета>.

گزینه های انتخاب اطلاعات:

"-من"
اطلاعات مربوط به یک بسته شامل نام، نسخه و توضیحات را نمایش می دهد. در صورت ارائه از --queryformat استفاده می کند.

"-R, --requires" بسته هایی را فهرست کنید که این بسته به آنها بستگی دارد.

"--ارائه می کند" خدمات و کتابخانه های ارائه شده توسط این بسته را فهرست کنید.

"--changelog" تغییرات را برای این بسته چاپ کنید.

"-l, --list" فایل های موجود در این بسته را فهرست کنید.

"-s, -state" وضعیت فایل‌ها را در بسته فهرست کنید (به معنی -l است).

هر فایل می تواند در یکی از حالت های زیر باشد: عادی، نصب نشده یا جایگزین شده است.

"-d, -docfiles" فقط فایل های مستند را فهرست می کند (به معنی -l است).

"-c، --configfiles" فقط فایل های پیکربندی را فهرست می کند (به معنی -l است).

"--scripts" اسکریپت های بسته خاص را که به عنوان بخشی از فرآیند نصب/حذف نصب استفاده می شود، در صورت وجود چاپ کنید.

"--triggers, --triggerscripts"نمایش تمام اسکریپت های ماشه، در صورت وجود، موجود در بسته.

"--dump" اطلاعات مربوط به فایل ها را به شرح زیر چاپ کنید: اندازه مسیر mtime md5sum mode مالک گروه isconfig isdoc rdev symlink.
این گزینه باید همراه با حداقل یکی از -l، -c، -d استفاده شود.

"--last" لیست بسته ها را بر اساس زمان نصب مرتب می کند تا آخرین بسته ها در بالای لیست قرار گیرند.

"--filesbypkg" همه فایل‌ها را در هر بسته فهرست می‌کند.

"--triggerscripts" همه اسکریپت های راه اندازی را برای بسته های انتخاب شده نشان می دهد.

گزینه های تأیید.

فرم کلی دستور تأیید rpm به صورت زیر است:
دور در دقیقه -V | -y | -- تأیید [گزینه‌های تأیید]
در حین تأیید بسته، اطلاعات مربوط به فایل های نصب شده بسته با اطلاعات بسته اصلی و پایگاه داده RPM مقایسه می شود. راستی‌آزمایی اندازه، مجموع بررسی MD5، مجوزها، نوع، مالک و گروه هر فایل را از جمله موارد دیگر بررسی می‌کند. همه ناهماهنگی ها گزارش شده است. گزینه های انتخاب بسته ها مانند درخواست (بازرسی) بسته ها می باشد.

فایل‌هایی که از بسته نصب نشده‌اند (برای مثال، فایل‌های مستنداتی که با گزینه «--excludedocs» از فرآیند نصب حذف شده‌اند) بی‌صدا نادیده گرفته می‌شوند.

گزینه هایی که می توانند در فرآیند تأیید استفاده شوند:

--nofiles فایل های از دست رفته را نادیده بگیرید.

"--nomd5" خطاهای جمع‌بندی MD5 را نادیده بگیرید.
"--nopgp" خطاهای امضای PGP را نادیده بگیرید.

فرمت خروجی یک رشته هشت کاراکتری است که احتمالاً «c» یک فایل پیکربندی و نام فایل را نشان می‌دهد. هر یک از هشت کاراکتر نتیجه مقایسه یکی از ویژگی های فایل با مقدار ثبت شده در پایگاه داده RPM را نشان می دهد. نقطه نشان می دهد که آزمون قبول شده است. نمادهای زیر نشان دهنده خطا در برخی از تست ها هستند:

"5" MD5 checksum.

اندازه فایل "S".

"ال" سیملینک.

"T" زمان اصلاح.

دستگاه "D".

"یو" استاد.

گروه "G".

مجوزهای "M" (شامل مجوزها و نوع فایل).

چک امضا

فرم کلی فرمان تأیید امضای RPM به شکل زیر است:
دور در دقیقه -- checkig<файл_с_пакетом>+
این دستور امضای PGP تعبیه شده در بسته را تأیید می کند تا یکپارچگی و منشاء بسته را تأیید کند.
اطلاعات پیکربندی PGP از فایل های پیکربندی خوانده می شود. برای جزئیات بیشتر به بخش SIGNATURE PGP مراجعه کنید.

گزینه های حذف (حذف نصب)

فرم کلی دستور uninstall (uninstall) rpm به صورت زیر است:
دور در دقیقه -e<название_пакета>+

"--allmatches" همه نسخه های بسته مطابقت را حذف کنید<название_пакета>معمولا اگر<название_пакета>به بسته های متعدد پاسخ می دهد، صادر می شود
پیام خطا و حذف انجام نمی شود.

"--noscripts" اسکریپت های قبل و بعد از نصب را اجرا نکنید.

"--notriggers" از اجرای اسکریپت های ماشه ای که برای حذف این بسته استفاده شده اند، خودداری کنید.

"--nodeps" قبل از حذف بسته ها، وابستگی ها را بررسی نکنید.

"--test" حذف نکنید، فقط وانمود کنید :) در ارتباط با گزینه -vv مفید است.

متفرقه:
دور در دقیقه [--showrc]
دور در دقیقه [--setperms] [بسته] +
دور در دقیقه [--setgids] [بسته] +

گزینه های FTP / HTTP.

rpm شامل کلاینت های ساده FTP و HTTP است تا نصب و کاوش بسته های موجود در اینترنت را آسان کند. فایل های بسته برای نصب،
به‌روزرسانی‌ها و درخواست‌ها را می‌توان به‌عنوان URL سبک ftp یا http مشخص کرد:
ftp: // :@hostname: /path/to/package.rpm
اگر قسمت حذف، رمز عبور از شما خواسته می شود (یک بار برای هر جفت کاربر/نام میزبان). اگر هیچ کدام نه مشخص نشده است، از ftp ناشناس استفاده خواهد شد. در همه موارد از انتقال FTP غیرفعال (PASV) استفاده می شود.

Rpm امکان استفاده از گزینه های زیر را با URL های ftp می دهد:

"--ftpproxy " سیستم به عنوان یک پروکسی برای همه نقل و انتقالات استفاده می شود، که اجازه می دهد تا اتصالات FTP از طریق یک فایروال با استفاده از یک پروکسی برای دسترسی به دنیای خارج ایجاد شود. این گزینه را نیز می توان با تنظیم ماکرو _ftpproxy تنظیم کرد.

"--ftpport "شماره پورت TCP مورد استفاده برای اتصالات FTP به جای پورت پیش فرض را مشخص می کند.
این گزینه را نیز می توان با تنظیم ماکرو _ftpport تنظیم کرد.

Rpm امکان استفاده از گزینه های زیر را با URL های http فراهم می کند:

"--http پروکسی " سیستم به عنوان یک پروکسی برای همه ارسال ها استفاده می شود، که به اتصالات HTTP اجازه می دهد از طریق یک فایروال که از یک پروکسی برای دسترسی به دنیای خارج استفاده می کند، ایجاد شود. این گزینه را نیز می توان با تنظیم ماکرو _httpproxy تنظیم کرد.

"--httpport "شماره پورت TCP مورد استفاده برای اتصالات HTTP را به جای درگاه پیش فرض مشخص می کند.
این گزینه را نیز می توان با تنظیم ماکرو _httpport تنظیم کرد.

تهیه شده توسط Dvoe4nik85

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

[سوکولوف رومن (رومانسو AT rt.mipt.ru)]

نصب بسته های نرم افزاری در لینوکس برای مبتدیان

دو روش برای نصب نرم افزار

نیاز به نصب بسته‌های نرم‌افزاری جدید برای LINUX در دو حالت اصلی مطرح می‌شود:
  • هنگامی که نسخه جدیدی از یکی از بسته هایی که قبلاً نصب کرده اید ظاهر می شود.
  • زمانی که استفاده از بسته ای که هنوز روی سیستم نصب نشده است ضروری می شود.
در حالت دوم، ممکن است یکی از بسته های موجود در دیسک نصب شما باشد، اما در طول مراحل نصب نصب نشده باشد. با این حال، اغلب نرم افزارهای جدیدی را در اینترنت پیدا می کنید، به خصوص که بخش قابل توجهی از این نرم افزار رایگان یا اشتراک افزار است. هر چند که ممکن است، اما دیر یا زود شما همچنان با نیاز به نصب یک بسته جدید مواجه خواهید شد.

دو شکل اصلی توزیع نرم افزار LINUX وجود دارد: در کد منبع و در قالب ماژول های اجرایی. در هر صورت، بسته نرم افزاری را می توان به صورت آرشیو tar-gz یا بسته rpm عرضه کرد.

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

برنامه دور در دقیقه

نام این برنامه (یا دستور) مخفف Redhat Package Manager است. این رونوشت در اکثر کتاب‌ها و راهنماهای لینوکس آمده است و به نظر من صحیح‌تر و منطقی‌تر است، اگرچه در فصل 6 «راهنمای مرجع رسمی لینوکس Red Hat» آمده است: «RPM Package Manager (RPM)، یک سیستم بسته‌بندی باز است. در دسترس برای هر کسی که بتواند از آن استفاده کند، و روی لینوکس Red Hat و همچنین سایر سیستم‌های لینوکس و یونیکس کار می‌کند.

برنامه rpm به نوعی شبیه به ویزارد نصب برای MS Windows است. مزیت استفاده از این برنامه نسبت به نصب بایگانی های tar-gz این است که به طور خودکار تمام مراحل لازم برای نصب نرم افزار را انجام می دهد: ایجاد دایرکتوری های لازم، توزیع فایل ها در آنها، ایجاد لینک. علاوه بر این، می‌توان از آن نه تنها برای نصب یک بسته جدید، بلکه برای به‌روزرسانی نسخه‌های نرم‌افزار، دریافت لیست نرم‌افزارهای نصب شده و بررسی نصب، و همچنین برای حذف بسته‌های جداگانه استفاده کرد (به عنوان مثال، اگر پس از یک دوره کار آزمایشی با برنامه تصمیم می گیرید که استفاده بیشتر از آن را رها کنید). با استفاده از همین برنامه rpm می توانید خودتان یک پکیج rpm ایجاد کنید، اما برای مبتدی ها احتمالا بهتر است این کار را نکنید و از بسته های آماده rpm استفاده کنید.

بسته های rpm آرشیوهایی هستند که به طور ویژه برای پردازش توسط برنامه rpm آماده شده اند. RPM ها با پسوند rpm ختم می شوند، برای مثال xzip-180-1.i386.rpm یا xzip-180-1.src.rpm. همانطور که می بینید، پسوند دیگری قبل از پسوند rpm وجود دارد. اگر i386. یا .i586 باشد، بسته حاوی فایل های اجرایی است، و اگر این پسوند .src باشد، بسته حاوی کدهای منبع است که هنوز پس از نصب باید کامپایل شوند. به طور معمول، هم در سی دی های نصب و هم در فهرست های اینترنتی، بسته های rpm با فایل های اجرایی در دایرکتوری هایی به نام RPMS و بسته های rpm با کد منبع در زیر شاخه های SRPMS قرار دارند.

در اینترنت، بسته های rpm را می توان در سرورهای مختلف یافت. در تجربه من، راحت ترین سرور در اینترنت برای جستجوی آرشیوهای rpm http://rufus.w3.org است. یک موتور جستجو روی آن نصب شده است که به شما امکان می دهد لیست بسته ها را به راحت ترین روش برای خود سازماندهی کنید:

  • بر اساس نام بسته ها؛
  • توسط توزیع؛
  • توسط گروه برنامه؛
  • بر اساس تاریخ؛
  • توسط تامین کنندگان (تولید کنندگان) نرم افزار.
حجم کل آرشیو بسته rpm در این سرور بیش از 66 گیگابایت است. آرشیوهای بسیار غنی نیز توسط دو سرور ftp در روسیه نگهداری می شود: ftp://ftp.chg.ru/pub/Linux و ftp://ftp.nc.orc.ru/

فقط لازم است توجه داشته باشید که اگر از رایانه ویندوزی برای دانلود بسته ها از اینترنت استفاده می کنید، به احتمال زیاد تمام نام بسته هایی که دارید مخدوش می شود. واقعیت این است که ویندوز نام هایی را که در آنها چندین نقطه وجود دارد (به عنوان مثال glib-1.0.6-3.i386.rpm) "دوست ندارد" و به نظر خود نقاط "اضافی" را با زیرخط جایگزین می کند - glib- 1_0_6-3_i386. دور در دقیقه). بنابراین پس از دریافت بسته (هنگام انتقال آن به رایانه شخصی با سیستم عامل لینوکس)، این "اصلاحات" باید با بازگشت به نام های یونیکس برطرف شوند.

بنابراین، شما آرشیو rpm را با نسخه اجرایی بسته مورد نیاز خود پیدا کرده و دانلود کرده اید. اگر در حال نصب یک بسته کاملاً جدید هستید (نسخه های قبلی این نرم افزار را روی رایانه خود نداشتید)، برای نصب بسته از این آرشیو، فقط باید به دایرکتوری که بایگانی در آن قرار دارد بروید و دستور ( برای بی حوصله ترین ها: برای پیروی از این توصیه عجله نکنید، حداقل چند پاراگراف دیگر را بخوانید)

Rpm -i rpm-archive_name اگر نسخه قبلی بسته را نصب کرده‌اید، در ساده‌ترین حالت باید دستوری را با فرمت زیر بدهید: rpm -U --force rpm-archive_name در اینجا پارامتر -U به برنامه می‌گوید. برای ارتقای بسته، و گزینه --force بدون قید و شرط (و بدون سوال) نیاز به به روز رسانی تمام فایل های موجود در بسته دارد. توجه داشته باشید که این یک نیاز بسیار قوی است و در برخی موارد ممکن است بهتر باشد برخی از فایل‌ها (مثلاً config) را از نسخه قبلی نگه دارید. اگر نصب به طور معمول ادامه یابد و هیچ پیام اضافی ظاهر نشود، پس از پایان برنامه (بعد از ظاهر شدن اعلان پوسته)، می توانید از بسته تازه نصب شده استفاده کنید.

متأسفانه، همیشه به این سادگی نیست. بگذارید یک مثال عینی برای شما بگویم. من RedHat Linux نسخه 5.2 را نصب کرده بودم و برنامه Midnight Commander (mc) نسخه 4.1.36 بود. در سرور ftp نسخه 4.5.30 این برنامه (بسته mc-4.5.30-12.i386.rpm) را دیدم و طبیعتاً تصمیم گرفتم آن را نصب کنم. با این حال، مشخص شد که برای این کار نیاز به نصب 4 بسته دیگر است که rpm در مورد آن به من گفت:

خطا: وابستگی های برآورده نشده: redhat-logos برای mc-4.5.30-12 libglib-1.2.so 0.0 مورد نیاز برای mc-4.5.30-12 libc.so.6 (GLIBC_2.1) مورد نیاز برای mc-4.5.30 -12 libc.so.6 (GLIBC_2.0) برای mc-4.5.30-12 مورد نیاز است اگر به یاد داشته باشید که در هنگام نصب اولیه لینوکس، برنامه نصب وابستگی های بسته را نیز بررسی کرده و نصب موارد گمشده را پیشنهاد کرده است، تعجب آور نیست. . اما در مورد نصب، تمام پکیج های لازم روی یک دیسک قرار می گیرند و در اینجا باید ابتدا به دنبال پکیج های لازم می گشتم. من به راحتی دو بسته (redhat-logos-1.0.5-1.noarch.rpm و glibc-2.1.1-6.i386.rpm) را پیدا کردم، پس از آن rpm دیگر درخواست GLIBC_2.0 را متوقف کرد. اما با libglib.so .1 مشکل تر شد. اولا من به هیچ وجه نتونستم بسته ای با این نام پیدا کنم. همانطور که مشخص شد، چنین بسته ای وجود ندارد، فایل libglib.so .1 در بسته glib-1.0.6-3.i386.rpm موجود است. در حالی که متوجه شدم، همچنین یاد گرفتم که برای اینکه بفهمم یک بسته خاص کدام فایل ها را نصب می کند، باید دستور rpm -qpl rpm-archive_name را بدهید و اطلاعاتی در مورد بسته - rpm -qpi rpm-archive_name The thing به دست آورید. این است که RPM فایل ها، علاوه بر آرشیو واقعی فایل ها، حاوی اطلاعاتی در مورد بسته شامل نام، نسخه و توضیحات کوتاه است. با استفاده از همان برنامه rpm می توانید این اطلاعات اضافی را مشاهده کنید. به عنوان مثال، برای بسته glib-1.0.6-3.i386.rpm، نتایج زیر را دریافت می کنیم: rpm -qpi glib-1.0.6-3.i386.rpm خروجی چیزی شبیه به این خواهد بود: نام: glib Relocations : (قابل جابجایی نیست) نسخه: 1.0 .6 فروشنده: Red Hat انتشار نرم افزار: 3 تاریخ ساخت: شنبه 10 اکتبر 1998 04:49:03 تاریخ نصب: (نصب نشده) ساخت میزبان: porky.redhat.com گروه: کتابخانه ها منبع RPM : glib-1.0.6-3 .i386.rpm حجم: 55305 بسته بندی: نرم افزار Red Hat< [ایمیل محافظت شده]> خلاصه: کتابخانه مفید توابع ابزار توضیحات: کتابخانه مفید توابع ابزار. لبه‌ها و هدرهای توسعه در gtk + -devel هستند. اگر دستور rpm -qpl glib-1.0.6-3.i386.rpm را صادر کنید، لیستی از فایل های موجود در بسته را دریافت خواهید کرد که نشان می دهد کجا نصب می شوند: /usr/lib/libglib.so. 1 / usr / lib / libglib .so.1.0.6 RPM همچنین یک سیستم جستجوی قدرتمند برای بسته های نصب شده بر روی سیستم ارائه می دهد. با دستور rpm -qа لیستی از تمام بسته های نصب شده در سیستم دریافت خواهید کرد (لیست بسیار طولانی خواهد بود، بنابراین بهتر است خروجی را فوراً به فیلتر بیشتر ارسال کنید). می توانید اطلاعات مربوط به یک بسته یا فایل های جداگانه را جستجو کنید. به عنوان مثال، می توانید به راحتی پیدا کنید که یک فایل به کدام بسته تعلق دارد و از کجا آمده است: rpm -qf / etc / bashrc bash-1.14.7-16. اگر نگران حذف تصادفی یک فایل مهم از یک بسته نصب شده هستید، فقط آن را بررسی کنید: rpm -Va شما از هر گونه ناهنجاری مطلع خواهید شد. سپس در صورت لزوم می توانید بسته را دوباره نصب کنید. هر فایل پیکربندی ذخیره خواهد شد.

RPM یک ابزار بسیار مفید است و همانطور که می بینید گزینه های مختلفی دارد. من فقط چند مثال زدم. در مجموع، دور در دقیقه دارای 16 حالت اصلی کار است که ترکیب آنها در 6 گروه منطقی است (پس از کولون، فرمت فرمان برای حالت مربوطه داده می شود):

جستجوها: Query: rpm [--query] نمایش برچسب‌های پرسش: rpm [--querytags] نصب و نگهداری بسته‌های نصب شده: نصب: rpm [--install] + به‌روزرسانی: rpm [--freshen | -F] + حذف نصب: rpm [ --uninstall | -e] + تأیید: rpm [--verify | -V] + امضاها (بسته‌ها با امضای دیجیتال در قالب PGP امضا می‌شوند تا از تغییر ناپذیری و حفظ نویسندگی بسته‌ها اطمینان حاصل شود): تأیید امضا: rpm [-تأیید | -V] + امضای مجدد: rpm [--resign] + افزودن امضا: rpm [--addsign] + کار با پایگاه داده: راه‌اندازی پایگاه داده: rpm -i [--initdb] بازسازی پایگاه داده : rpm -i [- -rebuilddb] ایجاد بسته‌های rpm: ایجاد بسته: rpm [-b | t] + کامپایل مجدد بسته: rpm [--rebuild] + بسته ساخت از Tarball: rpm [--tarbuild] + متفرقه: نمایش rpm پیکربندی برنامه: rpm [ --showrc] تنظیم کاربران: rpm [--setperms] + گروه‌های تنظیم: rpm [--setgids] + برای توضیحات دقیق‌تر از دستور rpm، به RPM-HOWTO، man pages و i مراجعه کنید. nfo در اینجا آورده نشده است، عمدتاً به این دلیل که در حالت های گرافیکی برنامه های تا حدودی راحت تر و "انسانی" برای مدیریت نرم افزار نصب شده در سیستم و فرآیندهای به روز رسانی آن وجود دارد که در بخش های فرعی بعدی مورد بحث قرار خواهد گرفت.

توجه داشته باشید:

من از RPM نسخه 3 استفاده کردم. در حال حاضر، نسخه 4 وجود دارد، اما پیام زیر در لیست پستی blackcat-list فلش شد:

> کسی تجربه نصب rpm 4.x را دارد؟ > من می خواهم بسته هایی را از توزیع Red Hat 7.0 نصب کنم. خود پان کانفسکی ;-) نصب 4.x rpm-3.0.5-9.6x را توصیه نمی کند ساختار 4.x را درک می کند و بسته های 4.x را نصب می کند.

نصب نرم افزار از منبع

در برخی موارد، ماژول های اجرایی برنامه ها را می توان به عنوان بایگانی tar-gz عرضه کرد. در این مورد، نصب برنامه فقط کمی پیچیده تر از نصب از یک بسته rpm است: فقط باید آرشیو را گسترش دهید و اغلب می توانید برنامه به دست آمده را اجرا کنید. نصب یک برنامه در صورتی که کد منبع باشد کمی دشوارتر است. این مورد را در این بخش بررسی خواهیم کرد.

موارد ضروری برای برنامه نویسی C

برای شروع، سیستم عامل یونیکس همزمان با زبان برنامه نویسی C (C) متولد شد. علاوه بر این، زبان C به طور خاص برای توسعه این سیستم عامل ایجاد شده است، بخش قابل توجهی از یونیکس به زبان C نوشته شده است. سیستم عامل لینوکس نیز به زبان C نوشته شده است. بنابراین و همچنین مطابق با اصل توزیع رایگان کدهای منبع، بسیاری از برنامه های لینوکس به صورت متنی به زبان C توزیع می شوند. طبیعتاً برای اینکه چنین برنامه ای بر روی سیستم نصب شود و برای اجرا اجرا شود، باید تدوین شود. برنامه gcc معمولاً برای انجام مراحل کامپایل استفاده می شود (اگرچه برخی از طرح های جایگزین وجود دارد).

کامپایلر GNU C، gcc، شامل 4 جزء اصلی است که مربوط به چهار مرحله تبدیل کد منبع به یک برنامه اجرایی است. جزء اول یک پیش پردازنده است که کد منبع برنامه را قبل از کامپایل مطابق با دستورالعمل های پیش پردازنده موجود در برنامه C تغییر می دهد. جایگزینی متن ساده با توجه به این دستورات انجام می شود. دومی خود کامپایلر است که کد منبع را پردازش کرده و به کد زبان اسمبلی تبدیل می کند. مؤلفه سوم یک اسمبلر است که کد شی تولید می کند. در نهایت، مؤلفه چهارم، پیوند دهنده است که یک فایل اجرایی از فایل های کد شی می سازد. نکته این است که برنامه‌های بزرگ معمولاً به صورت قسمت‌هایی نوشته می‌شوند، به همان اندازه که فایل‌های جداگانه حاوی کد منبع قسمت مربوطه هستند. کامپایلر هر کدام از این فایل ها را به طور جداگانه پردازش می کند و ماژول های شی جداگانه ایجاد می کند (فایل های چنین ماژول هایی معمولا پسوند .o دارند). این وظیفه پیوند دهنده است که یک برنامه اجرایی واحد از این ماژول ها ایجاد کند. با این رویکرد، اگر یک برنامه نویس اصلاحی در یک ماژول انجام دهد، نیازی به کامپایل مجدد کل برنامه نیست: کافی است ماژول اصلاح شده را کامپایل کرده و پیوند دهنده را دوباره راه اندازی کنید.

برای انجام عملیات استاندارد، برنامه نویس می تواند از توابع کتابخانه های استاندارد استفاده کند. رایج ترین مثال، کتابخانه libc است که شامل توابعی است که وظایفی مانند مدیریت حافظه و I/O را انجام می دهد. برنامه نویسان می توانند کتابخانه های خود را ایجاد کنند و هنگام نوشتن برنامه های جدید از آنها استفاده کنند.

کتابخانه ها ثابت، مشترک و پویا هستند. کتابخانه ایستا کتابخانه ای است که کد آن در حین کامپایل در یک برنامه جاسازی می شود. کد کتابخانه مشترک در برنامه تعبیه نشده است، بلکه همزمان با برنامه در حافظه بارگذاری می شود و برنامه به عملکردهای این کتابخانه دسترسی پیدا می کند. کتابخانه های پویا نوعی کتابخانه مشترک هستند، تنها زمانی که تابع مربوطه از برنامه فراخوانی شود، توابع کتابخانه در حافظه بارگذاری می شوند. در طول اجرای برنامه، می توان آنها را بارگیری کرد و با توابع دیگری از همان کتابخانه یا کتابخانه دیگری جایگزین کرد. نام کتابخانه های ایستا معمولاً با پسوند a. و نام کتابخانه های مشترک با پسوند .so و به دنبال آن شماره نسخه اصلی و فرعی قرار می گیرد. نام می تواند هر رشته ای باشد که به طور منحصر به فرد کتابخانه را شناسایی کند. نام کتابخانه معمولا با lib شروع می شود. مثالها: libm.so.5 یک کتابخانه ریاضی عمومی است، libX11.so .6 یک کتابخانه برای کار با سیستم پنجره X است. Libc.so.5 به طور خودکار پیوند داده می شود، در حالی که اکثر کتابخانه های دیگر باید به صراحت در خط فرمان هنگام فراخوانی gcc مشخص شوند. این کار از طریق گزینه -l و به دنبال آن قسمت منحصر به فرد نام کتابخانه انجام می شود، به عنوان مثال، برای فراخوانی یک کتابخانه ریاضی، فقط -lm را مشخص کنید.

بسیاری از کتابخانه های سیستم در دایرکتوری های سیستم مانند / usr / lib / و / lib / قرار دارند، اما برخی ممکن است در دایرکتوری های دیگر نیز قرار داشته باشند. این دایرکتوری ها در فایل /etc/ld.so.conf فهرست شده اند. هر بار که کتابخانه اشتراک‌گذاری شده تغییر می‌کند یا دوباره نصب می‌شود، دستور ldconfig باید اجرا شود تا فایل /etc/ld.so.conf و پیوندهایی به آن به‌روزرسانی شود. اگر کتابخانه از یک بسته RPM نصب شده باشد، این کار معمولاً به صورت خودکار انجام می شود، البته نه همیشه.

هنگام کامپایل کردن برنامه‌های بزرگی که از تکه‌های کد منبع واقع در فایل‌های مختلف استفاده می‌کنند، پیگیری اینکه کدام فایل‌ها باید دوباره کامپایل شوند و کدام‌ها فقط باید پیوند شوند، می‌تواند بسیار مشکل باشد. در چنین مواردی، ابزار make کمک زیادی می کند، که به طور خودکار تعیین می کند که آیا فایل منبع باید کامپایل شود یا خیر، بر اساس تاریخ آخرین تغییر آن. ابزار make بر روی فایل ها بر اساس وابستگی آنها به یکدیگر عمل می کند. این وابستگی ها توسط فایلی به نام makefile تعریف می شوند. یک خط از یک makefile دارای سه بخش است: نام فایل مورد نظر، لیست فایل هایی که به آنها بستگی دارد و دستور. اگر هر فایلی از لیست بعد از فایل هدف تغییر کرده باشد، دستور مشخص شده در خط اجرا می شود. چندین دستور را می توان در یک خط مشخص کرد. به طور معمول، یک فرمان فراخوانی به کامپایلر برای کامپایل یک فایل منبع یا پیوند دادن فایل های کد شیء است. خطوط وابستگی با یک خط خالی از یکدیگر جدا می شوند.

نصب بسته های نرم افزاری از منبع

اکنون که اولین برداشت از نحوه کامپایل شدن برنامه های C را داریم، می توانیم به بررسی نحوه برخورد با بسته های نرم افزاری توزیع شده به عنوان کد منبع ادامه دهیم. اولین چیزی که در این زمینه باید بگوییم این است که برای نصب چنین پکیج هایی طبیعتاً باید gcc داشته باشید و برنامه های کاربردی را روی سیستم خود بسازید.

فرآیند نصب بسته واقعی شامل مراحل زیر است:

  1. (با دستور 'cd') به دایرکتوری حاوی کدهای منبع بسته ای که قرار است نصب شود بروید.
  2. دستور "./configure" را اجرا کنید، که بسته را مطابق با سیستم شما پیکربندی می کند. فرآیند اجرای این دستور زمان بسیار زیادی طول می کشد و دستور پیام هایی را روی صفحه نمایش می دهد که نشان می دهد کدام ویژگی های خاص سیستم در حال آزمایش هستند.
  3. برای کامپایل کردن بسته، دستور make را اجرا کنید.
  4. سپس می‌توانید (این مرحله اختیاری است) دستور «make check» را اجرا کنید، که روال‌های خودآزمایی همراه با بسته را فراخوانی می‌کند.
  5. برای نصب برنامه ها، فایل های داده و اسناد، دستور make install را اجرا کنید.
  6. مرحله آخر "میزان تمیز کردن" است که اشیاء میانی و باینری ها را از فهرست منبع حذف می کند. برای حذف فایل های موقتی که "ایجاد شده" را پیکربندی می کنند (پس از آن بسته می تواند برای انواع دیگر رایانه ها کامپایل شود)، باید "" را اجرا کنید. پاک کردن».
در بیشتر موارد، این توالی دستورات برای نصب یک بسته جدید کافی است.

چقدر فضای دیسک باقی مانده است

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

برنامه rpm به شما این امکان را می دهد که تعیین کنید چقدر فضا برای نصب یک بسته نیاز است: برای این کار باید درخواستی مانند rpm -qpi package_name صادر کنید و در خط Size خواهید دید که بسته چند بایت می گیرد. باقی مانده است که بفهمیم آیا فضای دیسک بسیار آزاد وجود دارد یا خیر.

برای تعیین میزان فضای خالی روی دیسک می توانید از دستور df استفاده کنید. اگر این دستور را بدون آرگومان بدهید، به شما می گوید که چه مقدار فضای دیسک در همه سیستم های فایل نصب شده وجود دارد، چه مقدار در حال استفاده است و چه مقدار هنوز آزاد است. واحد اندازه گیری بلوک 1 کیلوبایتی است. اگر می خواهید اطلاعاتی در مورد میزان فضای خالی در مگابایت های آشناتر به دست آورید، دستور را با پارامتر -h صادر کنید:

Df -h اطلاعات مربوط به مقدار فضای آزاد روی یک دیسک خاص را می توان با تعیین نام فایل دستگاه به عنوان پارامتر به دست آورد: df -h / dev / hda2 داده هایی را در مورد میزان استفاده شده و فضای خالی در سیستم فایل حاوی فایل مشخص شده (دایرکتوری).

اگر هنوز فضا وجود دارد، می توانید به نصب بسته ادامه دهید. برای صاحبان رایانه هایی با دیسک های کوچک بدتر است: هر بار که باید به این فکر کنید که چگونه فضا را برای یک برنامه جدید آزاد کنید، به عبارت دیگر، چه چیزی را می توانید از دیسک حذف کنید. شما می توانید فایل های فردی را حذف کنید، اما، البته، از نقطه نظر آزاد کردن فضا، حذف کل دایرکتوری ها یا بسته ها کارآمدتر است.

فایل ها (دایرکتوری ها) در صورتی که دیگر به آنها نیاز نداشته باشید (فایل های موجود در آنها) حذف می شوند. به طور طبیعی، فهرست ها (یا فایل ها) با بیشترین حجم برای حذف انتخاب می شوند، و در اینجا دستور du (استفاده از دیسک) مفید است.

دستور du به شما این امکان را می دهد که بدانید یک فایل یا زیر شاخه خاص چقدر فضای اشغال کرده است. برای انجام این کار، باید دستوری را با فرمت زیر بدهید (در مثال اندازه دایرکتوری / usr / lib را خواهیم فهمید)

Du -ks / usr / lib نتیجه اجرای این دستور تقریباً خط زیر 91418 / usr / lib خواهد بود که به این معنی است که فهرست / usr / lib 91418 کیلوبایت است (گزینه k نشان می دهد که اندازه باید بر حسب کیلوبایت نمایش داده شود. ). گزینه s برای نمایش تنها اندازه کل فهرست مشخص شده است. اگر آن را حذف کنید، اطلاعاتی در مورد حجم هر زیر شاخه و فایل در دایرکتوری مشخص شده دریافت خواهید کرد و این اطلاعات زیادی است. با این حال، خط آخر همچنان حجم کل فهرست را نمایش می دهد، بنابراین اگر شما مجذوب سوسو زدن خطوط روی صفحه هستید، می توانید این لذت کوچک را به خود هدیه دهید.

اگر S کوچک را با یک S بزرگ جایگزین کنید، فقط اطلاعات مربوط به اندازه زیر شاخه ها (اما نه فایل ها) نمایش داده می شود که گاهی اوقات نیز مفید است. می توانید از گزینه های دیگر این دستورات در صفحات man مربوطه یا با استفاده از دستور info مطلع شوید.

اکنون می دانید که چگونه تعیین کنید بسته نصب شده چقدر فضای دیسک را اشغال می کند و چقدر فضای خالی دیسک را اشغال می کند. در نظر بگیرید که اگر فضای خالی کافی وجود ندارد، چه کاری می توانید انجام دهید. لازم به ذکر است که با نصب سیستم عامل لینوکس استاندارد، تعداد زیادی فایل بر روی دیسک تولید می شود که شما هرگز به آنها نیاز نخواهید داشت. در عین حال، یافتن مواردی که در انبوهی از فایل ها به آنها نیاز ندارید بسیار دشوار است (به خصوص که آنها در اعماق ساختار دایرکتوری پنهان هستند). بنابراین، تجربه خود را از یافتن فایل های غیر ضروری به اختصار شرح می دهم، به امید اینکه این تجربه برای خواننده مفید واقع شود.

آزاد کردن فضای دیسک

یک بار مجبور شدم لینوکس (Black Cat 6.0) را روی یک کامپیوتر 486 با هارد دیسک 350 مگابایت نصب کنم. اگرچه در حین نصب سعی کردم کمترین پیکربندی نرم افزاری ممکن را انتخاب کنم، اما پس از اتمام نصب، دیسک بیش از 90 درصد پر بود. من به طور خلاصه مراحلی را که به من امکان داد فضای کافی برای نصب بسته های جدید را آزاد کنم، فهرست می کنم.
  1. اولین قدم این است که در مورد حذف برخی از بسته های نرم افزاری نصب شده در هنگام نصب سیستم فکر کنید. برای تصمیم گیری اینکه کدام بسته یا بسته هایی را حذف کنید، دستور را صادر کنید:> rpm -qa --queryformat "% 15 (SIZE)% (NAME) \ n" | sort -nr% rpm -q -a> بسته‌ها فایل بسته‌های به‌دست‌آمده حاوی فهرستی از تمام بسته‌های نرم‌افزاری نصب شده بر روی سیستم خواهد بود. این لیست را می توان برای شناسایی بسته هایی که به آنها نیاز ندارید و با استفاده از دستور rpm با گزینه -e حذف کرد، تجزیه و تحلیل کرد. با این کار تمام فایل ها و دایرکتوری های ایجاد شده در حین نصب بسته حذف می شود. این روش امن ترین است، زیرا برنامه rpm ابتدا بررسی می کند که آیا بسته داده شده توسط برنامه دیگری مورد استفاده قرار می گیرد یا خیر و در صورت وجود چنین وابستگی، اخطار مناسب را صادر می کند و از حذف چیزی خودداری می کند.

    به عنوان مثال، در فایل بسته های به دست آمده از این طریق، من اشاره ای به بسته AfterStep-APPS-990329-2 پیدا کردم. با اجرای دستور:

    % rpm -qi AfterStep-APPS متوجه شد که این بسته حاوی تعدادی اپلت برای مدیریت پنجره AfterStep است. از آنجایی که من از چنین مدیری استفاده نکردم، این بسته و همچنین خود بسته AfterStep را با استفاده از دستورات:% rpm -e AfterStep% rpm -e AfterStep-APPS حذف کردم. حذف بسته ها باید با حقوق ریشه -a انجام شود. با استفاده از این تکنیک می توانید تمام بسته هایی را که استفاده نمی کنید حذف کنید. به عنوان مثال، من بسته هایی مانند gnome-core، gnome-libs، gnome-audio را حذف کردم، زیرا از KDE به عنوان محیط گرافیکی خود استفاده می کنم. توجه داشته باشید که وقتی سعی کردم gnome-core را حذف کنم، rpm از انجام این کار خودداری کرد و گفت که بخشی از این بسته توسط بسته xmms-gnome استفاده می شود. هنگام تلاش برای حذف gnome-libs وابستگی های برآورده نشده بیشتری ایجاد می شود. با این حال، از آنجایی که تمام بسته های ذکر شده در این پست ها به نوعی با گنوم مرتبط بودند، من ریسک حذف همه آنها و همچنین سایر بسته های مرتبط با آنها را پذیرفتم. در نتیجه حدود 7800 کیلوبایت فضای دیسک آزاد شد.

  2. با نگاهی به فهرست راهنمای / usr / man، دو زیر شاخه با صفحات man به زبان های فرانسوی و اسپانیایی پیدا کردم. پس از حذف آنها، حدود 100 کیلوبایت آزاد شد.
  3. در دایرکتوری / usr / lib / kbd / keymaps، ظاهراً می‌توانید زیر شاخه‌هایی را که جداول نقشه صفحه‌کلید در نظر گرفته شده برای انواع دیگر ریزپردازنده‌ها را ذخیره می‌کنند، و در زیر شاخه‌های / usr / lib / kbd / keymaps / i386 برای طرح‌بندی‌هایی غیر از qwerty حذف کنید.

    به همین ترتیب، طرح‌بندی صفحه‌کلید برای زبان‌های مختلفی که استفاده نمی‌کنید حذف می‌شوند (چرا به چینی یا تایلندی نیاز دارم، من حتی یک کلمه را در آنها نمی‌دانم!). این فونت ها در پوشه / usr / lib / kbd / keymaps / i386 / qwerty قرار دارند.

    می توانید سعی کنید فونت های غیر ضروری را از / usr / lib / kbd / consolefonts حذف کنید، اما اگر در ابتدای جدول چیدمان صفحه کلید مشخص کنید که به کدام زبان خدمت می کند، باید هدف فایل فونت را با نام آن قضاوت کنید.

    از آنجایی که به طور پیش فرض، سیستم ابزارهای بومی سازی را برای کشورهای مختلف نصب می کند (که ظاهراً به آنها نیازی ندارید)، می توانید از پوشه / usr / share / locale همه زیرشاخه های مربوط به زبان هایی را که به آنها نیاز ندارید حذف کنید. در مجموع، حدود 16 مگابایت وجود دارد، بنابراین حذف موارد غیر ضروری می تواند حدود 15 مگابایت فضای آزاد ایجاد کند. پاک کردن دایرکتوری های / usr / share / i18n / locales و / usr / share / i18n / charmaps می تواند حتی بیش از 2 مگابایت بدهد.

  4. دایرکتوری / usr / share / doc / HTML / شامل زیرشاخه هایی با اسناد به زبان های مختلف است که احتمالاً به اکثر آنها نیاز ندارید. من در این دایرکتوری فقط سه زیردایرکتوری en، ru پیش‌فرض باقی گذاشته‌ام، که دومی فقط پیوندی به زیر شاخه en است، بنابراین در واقع فقط 2 زیر شاخه باقی مانده است. با حذف این اسناد حدود 500 کیلوبایت آزاد شد.

دیر یا زود باید نرم افزاری را از خارج از مخازن رسمی نصب کنیم. نه همه بسته ها وجود دارد و نه همیشه جدیدترین نسخه های برنامه های تازه منتشر شده وجود دارد. اغلب، توسعه دهندگان بسته هایی را برای محبوب ترین توزیع ها در وب سایت رسمی خود ارسال می کنند. اینها معمولاً deb و rpm هستند. مورد دوم کمی کمتر رایج است، اما اگر از توزیع مبتنی بر Red Hat استفاده می کنید، این قالب بسته ای است که شما نیاز دارید. همچنین در شبکه اغلب می توانید کتابخانه ها و سایر مؤلفه هایی را که در مخازن نیستند به صورت بسته پیدا کنید.

قبلاً به نصب بسته‌های deb در اوبونتو نگاه کردیم. و در این مقاله به طور مفصل به نصب پکیج های rpm در لینوکس پرداخته می شود.

RPM یا RPM Package Manager یک مدیریت بسته است که در توزیع های لینوکس بر اساس Red Hat استفاده می شود. فرمت فایل این بسته منیجر به همین نام است.

این قالب با همان Deb تفاوت چندانی ندارد. می توانید مقایسه دقیق آنها را در مقاله what مشاهده کنید. در اینجا، فقط توجه داشته باشید که فایل rpm یک بایگانی معمولی cpio است که حاوی خود فایل‌های برنامه و همچنین متادیتا است که محل نصب آنها را توضیح می‌دهد. پایه تمام بسته های نصب شده در فهرست / var / lib / rpm قرار دارد. از ویژگی‌های خاص، می‌توان اشاره کرد که rpm از بسته‌های پیشنهادی پشتیبانی نمی‌کند، و همچنین از وابستگی‌های قالب‌بندی / یا پشتیبانی نمی‌کند.

برای مدیریت بسته‌ها، درست مانند سیستم‌های دبیان، یک ابزار کنسول سطح پایین به همین نام وجود دارد - rpm. ما آن را بیشتر در مقاله بررسی خواهیم کرد. سیستم‌های مختلف از مدیریت بسته‌های متفاوتی استفاده می‌کنند، برای مثال Red Hat از Yum استفاده می‌کند، فدورا از DNF و OpenSUSE از zypper استفاده می‌کند، اما rpm روی همه این سیستم‌ها کار می‌کند.

نصب بسته های RPM در لینوکس

بیایید ابتدا نگاهی به نحو خود ابزار rpm بیندازیم:

بسته گزینه‌های حالت دور در دقیقه $

ابزار می تواند در یکی از حالت های زیر کار کند:

  • -q- درخواست، دریافت اطلاعات؛
  • -من- نصب و راه اندازی؛
  • -V- چک کردن بسته ها؛
  • -U- به روز رسانی؛
  • -e- حذف

بیایید فقط جالب ترین گزینه های برنامه ای را که در این مقاله نیاز داریم در نظر بگیریم:

  • -v- نمایش اطلاعات دقیق؛
  • -h- نمایش نوار وضعیت؛
  • --زور- عمل را به زور انجام دهید.
  • -- گره ها- وابستگی ها را بررسی نکنید.
  • -- جایگزین فایل ها- بدون اخطار همه فایل های قدیمی را با فایل های جدید جایگزین کنید.
  • -من- دریافت اطلاعات در مورد بسته؛
  • - لیست فایل های بسته.

اکنون که قبلاً ایده ای در مورد نحوه کار با این ابزار دارید، می توان بسته rpm را در لینوکس نصب کرد. ساده ترین دستور نصب به صورت زیر خواهد بود:

sudo rpm -i package_name.rpm

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

برای مشاهده جزئیات بیشتر در حین نصب، از گزینه -v استفاده کنید:

sudo rpm -iv package_name.rpm

همچنین می توانید نمایش وضعیت نوار را در طول مراحل نصب فعال کنید:

sudo rpm -ivh package_name.rpm

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

sudo rpm -q package_name

همچنین اگر به آن نیاز ندارید، می توانید فوراً بسته را حذف کنید:

sudo rpm -e package_name

اما دور در دقیقه، مانند dpkg، یک اشکال اساسی دارد. برنامه نمی تواند وابستگی ها را حل کند. در صورت عدم وجود پکیج مورد نیاز در سیستم، به سادگی با پیغام خطا مواجه می شوید و بسته نصب نمی شود.

برای دانلود خودکار وابستگی ها در طول نصب rpm لینوکس، باید از مدیر بسته توزیع استفاده کنید. بیایید به چند دستور برای محبوب ترین توزیع های RPM نگاه کنیم. در RedHat و سایر توزیع‌های با استفاده از Yum از این دستور استفاده کنید:

sudo yum --nogpg بررسی localinstall package_name.rpm

گزینه اول تایید کلید GPG را غیرفعال می کند و گزینه دوم می گوید بسته محلی را نصب می کنیم. فدورا با dnf کار را آسان تر می کند:

sudo dnf install package_name.rpm

مدیر بسته Zypper و OpenSUSE به همین خوبی عمل می کنند:

sudo zypper install package_name.rpm

نصب rpm با وابستگی ها به همین راحتی است. اما همه دوست ندارند در کنسول کار کنند، بسیاری از کاربران جدید می خواهند از یک رابط گرافیکی برای حل همه کارها از جمله این یکی استفاده کنند. در زیر به چند مورد از این ابزارها نگاه خواهیم کرد.

نصب فایل RPM در رابط کاربری گرافیکی

اگر از OpenSUSE استفاده می کنید، این کار بسیار آسان است. پیکربندی سیستم جهانی YaST، در میان چیزهای دیگر، به شما امکان می دهد بسته های rpm را نصب کنید. می توانید این کار را با استفاده از مدیر فایل، با انتخاب آیتم منوی زمینه برای فایل باز شده با Yast یا با اجرای دستور انجام دهید:

yast2 -i package_name.rpm

در فدورا، می توانید از مدیر برنامه توزیع برای همین منظور استفاده کنید. قبلا چندین ابزار جهانی برای حل این مشکل وجود داشت، اما اکنون همه آنها قدیمی شده اند.

نتیجه گیری

اکنون می دانید که چگونه فایل rpm را در لینوکس نصب کنید. در واقع، بسیار ساده است و حتی نه تنها یک راه، بلکه چندین راه وجود دارد. اگرچه ابزارهای گرافیکی کمی کمتر از اوبونتو هستند. اما ابزارهای کنسول کاملاً از دست رفته اند. اگر سوالی دارید، در نظرات بپرسید!

مقالات مرتبط برتر