</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

مخازن Kali Linux

ساختار مخازن Kali، پیکربندی sources.list و کار با branchهای kali-rolling و kali-bleeding-edge.

متوسط۷ دقیقه مطالعهآخرین بروزرسانی: ۵ تیر ۱۴۰۵ویرایش در گیت‌هاب

مخازن (Repositories) منابعی هستند که APT از آن‌ها بسته‌ها را دریافت می‌کند. در این آموزش، ساختار مخازن Kali، نحوهٔ پیکربندی و کار با branchهای مختلف را به‌طور کامل بررسی می‌کنیم.

مخازن رسمی Kali#

Kali از مخازن رسمی خود در http.kali.org استفاده می‌کند. آدرس‌های رسمی به‌صورت زیر هستند:

آدرسنوعتوضیح
http://http.kali.org/kaliاصلیمخزن اصلی Kali
https://kali.download/kaliMirror امننسخهٔ HTTPS
http://kali.download/kaliMirrormirror رسمی

فایل sources.list#

فایل پیکربندی مخازن در /etc/apt/sources.list قرار دارد. محتوای پیش‌فرض Kali به‌صورت زیر است:

# مشاهدهٔ محتوای فعلی sources.list
cat /etc/apt/sources.list
 
# خروجی پیش‌فرض:
# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/
# to learn about this file's contents.
deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware
# Additional line for source packages
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

ساختار خط مخزن

هر خط مخزن با deb (باینری) یا deb-src (سورس) شروع می‌شود. سپس آدرس مخزن، نسخه (suite) و دسته‌ها (components) قرار می‌گیرند: deb URL suite component1 component2 ...

branchهای Kali#

Kali از چند branch مختلف پشتیبانی می‌کند:

۱. kali-rolling (پیش‌فرض)#

مخزن اصلی Kali که به‌صورت پیوسته به‌روز می‌شود. این branch برای اکثر کاربران توصیه می‌شود:

deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

۲. kali-bleeding-edge#

مخزن تجربی شامل بسته‌های بسیار جدید (معمولاً کمتر از ۲۴ ساعت از upstream). این branch برای کاربران حرفه‌ای مناسب است:

deb http://http.kali.org/kali kali-bleeding-edge main contrib non-free non-free-firmware

kali-bleeding-edge ناپایدار است

بسته‌های kali-bleeding-edge ممکن است دارای باگ باشند یا باعث شکسته شدن وابستگی‌ها شوند. تنها در صورتی از این branch استفاده کنید که به نسخهٔ بسیار جدید یک ابزار خاص نیاز دارید و می‌دانید چه می‌کنید.

۳. snapshot‌ها#

Kali snapshot‌های تاریخی از مخزن ارائه می‌دهد که می‌توانید سیستم را به یک تاریخ خاص «قفل» کنید:

deb http://kali.download/kali-snapshots/ 2024.01.01/main contrib non-free non-free-firmware

دسته‌های بسته‌ها (Components)#

هر مخزن Kali شامل چندین دسته است:

دستهتوضیحمثال
mainبسته‌های اصلی با مجوز آزادnmap, metasploit
contribبسته‌های آزاد که به بسته‌های غیرآزاد وابسته‌اندبرخی درایورها
non-freeبسته‌های غیرآزادfirmware-iwlwifi
non-free-firmwareفریم‌ورهای غیرآزاد برای سخت‌افزارfirmware-realtek
# بررسی بسته‌های موجود در دسته non-free
apt-cache madison firmware-iwlwifi
 
# خروجی:
# firmware-iwlwifi | 20240220-1 | http://http.kali.org/kali kali-rolling/non-free-firmware amd64 Packages

اضافه کردن Mirror اضافی#

برای سرعت بالاتر یا افزونگی، می‌توانید چند mirror اضافه کنید. فایل /etc/apt/sources.list.d/kali.list را بسازید:

# ساخت فایل mirror اضافی
sudo tee /etc/apt/sources.list.d/kali.list <<EOF
deb https://kali.download/kali kali-rolling main contrib non-free non-free-firmware
EOF
 
# به‌روزرسانی فهرست بسته‌ها
sudo apt update

فعال‌سازی Source Packages#

برای دریافت سورس بسته‌ها (مثلاً برای کامپایل یا بررسی کد):

# فعال‌سازی deb-src (حذف علامت کامنت)
sudo sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
 
# به‌روزرسانی
sudo apt update
 
