APT

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۱۹ شهریور ۱۳۹۶، ساعت ۱۳:۵۴ توسط Salmaan (بحث | مشارکت‌ها) (مشکلات مرسوم: اضافه کردن بخش مربوط به apt-source)
پرش به: ناوبری، جستجو

ابزار بسته‌بندی پیشرفته (اپت) (به انگلیسی 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