نمی دونم ولی من بسته kde-plasma-desktop رو نصب کردم برای حذف هم همین بسته رو دوباره زدم پاک شه ولی کامل پاک نکرد در صورتی که من همین کار رو در آرچ کردم هیچ اثری از برنامه مورد نظر نبود.
احتمالا اون چیزی که پاک نمیشده، یه وابستگی پیشنهاد شده برای یه بسته یا بستههای دیگه بوده، در اینصورت قابلیتِ autoremove، اون بسته رو پاک نمیکرده.
با دستور زیر میتونید ببینید چه بستههایی نصبه
apt list --installed
بعد اسم بسته مورد نظر رو پیدا و پاک کنید.
معمولا بستههای مرتبط با kde، داخل اسمشون qt یا k دارند.
یه راه برای اینکه اسم بسته رو بفهمید این هست که اول ببینید با کلیک رو آیکون اون برنامه، چه چیزی اجرا میشه. معمولا، چیزی که اجرا میشه، یه دستور هست که فایل اجرایی اون، داخل /bin/ قرار داره. بعد با apt-file، دنبال بستههایی بگرید که اون فایل رو دارند و در نهایت، ببینید از بین اون بستهها، کدوم نصب شده و برید پاکش کنید.
apt-file به طور پیشفرض نصب نیست و باید بسته apt-file رو نصب کنید تا بتونید ازش استفاده کنید.
بعد از نصب apt-file، یه بار باید لیست مخازن رو بروزرسانی کنید تا پایگاه داده apt-file ایجاد بشه. با توجه به اینکه چه مخازنی تعریف کردید و چقدر بسته توی اون مخازن هست، ممکنه تا 100Mib یا بیشتر، اطلاعات دانلود بشه ولی فقط بار اول اینجوری هست. دفعههای بعدی، فقط چیزهایی که عوض شدند، دریافت میشه.
اول apt-file رو نصب کنید.
sudo apt install apt-file
بعد از نصب، میگه که لیست مخازن رو بروزرسانی کنید.
لیست مخازن رو بروزرسانی کنید.
sudo apt update
میتونید از دستورات دیگه هم برای اینکار استفاده کنید. مثل apt-get یا aptitude، خود apt-file هم این قابلیت رو داره.
این مرحله با توجه به پهنای باند اینترنت شما و مخازنی که دارید و تعداد بستههایی که توی مخازن هست، ممکنه طول بکشه.
الان فرض کنید که برنامه System Settings که مربوط به kde هست، توی منوی برنامهها وجود داره و میخواهید پاکش کنید اما اسم بسته رو نمیدونید.
اول باید ببینید که با زدن روی آیکن برنامه، چی اجرا میشه.
برای اینکه ببینید با کلیک روی یه برنامه چه چیزی اجرا میشه، توی میزکارهای مختلف، فرق داره. توی kde، اگه روی برنامه کلیک چپ کنید، edit application رو انتخاب کنید و اونجا برید توی زبانه application، توی قسمت command، چیزی که اجرا میشه، نوشته شده. برای گنوم، فکر کنم باید یه menu editor نصب کنید، مطمئن نیستم. در مورد بقیه میزکارها چیزی نمیدونم.
به طور کلی، برنامههایی که آیکون دارند یا میتونید توی منوی برنامهها ببینید، یه فایل توی مسیر زیر دارند.
/usr/share/applications
با یکم جستوجو مشخص میشه که با کلیک روی این برنامه، دستورِ systemsettings5 اجرا میشه.
با استفاده از which ببینید که چه فایلی اجرا میشه.
which systemsettings5
خروجی باید این باشه.
/usr/bin/systemsettings5
چون توی نسخه جدید اکثر توزیعها، /bin/ یه لینک به /usr/bin/ هست و معمولا /usr/bin/ زودتر از /bin/، توی متغیر PATH تعریف شده، خروجی which برای همه دستورات معمولی، فایل رو داخل/usr/bin/ رو نشون میده. این قضیه برای دستوراتی که داخل /sbin/ هستند هم ثابته.
مسیرهای زیر هم مثل /bin/ و /sbin/ شدند، یعنی در واقع یه لینک به دایرکتوری هم نام خودشون توی /usr/ هستند.
/lib /lib64 /lib32 /libx32
بهتره که /usr/ رو از مسیر دستورات بردارید چون ممکنه فایلهای یه بسته، توی /bin/ قرار بگیریند، اما به خاطر چیزی که بالا گفتم، which محل دستورات رو داخل /usr/bin/ نشون بده و بعد با apt-file که جستوجو میکنید، به نتیجه نرسید.
برای مثال بسته dash، فایل اجرایی خودش رو توی /bin/ قرار میده ولی وقتی که which dash رو اجرا میکنید، گفته مبشه فایل زیر اجرا میشه.
/usr/bin/dash
اگه با apt-file دنبال فایل بالا بگرید، نتایجی متفاوت، از اون که انتظار دارید، دریافت میکنید.
/usr/ رو در صورتی بردارید که مسیر، یکی از اینها باشه.
/usr/lib /usr/lib64 /usr/lib32 /usr/libx32 /usr/bin /usr/sbin
اگه هر چی غیر از بالاییها بود، /usr/ رو برندارید.
مثلا توی نمونههای زیر، نباید /usr/ رو بردارید.
/usr/share /usr/include /usr/src
حالا با apt-file دنبال بستههایی بگردید که اون فایل رو دارند. /usr/ رو از مسیر بردارید، بالا گفتم چرا.
apt-file search /bin/systemsettings5
خروجی دستور میگه که بسته systemsettings، این برنامه رو داره.
الان میتونید بسته systemsettings رو پاک کنید تا System Settings هم پاک بشه.
حالا مثلا میخواهیم در مورد فایرفاکس esr اینکار رو انجام بدیم و فرض میکنیم اسم بسته رو نمیدونیم.
چیزی که با زدن روی آیکون فایرفاکس اجرا میشه، این هست.
/usr/lib/firefox-esr/firefox-esr
با apt-file دنبال بستههایی بگردید که اون فایل رو دارند. بهتره /usr/ اولش رو بردارید. در مورد فایرفاکس و مثال قبلی، حتی اگه /usr/ رو برندارید، باز هم جستوجو درست انجام میشه چون هر دو، واقعا فایلهای خودشون رو توی دایرکتوریهای داخل /usr/ قرار میدن، اما ممکنه برای یه برنامه دیگه، اینطور نباشه.
apt-file search /lib/firefox-esr/firefox-esr
توی خروجی مشخص میشه که بسته firefox-esr، این برنامه رو داره.
البته فایرفاکس چندین فایل داره.
/usr/bin/firefox
/usr/bin/firefox-esr
/usr/lib/firefox/firefox
اولی معمولا یه اسکریپت هست که یا دستور firefox-esr (فایل دومی) رو اجرا میکنه یا اینکه مستقیم، فایل اجرایی فایرفاکس رو از داخل /usr/lib/ اجرا میکنه.
دومی معمولا یه لینک هست به فایل اجرایی فایرفاکس، داخل /usr/lib/
آخری هم خود فایل اجرایی هست که کامپایل شده.
اگه از firefox-esr استفاده کنید، اسم فایل آخری و دایرکتوری داخل /usr/lib/، برابر firefox-esr هست.
اگه با apt-file دنبال هر کدوم از فایلهای بالا بگرید، باید بسته firefox یا firefox-esr (بسته به اینکه کدوم نصب شده) رو پیدا کنید.
apt-file فقط برای اینکار نیست، میتونید باهاش، فایلهای یه بسته رو ببینید، حتی اگه اون بسته نصب نشده باشه.
با apt-file میتونید دنبال بستههایی بگردید که یه فایل خاص رو دارند، این برای مواقعی که میخواهید یه چیزی رو کامپایل کنید اما کتابخانه موردنیاز رو ندارید و نمیدونید چه بستهای اون کتابخانه رو داره، خیلی کمک کننده هست. یا اینکه ببینید یه دستور، توی چه بستهای قرار داره.
با dpkg -S هم میتونید دنبال بستههایی بگردید که شامل یه فایل خاص هستند اما این راه فقط برای بسنههایی که نصب شدن، کار میده. نحوه جستوجو اون dpkg با apt-file متفاوته. به طوری که اگه دستور زیر، بگه فایل مربوط به بسته tor هست،
apt-file search /bin/tor
دستور زیر میگه که بستهای که این فایل رو داشته باشه پیدا نشد.
dpkg -S /bin/tor
دلیل این هست که بسته tor، فایل اجرایی خودش رو توی /usr/bin/ قرار میده. برای اینکه دستور بالا جواب داشته باشه، باید مسیر درست فایل رو بدید. یعنی اینجوری
dpkg -S /usr/bin/tor
به همین دلیل، اگه بخوام از dpkg برای اینکار استفاده کنم و مسیری که فایل داخلش هست، یکی از مسیرهای زیر باشه، یه بار جستوجو رو همراه /usr/ و یه بار بدون اون انجام میدم.
/usr/bin /usr/sbin /usr/lib /usr/lib64 /usr/lib32 /usr/libx32
اگه tor نصب نباشه، کلا dpkg فایلهای اون رو پیدا نمیکنه. چون فقط بستههای نصب شده رو جستوجو میکنه.
برای من apt-file خیلی سریعتر از dpkg هست.
توی آرچ و توزیعها مبتنی بر اون هم چنین قابلیتهایی هست. pacman -Q شبی قابلیتهای جستوجو dpkg عمل میکنه (نه فقط مثل dpkg -S، کلا برای اطلاعات گرفتن از بستههای نصب شده استفاده میشه.) pacman -F هم شبیه apt-file عمل میکنه.
برای اطلاعات بیشتر، صفحه man مربوط رو ببینید یا توی یه موضوع دیگه بپرسید.