0

Ok, so I wanted to uninstall wine, and of course I managed to uninstall 140 other packages with it using this command:

sudo apt-get remove wine*

I know, I should have googled it first, but the damage was done (next time I will know better). So after googling how to revert what I have done, I managed to reinstall ubuntu-desktop and then I went through the history of Software Center and reinstalled everything that was removed.

Now I think that the system should be ok, but apt-get is still suggesting, that I have packages which can be removed. Honestly, I don't believe him, because the list is quite long and some things sound important. Also most suggested packages are related to Java, which are obviously important to me as a Java developer. And after all - I reinstalled all packages, so none should be obsolete, right?

Do you guys think, that running sudo apt-get autoremove would be safe? If not - how can I convince apt-get that the packages are needed?

The list of packages, that are no longer required:

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.
lmazgon
  • 154
  • Use apt-get -s autoremove to do a simulated dry run if you're unsure. – mertyildiran Jan 30 '15 at 19:20
  • Been there, done that. It just goes through that list in my question and simulates a remove operation on each package. I don't really see how this helps me. – lmazgon Jan 30 '15 at 19:25
  • If you want to know why a package was installed in the first place, install aptitude and do aptitude why [package name]. This should give you an idea of how safe it is to remove the package. – Jos Jan 30 '15 at 20:47

1 Answers1

0

apt-get autoremove removes orphan packages i.e. those packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed. So running apt-get remove should not create any harm in your case. You are getting this because you might have missed some packages to reinstall.

Now if you don't want to see these long list in your apt-get autoremove command , you can use apt-mark for this .Mark all these package as manual so that apt-get will consider these packages as installed manually.

From 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.


Syntax of apt-mark for above is

sudo apt-mark manual <pkg...>

Simply copy all this long list package and paste in palce of <pkg> in the command.

g_p
  • 18,504
  • autoremove is not as safe as you portray it. See https://askubuntu.com/a/393307/89663 and https://administratosphere.wordpress.com/2011/11/29/the-metapackage-problem-and-apt-get-autoremove/ – Marcus Junius Brutus Apr 02 '18 at 14:28