مقدمه: چرا کالی لینوکس چالش‌برانگیز است؟

کالی لینوکس (Kali Linux) یکی از محبوب‌ترین توزیع‌های لینوکس در دنیای و تست نفوذ (Penetration Testing) محسوب می‌شود. این سیستم‌عامل به خاطر مجموعه‌ی بی‌نظیری از ابزارهای قدرتمند، از جمله موارد مرتبط با هک اخلاقی، تحلیل بدافزار، تست امنیت شبکه و کرک پسورد، شهرت زیادی کسب کرده است.

رفع مشکلات کالی لینوکس

اما بیایید واقع‌بین باشیم؛ کار با کالی لینوکس همیشه هم مثل آب خوردن نیست. مثل هر سیستم‌عامل پیشرفته دیگری، کالی هم مشکلات و چالش‌های خاص خودش را دارد که ممکن است کاربران، به‌خصوص تازه‌کارها را ناامید کند. هدف این مقاله در Knowxis، بررسی این مشکلات و ارائه راه‌حل‌های کاربردی و ساده برای آن‌هاست تا تجربه کاربری شما را بهبود ببشد.

آیا کالی لینوکس انتخاب مناسبی برای شماست؟

شاید انتظار داشته باشید که ما در اینجا کالی لینوکس را به همه توصیه کنیم، اما حقیقت این است که کالی برای هر کسی مناسب نیست. این توزیع لینوکس به طور خاص برای متخصصان تست نفوذ، پژوهشگران امنیتی و هکرهای اخلاقی طراحی شده است. اگر در این حوزه‌ها فعالیت می‌کنید یا قصد دارید به یک متخصص امنیت تبدیل شوید، کالی لینوکس می‌تواند ابزاری بی‌نظیر برای شما باشد.

رفع مشکلات کالی لینوکس

اما اگر تازه با دنیای لینوکس آشنا شده‌اید یا به دنبال یک سیستم‌عامل عمومی برای کارهای روزمره مثل برنامه‌نویسی، طراحی وب یا حتی بازی هستید، کالی لینوکس انتخاب ایده‌آلی نخواهد بود. در این موارد، توزیع‌های کاربرپسندتر مانند اوبونتو (Ubuntu) یا فدورا (Fedora) می‌توانند گزینه‌های بهتری باشند.

چالش‌های کالی حتی برای حرفه‌ای‌ها:

حتی کاربران باتجربه لینوکس هم ممکن است با کالی لینوکس به چالش کشیده شوند. کالی یک پروژه متن‌باز است، اما بسیاری از بسته‌ها و نرم‌افزارهای آن به شدت توسط تیم توسعه کالی کنترل و تست می‌شوند. این رویکرد برای حفظ امنیت سیستم ضروری است. استفاده از مخازن (Repositories) غیررسمی یا بسته‌هایی که توسط تیم کالی تایید نشده‌اند، می‌تواند منجر به ناپایداری سیستم یا مشکلات پیچیده‌ای شود که حل آن‌ها دشوار است.

کالی و کاربردهای روزمره: چرا همخوانی ندارند؟


kali@kali:~$ sudo apt update
Get:1 http://http.kali.org/kali kali-rolling InRelease [41.2 kB]
[...]

کالی لینوکس برای استفاده به عنوان سیستم‌عامل دسکتاپ یا انجام کارهای روزمره طراحی نشده است. اگر قصد دارید نرم‌افزارهایی مانند Steam یا سایر بسته‌های رایج لینوکس را روی کالی نصب کنید، ممکن است با نیاز به تنظیمات پیچیده و حتی عدم کارکرد صحیح مواجه شوید. حتی نصب یک نرم‌افزار به ظاهر ساده مانند Node.js نیز می‌تواند به یک دردسر بزرگ تبدیل شود.

کالی برای مبتدیان در لینوکس توصیه نمی‌شود:

اگر تازه وارد دنیای لینوکس شده‌اید و هنوز با مفاهیم پایه مدیریت سیستم‌عامل و دستورات خط فرمان آشنا نیستید، کالی لینوکس انتخاب مناسبی برای شروع نیست. برای یادگیری اساسی لینوکس، بهتر است با توزیع‌های کاربرپسندتر و با مستندات گسترده‌تر مانند اوبونتو آغاز کنید. در Knowxis، می‌تواند نقطه شروع عالی برای شما باشد تا از پایه، لینوکس را به طور کامل یاد بگیرید.

مسئولیت‌پذیری در استفاده از ابزارهای کالی:

