Help on uninstalling a program and dependency tree
Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Help on uninstalling a program and dependency tree
Is there a way to find which dependencies of the whole dependency tree is not needed from other programs so as to uninstall them? Eg if I want to uninstall webkit-gtk or chromium I should also uninstall the dependencies (some of them go 3-4 levels deep). How could I know which ones are not used by other programs?
3)
Use a package manager of some sort, for instance I use my own and can get a dependency list like so
Code:
keithhedger@LFSDev:~-> lfspkg -F webkitgtk-2
Locating scripts -
Found dependency PCRE-8.40
Found dependency libffi-3.2.1
Found dependency expat-2.2.0
Found dependency pkg-config-0.29.1
Found dependency Python-2.7.13
Found dependency libxml2-2.9.4
Found dependency UnZip-6.0
Found dependency docbook-xml-4.5
Found dependency docbook-xsl-1.79.1
Found dependency Itstool-2.0.2
Found dependency libxslt-1.1.29
Found dependency xmlto-0.0.28
Found dependency GTK-Doc-1.25
Found dependency GLib-2.50.3
Found dependency gobject-introspection-1.50.0
Found dependency GStreamer1.0-1.10.3
Found dependency gst-plugins-base1.0-1.10.3
Found dependency ATK-2.22.0
Found dependency Cython-0.23.4
Found dependency yasm-1.3.0
Found dependency libjpeg-turbo-1.5.1
Found dependency libpng-1.6.28
Found dependency LibTIFF-4.0.7
Found dependency gdk-pixbuf-2.36.5
Found dependency Pixman-0.34.0
Found dependency Cairo-1.14.8
Found dependency icu-58.2
Found dependency Which-2.21
Found dependency FreeType-2.7.1
Found dependency Harfbuzz-1.4.2
Found dependency Fontconfig-2.12.1
Found dependency util-macros-1.19.1
Found dependency proto-8.0
Found dependency libXau-1.0.8
Found dependency xcb-proto-1.12
Found dependency libxcb-1.12
Found dependency xorg-libs-8.0
Found dependency Pango-1.40.3
Found dependency hicolor-icon-theme-0.15
Found dependency GTK-2.24.31
Found dependency libunistring-0.9.7
Found dependency Nettle-3.3
Found dependency GnuTLS-3.5.9
Found dependency Intltool-0.51.0
Found dependency gsettings-desktop-schemas-3.22.0
Found dependency glib-networking-2.50.0
Found dependency SQLite-3.17.0
Found dependency vala-0.34.4
Found dependency libsoup-2.56.0
Found dependency libdrm-2.4.75
Found dependency elfutils-0.168
Found dependency libvdpau-1.1.1
Found dependency OpenSSL-1.0.2
Found dependency certdata-8.0
Found dependency curl-7.52.1
Found dependency LZO-2.09
Found dependency libarchive-3.2.2
Found dependency CMake-3.7.2
Found dependency LLVM-3.9.1
Found dependency MesaLib-13.0.4
Found dependency Ruby-2.4.0
Found dependency libwebp-0.6.0
Found dependency libsecret-0.18.5
Found dependency webkitgtk-2
Of course some libs/apps are dependencies of multiple other apps/libs so be careful what you uninstall.
Last edited by Keith Hedger; 11-14-2017 at 06:25 AM.
Of course some libs/apps are dependencies of multiple other apps/libs so be careful what you uninstall.
This is exactly my problem. To find the dependencies is quite easy, because it is written in the book. But to find the dependencies that are not used by any other program, how can that be done? Especialy now that I have installed apps like Chromium and Webkit and I have not kept track...
Keith, your package manager can be used for something like that on svn?
Sorry about svn. What I wanted to ask is if your package manager can find the dependencies of a package that will be uninstalled, that can safely be uninstalled because they are not dependenies of any other package.
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,154
Rep:
Yes, but only those packages installed by the package manager ( and their dependencies installed by the package manager ), some other pkg managers can do this but usually only for packages and deps installed by the manager itself, if you install something outside of the manager of it will know nothing about it, doing it retroactively is really difficult.
E.G:
Code:
keithhedger@LFSDev:~-> lfspkg -h
lfspkg - Version 0.4.20
Useage: lfspkg [option] ...
-c|--commit : Make and Install package
-i|--install : Install package
-m|--make : Make package
-u|--upgrade : Upgrade package
-r|--remove : Remove package
-t|--template : Create LFSBuild template for source tarball
-q|--qttemplate : Create LFSBuild template for QT5 source tarball
-l|--list : List installed files
-f|--find : Find installed file
-L|--less : Pipe output from list/find to less
-M|--remake : Re-consitute an installed package
-B|--builddeps : Build all dependant packages
-F|--finddepends : Find dependencies and build scripts.
-j|--justlist : Just output list if query results in multiple packages
-a|--preinstall : Re-run the preinstall script for PKG
-A|--postinstall : Re-run the postinstall script for PKG
-I|--info : Try to make info file from lfs/blfs website
-D|--pkginfo : Print info for installed package
-C|--check : Try to check package version
-U|--rebuild : Re-build database
-S|--search : Search database PACKAGENAME DATANEEDED 0/nothing=all,1=name,2=script version,3=path,4=depends,5=installed,6=installed version
-T|--notinstalled : List packages not installed
-E|--installed : List installed packages
-O|--dependson : Find packages that depend on ARG
-P|--checkall : Check all packages for possible upgrade
-W|--webpage : Try to find webpage for build
-K|--nocolour : Use colour in output default=on
-Q|--setup : Setup lfspkg.rc file
-N|--noaskroot : Don't check for root user
-R|--rootdir : use ROOTDIR as install/remove prefix
-s|--suffix : Suffix of package
-d|--section : Section of package
-b|--build : Build of package
-o|--output : Output archive to this folder
-n|--name : Name of package
-p|--pkgversion : Version of package
keithhedger@LFSDev:~-> lfspkg -O python
Dependencies for python:
calibre-3.8.0 - /LFSPkgBuildScripts/desktop/calibre/calibre2.LFSBuild/
calibre-3.8.0 - /LFSPkgBuildScripts/desktop/calibre/calibre.LFSBuild/
gegl-0.3.12 - /LFSPkgBuildScripts/desktop/gegl/gegl.LFSBuild/
obtheme-2013.2.20.2 - /LFSPkgBuildScripts/desktop/obtheme/obtheme.LFSBuild/
asciidoc-8.6.9 - /LFSPkgBuildScripts/devel/asciidoc/asciidoc.LFSBuild/
bazaar-2.5.1 - /LFSPkgBuildScripts/devel/bazaar/bazaar.LFSBuild/
doxygen-1.8.13 - /LFSPkgBuildScripts/devel/doxygen/doxygen.LFSBuild/
git-2.11.1 - /LFSPkgBuildScripts/devel/git/git.LFSBuild/
gtk-doc-1.25 - /LFSPkgBuildScripts/devel/gtk-doc/gtk-doc.LFSBuild/
meld-1.8.6 - /LFSPkgBuildScripts/devel/meld/meld.LFSBuild/
ninja-1.7.2 - /LFSPkgBuildScripts/devel/ninja/ninja.LFSBuild/
scons-2.3.6 - /LFSPkgBuildScripts/devel/scons/scons.LFSBuild/
yasm-1.3.0 - /LFSPkgBuildScripts/devel/yasm/yasm.LFSBuild/
libevdev-1.5.6 - /LFSPkgBuildScripts/hware/libevdev/libevdev.LFSBuild/
qemu-2.8.0 - /LFSPkgBuildScripts/hware/qemu/qemu.LFSBuild/
boost-1.63.0 - /LFSPkgBuildScripts/libs/boost/boost.LFSBuild/
glib-2.50.3 - /LFSPkgBuildScripts/libs/glib/glib.LFSBuild/
youtube-dl-2017.11.06 - /LFSPkgBuildScripts/mm/youtube-dl/youtube-dl.LFSBuild/
js-17.0.0 - /LFSPkgBuildScripts/net/js/js.LFSBuild/
samba-4.5.5 - /LFSPkgBuildScripts/net/samba/samba.LFSBuild/
wicd-1.7.3 - /LFSPkgBuildScripts/net/wicd/wicd.LFSBuild/
Cython-0.23.4 - /LFSPkgBuildScripts/python/Cython/Cython.LFSBuild/
dbus-python-1.2.0 - /LFSPkgBuildScripts/python/dbus-python/dbus-python.LFSBuild/
fuse-python-0.2.1 - /LFSPkgBuildScripts/python/fuse-python/fuse-python.LFSBuild/
html2text-3.200.3 - /LFSPkgBuildScripts/python/html2text/html2text.LFSBuild/
Imaging-1.1.7 - /LFSPkgBuildScripts/python/Imaging/Imaging.LFSBuild/
py2cairo-1.10.0 - /LFSPkgBuildScripts/python/py2cairo/py2cairo.LFSBuild/
pyqt-5.8 - /LFSPkgBuildScripts/python/PyQt/PyQt.LFSBuild/
pysetuptools-18.2 - /LFSPkgBuildScripts/python/pysetuptools/pysetuptools.LFSBuild/
sip-4.19.1 - /LFSPkgBuildScripts/python/sip/sip.LFSBuild/
itstool-2.0.2 - /LFSPkgBuildScripts/sys/itstool/itstool.LFSBuild/
llvm-3.9.1 - /LFSPkgBuildScripts/xorg/llvm/llvm.LFSBuild/
mesalib-13.0.4 - /LFSPkgBuildScripts/xorg/MesaLib/MesaLib.LFSBuild/
xcb-proto-1.12 - /LFSPkgBuildScripts/xorg/xcb-proto/xcb-proto.LFSBuild/
This is listing packages that depend on python and the location of the build script.
Can your package manager handle installations that need patches or more complicated installations like Chromium?
Do I have to install your package manager on chapter 6 or can I use it from now on to handle what I install from now on?
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,154
Rep:
It can be installed at any point after the chapter 5.
Packages are made from compiled source so any patches etc are applied while building the package, and yes therenis a build scricpt for chromium
Although a package manager would make my life easier, I would like to find solutions without a package manager, because that is why I left Gentoo and installed LFS, to have everything manual.
So, I would be greatful if you can make suggestions to this direction.
Thank you!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.