Pertanyaan Instal ulang basis Ubuntu tanpa memformat atau menghapus paket yang diinstal secara manual


Karena saya terlalu banyak bermain dengan repositori yang diusulkan (pada 14.04), saya ingin kembali ke langkah 1: hapus semua paket pada sistem kecuali yang sudah saya pasang secara manual dan instal ulang sistem dasar, tanpa perlu repot menginstal ulang.

Pada dasarnya, apakah ada pula untuk secara aman dan jauh atas ssh:

  • hapus semua paket kecuali yang diinstal secara manual
  • instal ulang semuanya dari kernel ke ubuntu-desktop (sebaiknya secara otomatis tanpa paket lebih lanjut ditandai sebagai diinstal secara manual)
  • menginstal dependensi dari paket yang diinstal secara manual

N.B. Saya sengaja ditinggalkan  dengan harapan mendapatkan jawaban yang tidak spesifik untuk versi tertentu (s).


Sepertinya saya belum mendeskripsikan apa yang saya inginkan cukup, saya pikir kedua hal ini akan memperhatikan hal-hal di atas:

  • bersihkan semua paket yang diinstal otomatis (@kos menjawabnya dengan jawaban @ Fabby)
  • instal paket yang membuat instalasi Ubuntu baru

Dan saya menduga jika dependensi paket yang diinstal secara manual terhapus, apt-get -f akan membantu saya dengan mereka.


10
2017-10-22 06:53


asal


1. apakah semua file yang perlu Anda simpan di / home? 2. apakah jaringan stabil? Jika Anda memindahkan userfiles atau apa pun yang perlu Anda simpan, dapatkah Anda menulis semuanya, dan memindahkan kembali file-file pengguna dengan mudah? Juga. apakah PXE diaktifkan? dan apakah ada alat pendukung Virtualisasi di BIOS? - j0h
@ j0h 1. Tidak ada yang penting di /home, tetapi ada konfigurasi penting dalam paket yang diinstal secara manual, 2. Ya, tapi seperti yang saya katakan file pengguna tidak khawatir, 3. Ya, itu diaktifkan, 4. Dan ya, ada dukungan virtualisasi juga. - Oxwivi
Ini sedikit di atas tingkat keahlian saya, tetapi tidak akan lebih mudah untuk mendapatkan daftar paket dari instalasi baru, beda dengan pemasangan Anda saat ini untuk mendapatkan daftar semua yang ditambahkan. Kemudian lakukan instal baru dan otomatis tambahkan kembali semua barang kustom - mungkin dengan mengembalikan beberapa atau semua file konfigurasi dalam $ HOME? Anda mendapatkan daftar dengan menjalankan dpkg-l. Ini mungkin akan menandai banyak hal tambahan sebagai diinstal secara manual - bukan sebagai dependensi yang bisa hilang jika paket yang membutuhkannya dihapus nanti. - Joe


Jawaban:


Demi masa depan: 

Jika Anda memiliki server jauh di Pusat data 1000 mil, Anda sebaiknya memiliki Saklar IPKVM dipasang sehingga Anda tidak harus hanya mengandalkan ssh untuk mencapainya.

Jika server ada di Mount Everest: tambahkan an Telepon Iridium dan modem demikian juga...

Maka Anda dapat memiliki FAT 512MB yang dapat di-boot CloneZilla partisi pada mesin itu (saya menggunakan SLC USB stick) dan menggunakan konsol untuk boot ke itu dan membuat cadangan gambar dari partisi sistem Anda ke drive data Anda dan kemudian salin gambar sistem sebelumnya pada partisi sekunder dari USB stick Anda sebelum Anda mulai menambahkan trusty-proposed ke server. (Saya menyimpan sebagian besar back-up sistem saya pada drive data: mereka hanya 6GB)

Untuk sekarang: 

  • Ambil sebuah apt-backup
  • Pergi melalui Anda /var/log/apt/history*
  • Buatlah milikmu sendiri automagical skrip yang melakukan suatu apt-get purge semua hal yang benar-benar tidak Anda inginkan / perlukan lagi dari data di langkah sebelumnya
  • Eksekusi skrip saat berdoa kepada Linus dari Torvalds
  • Perbarui repositori Anda seperti Anda menginginkannya (seperti menghapus trusty-proposed)
  • Reboot sambil berdoa kepada Richard dari Stallmans
  • Jika semuanya berhasil: terapkan solusi switch IPKVM di atas.

