Slackware This Forum is for the discussion of Slackware Linux.
|
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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
|
|
03-16-2014, 07:27 AM
|
#1
|
Senior Member
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557
|
Dependency management (not strictly Slackware related)
This is not strictly Slackware related but I know it will raise a wry smile from a few of you.
I just received an email from a friend who is new to Linux and has started with Ubuntu. His mail begins as follows:
Quote:
ok, so, apparently, it's easier to remove IE from Windows then cups from Linux:
|
Followed by output from his terminal on attempting to remove libcups2. Now I don't know why he wants to remove cups but that is not really the point. The output looked interesting, so I decided to fire up VirtualBox with Ubuntu 13.10 and try it myself.
Here is what I get (and yes it is pretty much the same as what he saw):
Code:
ruario@ruario-VirtualBox:~$ sudo apt-get remove libcups2
[sudo] password for ruario:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
docbook-xml fonts-droid gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-3.0 hud
libgles2-mesa libgtk-3-common libjavascriptcoregtk-3.0-0 librarian0
libreoffice-common python-apport python-aptdaemon python-keyring
python-launchpadlib python-lazr.restfulclient python-lazr.uri python-oauth
python-problem-report python-simplejson python-wadllib python3-apport
python3-distupgrade python3-software-properties python3-update-manager
rarian-compat sgml-data software-properties-common
ubuntu-release-upgrader-core update-manager-core usb-creator-common
Suggested packages:
docbook docbook-dsssl docbook-xsl docbook-defguide libreoffice-style-crystal
libreoffice-style-hicontrast libreoffice-style-oxygen
libreoffice-style-tango python-gdata python-keyczar python-kde4
python-testresources python3-launchpadlib perlsgml w3-recs opensp
libxml2-utils
Recommended packages:
python-secretstorage libjs-jquery
The following packages will be REMOVED:
account-plugin-aim account-plugin-facebook account-plugin-flickr
account-plugin-google account-plugin-jabber account-plugin-salut
account-plugin-twitter account-plugin-windows-live account-plugin-yahoo
activity-log-manager activity-log-manager-control-center aisleriot
apport-gtk apturl bamfdaemon baobab bluez-cups brasero brasero-cdrkit compiz
compiz-gnome cups cups-browsed cups-bsd cups-client cups-daemon cups-filters
cups-pk-helper cups-ppdc deja-dup deja-dup-backend-gvfs
deja-dup-backend-ubuntuone empathy eog evince evolution-data-server
evolution-data-server-goa file-roller firefox friends-facebook
friends-twitter gcr gedit ghostscript ghostscript-x gir1.2-appindicator3-0.1
gir1.2-gdata-0.0 gir1.2-gnomebluetooth-1.0 gir1.2-goa-1.0 gir1.2-gtk-3.0
gir1.2-peas-1.0 gir1.2-rb-3.0 gir1.2-totem-1.0 gir1.2-vte-2.90
gir1.2-webkit-3.0 gir1.2-wnck-3.0 gkbd-capplet gnome-bluetooth
gnome-calculator gnome-contacts gnome-control-center
gnome-control-center-datetime gnome-control-center-signon
gnome-control-center-unity gnome-disk-utility gnome-font-viewer
gnome-icon-theme gnome-icon-theme-symbolic gnome-keyring gnome-mahjongg
gnome-mines gnome-orca gnome-power-manager gnome-screensaver
gnome-screenshot gnome-session gnome-session-bin gnome-session-canberra
gnome-settings-daemon gnome-sudoku gnome-system-log gnome-system-monitor
gnome-terminal gnome-user-guide gnome-user-share gnomine
gstreamer1.0-clutter gtk2-engines-murrine gtk3-engines-unico gucharmap
gvfs-backends hplip humanity-icon-theme ibus ibus-gtk ibus-gtk3 ibus-pinyin
ibus-table indicator-application indicator-appmenu indicator-bluetooth
indicator-keyboard indicator-printers indicator-session indicator-sync
landscape-client-ui-install language-selector-gnome libaccount-plugin-1.0-0
libaccount-plugin-generic-oauth libaccount-plugin-google libappindicator3-1
libbrasero-media3-1 libcanberra-gtk-module libcanberra-gtk0
libcanberra-gtk3-0 libcanberra-gtk3-module libcheese-gtk23 libcheese7
libclutter-1.0-0 libclutter-gst-2.0-0 libclutter-gtk-1.0-0 libcups2
libcupscgi1 libcupsfilters1 libcupsimage2 libcupsmime1 libcupsppdc1
libevdocument3-4 libevview3-3 libfolks-eds25 libfreerdp-plugins-standard
libgail-3-0 libgail-common libgail18 libgcr-3-1 libgcr-ui-3-1 libgdata13
libgnome-bluetooth11 libgnome-control-center1 libgnome-desktop-3-7
libgnomekbd8 libgoa-1.0-0 libgrip0 libgs9 libgtk-3-0 libgtk-3-bin
libgtk2-perl libgtk2.0-0 libgtk2.0-bin libgtkmm-3.0-1 libgtksourceview-3.0-1
libgucharmap-2-90-7 libgweather-3-3 libido3-0.1-0 libindicator3-7
libmetacity-private0a libnautilus-extension1a libnm-gtk0 libpeas-1.0-0
libreoffice-base-core libreoffice-calc libreoffice-core libreoffice-draw
libreoffice-gnome libreoffice-gtk libreoffice-help-en-us libreoffice-impress
libreoffice-math libreoffice-ogltrans libreoffice-pdfimport
libreoffice-presentation-minimizer libreoffice-writer librhythmbox-core7
libsane-hpaio libspectre1 libtimezonemap1 libtotem0 libufe-xidgetter0
libunity-core-6.0-8 libunity-gtk2-parser0 libunity-gtk3-parser0
libunity-misc4 libunity-webapps0 libvte-2.90-9 libwebkitgtk-3.0-0
libwnck-3-0 libwnck22 libyelp0 light-themes lightdm-remote-session-freerdp
lightdm-remote-session-uccsconfigure mcp-account-manager-uoa modemmanager
mousetweaks nautilus nautilus-sendto nautilus-sendto-empathy nautilus-share
network-manager-gnome network-manager-pptp-gnome notify-osd onboard
onboard-data oneconf overlay-scrollbar overlay-scrollbar-gtk2
overlay-scrollbar-gtk3 policykit-1-gnome printer-driver-c2esp
printer-driver-foo2zjs printer-driver-gutenprint printer-driver-hpcups
printer-driver-pnm2ppa printer-driver-postscript-hp printer-driver-ptouch
printer-driver-sag-gdi printer-driver-splix python-aptdaemon.gtk3widgets
python-cups python-gnomekeyring python-gtk2 python-notify
python-ubuntu-sso-client python-ubuntuone-client
python-ubuntuone-control-panel python-ubuntuone-storageprotocol
python3-aptdaemon.gtk3widgets python3-pyatspi python3-uno remmina
remmina-plugin-rdp remmina-plugin-vnc rhythmbox rhythmbox-mozilla
rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune
rhythmbox-plugin-zeitgeist rhythmbox-plugins rhythmbox-ubuntuone seahorse
sessioninstaller shotwell simple-scan software-center
software-properties-gtk ssh-askpass-gnome system-config-printer-common
system-config-printer-gnome system-config-printer-udev telepathy-indicator
thunderbird thunderbird-gnome-support totem totem-mozilla totem-plugins
transmission-gtk ubuntu-artwork ubuntu-desktop ubuntu-docs ubuntu-mono
ubuntu-release-upgrader-gtk ubuntu-sso-client ubuntu-sso-client-qt
ubuntuone-client ubuntuone-control-panel ubuntuone-control-panel-qt unity
unity-asset-pool unity-greeter unity-gtk2-module unity-gtk3-module
unity-lens-applications unity-lens-photos unity-scope-calculator
unity-scope-gdrive unity-scope-manpages unity-services unity-webapps-common
unity-webapps-service update-manager update-notifier usb-creator-gtk vino
webaccounts-extension-common xdg-user-dirs-gtk xdiagnose xul-ext-unity
xul-ext-webaccounts xul-ext-websites-integration yelp zeitgeist
zeitgeist-datahub zenity
The following NEW packages will be installed:
docbook-xml fonts-droid libgles2-mesa librarian0 python-apport
python-keyring python-launchpadlib python-lazr.restfulclient python-lazr.uri
python-oauth python-problem-report python-simplejson python-wadllib
rarian-compat sgml-data
The following packages will be upgraded:
gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-3.0 hud libgtk-3-common
libjavascriptcoregtk-3.0-0 libreoffice-common python-aptdaemon
python3-apport python3-distupgrade python3-software-properties
python3-update-manager software-properties-common
ubuntu-release-upgrader-core update-manager-core usb-creator-common
15 upgraded, 15 newly installed, 293 to remove and 197 not upgraded.
Need to get 33,7 MB of archives.
After this operation, 704 MB disk space will be freed.
Do you want to continue [Y/n]?
Now of course I am aware that most of those packages are linked to libcups2 directly or indirectly and would indeed break but I have a hard time believing that the best option is to actually remove them all. Consider a user who clicks yes without fully thinking through or understanding the consequences. They will be left with a broken system and the need to reinstall (and hence re-download) almost 300 packages. Compare with a Slackware user who also attempts to remove a key lib due to similar lack of understanding. Again the system would break but the user need only add back that one lib they just removed to restore full functionality.
Sometimes over automation can lead you into a tight spot.
|
|
|
03-16-2014, 07:29 AM
|
#2
|
Senior Member
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223
Rep:
|
That is why I avoid apt distros, back when I used Debian/Ubuntu I couldn't try to remove anything without apt trying to remove the whole GNOME DE.
|
|
|
03-16-2014, 07:35 AM
|
#3
|
Senior Member
Registered: Feb 2006
Location: Outer Shpongolia
Distribution: Slackware, CRUX
Posts: 1,492
|
what the hell
|
|
|
03-16-2014, 07:39 AM
|
#4
|
Member
Registered: Dec 2013
Location: Turin, Italy
Distribution: slackware
Posts: 328
Rep:
|
it remembers me a monthy python sketch; a friend of mine had a similar problem, every packages wanted to install dutch language for openoffice and removing dutch language, was removing all openoffice and part of system libs
isn't there a way to _not_ remove "dependent" packages, keeping upgrading and install new ones? i'm not into apt-get; or use dpkg? but i don't know if it still exists on ubuntu
|
|
|
03-16-2014, 07:48 AM
|
#5
|
Senior Member
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557
Original Poster
|
Quote:
Originally Posted by gengisdave
isn't there a way to _not_ remove "dependent" packages, keeping upgrading and install new ones? i'm not into apt-get; or use dpkg? but i don't know if it still exists on ubuntu
|
Sure but it would not be known to a newbie. In this particular case you could have done this:
Code:
sudo dpkg -r --ignore-depends=libcups2 libcups2
Your system will still be somewhat broken but it will be a lot faster to fix!
|
|
|
03-16-2014, 07:59 AM
|
#6
|
Member
Registered: Dec 2013
Location: Turin, Italy
Distribution: slackware
Posts: 328
Rep:
|
totally right, it's not easy; i started with redhat and got crazy with rpm system and i switched to slackware (still can't remember how and when, i only remember kde2)
|
|
|
03-16-2014, 09:33 AM
|
#7
|
Senior Member
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,981
|
Actually I think this points up an important dividing line. What the system depends on isn't necessarily what we depend on. There is no need to actually remove a fundamental program or set of libraries. If you don't need them, don't run them, and they will consume nothing but a little hard drive space. Isn't this an underlying part of Slackware Philosophy, the part that recommends Full Install, making dependencies all but a non-issue?
|
|
1 members found this post helpful.
|
03-16-2014, 09:40 AM
|
#8
|
Senior Member
Registered: Jun 2009
Posts: 1,444
|
And some wonder why us crazy Slackers don't care for dependency management!
|
|
|
03-16-2014, 09:48 AM
|
#9
|
Senior Member
Registered: Nov 2013
Location: Brazil
Distribution: Slackware
Posts: 1,223
Rep:
|
Quote:
Originally Posted by JWJones
And some wonder why us crazy Slackers don't care for dependency management!
|
To me it is one of its best Slackware "features"
|
|
2 members found this post helpful.
|
03-16-2014, 10:14 AM
|
#10
|
Member
Registered: Dec 2013
Location: Turin, Italy
Distribution: slackware
Posts: 328
Rep:
|
not completely true, when i have dependencies lack, program doesn't start blaming some library missing, so i install/compile what i'm missing and launch it again, this works even for version bump;
to feel safe, i have a little script that asks every binary/library for dependencies and output me what is missing, i think i don't need anymore
http://www.linuxquestions.org/questi...encies-794133/
|
|
4 members found this post helpful.
|
03-16-2014, 12:29 PM
|
#11
|
Guru
Registered: Mar 2004
Location: Canada
Distribution: Slackware (desktops), Void (thinkpad)
Posts: 7,432
|
Quote:
Originally Posted by moisespedro
To me it is one of its best Slackware "features"
|
Agreed. The lack of dependency resolution in Slackware is a strength, not a deficit.
|
|
1 members found this post helpful.
|
All times are GMT -5. The time now is 09:08 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|