Bagaimana cara Undo apt-get remove?


18

Saya tahu ini situasi yang lucu tetapi saya menghapus python dengan semua program terkait dari Ubuntu menggunakan sudo apt-get remove python? Jelas saya dapat menginstal kembali python, tetapi saya akan membutuhkan banyak waktu untuk menginstal semua program yang saya hapus. Mungkin ada solusi?

Terima kasih


Harap sertakan upaya penelitian untuk menghapus suara.
Colyn1337

Wow! Pertanyaan 3 tahun, yang membantu memulihkan komputer saya. Senang ini ada di sini dan ditemukan di google. Terima kasih!
Michael Cole

Jawaban:


26

Tidak ada cara mudah tetapi jika Anda melihat /var/log/apt/history.log Anda dapat melihat apa yang telah dihapus. Instal ulang setiap paket yang telah dihapus.


2
Itu hanya menyelamatkan hidupku!
Sanket Sahu

3
Saya mendaftar dengan serverfault hanya untuk memperbaiki ini, terima kasih.
Phil

20

Saya baru saja melakukan kesalahan ini, Anda dapat menjalankan perintah di bawah ini untuk membatalkan penghapusan paket. Ini akan mengekstrak informasi dari paket yang dihapus dari file log dan menginstalnya kembali

echo '#!/bin/bash' > restore
echo sudo apt-get install `grep Remove /var/log/apt/history.log | tail -1 | sed -e 's|Remove: ||g' -e 's|([^)]*)||g' -e 's|:[^ ]* ||g' -e 's|,||g'` >> restore
chmod +x restore 
./restore

penyelamat ... seharusnya menyadari apt remove libboost*itu ide yang buruk
Kegigihan

2
Terima kasih, kamu menyelamatkan hidupku !! Pengingat: JANGAN PERNAH MENJALANKAN "sudo apt purge python2.7"

2
Jangan lari sudo apt remove python3haha
ThaJay

Yah, saya menggunakan apt purgejadi rip saya, untungnya itu adalah instalasi baru. Akan menyenangkan untuk mengetahui bahwa kunci (untuk kebanyakan orang) sistem OS, seperti netplan, memerlukan ini. Tentu itu merujuknya pada daftar hapus, sebelum menanyakan apakah Anda yakin, tetapi siapa yang punya waktu untuk melihat dan memastikan kapan lebih mudah hanya untuk memukul ykunci dan returnsistem Anda terlupakan ...
DeeJayh

5

Saya menemukan trik keren dari forum Ubuntu .

Dimungkinkan untuk menjalankan yang berikut ini di terminal:

awk '!/^Start|^Commandl|^End|^Upgrade:|^Error:/ { gsub( /\([^()]*\)/ ,"" );gsub(/ ,/," ");sub(/^Install:/,""); print}' /var/log/apt/history.log

Lihatlah hasilnya, lalu gunakan

sudo apt-get install [packages]

dan ganti [paket] dengan baris terakhir dari paket yang dikembalikan (perhatikan bahwa itu mungkin membungkus).


Anda menyelamatkan hari saya. Ini benar-benar sangat membantu saya.
Khamidulla

1

Cari semua paket yang dihapus. Itu disimpan di /var/log/apt/history.log . Anda dapat menulis program shell untuk menginstal setiap paket yang telah dihapus. Tulis di editor teks apa pun GNU Emacs, vi, GNU Nano. Jalankan melalui terminal. Semua program yang dihapus instalasinya akan diinstal ulang sendiri.


0

Untuk menambah jawaban ablackhat, Anda dapat menyalin dan menempelkan semuanya setelah perintah hapus terakhir /var/log/apt/history.logmenjadi editor programer baru. Regex ganti :.*?,dengan (string kosong), dan salin semua paket yang dipisahkan oleh ruang. Lalu lari$ sudo apt-get install <paste>


0

Memutakhirkan memulihkan sebagian besar, sisanya .. Anda dapat menggunakan teknik yang ditunjukkan di atas. Untuk memutakhirkan cukup ketik "sudo apt-get upgrade"


mengapa apt-get upgrademenginstal ulang paket yang sengaja dihapus?
Gerald Schneider

Ini sebenarnya tidak jauh dari jawaban sempurna untuk OP: tunggu tiga tahun dan lakukanapt-get dist-upgrade
quadruplebucky

-1

jika kamu

 apt-get install python

Python akan diinstal ulang dengan semua prasyaratnya yang menurut saya adalah semua program terkait yang Anda bicarakan?


Saya sudah menginstal Python, tetapi program-program yang bergantung padanya seperti Zim, GImp, dan banyak lainnya tidak dikembalikan ((Bahkan Gedit tidak berfungsi
IgorDiy

-1. Tidak menyelesaikan pertanyaan OP karena semua yang membutuhkan Python juga dihapus.
Magellan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.