کالی لینوکس ابزارهای بسیار قدرتمندی برای تست نفوذ و امنیت شبکه در اختیار شما قرار می‌دهد. اما استفاده نادرست یا غیرمجاز از این ابزارها می‌تواند عواقب قانونی و مالی جدی به همراه داشته باشد. همیشه اطمینان حاصل کنید که مجوزهای لازم را برای انجام هرگونه فعالیت تست نفوذ در اختیار دارید و از دانش خود به صورت اخلاقی و مسئولانه استفاده می‌کنید.

حل مشکلات رایج در کالی لینوکس: راهنمای گام به گام

حالا که با ماهیت کالی لینوکس و موارد استفاده آن آشنا شدید، بیایید به سراغ حل مشکلات رایجی برویم که ممکن است با آن‌ها مواجه شوید. با این راهنمایی‌ها، می‌توانید سیستم خود را به بهترین شکل ممکن مدیریت کنید.

قدم اول و حیاتی: به‌روزرسانی مخازن APT

قبل از هر کاری، و منظورمان واقعاً هر کاری است، شما باید مخازن بسته‌های خود را به‌روز کنید. این یک قانون طلایی در دنیای لینوکس و به خصوص کالی است. آیا دستور apt update را زدید؟ اگر نه، همین الان باید این کار را بکنید!

قبل از نصب هر بسته جدید (با apt install ...) یا اقدام به ارتقاء کامل سیستم (با apt full-upgrade)، همیشه باید apt update را اجرا کنید. این دستور لیست بسته‌های موجود در مخازن را به‌روزرسانی می‌کند و می‌تواند بسیاری از مشکلات عجیب و غریبی که ممکن است در آینده پیش بیاید را از بین ببرد. فراموش نکنید که این دستور فقط لیست بسته‌ها را به‌روز می‌کند و نه خود بسته‌ها را.

مثال:

kali@kali:~$ sudo apt update

مشکل در نصب بسته‌ها: راه‌حل apt full-upgrade

آیا سعی کرده‌اید بسته‌ای را نصب کنید اما با خطا مواجه شدید؟ ممکن است مشکل از وابستگی‌های شکسته (broken dependencies) باشد. در چنین مواردی، دستور apt full-upgrade می‌تواند گره‌گشا باشد.

ممکن است با خطایی شبیه به این روبرو شوید:

kali@kali:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libwacom9 : Depends: libwacom-common but 1.8-2 is to be installed
E: Broken packages

این خطا نشان می‌دهد که بسته‌هایی وجود دارند که وابستگی‌هایشان برآورده نشده است. در اینجاست که تفاوت بین apt upgrade و apt full-upgrade اهمیت پیدا می‌کند.

تفاوت apt upgrade و apt full-upgrade در کالی:

مدیریت بسته‌ها در لینوکس با ابزارهایی مانند APT انجام می‌شود که دو دستور اصلی برای به‌روزرسانی سیستم دارد:

1. apt upgrade:

این دستور بسته‌های نصب شده روی سیستم را به نسخه‌های جدیدتر به‌روزرسانی می‌کند. این به‌روزرسانی محافظه‌کارانه عمل می‌کند:

✔ بسته‌های جدید فقط در صورتی نصب می‌شوند که برای رفع وابستگی‌ها ضروری باشند.

❌ بسته‌های نصب شده موجود هرگز حذف نمی‌شوند.

2. apt full-upgrade:

این دستور علاوه بر انجام تمام وظایف apt upgrade، در صورت لزوم بسته‌های نصب شده را حذف می‌کند تا سیستم به طور کامل به‌روز شود. این رویکرد برای توزیع‌هایی مانند کالی لینوکس که دائماً در حال تغییر و به‌روزرسانی هستند، بسیار مهم است.

چرا apt full-upgrade در کالی بهتر است؟

در توزیع‌هایی مانند کالی لینوکس، بسته‌ها و وابستگی‌هایشان به سرعت تغییر می‌کنند. گاهی اوقات برای به‌روزرسانی صحیح یک بسته، لازم است بسته‌های قدیمی‌تر حذف شوند. در این شرایط، apt upgrade نمی‌تواند کار را به درستی انجام دهد و حتی ممکن است منجر به مشکلات شود. بنابراین، توصیه اکید Knowxis این است که همیشه از apt full-upgrade برای به‌روزرسانی کامل و پایدار سیستم خود استفاده کنید.

هشدار مهم قبل از apt full-upgrade:

گاهی اوقات (البته به ندرت)، APT ممکن است بخواهد بسته‌های حیاتی سیستم را حذف کند که می‌تواند منجر به از کار افتادن سیستم شود. همیشه قبل از تایید عملیات، لیست بسته‌هایی که قرار است حذف شوند را به دقت بررسی کنید.

