Baru-baru ini dalam frustrasi dengan mendapatkan pengaturan phpmyadmin, saya memutuskan untuk memulai dari awal.
Sayangnya, selama fase uninstall, saya diminta dengan kata sandi root untuk mysql yang tidak saya miliki saat itu. Cukuplah untuk mengatakan, itu memberitahu saya bahwa akan ada komponen residu karena tidak dapat membersihkan konektor database dengan benar.
Ketika saya tiba di rumah, saya mencoba untuk menghapus paket aptitude purge
yang ternyata tidak lebih ampuh daripada aptitude remove
melihat phpmyadmin, mencoba untuk menghapusnya, dan gagal karena direktori yang terkait dengan paket sudah dihapus dari upaya saya sebelumnya.
Saya mencoba menginstal ulang phpmyadmin, tetapi aptitude hanya menyatakan bahwa tidak ada pembaruan yang tersedia, dan tidak melakukan apa pun, jika ada pembaruan, saya mungkin akan mengalami masalah yang sama.
Dalam hal ini, saya mulai membersihkan mysql dengan menjatuhkan database yang digunakan, dan membersihkannya dari tabel pengguna. Namun saya tidak tahu apa lagi yang tersisa dari paket, atau bahkan cara membersihkan kait di aptitude.
Hasil dari 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
Setelah mengikuti saran Gile, saya mencoba menginstal ulang dependensi 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#
Tampaknya phpmyadmin telah membersihkan 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#
Mencoba untuk dpkg dari arsip seperti yang disarankan oleh Giles
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#
Saya memiliki server web yang berjalan di php, tetapi saya bersedia mengambil risiko downtime untuk menyelesaikan masalah ini.
Jawaban:
phpmyadmin
tergantung padadbconfig-common
, yang berisi/usr/share/dbconfig-common/dpkg/prerm.mysql
. Sepertinya Anda telah berhasil menghapusdbconfig-common
tanpa menghapusphpmyadmin
, yang seharusnya tidak terjadi (apakah Anda mencoba--force
sesuatu?).Saran saya adalah coba dulu
aptitude reinstall dbconfig-common
. Jika berhasil, Anda harus memiliki sistem dalam kondisi konsisten yang dapat Anda cobaaptitude purge phpmyadmin
lagi.Hal lain yang dapat Anda lakukan adalah mengomentari baris yang menyinggung masuk
/var/lib/dpkg/info/phpmyadmin.prerm
. Ini mungkin membuat Anda dapat menghapus instalanphpmyadmin
. Saya curiga Anda melakukan apa yang seharusnya dilakukan baris itu ketika Anda mengedit tabel mysql secara manual, tapi saya tidak tahuphpmyadmin
atau admin database secara umum, jadi saya hanya menebak.Perbedaan antara
remove
danpurge
ituremove
hanya menghapus program dan file datanya (hal-hal yang dapat Anda unduh ulang), sementarapurge
pertama-tama melakukan apa yangremove
kemudian juga menghapus file konfigurasi (hal-hal yang mungkin telah Anda edit secara lokal). Jikaremove
gagal, maka akanpurge
.sumber
dpkg -i /var/cache/apt/archives/{dbconfig-common,php5-mcrypt,libjs-mootools}*.deb
. Jika Anda tidak memiliki deb di cache, download mereka dari packages.debian.org . Jika ada pesan kesalahan, poskan itu dan saya (atau orang lain) mungkin membantu Anda.php5-mcrypt
juga. Bakat akan melakukan pekerjaan untuk Anda; Anda dapat mencoba, tetapi saya pikir itu akan menolak untuk bergerak sampai Anda membawaphp5myadmin
ke kondisi yang baik.dpkg
lebih rendah dan dapat beroperasi bahkan pada basis data paket yang rusak sebagian.php5-mcrypt
, itu pertama-tama meminta penghapusanphpmyadmin
dandbconfig-common
. Saya tidak bisa mendapatkan solusi lain jadi saya pikir itu akan jatuh datar ketika saya setuju. Sebaliknya, hanya tindakan yang php5-mycrypt 'disarankan' untuk instalasi yang diizinkan untuk membersihkan kait dengan benar dan menghapusphpmyadmin
dandbconfig-common
. Saya sekarang telah menginstalnya bersamaphpmyadmin
(meskipun melalui tar untuk kontrol lebih lanjut). Tampaknya versi terbaru tidak memerlukan mysql untuk pengaturan sendiri. Terima kasih Giles karena telah menghapus belalang dari server saya!Kadang-kadang sistem manajemen paket sangat rusak (sering dalam rantai ketergantungan melingkar) sehingga satu-satunya kombinasi perintah yang saya temukan untuk menghapus paket yang bermasalah adalah:
cd /var/lib/dpkg/info ; rm <packagename.*>
dpkg --purge --force-remove-reinstreq <packagename>
dpkg --remove --force-remove-reinstreq <packagename>
apt-get install <packagename>
untuk menginstal ulang paketKadang-kadang, file state-override mungkin juga perlu diperbaiki, dan prosedur di atas dapat memunculkan kesalahan mengenai hal itu .. Bagaimana cara memperbaiki file override negara tergantung pada apakah itu merupakan kesalahan yang menandai pengguna atau tidak.
Umumnya:
/var/lib/dpkg/statoverride
dpkg-statoverride --remove <stateoverride-filename>
sumber
(Saya akan menganggap Anda bermaksud
aptitude purge
danapt-get remove
, karena perintah yang Anda kutip tidak ada)Coba
dpkg --purge phpmyadmin
. Ini tingkat yang lebih rendah dari alat lain, jadi mungkin lebih efektif dalam hal ini.sumber
Anda mungkin ingin menjalankan 'apt-get -f install' untuk memperbaikinya:
Saya menghadapi masalah di atas, menggunakan "sudo dpkg --purge postgresql-9.1" masalah perintah terpecahkan
sumber