Ken*_*Ken 9 aptitude debian package-management
最近在对 phpmyadmin 设置感到沮丧时,我决定从头开始。
不幸的是,在卸载阶段,我被提示输入 mysql 的 root 密码,当时我手头没有。可以说,它告诉我会有残留的组件,因为它无法正确清洁其数据库连接器。
当我回到家时,我试图删除这个包aptitude purge
,结果证明它并不比aptitude remove
它看到 phpmyadmin更有效,试图删除它,但失败了,因为与该包关联的目录已经从我之前的尝试中删除了。
我试图重新安装 phpmyadmin,但 aptitude 只是说没有可用的更新,并且什么也没做,如果有更新,无论如何我可能会遇到同样的问题。
在这方面,我通过删除它使用的数据库并从用户表中清除它来清理 mysql。然而,我不知道包装中还剩下什么,甚至不知道如何清洁挂钩。
的结果 dpkg --purge
ickronia:/home/ken# dpkg --purge phpmyadmin
(Reading database ... 27158 files and directories currently installed.)
Removing phpmyadmin ...
/var/lib/dpkg/info/phpmyadmin.prerm: line 5: /usr/share/dbconfig-common/dpkg/prerm.mysql: No such file or directory
dpkg: error processing phpmyadmin (--purge):
subprocess pre-removal script returned error exit status 1
/var/lib/dpkg/info/phpmyadmin.postinst: line 35: /usr/share/dbconfig-common/dpkg/postinst.mysql: No such file or directory
dpkg: error while cleaning up:
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
phpmyadmin
Run Code Online (Sandbox Code Playgroud)
按照 Gile 的建议,我尝试重新安装依赖项 dbconfig-common
ickronia:/home/ken# aptitude reinstall dbconfig-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
dbconfig-common is not currently installed, so it will not be reinstalled.
dbconfig-common is not currently installed, so it will not be reinstalled.
The following packages are BROKEN:
phpmyadmin
0 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
The following packages have unmet dependencies:
phpmyadmin: Depends: php5-mcrypt but it is not installable
Depends: dbconfig-common but it is not installable
Depends: libjs-mootools (>= 1.2.4.0~debian1-1) which is a virtual package.
The following actions will resolve these dependencies:
Remove the following packages:
phpmyadmin
Score is 121
Accept this solution? [Y/n/q/?] n
*** No more solutions available ***
The following actions will resolve these dependencies:
Remove the following packages:
phpmyadmin
Score is 121
Accept this solution? [Y/n/q/?] n
*** No more solutions available ***
The following actions will resolve these dependencies:
Remove the following packages:
phpmyadmin
Score is 121
Accept this solution? [Y/n/q/?] y
The following packages will be REMOVED:
phpmyadmin{a}
0 packages upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
Need to get 0B of archives. After unpacking 17.7MB will be freed.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
(Reading database ... 27158 files and directories currently installed.)
Removing phpmyadmin ...
/var/lib/dpkg/info/phpmyadmin.prerm: line 5: /usr/share/dbconfig-common/dpkg/prerm.mysql: No such file or directory
dpkg: error processing phpmyadmin (--remove):
subprocess pre-removal script returned error exit status 1
/var/lib/dpkg/info/phpmyadmin.postinst: line 35: /usr/share/dbconfig-common/dpkg/postinst.mysql: No such file or directory
dpkg: error while cleaning up:
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
phpmyadmin
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
ickronia:/home/ken#
Run Code Online (Sandbox Code Playgroud)
看来 phpmyadmin 干净地清除了 dbconfig-common
ickronia:/usr/share/dbconfig-common# ls -alF
total 12
drwxr-xr-x 3 root root 4096 2011-02-09 08:09 ./
drwxr-xr-x 98 root root 4096 2011-01-20 21:42 ../
drwxr-xr-x 3 root root 4096 2011-01-05 11:08 data/
ickronia:/usr/share/dbconfig-common#
Run Code Online (Sandbox Code Playgroud)
按照 Giles 的建议尝试从档案中 dpkg
ickronia:/usr/share/dbconfig-common# dpkg -i /var/cache/apt/archives/{dbconfig-common,php5-mcrypt,libjs-mootools}*.deb
Selecting previously deselected package dbconfig-common.
(Reading database ... 27161 files and directories currently installed.)
Unpacking dbconfig-common (from .../dbconfig-common_1.8.46_all.deb) ...
Selecting previously deselected package php5-mcrypt.
Unpacking php5-mcrypt (from .../php5-mcrypt_5.3.3-6_i386.deb) ...
Selecting previously deselected package libjs-mootools.
Unpacking libjs-mootools (from .../libjs-mootools_1.2.5~debian1-2_all.deb) ...
Setting up dbconfig-common (1.8.46) ...
dpkg: dependency problems prevent configuration of php5-mcrypt:
php5-mcrypt depends on libltdl7 (>= 2.2.6b); however:
Package libltdl7 is not installed.
php5-mcrypt depends on libmcrypt4; however:
Package libmcrypt4 is not installed.
dpkg: error processing php5-mcrypt (--install):
dependency problems - leaving unconfigured
Setting up libjs-mootools (1.2.5~debian1-2) ...
Processing triggers for man-db ...
Processing triggers for libapache2-mod-php5 ...
Reloading web server config: apache2.
Errors were encountered while processing:
php5-mcrypt
ickronia:/usr/share/dbconfig-common#
Run Code Online (Sandbox Code Playgroud)
我有一个运行在 php 上的网络服务器,但我愿意冒着停机的风险来解决这个问题。
phpmyadmin
取决于dbconfig-common
,其中包含/usr/share/dbconfig-common/dpkg/prerm.mysql
。看起来您已经设法卸载dbconfig-common
而没有卸载phpmyadmin
,这不应该发生(您尝试过--force
什么吗?)。
我的建议是先尝试aptitude reinstall dbconfig-common
。如果它有效,您应该有一个处于一致状态的系统,您可以从中重试aptitude purge phpmyadmin
。
您可以做的另一件事是注释掉/var/lib/dpkg/info/phpmyadmin.prerm
. 这很可能使您能够卸载phpmyadmin
. 我怀疑您在手动编辑这些 mysql 表时做了该行应该做的事情,但我不知道phpmyadmin
或一般情况下数据库管理员,所以我只是猜测。
之间的区别remove
,并purge
是,remove
只是删除了程序和数据文件(你可以重新下载的东西),而purge
首先做什么remove
,然后做也会删除配置文件(你可能已在本地编辑的内容)。如果remove
失败,也会purge
。
归档时间: |
|
查看次数: |
30607 次 |
最近记录: |