Critical bug in tasksel: `tasksel remove task-name` removes whole system
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tasksel (Ubuntu) |
Triaged
|
Critical
|
Unassigned | ||
Kinetic |
Won't Fix
|
Critical
|
Unassigned |
Bug Description
Steps to reproduce:
1. Have Ubuntu 16.04 LTS or 18.04 LTS system installed with any desktop
2. Install `tasksel` package, install some task `sudo tasksel install samba-server`
3. Remove some task with for example `sudo tasksel remove samba-server`
4. Wait command to finish and reboot the system
5. Get broken system without GUI login
Expected results:
* `tasksel` removes only requested task
Actual results:
* `tasksel` removes requested task and almost whole system
Notes:
* the problem was discovered on AskUbuntu (https:/
* the problem caused by last dash in the remove command:
$ sudo tasksel --test remove samba-server
debconf-
if we remove it (change "samba-server^-" to "samba-server^") it will remove only one task.
You can compare on 16.04 LTS:
$ sudo apt-get -o APT::Install-
[sudo] password for xenial:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libldb1' for task 'samba-server'
Note, selecting 'python-tdb' for task 'samba-server'
Note, selecting 'libcups2' for task 'samba-server'
Note, selecting 'python-samba' for task 'samba-server'
Note, selecting 'rename' for task 'samba-server'
Note, selecting 'libwbclient0' for task 'samba-server'
Note, selecting 'python-dnspython' for task 'samba-server'
Note, selecting 'python2.7-minimal' for task 'samba-server'
Note, selecting 'samba' for task 'samba-server'
Note, selecting 'samba-
Note, selecting 'libarchive13' for task 'samba-server'
Note, selecting 'libavahi-
Note, selecting 'perl-modules-5.22' for task 'samba-server'
Note, selecting 'libavahi-common3' for task 'samba-server'
Note, selecting 'libpython2.7' for task 'samba-server'
Note, selecting 'python2.7' for task 'samba-server'
Note, selecting 'libaio1' for task 'samba-server'
Note, selecting 'tdb-tools' for task 'samba-server'
Note, selecting 'python' for task 'samba-server'
Note, selecting 'cifs-utils' for task 'samba-server'
Note, selecting 'libtalloc2' for task 'samba-server'
Note, selecting 'python-talloc' for task 'samba-server'
Note, selecting 'attr' for task 'samba-server'
Note, selecting 'libperl5.22' for task 'samba-server'
Note, selecting 'samba-libs' for task 'samba-server'
Note, selecting 'python-crypto' for task 'samba-server'
Note, selecting 'libpython-stdlib' for task 'samba-server'
Note, selecting 'winbind' for task 'samba-server'
Note, selecting 'samba-common' for task 'samba-server'
Note, selecting 'samba-vfs-modules' for task 'samba-server'
Note, selecting 'libfile-
Note, selecting 'libsmbclient' for task 'samba-server'
Note, selecting 'smbclient' for task 'samba-server'
Note, selecting 'samba-common-bin' for task 'samba-server'
Note, selecting 'libtdb1' for task 'samba-server'
Note, selecting 'libpython2.
Note, selecting 'perl' for task 'samba-server'
Note, selecting 'python-ldb' for task 'samba-server'
Note, selecting 'keyutils' for task 'samba-server'
Note, selecting 'libpython2.
Note, selecting 'libavahi-client3' for task 'samba-server'
Note, selecting 'libtevent0' for task 'samba-server'
Note, selecting 'python-minimal' for task 'samba-server'
Note, selecting 'update-inetd' for task 'samba-server'
Note, selecting 'liblzo2-2' for task 'samba-server'
Package 'attr' is not installed, so not removed
Package 'keyutils' is not installed, so not removed
Package 'libaio1' is not installed, so not removed
Package 'python-dnspython' is not installed, so not removed
Package 'tdb-tools' is not installed, so not removed
Package 'cifs-utils' is not installed, so not removed
Package 'samba' is not installed, so not removed
Package 'samba-
Package 'samba-vfs-modules' is not installed, so not removed
Package 'winbind' is not installed, so not removed
The following additional packages will be installed:
foomatic-
Recommended packages:
cups-client | lpr | lprng | rlpr ghostscript colord
The following packages will be REMOVED:
a11y-
account-
aptdaemon-data apturl apturl-common atril atril-common avahi-daemon
avahi-discover avahi-dnsconfd avahi-utils bamfdaemon blueman bluez-cups
bluez-obexd brasero brasero-cdrkit brasero-common build-essential
ca-
caja-
colord-data compiz compiz-gnome compiz-mate compton cracklib-runtime cups
cups-browsed cups-bsd cups-client cups-common cups-core-drivers cups-daemon
cups-filters cups-filters-
cups-
deja-
deja-dup-caja diffstat dpkg-dev duplicity dvd+rw-tools enchant engrampa
engrampa-common eom eom-common evolution-
evolution-
firefox folder-color-caja folder-color-common fonts-mathjax fonts-opensymbol
fwupd g++ g++-5 galculator gcc gcc-5 gcr gdebi gdebi-core geoclue
geoclue-
gir1.
gir1.
gir1.
gir1.2-ibus-1.0 gir1.2-
gir1.
gir1.2-rb-3.0 gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-udisks-2.0
gir1.
gir1.2-wnck-1.0 gir1.2-wnck-3.0 gkbd-capplet gksu gnome-bluetooth
gnome-
gnome-
gnome-
gnome-
gnome-
gsettings-
gstreamer1.
gucharmap gufw gvfs-backends hardening-includes hexchat hexchat-common
hexchat-perl hexchat-plugins hexchat-python hplip hplip-data
humanity-
indicator-
indicator-
indicator-sound indicator-
language-
libaccount-
libaccount-
libalgorith
libappindic
libarchive-
libasprintf-dev libatk-adaptor libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data
libatkmm-
libauthen-
libavahi-
libbasicusa
libboost-
libcairo-perl libcairomm-1.0-1v5 libcaja-extension1 libcamel-1.2-54
libcanberra
libcanberra
libcdio-cdda1 libcdio-paranoia1 libcdr-0.1-1 libcgi-fast-perl libcgi-pm-perl
libcheese-gtk25 libcheese8 libchromaprint0 libcilkrts5
libclass-
libclucene-
libclutter-
libcogl-pango20 libcogl-path20 libcogl20 libcolamd2.9.1 libcolord2
libcolorhug2 libcompizconfig0 libconfig9 libconfuse-common libconfuse0
libcrack2 libcups2 libcupscgi1 libcupsfilters1 libcupsimage2 libcupsmime1
libcupsppdc1 libdata-alias-perl libdbusmenu-glib4 libdbusmenu-gtk3-4
libdbusmenu
libdirectfb
libe-book-0.1-1 libebackend-1.2-10 libebml4v5 libebook-1.2-16
libebook-
libedata-
libencode-
libexif12 libexiv2-14 libexporter-
libfakekey0 libfakeroot libfarstream-0.2-5 libfcgi-perl libfcitx-config4
libfcitx-
libfile-
libfile-
libfreehand
libfreerdp-
libfreerdp-
libfreerdp-
libgail-common libgail18 libgcab-1.0-0 libgcc-5-dev libgcr-ui-3-1 libgd3
libgdata-common libgdata22 libgee-0.8-2 libgeoclue0 libgeocode-glib0
libgeonames0 libgettextpo-dev libgettextpo0 libgexiv2-2 libgfortran3
libgksu2-0 libglade2-0 libgles2-mesa libglew1.13 libglib-perl libgmime-2.6-0
libgnome-
libgnome-
libgoa-1.0-0b libgoa-1.0-common libgpgme11 libgphoto2-6 libgphoto2-l10n
libgphoto2-
libgssdp-1.0-3 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2-perl
libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtkmm-2.4-1v5 libgtkmm-3.0-1v5
libgtksourc
libgtop2-common libgucharmap-2-90-7 libgupnp-1.0-4 libgupnp-igd-1.0-4
libgusb2 libgutenprint2 libgweather-3-6 libgweather-common libgxps2
libharfbuzz
libhtml-
libhttp-
libhttp-
libibus-1.0-5 libical1a libido-0.1-0 libido3-0.1-0 libieee1284-3 libijs-0.35
libindicator3-7 libindicator7 libio-html-perl libio-pty-perl
libio-
libipc-run-perl libipc-
libjasper1 libjavascriptco
libjavascri
libjson-
liblangtag-
liblircclient0 liblist-
liblouisutd
liblwp-
libmailtool
libmate-
libmate-
libmatemixe
libmatroska6v5 libmeanwhile1 libmediaart-2.0-0 libmessaging-menu0
libmetacity
libmspub-0.1-1 libmwaw-0.3-3 libmythes-1.2-0 libnatpmp1
libnautilus
libnet-
libnet-
libnm-glib4 libnm-gtk-common libnm-gtk0 libnm-util2 libnma-common libnma0
libnspr4 libnss-mdns libnss3 libnss3-nssdb liboauth0 libodfgen-0.1-1
liboobs-1-5 liborcus-0.10-0v5 libpagemaker-0.0-0 libpanel-applet0
libpango-perl libpangomm-1.4-1v5 libpangoxft-1.0-0
libparse-
libpeas-common libperl5.22 libperlio-gzip-perl libplank-common libplank1
libpoppler-
libpurple-bin libpurple0 libpwquality-common libpwquality1 libpython-stdlib
libpython2.7 libpython2.
libqt5libqgtk2 libqt5opengl5 libqt5printsupport5 libqt5webkit5
libqt5x11ex
libraptor2-0 librasqal3 libraw15 librdf0
libreoffice
libreoffice
libreoffice
libreoffice
librevenge-
libsane-hpaio libsbc1 libsdl-image1.2 libsdl1.2debian libsidplay2v5
libsignon-
libsignon-qt5-1 libsmbclient libsnmp-base libsnmp30 libsocket6-perl
libsoup-
libsuitespa
libtext-
libtimezone
libtopmenu-
libtotem-
libtsan0 libubsan0 libunique-1.0-0 libunistring0 libunity-
libunity-
libunity-
liburl-
libvisio-0.1-1 libvlc5 libvlccore8 libvncclient1 libvorbisfile3
libvte-2.91-0 libvte-2.91-common libvte-common libvte9 libwayland-cursor0
libwayland-
libwebkit2g
libwebkitgt
libwebrtc-
libwinpr-
libwinpr-
libwinpr-
libwinpr-
libwinpr-
libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libwww-perl libwww-
libx11-
libxml-
libyajl2 libyaml-0-2 libyaml-
lightdm-
lp-solve make manpages-dev marco marco-common mate-applet-topmenu
mate-applets mate-applets-common mate-control-center
mate-
mate-
mate-icon-theme mate-icon-
mate-
mate-menus mate-netbook mate-netbook-common mate-netspeed
mate-
mate-
mate-
mate-
mate-
mate-
mate-terminal mate-terminal-
mate-utils mate-utils-common media-player-info menu menu-xdg metacity-common
mousetweaks mozo mscompress nautilus nautilus-data nautilus-sendto
network-
onboard-data openjdk-
pastebinit patch patchutils perl perl-modules-5.22 pidgin pidgin-data
pidgin-
pluma-common policykit-1-gnome printer-
printer-
printer-
printer-
printer-
pulseaudio-
python-boto python-cairo python-caja python-caja-common python-cffi-backend
python-chardet python-cloudfiles python-configobj python-crypto
python-
python-glade2 python-gobject python-gobject-2 python-gtk2
python-
python-lockfile python-mate-menu python-minimal python-
python-
python-requests python-samba python-six python-talloc python-tdb
python-urllib3 python-wnck python-xdg python-xlib python2.7
python2.
python3-cups python3-cupshelpers python3-decorator python3-gi-cairo
python3-louis python3-mako python3-numpy python3-pexpect python3-pil
python3-polib python3-psutil python3-ptyprocess python3-pyatspi
python3-pycurl python3-renderpm python3-reportlab python3-
python3-scipy python3-
rename rhythmbox rhythmbox-data rhythmbox-
rhythmbox-
samba-libs sane-utils seahorse session-migration sessioninstaller shotwell
shotwell-common signon-
signon-
simple-scan smbclient snapd software-
software-
synapse syslinux syslinux-common syslinux-legacy
system-
system-
thunderbird tilda tk tk8.6 topmenu-gtk2 topmenu-gtk3 transmission-common
transmissio
ubuntu-
ubuntu-
ubuntu-
ubuntu-
unity-
unity-
update-
vlc-data vlc-nox vlc-plugin-notify vlc-plugin-samba xdg-user-dirs-gtk
xul-
The following NEW packages will be installed:
foomatic-
0 upgraded, 1 newly installed, 938 to remove and 8 not upgraded.
Need to get 0 B/90,0 kB of archives.
After this operation, 2 315 MB disk space will be freed.
Do you want to continue? [Y/n]
with corrected command:
xenial@
[sudo] password for xenial:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libldb1' for task 'samba-server'
Note, selecting 'python-tdb' for task 'samba-server'
Note, selecting 'libcups2' for task 'samba-server'
Note, selecting 'python-samba' for task 'samba-server'
Note, selecting 'rename' for task 'samba-server'
Note, selecting 'libwbclient0' for task 'samba-server'
Note, selecting 'python-dnspython' for task 'samba-server'
Note, selecting 'python2.7-minimal' for task 'samba-server'
Note, selecting 'samba' for task 'samba-server'
Note, selecting 'samba-
Note, selecting 'libarchive13' for task 'samba-server'
Note, selecting 'libavahi-
Note, selecting 'perl-modules-5.22' for task 'samba-server'
Note, selecting 'libavahi-common3' for task 'samba-server'
Note, selecting 'libpython2.7' for task 'samba-server'
Note, selecting 'python2.7' for task 'samba-server'
Note, selecting 'libaio1' for task 'samba-server'
Note, selecting 'tdb-tools' for task 'samba-server'
Note, selecting 'python' for task 'samba-server'
Note, selecting 'cifs-utils' for task 'samba-server'
Note, selecting 'libtalloc2' for task 'samba-server'
Note, selecting 'python-talloc' for task 'samba-server'
Note, selecting 'attr' for task 'samba-server'
Note, selecting 'libperl5.22' for task 'samba-server'
Note, selecting 'samba-libs' for task 'samba-server'
Note, selecting 'python-crypto' for task 'samba-server'
Note, selecting 'libpython-stdlib' for task 'samba-server'
Note, selecting 'winbind' for task 'samba-server'
Note, selecting 'samba-common' for task 'samba-server'
Note, selecting 'samba-vfs-modules' for task 'samba-server'
Note, selecting 'libfile-
Note, selecting 'libsmbclient' for task 'samba-server'
Note, selecting 'smbclient' for task 'samba-server'
Note, selecting 'samba-common-bin' for task 'samba-server'
Note, selecting 'libtdb1' for task 'samba-server'
Note, selecting 'libpython2.
Note, selecting 'perl' for task 'samba-server'
Note, selecting 'python-ldb' for task 'samba-server'
Note, selecting 'keyutils' for task 'samba-server'
Note, selecting 'libpython2.
Note, selecting 'libavahi-client3' for task 'samba-server'
Note, selecting 'libtevent0' for task 'samba-server'
Note, selecting 'python-minimal' for task 'samba-server'
Note, selecting 'update-inetd' for task 'samba-server'
Note, selecting 'liblzo2-2' for task 'samba-server'
libfile-
libfile-
libldb1 is already the newest version (2:1.1.
libldb1 set to manually installed.
liblzo2-2 is already the newest version (2.08-1.2).
liblzo2-2 set to manually installed.
libtalloc2 is already the newest version (2.1.5-2).
libtalloc2 set to manually installed.
libtdb1 is already the newest version (1.3.8-2).
libtdb1 set to manually installed.
python-ldb is already the newest version (2:1.1.
python-ldb set to manually installed.
python-talloc is already the newest version (2.1.5-2).
python-talloc set to manually installed.
python-tdb is already the newest version (1.3.8-2).
python-tdb set to manually installed.
rename is already the newest version (0.20-4).
rename set to manually installed.
update-inetd is already the newest version (4.43).
update-inetd set to manually installed.
libarchive13 is already the newest version (3.1.2-
libarchive13 set to manually installed.
libavahi-client3 is already the newest version (0.6.32~
libavahi-client3 set to manually installed.
libavahi-
libavahi-
libavahi-common3 is already the newest version (0.6.32~
libavahi-common3 set to manually installed.
libcups2 is already the newest version (2.1.3-4ubuntu0.4).
libcups2 set to manually installed.
libperl5.22 is already the newest version (5.22.1-
libperl5.22 set to manually installed.
libpython-stdlib is already the newest version (2.7.12-1~16.04).
libpython-stdlib set to manually installed.
libpython2.7 is already the newest version (2.7.12-
libpython2.7 set to manually installed.
libpython2.
libpython2.
libpython2.
libpython2.
libsmbclient is already the newest version (2:4.3.
libsmbclient set to manually installed.
libtevent0 is already the newest version (0.9.28-
libtevent0 set to manually installed.
libwbclient0 is already the newest version (2:4.3.
libwbclient0 set to manually installed.
perl is already the newest version (5.22.1-
perl set to manually installed.
perl-
perl-
python is already the newest version (2.7.12-1~16.04).
python set to manually installed.
python-crypto is already the newest version (2.6.1-
python-crypto set to manually installed.
python-minimal is already the newest version (2.7.12-1~16.04).
python-minimal set to manually installed.
python-samba is already the newest version (2:4.3.
python-samba set to manually installed.
python2.7 is already the newest version (2.7.12-
python2.7 set to manually installed.
python2.
python2.
samba-common is already the newest version (2:4.3.
samba-common set to manually installed.
samba-common-bin is already the newest version (2:4.3.
samba-common-bin set to manually installed.
samba-libs is already the newest version (2:4.3.
samba-libs set to manually installed.
smbclient is already the newest version (2:4.3.
smbclient set to manually installed.
Suggested packages:
bind9 bind9utils ctdb ldb-tools smbldap-tools libnss-winbind libpam-winbind
The following packages will be REMOVED:
libpaps0 paps
The following NEW packages will be installed:
attr cifs-utils keyutils libaio1 python-dnspython samba samba-dsdb-modules
samba-
0 upgraded, 10 newly installed, 2 to remove and 8 not upgraded.
Need to get 0 B/2 049 kB of archives.
After this operation, 16,6 MB of additional disk space will be used.
Do you want to continue? [Y/n]
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: tasksel 3.34ubuntu3
ProcVersionSign
Uname: Linux 4.4.0-128-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.18
Architecture: amd64
CurrentDesktop: MATE
Date: Mon Jul 2 13:15:29 2018
InstallationDate: Installed on 2018-01-04 (178 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420.1)
PackageArchitec
SourcePackage: tasksel
UpgradeStatus: No upgrade log present (probably fresh install)
tags: |
added: disco removed: artful |
tags: | added: eoan |
tags: |
added: focal hirsute impish removed: cosmic disco eoan |
tags: | removed: rls-jj-incoming |
Changed in tasksel (Ubuntu): | |
importance: | Undecided → Critical |
tags: |
added: rls-kk-incoming removed: rls-jj-incoming |
tags: | added: fr-1988 |
tags: | removed: rls-kk-incoming |
I was hit by this bug yesterday.