Sepertinya saya aptitude
entah bagaimana rusak:
sudo aptitude update
0% [Working]Segmentation fault
dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]
Jadi saya ingin menginstal ulang aptitude
dengan menggunakan apt-get
.
Sayangnya sepertinya apt-get
tidak memiliki opsi instal ulang.
Bagaimana saya bisa mulai aptitude
bekerja lagi?
Mungkin saja saya menemukan akar penyebab dari segfault aptitude. Inilah cara saya dapat mereproduksinya:
- 'ssh' login jarak jauh ke mesin Debian melalui terminal rxvt Cygwin (dari Windows 7 edisi 64-bit Jerman).
- Perbesar jendela rxvt sehingga membentang di dua monitor (ya, saya punya dua monitor)
- Lari
aptitude update
. Catatan: ketika saya mengubah ukuran terminal rxvt menjadi normal maka saya tidak memiliki kesalahan segmentasi ini!
debian
aptitude
debian-lenny
Vokuhila-Oliba
sumber
sumber
-A5
kamu mengerti?--
kamu mengerti?man getopt
, lihat di bawahPARSING
-A5
menunjukkan garis yang cocok ditambah 5 baris berikut.--
berhenti parsing opsi, sehingga menafsirkan apa pun yang datang sebagai argumen posisional, menghindari harus melarikan diri dari tanda hubung dalam ekspresi-A
yang seharusnya dapat ditafsirkan sebagai opsi untuk menangkap dirinya sendiri.Anda dapat menginstal ulang paket dengan
sudo apt-get install --reinstall packagename
. Ini sepenuhnya menghapus paket (tetapi bukan paket yang bergantung padanya), lalu menginstal ulang paket.Ini bisa nyaman ketika paket memiliki banyak dependensi terbalik.
sumber
Terkadang Anda perlu mengembalikan file konfigurasi juga! bukan hanya menginstal ulang.
sudo apt-get install --reinstall xxxx
Instal ulang aplikasi, simpan file konfigurasi.
Ini bisa membantu, tetapi kadang-kadang Anda harus memulai dari awal, jadi yang saya gunakan adalah ini:
kemudian
sumber
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
.Anda harus aman untuk menghapus aptitude dan menginstal ulang, karena itu tidak akan mempengaruhi utilitas apt lainnya. Jadi:
apt-get remove aptitude
diikuti olehapt-get install aptitude
, atau jika masih gagal cobaapt-get purge aptitude
diikuti olehapt-get install aptitude
.Sebelum melakukan salah satu di atas, saya sarankan sistem file lengkap dan cek blok buruk jika ada masalah di sana yang menyebabkan masalah (tergantung pada masalahnya, jika ada, aktivitas lebih lanjut dapat memperburuk keadaan). Juga, pastikan Anda meninjau apa yang akan dihapus pada langkah hapus / bersihkan sebelum membiarkannya dilanjutkan (harus berhenti sejenak untuk meminta izin jika ada tambahan yang diubah akibat menghapus satu paket itu), untuk memeriksa kembali pemikiran saya bahwa ini aman.
sumber
apt-get remove
Diikuti denganapt-get install
melakukan trik!a full filesystem check
atau serupa. Bisakah Anda memberi saya petunjuk singkat bagaimana melakukannya?fsck -f <block_device>
sepertifsck /dev/sda1
. Sistem file harus di-unmount atau di-mount read-only pada saat itu sehingga kemungkinan ini adalah sistem file root Anda, Anda harus reboot ke mode single-user atau boot dari sesuatu yang lain seperti live cd.tune2fs
untuk menandai sistem file sebagai telah di-mount lebih dari batas yang ditetapkan, yang akan memaksa cek boot berikutnya. Dengan asumsi filesystem ext2 / 3/4:,tune2fs -C 99 <device>
atau jika Anda telah mengecek mount count dimatikan, hidupkan pada saat bersamaan dengan sesuatu sepertitune2fs -c 17 -C 99 <device>
.Itu seperti Anda belum pernah menginstal paket sebelumnya. Saya sering melakukan ini dengan gerakan dan hal-hal semacam itu.
sumber