Reinstalla Ubuntu di base senza formattare o rimuovere i pacchetti installati manualmente


10

Poiché ho giocato troppo con il repository proposto (su 14.04), voglio tornare al passaggio 1: rimuovere tutti i pacchetti sul sistema tranne quelli che ho installato manualmente e reinstallare il sistema di base, senza passare attraverso il fastidio di reinstallare .

Fondamentalmente, c'è comunque modo sicuro e remoto su ssh:

  • rimuovere tutti i pacchetti tranne quelli installati manualmente
  • reinstallare tutto dal kernel a ubuntu-desktop(preferibilmente automagicamente senza ulteriori pacchetti contrassegnati come installati manualmente)
  • installa dipendenze dei pacchetti installati manualmente

NB Ho intenzionalmente lasciato fuori nella speranza di ottenere risposte non specifiche per una o più versioni particolari.


Sembra che non abbia descritto ciò che voglio semplicemente, penso che questi due punti si occuperebbero di quanto sopra:

  • eliminare tutti i pacchetti installati automaticamente (@kos ha risposto alla risposta di @ Fabby)
  • installa i pacchetti che compongono una nuova installazione di Ubuntu

E immagino che se le dipendenze dei pacchetti installati manualmente apt-get -fverranno disinstallate, mi aiuteranno con loro.


1. sono tutti i file necessari per salvare in / home? 2. la rete è stabile? Se dovessi spostare i tuoi file utente o qualunque cosa tu debba salvare, potresti scrivere tutto e spostare facilmente i file utente? Anche. PXE è abilitato? e ci sono strumenti di supporto alla virtualizzazione nel BIOS?
j0h

@ j0h 1. Niente di importante in /home, ma ci sono configurazioni importanti nei pacchetti installati manualmente, 2. Sì, ma come ho detto i file utente non sono la preoccupazione, 3. Sì, è abilitato, 4. E sì, c'è anche il supporto di virtualizzazione .
Oxwivi,

Questo è un po 'oltre il mio livello di competenza, ma non sarebbe più facile ottenere un elenco di pacchetti da una nuova installazione, diffondendolo con la tua installazione attuale per ottenere un elenco di tutto ciò che è stato aggiunto. Quindi esegui una nuova installazione e aggiungi automaticamente tutte le cose personalizzate, possibilmente con un ripristino di alcuni o tutti i file di configurazione in $ HOME? Ottieni gli elenchi eseguendo dpkg -l. Questo probabilmente segnerà molte delle cose aggiuntive come installate manualmente, piuttosto che come dipendenze che potrebbero andare via se il pacchetto che le necessitava fosse cancellato in seguito.
Joe,

Risposte:


5

Per il futuro:

Se hai un server remoto in un data center a 1000 miglia di distanza, è meglio che tu abbia installato uno switch IPKVM, quindi non devi fare affidamento esclusivamente su sshdi esso per raggiungerlo.

Se il server si trova sul Monte Everest: aggiungi anche un telefono Iridium e un modem ...

Quindi puoi avere una partizione CloneZilla FAT da 512 MB avviabile su quella macchina (uso una chiavetta USB SLC ) e utilizzare la console per eseguire il boot su di essa e eseguire il backup di un'immagine delle partizioni di sistema nell'unità dati e quindi copiare il immagine di sistema precedente sulla partizione secondaria della chiavetta USB prima di iniziare ad aggiungere trusty-proposedal server . (Conservo la maggior parte dei backup del mio sistema sull'unità dati: sono solo 6 GB)

Per adesso:

  • Prendi un backup apt
  • Passa attraverso il tuo /var/log/apt/history*
  • Crea il tuo script automagical che fa una apt-get purgedelle cose che davvero non vuoi / non hai più bisogno dai dati nel passaggio precedente
  • Esegui la sceneggiatura mentre preghi Linus dei Torvald
  • Aggiorna i tuoi repository come desideri che siano (come rimuovere trusty-proposed)
  • Riavvia pregando Richard degli Stallman
  • Se tutto funziona: implementa la soluzione di switch IPKVM sopra.

Nessun comando automatico di eliminare tutto tranne this that? :( Lo switch IPKVM è dotato della funzione DNS dinamica? In questo caso senza valore altrimenti.
Oxwivi,

Quanto sopra è il più automagico che otterrai. Completamente automatico come un punto di ripristino di Windows: no, ecco a cosa servono i backup di sistema ... Gli switch IPKVM possono usare DHCP, quindi usando un servizio DNS dinamico esterno: "sì, un po '" ...
Fabby,

No, odio il punto di ripristino di Windows. Non ho idea di cosa ci sia. (Più come, sono arrivato ad odiare l'intera linea di prodotti Windows) L'unica parte automagica che voglio è capire tutti i pacchetti manuali e il comando per disinstallare tutto tranne quelli.
Oxwivi,

Ho cancellato Windows circa 2 anni fa ... Hai mai provato a cercare in history.log??? : P
Fabby,

@Oxwivi Si vuole apt-mark showauto, e per eliminare tutti il pacchetto in uscita alimentando la lista a apt-cache purge: apt-mark showauto | xargs sudo apt-get --dry-run purge. Ho aggiunto volontariamente l' --dry-runopzione nel caso in cui tu sia tentato di provarlo, in modo che tu possa davvero vedere cosa sta succedendo: fare qualcosa del genere interrompe l'installazione, perché rimuove ogni pacchetto dipendente da qualsiasi pacchetto rimosso dal comando . Dai un'occhiata all'output della corsa a secco.
kos,

1

OK, la mia risposta presuppone che sia possibile e abbia eseguito il backup della directory dell'utente e di tutto ciò che si desidera salvare. che riduce la tua domanda su come installare Ubuntu su un server remoto? Per cui ci sono molte soluzioni.

Per questo, è possibile utilizzare DRBL, per distribuire in remoto un sistema operativo, con una varietà di opzioni per l'avvio. Puoi esaminarlo qui: http://drbl.org/installation/

C'è Clobber: http://cobbler.github.io/manuals/quickstart/

C'è cloneZilla, che può eseguire il backup e il ripristino su una rete. Il collegamento è per Windows, ma per Linux si applicano gli stessi metodi. In alternativa, potresti creare un'immagine di avvio di Ubuntu localmente e installarla usando clonezilla. http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

In alternativa, puoi provare a usare dd_rescue o netcat

Un termine di ricerca utile potrebbe essere "Server Provisioning". Ci sono più opzioni di queste.

Ci sono anche metodi bruteforce.

$ 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

e il tuo PERCORSO era così:

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

se la tua directory root fosse simile a questa, se avessi scritto / etc e / usr con versioni "pulite", avresti sovrascritto, praticamente ogni pezzo di software installato e i file di configurazione per esso. Sarebbe a dir poco un hacker, se non un'idea del tutto orribile. Correre apt-get purgesarebbe molto più sicuro, o forse potresti perfezionare un po 'il processo. Potresti anche voler includere un clone del tuo vecchio file di configurazione ssh in / etc / ssh / prima di provare a riavviare i servizi con nuovi file di configurazione.

C'è anche uno strumento che ti consente di scaricare un kernel in esecuzione e aggiornarlo senza riavviare. Per questo puoi dare un'occhiata a Kslpice o kGraft

Se tutto ciò di cui hai problemi sono i repository e la gestione dei pacchetti, non sono sicuro del motivo per cui vorresti scaricare il kernel, mbr, la partizione di avvio ecc.

Quindi, spero di averti dato alcune idee da esaminare. Esistono molti modi per depilare un server in remoto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.