5
2017-10-25 14:45



Tidak ada perintah otomatis untuk menghapus semuanya kecuali this that? :( Apakah switch IPKVM dilengkapi dengan fungsi DNS dinamis? Tidak ada gunanya sebaliknya dalam kasus ini. - Oxwivi
Di atas adalah yang paling otomatis yang akan Anda dapatkan. Sepenuhnya otomatis seperti titik pemulihan Windows: tidak, itulah yang sistem back-up untuk ... IPKVM switch dapat menggunakan DHCP, jadi dengan menggunakan layanan DNS Dinamis eksternal: "ya, agak" ... - Fabby
Nah, saya benci Windows restore point thingy. Tidak tahu apa yang terjadi di sana. (Lebih seperti, saya datang untuk membenci seluruh lini produk Windows frickin ') Satu-satunya bagian otomatis yang saya inginkan adalah mencari tahu semua paket manual dan perintah untuk menghapus semuanya kecuali itu. - Oxwivi
Saya menghapus Windows sekitar 2 tahun yang lalu ... Apakah Anda pernah mencoba mencari history.log??? : P - Fabby
@Oxwivi Anda mau apt-mark showauto, dan membersihkan semua paket dalam output dengan memberi makan daftar apt-cache purge: apt-mark showauto | xargs sudo apt-get --dry-run purge. Saya secara sukarela menambahkan --dry-run aktifkan jika Anda ingin mencobanya, sehingga Anda benar-benar dapat melihat apa yang terjadi: melakukan sesuatu seperti itu merusak instalasi Anda, karena menghapus setiap paket tergantung pada salah satu paket yang dihapus oleh perintah. Coba lihat output dari proses kering. - kos


OK, Jawaban saya mengasumsikan Anda dapat, dan telah mencadangkan direktori pengguna Anda, dan semua yang ingin Anda simpan. yang mengurangi pertanyaan Anda untuk bagaimana cara menginstal Ubuntu pada server jauh? Untuk itu ada banyak solusi.

Untuk ini, Anda bisa menggunakan DRBL, untuk menyebarkan sistem operasi jarak jauh, dengan berbagai opsi untuk boot. Anda dapat memeriksanya di sini: http://drbl.org/installation/

Ada Clobber: http://cobbler.github.io/manuals/quickstart/

Ada cloneZilla, yang dapat mencadangkan dan memulihkan melalui jaringan. Tautan ini untuk windows, tetapi metode yang sama berlaku untuk linux. Sebagai alternatif, Anda bisa membuat boot image ubuntu secara lokal, dan menginstalnya menggunakan clonezilla. http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

Atau, Anda bisa mencoba menggunakan dd_rescue, atau netcat

Istilah penelusuran yang bermanfaat mungkin adalah "Penyediaan Server". Ada lebih banyak pilihan dari ini.

Ada metode bruteforce juga.

$ ls /
bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

dan PATH Anda seperti ini:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

jika direktori root Anda adalah sesuatu seperti ini, jika Anda menulis / etc, dan / usr dengan versi "clean", Anda akan menimpa, cukup banyak setiap perangkat lunak yang terinstal, dan file konfigurasi untuk itu. Itu akan menjadi hacker untuk mengatakan setidaknya, jika bukan ide yang benar-benar mengerikan. Lari apt-get purge akan jauh lebih aman, atau mungkin Anda bisa menyelaraskan prosesnya sedikit. Anda kemudian mungkin juga ingin menyertakan klon file konfigurasi ssh lama Anda di / etc / ssh / sebelum mencoba me-restart layanan dengan file konfigurasi baru.

Ada juga alat yang memungkinkan Anda membuang kernel yang berjalan dan memutakhirkan tanpa me-reboot. Untuk itu Anda bisa memeriksa Kslpice, atau kGraft

Jika semua Anda mengalami masalah dengan repo dan manajemen paket, saya tidak yakin mengapa Anda ingin membuang kernel, mbr, partisi boot, dll.

Jadi bagaimana pun, saya harap saya memberi Anda beberapa ide untuk dilihat. Ada banyak cara untuk mendepolasikan server dari jarak jauh.


1
2017-10-29 05:04