APT
ابزار بستهبندی پیشرفته (اپت) (به انگلیسی APT : Advanced Packaging Tool) یکی از برنامههای مدیریت بسته در سیستمعاملهای مبتنی بر دبیان است. هدف از ایجاد این نرمافزار، جستوجو، نصب و مدیریت آسان بستههای نرمافزاری است.
محتویات
رابطها
APT دارای چند رابط خط فرمان بود که مهمترین آنها apt-get و apt-cache بودند. پس از اوبونتو ۱۴.۰۴، پیشنهاد میشود که کاربران از خود apt
در محیط پایانه استفاده کنند.
اپت در اپن سولاریس نیز مورد استفاده قرار میگیرد. در عین حال امکان وارد کردن آن به اواس تن مک هم از طریق بستهٔ نرمافزاری فینک وجود دارد. با الهام از apt-get، نرمافزار win-get طرّاحی شده که شبیه به APT، ولی روی سیستمعامل ویندوز کار میکند.
طرز کار
فهرست مخازن در پروندهٔ etc/apt/sources.list و پروندههای مجزّا در مسیر /etc/apt/sources.list.d/ قرار گرفتهاند. این مخازن میتوانند دیسکهای نوری، پروندههای تحت شبکه یا شاخههای ftp یا http باشند. اگر بستهای در شاخهها یا دیسک سخت موجود باشد، به صورت خودکار دریافت شده و نصب میگردد.
تمامی بستهها با فرمت deb بوده و پیشنیازها به صورت خودکار شناسایی و نصب میشوند، یعنی در هنگام نصب یک برنامه، کتابخانههای مورد نیاز برای اجرای آن برنامه نیز دریافت و نصب میشوند. نرمافزار اپت برمبنای dpkg کار میکند.
- برای دیدن بستههای نصب شده روی سیستمعامل، از این دستور استفاده میشود:
$ apt list --installed
- برای بهروز رسانی مخازن، از دستور زیر استفاده میشود. این کار، فهرست بستههای موجود و توضیحات، نگارش، و گزارش تغییرات آنها را از مخازن گرفته و در پایگاه دادهٔ سامانه ذخیره میکند.
$ sudo apt update
- برای دیدن بستههای قابل ارتقا، از این دستور استفاده میشود:
$ apt list --upgradable
- برای دیدن اطلاعات بیشتر در مورد بستهها،شامل توضیحات،حجم،صفحهی خانگی و ... از این دستور استفاده میشود:
$ apt show PACKAGE
- برای ارتقای بستههای عادی از این دستور استفاده می شود:
$ sudo apt upgrade
- برخی از ارتقاها برای رفع ناسازگاریها، نیاز به حذف بستههای دیگر دارند. برای انجام این دسته از ارتقاها از دستور زیر استفاده میشود:
$ sudo apt full-upgrade
- برای نصب یک بسته از دستور زیر استفاده میشود:
$ sudo apt install PACKAGE
- برای برداشتن یک بستهٔ نصبشده، از این دستور استفاده میشود:
$ sudo apt remove PACKAGE
- برای حذف کتابخانهها و بستههای پیشنیازی که دیگر به آنها نیازی نیست، از این دستور استفاده میشود:
$ sudo apt autoremove
- برای جستوجوی بستههای مربوط به یک عبارت، از این دستور استفاده میشود:
$ apt search TERM
- برای دانلود کردن کد منبع نرمافزار:
$ apt source PACKAGE
- برای دیدن گاو!
$ apt moo
بستههای مکمّل
apt-transport-https
این بسته، بستهٔ مکمّلی برای APT است که پشتیبانی از مخزنهای رمزشده با قرارداد https را به آن میافزاید.
برای نصب، از فرمان زیر استفاده کنید:
$ sudo apt install apt-transport-https
apt-transport-tor
این بسته، بستهٔ مکمّلی برای APT ایت که پشتیبانی از مخزنها را از پشت شبکهٔ تور به آن میافزاید.
برای نصب، از فرمان زیر استفاده کنید:
$ sudo apt install apt-transport-tor
مشکلات مرسوم
خراب شدن فهرستها
در هنگام بروز این مشکل که معمولاً به خاطر خراب شدن پروندههای فهرست روی دیسک رخ میدهد، اجرای تقریباً هر دستور مرتبط با apt با مشکلاتی مانند خط زیر مواجه میشود:
E: The package lists or status file could not be parsed or opened.
در این مورد سادهترین کار، حذف این پروندهها و سپس ایجاد دوبارهٔ آنها بهوسیلهٔ عمل بهروز رسانی فهرستهاست:
$ sudo rm -rf /var/lib/apt/lists/* $ sudo apt update
فعال نبودن قابلیت دانلود کد منبع به صورت پیشفرض
در صورت فعال نبودن این قابلیت به صورت پیشفرض، میبایستی که ابتدا در /etc/apt/sources.list/ خطهایی که با deb-src شروع میشوند رو از حالت کامنت خارج کرذ، یعنی # را از اول خطها برداشت.
$ sudo nano /etc/apt/sources.list
در غیر این صورت با این پیغام خطا مواجه خواهید شد:
Reading package lists... Done E: You must put some 'source' URIs in your sources.list
و سپس همچنین مطمئن شد که بسته dpkg-dev نصب شده میباشد.
$ sudo apt install dpkg-dev
در غیر این صورت با پیغامی مشابه زیر مواجه خواهید شد (gnome-terminal نام بسته مورد نظر است):
sh: 1: dpkg-source: not found Unpack command 'dpkg-source -x gnome-terminal_3.18.3-1ubuntu1.dsc' failed. Check if the 'dpkg-dev' package is installed. E: Sub-process dpkg-source returned an error code (1)
و همچنین مطمئن شوید که بسته debian-keyring برای چک کردن امضای بسته دانلود شده نصب شده میباشد
$ sudo apt install debian-keyring
در غیر این صورت با پیغامی مشابه زیر مواجه خواهید شد (gnome-terminal نام بسته مورد نظر است):
gpgv: Signature made Tue 15 Mar 2016 07:00:36 PM CET using RSA key ID 1C5041D4 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./gnome-terminal_3.18.3-1ubuntu1.dsc