🛑 اگر لیست بسته‌هایی که قرار است حذف شوند بسیار طولانی یا غیرمنتظره است، یک لحظه مکث کنید! اگر مطمئن نیستید، بهتر است فعلاً عملیات را متوقف کرده و چند روز بعد دوباره امتحان کنید. ممکن است در این مدت بسته‌ها تغییر کرده و APT راه‌حل بهتری ارائه دهد.

مشکل "The following package has been kept back":

گاهی اوقات، حتی پس از اجرای apt full-upgrade، ممکن است با پیامی مانند این مواجه شوید:

kali@kali:~$ sudo apt full-upgrade
[...]
The following packages have been kept back:
kali-desktop-xfce
[...]

این پیام به این معنی است که APT به دلیل نیاز به حذف بسته‌های دیگر، از ارتقاء یک بسته خاص خودداری کرده است. در این موارد، شما باید آن بسته را به صورت دستی و صریح نصب کنید:

kali@kali:~$ sudo apt install kali-desktop-xfce

سوالات متداول درباره کالی لینوکس:

آیا کالی لینوکس برای یادگیری لینوکس مناسب است؟

خیر، کالی لینوکس برای یادگیری مفاهیم پایه لینوکس توصیه نمی‌شود. بهتر است با توزیع‌هایی مانند اوبونتو یا لینوکس مینت شروع کنید که کاربرپسندتر هستند. پس از کسب تجربه کافی، می‌توانید به سراغ کالی لینوکس بروید. برای شروع، یک انتخاب عالی است.

چرا نمی‌توانم نرم‌افزارهای عادی را روی کالی نصب کنم؟

کالی لینوکس برای اهداف امنیتی و تست نفوذ بهینه شده است. این به معنای آن است که بسیاری از بسته‌های معمول دسکتاپ و وابستگی‌های آن‌ها ممکن است در مخازن کالی موجود نباشند یا به درستی کار نکنند. کالی برای کاربری عمومی طراحی نشده و به همین دلیل نصب برخی نرم‌افزارهای رایج می‌تواند چالش‌برانگیز باشد.

جمع‌بندی

کالی لینوکس ابزاری بی‌نظیر برای متخصصان امنیت و تست نفوذ است، اما کار با آن نیازمند دانش و دقت خاصی است. با رعایت اصول اولیه مانند به‌روزرسانی منظم سیستم با apt update و apt full-upgrade، و درک تفاوت‌های آن با توزیع‌های عمومی‌تر لینوکس، می‌توانید از پتانسیل کامل این سیستم‌عامل قدرتمند بهره‌مند شوید.


kali@kali:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libwacom9 : Depends: libwacom-common but 1.8-2 is to be installed
E: Broken packages

kali@kali:~$ sudo apt full-upgrade
[...]
The following packages have been kept back:
  kali-desktop-xfce
[...]

kali@kali:~$ sudo apt install kali-desktop-xfce
[...]
The following packages will be REMOVED:
  pipewire-media-session
The following packages will be upgraded:
  [...] kali-desktop-xfce [...]
Do you want to continue? [Y/n] n

A package needs a newer version, but there is no new version available
رفع مشکلات کالی لینوکس، مشکل در نصب کالی لینوکس
آموزش کالی لینوکس ، رفع مشکلات کالی لینوکس
رفع مشکلات کالی لینوکس
رفع مشکلات کالی لینوکس

Aug 19 23:45:05 base-installer: error: The tar process copying the live system failed (only 152937 out of 286496 files have been copied, last file was ).
Aug 19 23:45:05 main-menu[927]: (process:7553): tar: write error: No space left on device
Aug 19 23:45:05 main-menu[927]: WARNING **: Configuring 'live-installer' failed with error code 1
Aug 19 23:45:05 main-menu[927]: WARNING **: Menu item 'live-installer' failed.
Aug 19 23:50:23 main-menu[927]: INFO: Modifying debconf priority limit from 'high' to 'medium'
Aug 19 23:50:23 debconf: Setting debconf/priority to medium
Aug 19 23:56:49 main-menu[927]: INFO: Menu item 'save-logs' selected

kali@kali:~$ curl https://cdimage.kali.org/kali-2022.4/kali-linux-2022.4-installer-amd64.iso
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://kali.download/base-images/kali-2022.4/kali-linux-2022.4-installer-amd64.iso">here</a>.</p>
<hr>
<address>Apache/2.4.10 (Debian) Server at cdimage.kali.org Port 443</address>
</body></html>

kali@kali:~$