在我差点搞坏 Ubuntu 后使用 Apt-get autoremove

在我差点搞坏 Ubuntu 后使用 Apt-get autoremove

好的,所以我想卸载 wine,当然我使用此命令设法卸载了其他 140 个软件包:

sudo apt-get remove wine*

我知道,我应该先在谷歌上搜索一下,但损害已经造成了(下次我会更清楚)。因此,在谷歌上搜索如何恢复我所做的操作后,我设法重新安装ubuntu-desktop,然后我查看了软件中心的历史记录并重新安装了所有被删除的内容。

现在我认为系统应该没问题了,但apt-get仍然建议我删除一些软件包。老实说,我不相信他,因为列表很长,而且有些东西听起来很重要。而且大多数建议的软件包都与 Java 有关,这对我这个 Java 开发人员来说显然很重要。毕竟 - 我重新安装了所有软件包,所以应该没有一个是过时的,对吧?

你们觉得这样运行sudo apt-get autoremove安全吗?如果不安全,我该如何让 apt-get 确信需要这些软件包?

不再需要的软件包列表:

The following packages were automatically installed and are no longer required:
  ant ant-optional antlr aspectj bnd bsh checkstyle fonts-horai-umefont fop
  gnome-exe-thumbnailer groovy gstreamer1.0-plugins-bad-faad
  gstreamer1.0-plugins-bad-videoparsers icoutils ivy java-wrappers junit
  junit4 libaether-java libantlr-java libaopalliance-java libapache-pom-java
  libasm3-java libasm4-java libasn1-8-heimdal:i386 libaspectj-java
  libasync-http-client-java libatinject-jsr330-api-java
  libavalon-framework-java libbatik-java libbcel-java libbcpg-java
  libbcprov-java libbindex-java libbsf-java libbsh-java libcapi20-3
  libcapi20-3:i386 libcdi-api-java libcglib-java libclassworlds-java
  libcodenarc-groovy-java libcommons-beanutils-java libcommons-cli-java
  libcommons-codec-java libcommons-collections3-java
  libcommons-configuration-java libcommons-dbcp-java libcommons-digester-java
  libcommons-httpclient-java libcommons-io-java libcommons-jexl2-java
  libcommons-jxpath-java libcommons-lang-java libcommons-logging-java
  libcommons-net2-java libcommons-parent-java libcommons-pool-java
  libcommons-vfs-java libconstantine-java libdom4j-java libdoxia-java
  libdrm-dev libeasymock-java libecj-java libexif12:i386 libfluidsynth1
  libfop-java libganymed-ssh2-java libgd3:i386
  libgeronimo-interceptor-3.0-spec-java libgeronimo-jpa-2.0-spec-java
  libgeronimo-jta-1.1-spec-java libgeronimo-osgi-support-java libgif4:i386
  libgl1-mesa-dev libglu1-mesa:i386 libglu1-mesa-dev libgmetrics-groovy-java
  libgnuinet-java libgnujaf-java libgnumail-java libgoogle-gson-java
  libgphoto2-6:i386 libgphoto2-port10:i386 libgradle-core-java
  libgradle-plugins-java libgssapi3-heimdal:i386 libgstreamer-plugins-bad1.0-0
  libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libgtkglext1
  libguava-java libguice-java libhamcrest-java libhawtjni-runtime-java
  libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386
  libhsqldb1.8.0-java libhttpclient-java libhttpcore-java
  libhx509-5-heimdal:i386 libieee1284-3:i386 libitext1-java libjackrabbit-java
  libjaffl-java libjansi-java libjansi-native-java libjarjar-java
  libjaxen-java libjaxp1.3-java libjcifs-java libjcip-annotations-java
  libjcommander-java libjdom1-java libjetty-extra libjetty-extra-java
  libjetty-java libjffi-java libjffi-jni libjline-java libjna-java
  libjnr-posix-java libjnr-x86asm-java libjsch-java libjsoup-java
  libjsr305-java libkrb5-26-heimdal:i386 libkryo-java liblcms2-2:i386
  libldap-2.4-2:i386 libllvm3.4:i386 liblog4j1.2-java liblogback-java
  libmaven-ant-tasks-java libmaven-parent-java libmaven-scm-java
  libmaven2-core-java libminlog-java libmockobjects-java libmodello-java
  libmpg123-0 libmpg123-0:i386 libmx4j-java libnative-platform-java
  libnative-platform-jni libnekohtml-java libnetbeans-cvsclient-java
  libnetty-java libobjenesis-java libodbc1 libopenal1:i386
  libopencv-calib3d2.4 libopencv-contrib2.4 libopencv-core2.4
  libopencv-features2d2.4 libopencv-flann2.4 libopencv-highgui2.4
  libopencv-imgproc2.4 libopencv-legacy2.4 libopencv-ml2.4
  libopencv-objdetect2.4 libopencv-video2.4 libosgi-compendium-java
  libosgi-core-java libosgi-foundation-ee-java libosmesa6 libosmesa6:i386
  libossp-uuid16 libp11-kit-gnome-keyring:i386 libplexus-ant-factory-java
  libplexus-archiver-java libplexus-bsh-factory-java libplexus-build-api-java
  libplexus-cipher-java libplexus-classworlds-java libplexus-classworlds2-java
  libplexus-cli-java libplexus-container-default-java
  libplexus-containers-java libplexus-containers1.5-java libplexus-i18n-java
  libplexus-interactivity-api-java libplexus-interpolation-java
  libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils-java
  libplexus-utils2-java libpolyglot-maven-java libpthread-stubs0-dev
  libqdox-java libqt4-dev-bin libqt4-qt3support libreflectasm-java
  libregexp-java libreoffice-l10n-en-gb librhino-java libroken18-heimdal:i386
  libsane:i386 libsasl2-2:i386 libsasl2-modules:i386 libsasl2-modules-db:i386
  libsaxon-java libservlet2.5-java libservlet3.0-java libsisu-guice-java
  libsisu-ioc-java libslf4j-java libsrtp0 libtbb2 libtomcat6-java
  libusb-1.0-0:i386 libv4l-0:i386 libv4lconvert0:i386 libvpx1:i386
  libwagon-java libwagon2-java libwind0-heimdal:i386 libx11-dev libx11-doc
  libx11-xcb-dev libxalan2-java libxau-dev libxbean-java libxcb-dri2-0-dev
  libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev
  libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev
  libxcb1-dev libxdamage-dev libxdmcp-dev libxerces2-java libxext-dev
  libxfixes-dev libxml-commons-external-java libxml-commons-resolver1.1-java
  libxmlgraphics-commons-java libxom-java libxpm4:i386 libxpp2-java
  libxpp3-java libxshmfence-dev libxstream-java libxxf86vm-dev
  libyaml-snake-java maven mesa-common-dev ocl-icd-libopencl1:i386 odbcinst
  odbcinst1debian2 p11-kit-modules:i386 qt4-linguist-tools rhino testng
  unixodbc wine-gecko2.21:i386 x11proto-core-dev x11proto-damage-dev
  x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev
  x11proto-kb-dev x11proto-xext-dev x11proto-xf86vidmode-dev
  xorg-sgml-doctools xtrans-dev
Use 'apt-get autoremove' to remove them.

答案1

apt-get autoremove删除孤立包,即那些为了满足其他包的依赖关系而自动安装的包,现在不再需要。因此运行apt-get remove不会对您造成任何损害。您收到此消息是因为您可能错过了一些需要重新安装的包。

现在,如果您不想在apt-get autoremove命令中看到这些长列表,您可以使用apt-mark这个。将所有这些包标记为手动,以便 apt-get 将这些包视为手动安装的。

man apt-mark

   manual
       manual is used to mark a package as being manually installed, which
       will prevent the package from being automatically removed if no
       other packages depend on it.


上面的 for 语法apt-mark

sudo apt-mark manual <pkg...>

只需复制整个长列表包并粘贴到<pkg>命令中即可。

相关内容