sudo apt-get remove --purge mysql-server mysql-client mysql-common
I am getting the following error as I try to remove mysql using the above command:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'mysql-client' is not installed, so not removed
The following package was automatically installed and is no longer required:
php5-mysqlnd
Use 'apt-get autoremove' to remove it.
The following extra packages will be installed:
mysql-server-core-5.5 php5-mysqlnd python-aptdaemon
python-aptdaemon.gtk3widgets python3-aptdaemon python3-aptdaemon.gtk3widgets
python3-aptdaemon.pkcompat python3-uno python3-update-manager
ubuntu-drivers-common update-manager
The following packages will be REMOVED:
libdbd-mysql-perl* libmysqlclient18* mysql-client-5.5* mysql-common*
mysql-server* mysql-server-5.5* php5-mysql* phpmyadmin*
The following NEW packages will be installed:
php5-mysqlnd
The following packages will be upgraded:
mysql-server-core-5.5 python-aptdaemon python-aptdaemon.gtk3widgets
python3-aptdaemon python3-aptdaemon.gtk3widgets python3-aptdaemon.pkcompat
python3-uno python3-update-manager ubuntu-drivers-common update-manager
10 upgraded, 1 newly installed, 8 to remove and 115 not upgraded.
170 not fully installed or removed.
Need to get 0 B/4,388 kB of archives.
After this operation, 89.9 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Preconfiguring packages ...
(Reading database ... 354910 files and directories currently installed.)
Preparing to unpack .../ubuntu-drivers-common_1%3a0.2.91.9_amd64.deb ...
/var/lib/dpkg/info/ubuntu-drivers-common.prerm: 12: /var/lib/dpkg/info/ubuntu-drivers-common.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 12: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/ubuntu-drivers-common_1%3a0.2.91.9_amd64.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
/var/lib/dpkg/info/ubuntu-drivers-common.postinst: 6:
/var/lib/dpkg/info/ubuntu-drivers-common.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-update-manager_1%3a0.196.13_all.deb ...
/var/lib/dpkg/info/python3-update-manager.prerm: 6:
/var/lib/dpkg/info/python3-update-manager.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/python3-update-manager_1%3a0.196.13_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
/var/lib/dpkg/info/python3-update-manager.postinst: 6:
/var/lib/dpkg/info/python3-update-manager.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb ...
/var/lib/dpkg/info/python3-aptdaemon.pkcompat.prerm: 6:
/var/lib/dpkg/info/python3-aptdaemon.pkcompat.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
/var/lib/dpkg/info/python3-aptdaemon.pkcompat.postinst: 6:
/var/lib/dpkg/info/python3-aptdaemon.pkcompat.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb ...
/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.prerm: 6:
/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.postinst: 6:
/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb ...
/var/lib/dpkg/info/python3-aptdaemon.prerm: 6: /var/lib/dpkg/info/python3-aptdaemon.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/python3-aptdaemon.postinst: 6:
/var/lib/dpkg/info/python3-aptdaemon.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../update-manager_1%3a0.196.13_all.deb ...
/var/lib/dpkg/info/update-manager.prerm: 6: /var/lib/dpkg/info/update-manager.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/update-manager_1%3a0.196.13_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/update-manager.postinst: 6: /var/lib/dpkg/info/update-manager.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb ...
/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.prerm: 6:
/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.prerm: pyclean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: pyclean: not found
dpkg: error processing archive /var/cache/apt/archives/python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.postinst: 6:
/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.postinst: pycompile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python-aptdaemon_1.1.1-1ubuntu5.2_all.deb ...
/var/lib/dpkg/info/python-aptdaemon.prerm: 6: /var/lib/dpkg/info/python-aptdaemon.prerm: pyclean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: pyclean: not found
dpkg: error processing archive /var/cache/apt/archives/python-aptdaemon_1.1.1-1ubuntu5.2_all.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/python-aptdaemon.postinst: 6:
/var/lib/dpkg/info/python-aptdaemon.postinst: pycompile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-uno_1%3a4.2.8-0ubuntu2_amd64.deb ...
/var/lib/dpkg/info/python3-uno.prerm: 6: /var/lib/dpkg/info/python3-uno.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found
dpkg: error processing archive /var/cache/apt/archives/python3-uno_1%3a4.2.8-0ubuntu2_amd64.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
/var/lib/dpkg/info/python3-uno.postinst: 6: /var/lib/dpkg/info/python3-uno.postinst: py3compile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
/var/cache/apt/archives/ubuntu-drivers-common_1%3a0.2.91.9_amd64.deb
/var/cache/apt/archives/python3-update-manager_1%3a0.196.13_all.deb
/var/cache/apt/archives/python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb
/var/cache/apt/archives/python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb
/var/cache/apt/archives/python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb
/var/cache/apt/archives/update-manager_1%3a0.196.13_all.deb
/var/cache/apt/archives/python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb
/var/cache/apt/archives/python-aptdaemon_1.1.1-1ubuntu5.2_all.deb
/var/cache/apt/archives/python3-uno_1%3a4.2.8-0ubuntu2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
How do I resolve this ?
Ahhhh, yes. The venerable "Catch-22" situation of Debian package management. It boils down to Debian depending on py3compile
as part of the libpython3.x
package when that package provides the py3compile
as well; it's a no-go, there.
I too was bitten by this unable to get py3compile
working again for I had too deleted the entire /usr/[/local]/lib/python3* directories.
Once done, nothing in Debian package management tool can help you get back to a working Python3 environment. You must do meat-ball surgery.
Reconstruction of Python3 in Debian entails three critical things:
py3compile
script (for most of you, you already have this)One could do the RE-copying of /usr[/local]/lib directory from another working Debian host/system. But this time, I shall detail the steps from within the broken host in question (as if you do NOT have another working host).
Download the impacted Debian packages:
cd /tmp
apt-get download libpython3.7-minimal
apt-get download python3.7-minimal
apt-get download python3-minimal # (this is important)
apt-get download libpython3.7-stdlib
apt-get download python3.7
Clean up old stuff
rm -rf /usr[/local]/lib/python3.7*
rm -rf /usr[/local]/bin/python3.7*
update-alternatives --remove python3 /usr[/local]/bin/python3.7
hash -r # removes cached python3 binary path
Let us extract the missing py3compile
cd /tmp
dpkg-deb -x python3-minimal_3.7.3-1_amd64.deb missing
dpkg-deb -x python3.7-minimal_3.7.3-2_amd64.deb missing
dpkg-deb -x libpython3.7-minimal_3.7.3-2_amd64.deb missing
dpkg-deb -x libpython3.7-stdlib_3.7.3-2_amd64.deb missing
dpkg-deb -x python3.7_3.7.3-2_amd64.deb missing
Manually install over your root filesystem
cd /tmp/missing
ls -lR /tmp/missing # if you are curious about overwriting your HD
sudo cp -rpfv /tmp/missing/* /
Start up Python3
python3
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Test import and show version
>>> import sys
>>> print(sys.version_info)
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
>>>
>>> quit()
rm -rf /tmp/missing
dpkg -s -a | grep reinstreq
# Any listing also needs to be reinstalled along with python3
apt-get install --reinstall python3
Most likely, you got MANY packages that are in that stuck state of "reinstreq" state.
apt-get autoclean
apt-get autoremove
# (MANY PACKAGES FAILED TO BE INSTALLED)
At this point, you will have to manually reinstall each and every one of those listed by apt-get autoremove
...
apt-get install --fix-broken --reinstall <list-of-many-failed-packages>
Let me guess, you got the following error:
E: Internal Error, No file name for XXXXXX
I will tell you that you probably had a newer Debian release in your /etc/apt/sources.list
for awhile, it went all down south (bad), and took that newer release out of the sources.list
file (in effort to revert back to a 'stable' release): that's not an unrecoverable thing to me here, just that you jerked the Debian package database around a bit there ... rather brusquely.
The resolution of the last step entails a restoration and stabilization of the Debian package management database by reinstalling nearly everything. I will detail it later but the link to follow is given here.
py3compile: not found
The py3compile
command is part of python3-minimal
package which seems to be broken.
To fix the issue, try the following:
Correct a system with broken dependencies in place by:
sudo apt-get -f install
Reconfigure all unpacked, but unconfigured packages by:
sudo dpkg --configure -a
If above won't help, try reinstalling python3-minimal
package by:
sudo apt install -f --reinstall python3-minimal
Alternatively run:
apt-get download python3-minimal
sudo dpkg -i *python3*.deb
sudo apt install -f
Or download the .pkg
file from kernel.org and install from the file by:
sudo dpkg -i python3-minimal_*.deb
Then make sure that py3compile
and py3clean
commands are runnable and are accessible from your PATH
variable.
Despite py3compile and py3clean being present in /usr/bin/, my Lubunutu 16.10 shell (tcsh) kept complaining that py3compile was not there. After hours of frustration, I discovered that the first line in pycompile was:
! /usr/bin/env python
or something like that, which referred to Python2.7 on my system. Changing that to point to Python 3 with:
! /usr/local/bin/python3
suddenly made py3compile visible!
Turns out that the shell said py3compile did not exist even when it was in its path or was directly executed with "/usr/bin/py3compile" when py3compile referred to Python2.7. The shell did not even complain about the Python version or anything, it just claimed py3compile itself did not exist!
I got into this mess because I wanted to remove and reinstall Python 3.5, upon doing which I discovered that there is still a Python 3, which I then discovered comes from a python-minimal, which I tried to remove and reinstall. The python-minimal would not reinstall, even after I tried every thing I could find on the net and every package manager. They all would complain about py3compile missing. Now I discovered this fix for py3compile.
This fixed it for me:
ln -s /usr/bin/python /usr/bin/python2
Because:
# head -1 `which pycompile`
#! /usr/bin/python2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With