# دانلود سورس یک بسته
apt source nmap

مدیریت کلیدهای مخزن#

Kali از کلید GPG برای امضای بسته‌ها استفاده می‌کند. کلیدها در /etc/apt/trusted.gpg.d/ نگهداری می‌شوند:

# نمایش کلیدهای نصب‌شده
apt-key list 2>/dev/null || ls /etc/apt/trusted.gpg.d/
 
# خروجی:
# /etc/apt/trusted.gpg.d/kali-archive-keyring.gpg
# /etc/apt/trusted.gpg.d/debian-archive-keyring.gpg
 
# نصب مجدد کلید رسمی Kali
sudo apt install -y kali-archive-keyring

بررسی Mirror فعال#

# مشاهدهٔ mirror استفاده‌شده برای هر بسته
apt-cache policy nmap
 
# خروجی:
# nmap:
#   Installed: 7.94+git20240111-1
#   Candidate: 7.94+git20240111-1
#   Version table:
#  *** 7.94+git20240111-1 500
#         500 http://http.kali.org/kali kali-rolling/main amd64 Packages
#         100 /var/lib/dpkg/status

تست سرعت Mirror#

# تست سرعت چند mirror
for mirror in http.kali.org kali.download; do
  echo -n "$mirror: "
  curl -o /dev/null -s -w "Connect: %{time_connect}s | Total: %{time_total}s\n" \
    https://$mirror/kali/dists/kali-rolling/InRelease
done
 
# خروجی نمونه:
# http.kali.org: Connect: 0.453s | Total: 1.234s
# kali.download: Connect: 0.123s | Total: 0.567s

استفاده از kali-tweaks برای انتخاب mirror

ابزار kali-tweaks به شما اجازه می‌دهد mirror مناسب منطقهٔ خود را به‌صورت تعاملی انتخاب کنید. برای جزئیات به آموزش kali-tweaks مراجعه کنید.

افزودن مخزن شخصی (محلی)#

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

# ساخت دایرکتوری مخزن
sudo mkdir -p /opt/local-repo
 
# کپی بسته‌های .deb
sudo cp my-package.deb /opt/local-repo/
 
# ساخت Packages index
cd /opt/local-repo
sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
 
# افزودن به sources.list
echo "deb [trusted=yes] file:///opt/local-repo ./" | sudo tee /etc/apt/sources.list.d/local.list
 
# به‌روزرسانی
sudo apt update

خطاهای رایج#

NO_PUBKEY#

مشکل: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXX.

راه‌حل:

# نصب مجدد keyring رسمی
sudo apt install -y kali-archive-keyring
 
# یا وارد کردن کلید دستی
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys XXXX

Hash Sum mismatch#

مشکل: Hash Sum mismatch هنگام apt update.

راه‌حل:

# پاک‌سازی cache
sudo rm -rf /var/lib/apt/lists/*
sudo apt update

Repository is not signed#

مشکل: The repository 'xxx' is not signed.

راه‌حل: برای مخازن رسمی Kali، کلید را نصب کنید. برای مخازن شخصی، گزینهٔ [trusted=yes] در خط مخزن اضافه کنید:

deb [trusted=yes] file:///opt/local-repo ./

هرگز مخازن غیررسمی را اعتماد نکنید

استفاده از trusted=yes برای مخازن ناشناس خطرناک است؛ زیرا APT دیگر امضای بسته‌ها را بررسی نمی‌کند. تنها برای مخازن محلی شخصی از این گزینه استفاده کنید.

Failed to fetch#

مشکل: Failed to fetch http://http.kali.org/kali/....

راه‌حل:

# تست اتصال به مخزن
curl -I https://kali.download/kali/dists/kali-rolling/InRelease
 
# در صورت عدم اتصال، DNS را بررسی کنید
nslookup http.kali.org
 
# تغییر mirror
sudo sed -i 's|http.kali.org|kali.download|g' /etc/apt/sources.list

خلاصه و مرحلهٔ بعد#

مخازن Kali به‌صورت پیش‌فرض پیکربندی شده‌اند و برای اکثر کاربران نیازی به تغییر ندارند. اما برای کاربران پیشرفته، امکان اضافه کردن branchهای اضافی، mirrorهای منطقه‌ای و مخازن شخصی وجود دارد.

به‌عنوان گام بعدی:

اشتراک‌گذاری:

این صفحه در تاریخ ۵ تیر ۱۴۰۵ به‌روزرسانی شده است.