Qual é a maneira correta de criar uma imagem inicializável do meu sistema?

16

Não seria legal se eu pudesse configurar meu sistema logo após a instalação, com todos os temas, programas e SDKs que eu quero, e depois salvar o instantâneo? Como um backup, exceto que eu seria capaz de inicializar essa imagem e instalá-la em qualquer máquina que eu gostaria?

Tenho certeza de que isso é possível. De fato, eu sei que é até certo ponto .

https://help.ubuntu.com/community/LiveCDCustomizationFromScratch

Mas existe uma maneira melhor? Alguém sabe mágica que eu posso usar? Não posso salvar o estado do meu sistema para que, quando instalo algum software de servidor não suportado e bloqueie meu sistema, não precise gastar mais uma hora para configurá-lo?

Jacob
fonte
Você está executando uma instalação "bare metal" ou uma máquina virtual?
Curinga
Isso seria bare metal. Como quero começar minha "configuração de ponto de partida" perfeita, em vez de inserir um USB com uma imagem baixada recentemente, tenho uma imagem personalizada na qual posso inicializar e instalar.
Jacob
Você pode procurar em "criar uma caixa do Vagrant".
Curinga
@derobert Só notei o seu comentário agora, mas eu já estava escrevendo minha resposta então ...
Fabby
1
Comentários @Fabby não são respostas. Mesmo que você tenha roubado descaradamente e transformado em resposta, tudo bem para mim - você adicionou quatro parágrafos adicionais de explicação, e merece ter a resposta para isso.
derobert

Respostas:

11

Eu uso o CloneZilla e o Back In Time para fazer backups do sistema e dos dados, respectivamente.

A vantagem do CloneZilla sobre as ferramentas incorporadas ddé que ele usa as suas próprias, partclonecriando imagens muito pequenas (reconhece arquivos esparsos, pode usar vários utilitários de compactação, ...) e volta ao ddrescueque permite a leitura de discos rígidos danificados ! (É bom ter esse último backup antes que o HDD finalmente desista completamente.)

No entanto, você deve ter (no mínimo) um separado /e /homese quiser diferenciar facilmente entre o sistema operacional e os arquivos de configuração do usuário.

Nada é tão flexível, robusto e rápido como o CloneZilla para fazer backups completos de imagens / discos off-line (e eu estou sempre lendo manuais de backup, se alguém menciona sua ferramenta favorita de backup para ver se tem alguma coisa melhor que eu tenho)

Se você colocar o CloneZilla em uma partição inicializável de 512 MByte de um HDD USB externo, você poderá inicializá-lo em qualquer máquina e restaurar qualquer backup feito na partição, levando o restante do mesmo HDD.

Aviso: se você restaurar o mesmo backup do sistema em várias máquinas, todas essas máquinas serão clones umas das outras com o mesmo nome de host, fuso horário, IP (se estático), ... portanto, todas elas precisam ser personalizadas após " restaurar"...

Como alternativa , eu tenho um pendrive USB SLC inicializável que tem uma instalação completa do Linux (no meu caso, lubuntu) sem drivers proprietários e uma partição FAT líder, nenhuma partição swap, mas um arquivo swap dentro da /partição que eu possa inicializar em qualquer máquina ( até agora) e que uso para desinfetar máquinas Windows (ou apenas trabalhar na máquina de outra pessoa sem tocar nos dados, se forem paranóicas).

Fabby
fonte
1
BTW: Você pode mencionar algumas das coisas que precisam ser alteradas para criar várias máquinas a partir de uma usando o Clonezilla (por exemplo, alterar nome do host, IP, ...)
derobert
4

Sim, há um jeito. A máquina nem sempre precisa ser o mesmo, pois o Linux cria o /dev, /proce /syssistemas de arquivos em tempo real como o kernel, que lhe dá muita liberdade para fazer algumas alterações de hardware drásticas bonitas.

Digamos que seu sistema operacional esteja instalado no disco /dev/sda. Você pode criar uma ISO /dev/sdae todas as suas partições, quaisquer que sejam, com o seguinte comando:

dd if=/dev/sda of=/path/to/image.iso

A desvantagem disso é que a imagem terá o tamanho total do disco especificado como if(arquivo de entrada), mesmo que esse disco não esteja cheio.

Se você deseja clonar o disco diretamente /dev/sda, basta inserir outro disco e usar algo como:

dd if=/dev/sda of=/dev/sdb
wbruan
fonte
1

Você pode querer olhar para squashfs. É o que as versões "ao vivo" geralmente usam, e você pode "descomprimir" diretório por diretório, para as partições que desejar. É programável, extensível e usa parms de comando de um arquivo de lista, se você preferir. Como um arquivo zip que realmente funciona como um sistema de arquivos estático sem extração completa. Tem suas limitações, é claro, mas com um pouco de trabalho, você poderá fazer o que quiser com mais granularidade que o Clonezilla e mais cérebros que o dd. Os fóruns do linux terão algo sobre como criar sua própria imagem ao vivo.

bebopalooblog
fonte
0

se a máquina sempre for a mesma, usar dd pode ser útil nessa situação.

nxet
fonte