Debian
由於安裝了稍微太新的軟體包而導致的未滿足的依賴關係
當我嘗試
apt-get upgrade
(是的,我先進行了更新)時,我得到以下資訊:Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: python-samba : Depends: libwbclient0 (= 2:4.5.12+dfsg-2+deb9u2) but 2:4.5.12+dfsg-2+deb9u3 is installed Depends: samba-libs (= 2:4.5.12+dfsg-2+deb9u2) but 2:4.5.12+dfsg-2+deb9u3 is installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
所以罪魁禍首似乎
libwbclient0
是顛覆中需要deb9u2
但顯然安裝在deb9u3
. 當我嘗試按照刪除腳本--fix-broken
的建議執行時,apt-get
似乎由於缺少包maketrans
而崩潰,後來ConfigParser
:Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: python-samba Suggested packages: python-gpgme The following packages will be upgraded: python-samba 1 upgraded, 0 newly installed, 0 to remove and 91 not upgraded. 1 not fully installed or removed. Need to get 0 B/1,364 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Reading changelogs... Done (Reading database ... 567338 files and directories currently installed.) Preparing to unpack .../python-samba_2%3a4.5.12+dfsg-2+deb9u3_amd64.deb ... Traceback (most recent call last): File "/usr/bin/pyclean", line 32, in <module> from debpython.namespace import add_namespace_files File "/usr/share/python/debpython/namespace.py", line 28, in <module> from debpython.pydist import PUBLIC_DIR_RE File "/usr/share/python/debpython/pydist.py", line 27, in <module> from string import maketrans ImportError: cannot import name 'maketrans' dpkg: warning: subprocess old pre-removal script returned error exit status 1 dpkg: trying script from the new package instead ... Traceback (most recent call last): File "/usr/bin/pyclean", line 32, in <module> from debpython.namespace import add_namespace_files File "/usr/share/python/debpython/namespace.py", line 28, in <module> from debpython.pydist import PUBLIC_DIR_RE File "/usr/share/python/debpython/pydist.py", line 27, in <module> from string import maketrans ImportError: cannot import name 'maketrans' dpkg: error processing archive /var/cache/apt/archives/python-samba_2%3a4.5.12+dfsg-2+deb9u3_amd64.deb (--unpack): subprocess new pre-removal script returned error exit status 1 Traceback (most recent call last): File "/usr/bin/pycompile", line 35, in <module> from debpython.version import SUPPORTED, debsorted, vrepr, \ File "/usr/share/python/debpython/version.py", line 24, in <module> from ConfigParser import SafeConfigParser ImportError: No module named 'ConfigParser' dpkg: error while cleaning up: subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: /var/cache/apt/archives/python-samba_2%3a4.5.12+dfsg-2+deb9u3_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
我在使用核心的 debian stretch 9.4:
Linux 3.10-2-amd64 #1 SMP Debian 3.10.7-1
在我自己的嘗試失敗並且我無法在網上找到任何解決此問題的方法後,我要求
aptitude
並synaptic
試一試。兩人都嘗試過,但也失敗了。我什至不需要 samba,所以擺脫它會很好,但
apt
在我不修復損壞的包之前不想刪除任何東西:package is in a very bad inconsistent state; you should reinstall it before attempting a removal
ImportError: cannot import name 'maketrans'
是一個 Python 3 錯誤,它是由於嘗試
maketrans
像在 Python 2 程式碼中那樣導入而導致的。這意味著/usr/bin/python
在您的系統中有一個 Python 3 解釋器;這破壞了 Debian 衍生產品。要解決這個問題,假設
python2.7
仍然安裝,您需要修復/usr/bin/python
符號連結,使其指向/usr/bin/python2.7
:sudo ln -s python2.7 /usr/bin/python