-
در هربار اجرای دستورات در apt پیشنهاد حذف بسته های زیر با autoremove داده میشه
از اونجایی که بیشتر این بسته ها حیاتی هستن چه میشه کرد که این پیشنهاد به کلی لغو بشه؟
ant ant-contrib ant-optional ca-certificates-java coinor-libcbc3
coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5
coinor-libosi1v5 default-jre default-jre-headless espeak-ng-data
firebird3.0-common firebird3.0-common-doc firebird3.0-server-core
firebird3.0-utils fonts-crosextra-caladea fonts-crosextra-carlito
fonts-liberation2 fonts-linuxlibertine fonts-noto-core fonts-noto-ui-core
fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic
gir1.2-gst-plugins-base-1.0 gir1.2-polkit-1.0 gnome-accessibility-themes
gnome-themes-extra gnome-themes-extra-data gtk2-engines-pixbuf
gtk2-engines-xfce java-common libabw-0.1-1 libactivation-java libao-common
libao4 libaopalliance-java libapache-poi-java libapache-pom-java
libargs4j-java libasm-java libatinject-jsr330-api-java libatk-adaptor
libatk-wrapper-java libatk-wrapper-java-jni libbase-java libbcmail-java
libbcpkix-java libbcprov-java libboost-atomic1.67.0 libboost-chrono1.67.0
libboost-date-time1.67.0 libboost-filesystem1.67.0 libboost-locale1.67.0
libboost-thread1.67.0 libbsh-java libcdi-api-java libcdr-0.1-1 libcglib-java
libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcodemodel-java
libcommons-cli-java libcommons-codec-java libcommons-collections3-java
libcommons-collections4-java libcommons-compress-java libcommons-io-java
libcommons-lang3-java libcommons-logging-java libcommons-math3-java
libcommons-parent-java libcurvesapi-java libdom4j-java libdotconf0
libdtd-parser-java libe-book-0.1-1 libegl1-mesa libehcache-java
libel-api-java libeot0 libepubgen-0.1-1 libespeak-ng1 libetonyek-0.1-1
libexo-1-0 libexttextcat-2.0-0 libexttextcat-data libfastinfoset-java
libfbclient2 libflute-java libfonts-java libformula-java libfreehand-0.1-1
libgeronimo-annotation-1.3-spec-java libgeronimo-interceptor-3.0-spec-java
libglu1-mesa libgpgmepp6 libgtksourceview-3.0-1 libgtksourceview-3.0-common
libguava-java libguice-java libhawtjni-runtime-java libhsqldb1.8.0-java
libhttpclient-java libhttpcore-java libib-util libicu4j-java
libintellij-annotations-java libistack-commons-java libitext-java
libjansi-java libjansi-native-java libjaxb-api-java libjaxb-java
libjaxen-java libjcommon-java libjdom1-java libjetbrains-annotations-java
libjsoup-java libjsp-api-java libjsr305-java libkeybinder-3.0-0
liblangtag-common liblangtag1 liblayout-java liblightdm-gobject-1-0
libloader-java liblog4j1.2-java liblouis-data liblouis17 libmail-java
libmaven-file-management-java libmaven-parent-java libmaven-resolver-java
libmaven-shared-io-java libmaven-shared-utils-java libmaven3-core-java
libmhash2 libmspub-0.1-1 libmwaw-0.3-3 libmythes-1.2-0 libneon27-gnutls
libnumbertext-1.0-0 libnumbertext-data libodfgen-0.1-1 liborcus-0.14-0
libpagemaker-0.0-0 libpcaudio0 libpentaho-reporting-flow-engine-java
libpixie-java libplexus-archiver-java libplexus-cipher-java
libplexus-classworlds-java libplexus-component-annotations-java
libplexus-interpolation-java libplexus-io-java libplexus-sec-dispatcher-java
libplexus-utils2-java libpq5 libqxp-0.0-0 libraptor2-0 librasqal3 librdf0
librelaxng-datatype-java libreoffice libreoffice-avmedia-backend-gstreamer
libreoffice-base libreoffice-base-core libreoffice-base-drivers
libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
libreoffice-gtk2 libreoffice-impress libreoffice-java-common
libreoffice-librelogo libreoffice-math libreoffice-nlpsolver
libreoffice-report-builder libreoffice-report-builder-bin
libreoffice-script-provider-bsh libreoffice-script-provider-js
libreoffice-script-provider-python libreoffice-sdbc-firebird
libreoffice-sdbc-hsqldb libreoffice-sdbc-postgresql
libreoffice-style-colibre libreoffice-style-tango libreoffice-wiki-publisher
libreoffice-writer librepository-java librevenge-0.0-0 librngom-java
libsac-java libsaxonhe-java libserializer-java libservlet-api-java
libservlet3.1-java libsisu-guice-java libsisu-inject-java libsisu-ioc-java
libsisu-plexus-java libslf4j-java libsnappy-java libsnappy-jni libsonic0
libspeechd2 libstaroffice-0.0-0 libstax-ex-java libstreambuffer-java
libtagc0 libtommath1 libtxw2-java libu2f-udev libunwind8 libvisio-0.1-1
libwagon-http-java libwagon-provider-api-java libwebsocket-api-java
libwnck-common libwnck22 libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4
libxatracker2 libxerces2-java libxfce4ui-utils libxfont2
libxml-commons-external-java libxml-commons-resolver1.1-java libxml-java
libxmlbeans-java libxmlsec1 libxmlsec1-nss libxom-java libxsom-java libxvmc1
libxz-java libzmf-0.0-0 light-locker lightdm lightdm-gtk-greeter lp-solve
mousepad openjdk-11-jre openjdk-11-jre-headless orca python3-brlapi
python3-gst-1.0 python3-louis python3-pyatspi python3-speechd python3-uno
sound-icons speech-dispatcher speech-dispatcher-audio-plugins
speech-dispatcher-espeak-ng sudo system-config-printer tango-icon-theme
task-desktop uno-libs3 ure x11-apps x11-session-utils xbrlapi
xfce4-appfinder xfce4-panel xfce4-power-manager xfce4-power-manager-data
xfce4-power-manager-plugins xfce4-pulseaudio-plugin xfce4-session
xfce4-settings xfdesktop4 xfdesktop4-data xfonts-100dpi xfonts-75dpi
xfonts-base xfonts-encodings xfonts-scalable xfonts-utils xfwm4 xinit xorg
xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati
xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau
xserver-xorg-video-qxl xserver-xorg-video-radeon xserver-xorg-video-vesa
xserver-xorg-video-vmware
Use 'sudo apt autoremove' to remove them.
-
حذفشان کن اگر لازم بودند سیستم این پیشنهاد را نمی داد پس استفاده ای از آن ها نمی شود
-
حذفشان کن اگر لازم بودند سیستم این پیشنهاد را نمی داد پس استفاده ای از آن ها نمی شود
برای مثال چیزی مثل mousepad لازم دارم.
-
راهنمایی kazemie کاملا اشتباه هست و اگر این کار رو انجام بدید سیستم شما تقریبا غیر قابل استفاه خواهد شد. چون در بین بستهها به جز موارد پایه گرافیکی، گزینهای مثل sudo هم قرار گرفته. اجباری نیست وقتی اطلاعات کافی نداریم دیگران رو به اشتباه راهنمایی کنیم. من پست ایشون رو دیروز گزارش کردم ولی مدیران ترجیح دادن پست باقی بمونه شاید هم ندیدن گزارش رو.
دقیق نمیدونم ولی حدس میزنم احتمالا یک بسته خاص که این بستهها به شکل زنجیرهای از پیشنیاز اون بسته نصب شده بودند به نحوی حذف شده و حالا سیستم پیشنهاد میکنه که اینها رو هم حذف کنه چون automatic نصب شدند.
جستجوی من نشون میده این مورد ممکنه زمانی رخ بده که یک میزکار دیگه رو نصب و حذف کرده باشید.
شما باید این بستهها رو mark کنید به عنوان "دستی نصب شده".
sudo apt-mark manual PKG-NAME
همینطور میتونید با aptitude:
sudo aptitude keep-all
اعلام کنید تمام بستهها رو میخواید نگه دارید.
فعلا حضور ذهن ندارم چه طور میشه فهمید حذف کدوم بسته این مشکل رو ایجاد کرده شاید سایر دوستان بتونند بهتر راهنمایی کنند.
-
از اونجایی که بیشتر این بسته ها حیاتی هستن چه میشه کرد که این پیشنهاد به کلی لغو بشه؟
این یعنی یک بستهٔ سیستمی رو حذف کردید که به عنوان پیشنیاز بستههای موجود رو لازم داشته. با نصب دوبارهٔ اون بسته، این مشکل برطرف میشه.
-
ممنون از M!lad عزیز
با راهنمایی شما مشکل حل شد.
- نام بستههایی که برای پاک شدن پیشنهاد شده بودند در یک فایل متنی کپی کردم
sudo apt install something > apt-remove
پاک کردن خطوط اضافه به طوری که فقط شامل نام بسته ها باشد.
- یک اسکریپت (apt-correct.sh) برای خواندن کلمه به کلمه فایل متنی و اجرای دستور روی کلمات
#!/bin/bash
while read -ra line;
do
for word in "${line[@]}";
do
#~ echo "$word";
sudo apt-mark manual "$word";
done;
done < $1
منبع (https://unix.stackexchange.com/a/195232/235261)
./apt-correct.sh apt-remove
پس از اجرا مشکل حل شد.
sudo apt install something
Reading package lists... Done
Building dependency tree
Reading state information... Done
something is already the newest version (0.3.5.8-1).
0 upgraded, 0 newly installed, 0 to remove and 71 not upgraded.
پینوشت
یافتن راه حل یک خطی
[ویرایش اول]
راه حل یک خطی
xargs -a apt-remove sudo apt-mark manual
-
از اونجایی که بیشتر این بسته ها حیاتی هستن چه میشه کرد که این پیشنهاد به کلی لغو بشه؟
این یعنی یک بستهٔ سیستمی رو حذف کردید که به عنوان پیشنیاز بستههای موجود رو لازم داشته. با نصب دوبارهٔ اون بسته، این مشکل برطرف میشه.
از کجا میشه فهمید که این بسته چی بوده؟
-
مشکل حل شد.
البته راه خوبی نیست، چون این بستهها رو به عنوان Manually installed علامتگذاری کردید و خب در حقیقت اینطور نیست و شما اونها رو دستی نصب نکردید.
از کجا میشه فهمید که این بسته چی بوده؟
توی var/log/apt/history.log/ رو چک کنید و ببینید چه بستهای رو پاک کردید.
-
اجباری نیست وقتی اطلاعات کافی نداریم دیگران رو به اشتباه راهنمایی کنیم
من اسم بسته ها را نخواندم فقط تا حالا همچین موردی ندیده بودم چون وقتی سیستم پیشنهاد بدهد این فایل ها اضافه هستند اگر سیستم سالم باشد باید به پیشنهاد سیستم عمل کنیم و لازم نیست فایل های اضافی را نگهداری کنیم. من فکر کردم این بسته های اضافه را با آگاهی کامل از اینکه لازم نیستند می خواهید نگهداری کنید برای همین بدون خواندن کد ها نظر دادم
-
من اسم بسته ها را نخواندم
تا حالا همچین موردی ندیده بودم
من فکر کردم
من نه ناظرم، نه مدیرم نه هیچ، پیشنهاد من به عنوان یک کاربر به شما اینکه در این شرایط پست هم ندید. چون اگر اشتباه راهنمایی کنید و مخاطب مطلب شما، کار رو انجام بده ممکنه روزها و هفتهها از کار و زندگی عقب بیافته. شما فکر کن فرضا قبل یک پرزنت سرنوشت ساز سیستم طرف رو با این کار از بین برده باشید. زندگیش به هم میریزه.
حتی انتهای پست خودم اشاره کردم ممکنه بقیه بهتر راهنمایی کنند که همینطور هم بود و فرضا همون آدرس log دستور apt رو هم یادم نبود.
و قبل پست شما سوال رو خونده بودم و تصمیم گرفتم صبر کنم بقیه نظر بدند ولی شما پست رو گذاشتید مجبور شدم جواب بدم که کسی به اشتباه نیافته.
باید به پیشنهاد سیستم عمل کنیم و لازم نیست فایل های اضافی را نگهداری کنیم.
باید وجود نداره، کاربر تصمیم میگیره چکار کنه نه سیستم. سیستم پیشنهاد میده اگر الزام بود خودش به زور پاکشون میکرد.
-
مشکل حل شد.
البته راه خوبی نیست، چون این بستهها رو به عنوان Manually installed علامتگذاری کردید و خب در حقیقت اینطور نیست و شما اونها رو دستی نصب نکردید.
از کجا میشه فهمید که این بسته چی بوده؟
توی var/adm/apt/history.log/ رو چک کنید و ببینید چه بستهای رو پاک کردید.
با توجه به راهنمایی شما و اینکه به نظر میرسه این کار روشی اصولی نیست
بستهها رو به حالت اول برگردوندم.
xargs -a apt-remove sudo apt-mark auto
حالا مدیر بسته همچنان این بستهها را نالازم اعلام می کنه.
روی دبیان چنین مسیری برای فایل های log موجود نبود.
به جای اون لاگ ها از اینجا برداشتم
/var/log/apt/history.log
به علاوه گفته شده (https://serverfault.com/a/175584) لاگهای dpkg هم لازمه پس
/var/log/dpkg.log
به طور خلاصه لاگ بستههای پاک شده شامل اینهاست
2020-02-10 05:17:07 startup packages remove
2020-02-10 05:17:08 remove virtualbox-6.1:amd64 6.1.0-135406~Debian~buster <none>
2020-02-10 05:19:04 startup packages remove
2020-02-10 05:19:05 remove libmagickcore-6.q16-6-extra:amd64 8:6.9.10.23+dfsg-2.1 <none>
2020-02-10 05:19:06 remove imagemagick-6.q16:amd64 8:6.9.10.23+dfsg-2.1 <none>
2020-02-10 05:19:07 remove libmagickwand-6.q16-6:amd64 8:6.9.10.23+dfsg-2.1 <none>
2020-02-10 05:19:08 remove libmagickcore-6.q16-6:amd64 8:6.9.10.23+dfsg-2.1 <none>
2020-02-10 05:19:08 remove imagemagick-6-common:all 8:6.9.10.23+dfsg-2.1 <none>
2020-02-10 05:19:09 remove mlterm-tiny:amd64 3.8.6-2 <none>
2020-02-10 05:19:10 remove mlterm-common:amd64 3.8.6-2 <none>
2020-02-10 05:20:22 startup packages remove
2020-02-10 05:20:22 remove libjxr-tools:amd64 1.1-6+b1 <none>
2020-02-10 05:20:23 remove libjxr0:amd64 1.1-6+b1 <none>
2020-02-10 05:20:24 remove liblqr-1-0:amd64 0.4.2-2.1 <none>
2020-02-10 05:20:25 remove netpbm:amd64 2:10.0-15.3+b2 <none>
2020-02-10 05:20:25 remove libnetpbm10:amd64 2:10.0-15.3+b2 <none>
2020-02-13 00:01:45 startup packages remove
2020-02-13 00:01:58 remove task-xfce-desktop:all 3.53 <none>
2020-02-13 00:01:59 remove thunar-archive-plugin:amd64 0.4.0-2 <none>
2020-02-13 00:02:00 remove xfce4:all 4.12.5 <none>
2020-02-13 00:02:01 remove thunar-media-tags-plugin:amd64 0.3.0-2 <none>
2020-02-13 00:02:02 remove thunar-volman:amd64 0.9.1-1 <none>
2020-02-13 00:02:03 remove thunar:amd64 1.8.4-1 <none>
2020-02-15 18:11:57 startup packages remove
2020-02-15 18:11:58 remove libcurl4-gnutls-dev:amd64 7.64.0-4 <none>
Commandline: apt remove virtualbox-6.1
Remove: virtualbox-6.1:amd64 (6.1.0-135406~Debian~buster)
Commandline: apt remove imagemagick-6* mlterm-*
Remove: libmagickcore-6.q16-6-extra:amd64 (8:6.9.10.23+dfsg-2.1), libmagickwand-6.q16-6:amd64 (8:6.9.10.23+dfsg-2.1), mlterm-common:amd64 (3.8.6-2), mlterm-tiny:amd64 (3.8.6-2), imagemagick-6.q16:amd64 (8:6.9.10.23+dfsg-2.1), libmagickcore-6.q16-6:amd64 (8:6.9.10.23+dfsg-2.1), imagemagick-6-common:amd64 (8:6.9.10.23+dfsg-2.1)
Commandline: apt autoremove
Remove: libjxr0:amd64 (1.1-6+b1), netpbm:amd64 (2:10.0-15.3+b2), liblqr-1-0:amd64 (0.4.2-2.1), libjxr-tools:amd64 (1.1-6+b1), libnetpbm10:amd64 (2:10.0-15.3+b2)
Commandline: apt remove thunar
Remove: thunar-media-tags-plugin:amd64 (0.3.0-2), thunar-volman:amd64 (0.9.1-1), task-xfce-desktop:amd64 (3.53), thunar-archive-plugin:amd64 (0.4.0-2), thunar:amd64 (1.8.4-1), xfce4:amd64 (4.12.5)
Remove: libcurl4-gnutls-dev:amd64 (7.64.0-4)
-
یکبار اجرای دستور نصب روی تک تک بستههایی که برای حذف پیشنهاد شده بودند
مشکلو حل کرد.
sudo xargs -a apt-remove apt install
خروجی ترمینال
https://paste.ubuntu.ir/gjbw
این روش ایرادی نداره؟
-
خوب این کاری که انجام دادید دقیقا دوباره اون بستهها رو mark کرد که دستی نصب شدند فرق خاصی نداره.
به نظر حذف بسته xfce4 مشکل رو ایجاد کرده.
2020-02-13 00:02:00 remove xfce4:all 4.12.5 <none>
بسته ها رو مجدد مارک کنید automatic نصب شدند. xfce4 رو نصب کنید. احتمالا باید مشکل حل بشه. و احتمالا یک سری بسته که نمیخواید رو ممکنه نصب کنه.
این رو اجرا کنید:
apt-cache depends --recurse xfce4
ملاحظه میکنید که تقریبا اکثر مواردی که سیستم پیشنهاد میده حذف بشن به شکل یک chain of dependency همین بسته xfce4 نصب شدند.
-
با نصب این بستهها تعداد پکیجها برای حذف از 306 به 58 کاهش یافت.
task-xfce-desktop و libnetpbm10
بستههای پیشنهادی برای حذف
coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5
coinor-libcoinutils3v5 coinor-libosi1v5 espeak-ng-data fonts-linuxlibertine
fonts-noto-core fonts-noto-ui-core fonts-sil-gentium fonts-sil-gentium-basic
gir1.2-polkit-1.0 libao-common libao4 libatk-adaptor libbsh-java
libcdr-0.1-1 libdotconf0 libespeak-ng1 libfreehand-0.1-1 liblouis-data
liblouis17 libmspub-0.1-1 libpagemaker-0.0-0 libpcaudio0 libqxp-0.0-0
libreoffice libreoffice-avmedia-backend-gstreamer libreoffice-calc
libreoffice-draw libreoffice-gtk2 libreoffice-impress libreoffice-librelogo
libreoffice-nlpsolver libreoffice-script-provider-bsh
libreoffice-script-provider-js libreoffice-script-provider-python
libreoffice-wiki-publisher libsonic0 libspeechd2 libu2f-udev libvisio-0.1-1
libzmf-0.0-0 lp-solve orca python3-brlapi python3-gst-1.0 python3-louis
python3-pyatspi python3-speechd sound-icons speech-dispatcher
speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng
system-config-printer task-desktop xbrlapi
به نظر با فهمیدن اینکه چه بستهای به libreoffice وابسته بوده و به اشتباه حذف شده میشه چند مورد از اینها رو هم برطرف کرد.
-
من از autoremove استفاده کردم و الان فقد ی صفحه ای عین ترمینال برام میاد کککککل بسته هام حذف شده
راهی هست که دوباره بشه اوبونتو رو برگردوند؟
-
پاسخ شما در تاپیک اصلی داده شد.
https://forum.ubuntu-ir.org/index.php?topic=150333.msg1168471#msg1168471