درک کارکرد APT و APT-Cach و دستورات مورد استفاده
اگر تا به حال از دبیان یا توزیع مبتنی بر دبیان مانند اوبونتو یا لینوکس مینت استفاده کرده اید، احتمال این دارد که از سیستم بسته APT برای نصب یا حذف نرم افزار استفاده کردید.
امروز، ما قصد داریم نگاهی به برخی از دستورات آشنا و به برخی از دستورات APT کمتر یا بیشتر استفاده می کنیم، و برخی از نکته ها در مورد این سیستم طراحی درخشان طراحی شده است بیندازیم.
APT چیست؟
APT مخفف Advanced Package Tool می باشد. این اولین بار در سال 1999 در دبیان 2.1 مشاهده شد. اساسا، APT یک سیستم مدیریت برای بسته های dpkg است. این برنامه نه تنها برای مدیریت بسته ها و به روز رسانی ها بلکه برای حل بسیاری از مشکلات وابستگی هنگام نصب بسته های خاص طراحی شده است.
APT تمام این مسائل مربوط به وابستگی را به طور خودکار و نصب هر بسته را بدون در نظر گرفتن اندازه یا تعداد وابستگی یک دستور خطی حل کرد.
درک پیکربندی APT
این فایل از فایل های پیکربندی APT است.
1 |
$ sudo cat /etc/apt/sources.list |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise main deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates main deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise universe deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe deb-src http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ precise-updates universe deb http://security.ubuntu.com/ubuntu precise-security main deb-src http://security.ubuntu.com/ubuntu precise-security main deb http://security.ubuntu.com/ubuntu precise-security universe deb-src http://security.ubuntu.com/ubuntu precise-security universe |
ترکیب این فایل نسبتا ساده است
1 |
deb (url) release repository |
این ساختار برای فایل اصلی مخزن است :
1 |
deb-src (url) release repository |
این فایل تقریبا تنها چیزی است که شما همیشه باید با استفاده از APT ویرایش کنید، و احتمال این است که پیش فرض ها به خوبی شما را سرور کند و شما هرگز نیازی به ویرایش آن ندارید.
با این حال، زمان هایی وجود دارد که ممکن است بخواهید مخزن ثانویه ای را اضافه کنید. شما می توانید آنها را با استفاده از همان فرمت بالا وارد کنید و سپس دستور update را اجرا کنید:
1 |
$ sudo apt-get update |
نکته: برای اضافه کردن مخزن های ثانویه بسیار دقت کنید که مخازن را از مراجع معتبر انتخاب می کنید زیرا ممکن است سیستم شما خسارت جدی به سیستم شما بزند.
ما نگاهی به فایل sources.list خود انداختیم و اکنون می دانیم چگونه آن را به روز کنیم. بگذارید برخی از بسته ها را نصب کنیم. بگذارید بگوییم ما یک سرور را اجرا می کنیم و می خواهیم وردپرس را نصب کنیم. ابتدا بگذارید بسته را جستجو کنیم:
1 |
$ sudo apt-cache search wordpress |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
blogilo - graphical blogging client drivel - Blogging client for the GNOME desktop drupal6-mod-views - views modules for Drupal 6 drupal6-thm-arthemia - arthemia theme for Drupal 6 gnome-blog - GNOME application to post to weblog entries lekhonee-gnome - desktop client for wordpress blogs libmarkdown-php - PHP library for rendering Markdown data qtm - Web-log interface program tomboy-blogposter - Tomboy add-in for posting notes to a blog wordpress - weblog manager wordpress-l10n - weblog manager - language files wordpress-openid - OpenID plugin for WordPress wordpress-shibboleth - Shibboleth plugin for WordPress wordpress-xrds-simple - XRDS-Simple plugin for WordPress zine - Python powered blog engine |
APT-Cache چیست؟
Apt-cache یک دستور است که به سادگی از حافظه APT نام بسته ها را پرس و جو می کند.همانطور که در مثال بالا می بینیم ، جستجوی «wordpress» تعدادی از بسته های مربوط به رشته جستجو را با توضیح کوتاهی از هر بسته بازگرداند.
ما بسته اصلی “wordpress – weblog manager ” را می بینیم و می خواهیم آن را نصب کنیم. اما آیا نمی توانم دقیقا ببینم که وابستگی ها در کنار آن نصب می شوند؟ APT میتواند به ما بگوید که:
1 |
$ sudo apt-cache showpkg wordpress |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Versions: 3.3.1+dfsg-1 (/var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages) Description Language: File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages MD5: 3558d680fa97c6a3f32c5c5e9f4a182a Description Language: en File: /var/lib/apt/lists/us-west-2.ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_i18n_Translation-en MD5: 3558d680fa97c6a3f32c5c5e9f4a182a Reverse Depends: wordpress-xrds-simple,wordpress wordpress-shibboleth,wordpress 2.8 wordpress-openid,wordpress wordpress-l10n,wordpress 2.8.4-2 Dependencies: 3.3.1+dfsg-1 - libjs-cropper (2 1.2.1) libjs-prototype (2 1.7.0) libjs-scriptaculous (2 1.9.0) libphp-phpmailer (2 5.1) libphp-simplepie (2 1.2) libphp-snoopy (2 1.2.4) tinymce (2 3.4.3.2+dfsg0) apache2 (16 (null)) httpd (0 (null)) mysql-client (0 (null)) libapache2-mod-php5 (16 (null)) php5 (0 (null)) php5-mysql (0 (null)) php5-gd (0 (null)) mysql-server (2 5.0.15) wordpress-l10n (0 (null)) Provides: 3.3.1+dfsg-1 - Reverse Provides: |
این به ما نشان می دهد که وردپرس 3.3.1 نسخه ای است که باید نصب شود، مخزن نصب شده از آن، وابستگی ها و بسته های دیگر که بستگی دارد، و همچنین شماره نسخه های آن ها.
و حالا دستور نصب بسته :
1 |
$ sudo apt-get install wordpress |
پاک کردن یک بسته به همان اندازه آسان است که نصب بسته است:
1 |
$ sudo apt-get remove wordpress |
متاسفانه، دستور حذف apt-get همه فایل های پیکربندی بسته را یه صورت کامل حذف نمی کند برای حذف آنها نیز می توان از apt-get purge استفاده کنید:
1 |
$ sudo apt-get purge wordpress |
در بعضی از موارد ممکن است بسته هایی را نصب کنید که وابستگی آنها وجود نداشته باشد این اتفاق زمانی می افتد که شما پایگاه داده apt-get خود را بروز نکرده باشید اما اسن مشکل با دستور زیر حل می شود.
1 |
$ sudo apt-get –f install |
از آنجا که APT تمام فایلهای *.deb را از مخزن به سمت دستگاه شما میفرستد (آنها را در /var/cache/apt / archives ذخیره می کند)، ممکن است بخواهید آنها را به صورت دوره ای پاک کنید تا فضای دیسک را آزاد کنید:
1 |
$ sudo apt-get clean |
این فقط بخش کوچکی از APT، APT-Cache و برخی از دستورات مفید آن است.در مقالات بعدی توضیحات بیشتری درباره این دستور خواهیم داد.