دستورات نصب بسته با APT مانند sudo apt install package-name
خطای “E: Unable to locate package” را زمانی نشان میدهند که سیستم شما نتواند بسته موردنظر را در فهرست مخازن خود پیدا کند. پس از ارتقا به اوبونتو ۲۴.۰۴، این خطا اغلب به دلیل فهرستهای قدیمی بستهها، مخازن گمشده یا پیکربندی نادرست مخازن رخ میدهد.
بهروزرسانی فهرست بستهها برای تازهسازی کش APT
رایجترین دلیل برای خطای “Unable to locate package” پس از ارتقای سیستم، فهرستهای قدیمی یا گمشده بستهها است. مدیر بسته اوبونتو به فایلهای کش محلی تکیه دارد که نرمافزارهای در دسترس در مخازن فعال را فهرست میکنند. اگر این فایلها قدیمی یا حذفشده باشند، APT قادر به یافتن بستههای درخواستی شما نخواهد بود.
مرحله ۱: یک ترمینال باز کرده و فهرست بستهها را با دستور زیر بهروزرسانی کنید:
sudo apt update
این دستور با همه مخازن فعال تماس میگیرد و جدیدترین فهرست بستههای در دسترس را دانلود میکند. اگر سیستم شما اخیراً ارتقا یافته یا مدت زیادی بهروزرسانی نشده باشد، این گام قابلیت نصب بستهها را بازیابی میکند.
مرحله ۲ (اختیاری): بهروزرسانی همه بستههای نصبشده به آخرین نسخهها:
sudo apt upgrade -y
این کار تضمین میکند که جدیدترین نسخههای نرمافزار و وابستگیهایشان را دارید و از بروز ناسازگاریها یا بستههای گمشده پس از ارتقا جلوگیری میشود.
بررسی و اصلاح پیکربندی مخازن
پس از یک ارتقای بزرگ، فایلهای مخزن در مسیرهای /etc/apt/sources.list
و /etc/apt/sources.list.d/
ممکن است به نسخه اشتباهی از اوبونتو اشاره کنند یا نامگذاری نادرستی داشته باشند. این موضوع باعث میشود APT نتواند بستههای مناسب نسخه فعلی شما را پیدا کند.
مرحله ۱: بررسی نسخه و کدنام اوبونتو:
lsb_release -a
خروجی این دستور نسخه فعلی و کدنام (برای اوبونتو ۲۴.۰۴، کدنام noble است) را نشان میدهد.
مرحله ۲: فایل /etc/apt/sources.list
را با یک ویرایشگر متن و دسترسی روت باز کرده و مطمئن شوید خطوط مربوط به مخازن، از کدنام صحیح نسخه شما استفاده میکنند. برای مثال:
deb http://archive.ubuntu.com/ubuntu/ noble main restricted universe multiverse
اگر هنوز ارجاعی به نسخههای قدیمیتر (مثلاً jammy) وجود دارد، آنها را به noble تغییر دهید.
مرحله ۳: فایلهای موجود در /etc/apt/sources.list.d/
را مرور کنید تا اگر فایلی به خاطر ارتقا تغییر نام داده یا غیرفعال شده (مثلاً پسوند .distUpgrade
گرفته است)، آن را به حالت اصلی بازگردانید. سپس دوباره دستور sudo apt update
را اجرا کنید.
پیکربندی صحیح مخازن تضمین میکند که APT بتواند به همه بستههای مرتبط با نسخه فعلی اوبونتو شما دسترسی داشته باشد.
فعالسازی مخازن Universe، Multiverse و Restricted
برخی بستهها در مخزن پیشفرض “main” قرار ندارند. اگر قصد نصب بستهای از مخازن “universe”، “multiverse” یا “restricted” را داشته باشید و آنها فعال نباشند، APT قادر به یافتن آن بسته نخواهد بود.
مرحله ۱: همه مخازن استاندارد را فعال کنید:
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo add-apt-repository restricted
مرحله ۲: دوباره فهرست بستهها را بهروزرسانی کنید:
sudo apt update
با فعالسازی این مخازن، APT به دامنه بسیار گستردهتری از نرمافزارها، از جمله بستههای نگهداریشده توسط جامعه و پروژههای شخص ثالث، دسترسی پیدا میکند.
بررسی صحیح بودن نام بسته و حساسیت به حروف بزرگ و کوچک
نام بستهها در APT به حروف بزرگ و کوچک حساس هستند و باید دقیقاً نوشته شوند. کوچکترین اشتباه تایپی یا استفاده نادرست از حروف بزرگ باعث میشود بسته پیدا نشود.
مرحله ۱: مطمئن شوید نام بسته دقیقاً صحیح است. مثلاً libjpeg-dev
درست است اما LibJpeg-dev
توسط APT شناسایی نخواهد شد.
مرحله ۲: اگر مطمئن نیستید، میتوانید با دستور زیر جستجو کنید:
apt search <partial-name>
این کار به شما کمک میکند نام صحیح بسته و شکل دقیق آن در مخزن را پیدا کنید.
بررسی موجود بودن بسته برای اوبونتو ۲۴.۰۴
برخی بستهها ممکن است هنوز برای نسخه خاصی از اوبونتو منتشر نشده باشند. برای بررسی:
مرحله ۱: به وبسایت Ubuntu Packages بروید.
مرحله ۲: نام بسته را وارد کرده و در قسمت نسخه، noble را (که مربوط به اوبونتو ۲۴.۰۴ است) انتخاب کنید.
اگر بسته برای نسخه شما فهرست نشده باشد، نمیتوانید آن را مستقیماً با APT نصب کنید و ممکن است نیاز به روشهای جایگزین مانند Snap، Flatpak یا نصب دستی فایل .deb از سایت پروژه داشته باشید.
تغییر سرور مخزن در صورت بروز خطا هنگام دانلود
گاهی اوقات، یکی از سرورهای منطقهای ممکن است با نسخههای جدید همگام نشده یا در دسترس نباشد. تغییر سرور (mirror) میتواند این مشکل را برطرف کند.
مرحله ۱: فایل /etc/apt/sources.list
را ویرایش کرده و URL سرور فعلی را با یکی دیگر از فهرست رسمی سرورهای اوبونتو جایگزین کنید.
برای مثال، این خط:
deb http://archive.ubuntu.com/ubuntu/ noble main restricted
را با چیزی مشابه زیر جایگزین کنید:
deb http://mirror.example.com/ubuntu/ noble main restricted
مرحله ۲: فایل را ذخیره کرده و دوباره فهرست بستهها را بهروزرسانی کنید:
sudo apt update
این کار کش APT را از سرور جدید بهروزرسانی میکند و ممکن است خطاهای مربوط به سرورهای منقضی یا در دسترسنبودن را رفع کند.
پاکسازی کش بستهها در صورت احتمال خرابی
در موارد نادر، کش خرابشده ممکن است باعث شود APT نتواند بستهها را شناسایی کند.
مرحله ۱: کش را پاک کنید:
sudo apt clean
مرحله ۲: فهرست بستهها را دوبارهسازی کنید:
sudo apt update
این کار فایلهای کش قدیمی را حذف کرده و باعث میشود APT اطلاعات بستهها را دوباره دانلود کند.
بررسی وضعیت پشتیبانی از نسخه سیستم
APT بستههای جدید را روی نسخههای پشتیبانینشده یا پایانیافته اوبونتو نصب نخواهد کرد. برای اطمینان از اینکه نسخه شما هنوز پشتیبانی میشود:
مرحله ۱: دستور زیر را اجرا کنید:
hwe-support-status --verbose
خروجی این دستور مشخص میکند که آیا نسخه اوبونتوی شما هنوز بهروزرسانی دریافت میکند یا خیر. اگر نسخه شما دیگر پشتیبانی نمیشود، باید به نسخهای که تحت پشتیبانی است ارتقا دهید تا نصب بستهها بدون مشکل انجام شود.
با انجام این مراحل، مشکل خطای “Unable to locate package” در اوبونتو ۲۴.۰۴ رفع میشود و سیستم شما قادر به نصب و استفاده از تمامی بستههای نرمافزاری در دسترس خواهد بود.