$ HOME no controle de versão
- Periodicamente, confirme tudo no diretório / home para os repositórios de controle de versão. (Exceto sempre fazer "make superclean" antes de cometer o diretório $ HOME do programador, assim ele nunca comete executáveis binários ou outros arquivos gerados facilmente pela máquina).
- Para cada usuário que "possui" dados exclusivos em meu computador de trabalho, verifique se há algum tipo de repositório de controle de versão no meu servidor de arquivos que contenha o diretório $ HOME inteiro desse usuário ("$ HOME in subversion"). Mesmo sendo praticamente o único humano que toca esse teclado, Eu tenho um usuário separado para: O navegador da Web não confiável que gosta de instalar muitos jogos potencialmente infectados por malware; o programador C que frequentemente escreve softwares com bugs terríveis e, por isso, queremos mantê-lo isolado em uma sandpile onde ele não pode excluir acidentalmente meus favoritos favoritos da web; o usuário do robô que executa o wiki; o usuário root; etc.
- mantenha todos os "meus" arquivos no meu diretório $ HOME, que é um diretório de trabalho de controle de versão.
- arquivos de texto, fotografias, arquivo de favoritos do navegador da Web etc. - tudo no diretório inicial.
- se eu escrever um script em lote que "precise" ir em algum outro subdiretório, mantenha a cópia mestra em algum lugar no diretório $ HOME e crie um link flexível desse outro subdiretório para a cópia principal.
- Se eu escrever um software compilado que "precise" ir em algum outro subdiretório, mantenha o código-fonte mestre e Makefile em algum subdiretório do diretório $ HOME e configure o Makefile para que "make install" instale automaticamente o executável binário nesse outro diretório.
- Se eu corrigir bugs em algum software, passe as correções de bugs pelo upstream.
- mantenha uma lista em algum arquivo de texto no meu diretório $ HOME de "aplicativos que eu gosto e não instalei por padrão" e "aplicativos que são normalmente instalados por padrão, mas eu não gosto". Veja Como você controla quais pacotes foram instalados no Ubuntu (Linux)? ou Como você controla quais pacotes foram instalados no Fedora (Linux)?
- se eu comprar um software em CD ou DVD, faça o backup da imagem ISO no meu servidor de arquivos e instale-a a partir dela no meu computador de trabalho. (Porque o meu computador de trabalho não tem uma unidade óptica).
Mais tarde, quando a máquina A for perdida,
- instale a versão mais recente de qualquer distro que seja a minha favorita esta semana, incluindo todo o software padrão, na máquina C.
- Para cada usuário, faça uma verificação do controle de versão da versão mais recente (HEAD), exceto de alguma forma (?) ignorando todos os executáveis binários. Isso impede que alguns tipos de vírus e trojans se espalhem para C.
- configura outras coisas fora do meu diretório inicial:
- verifique minha lista de aplicativos, desinstale as coisas que não quero.
- verifique minha lista de aplicativos, instale a versão mais recente das coisas que eu quero. Espero que a versão mais recente inclua as correções de erros que eu passei de volta. (Veja os links acima para formas de automatizar este processo)
- faça "make superclean" e "make install" com cada um dos programas compilados que escrevi.
- de alguma forma (?) lembre-se de onde os scripts em lote "precisam" ir e crie um link flexível desse local para a origem principal em meu diretório / home /. (Existe uma maneira de automatizar isso?)
- de alguma forma (?) lembre-se de todas as coisas que tenho em execução como tarefas cron e anacron, e as insira novamente.
- instale o software adquirido em CD a partir da imagem ISO no servidor de arquivos.
- ... tem mais alguma coisa que eu esteja perdendo?