O Ubuntu 18.04 foi lançado em 26 de abril de 2018 e quero tentar atualizar meus programas e converter meus dados, mas não quero confirmar se houver bugs.
Reduzi o Windows de 410 para 385 GB, reiniciei o Ubuntu 16.04 e corri gparted
para criar uma nova partição de 25 GB chamada "Ubuntu18.04". Executei rm-kernels
e removi cerca de 20 kernels para eliminar cerca de 10 GB no Ubuntu 16.04.
Agora eu quero um script que preencha a nova partição com 16.04 LTS e crie uma nova opção de menu do Grub para ela. Somente diretórios relevantes devem ser copiados. Por exemplo /sys
, /run
, /proc
e /dev
são diretórios virtuais criadas durante a inicialização e não deve ser copiado.
Também quero o /etc/fstab
patch com o UUID correto e os cron
trabalhos de reinicialização desabilitados, para que os backups diários de dados clonados não sejam executados após a inicialização do clone.
Antecipo a execução do script várias vezes nas próximas semanas / meses. Como tal, o processo de clonagem deve ser repetido sem esforço.
O mesmo script pode ser usado para testar atualizações de segurança e novas atualizações da Equipe do Kernel do Ubuntu sem afetar os sistemas de produção.
Respostas:
Script Bash para clonar partição ativa do Ubuntu para clonar partição
O
clone-ubuntu.sh
script bash replicará de forma perfeita e segura o 16.04 LTS em uma partição para atualizar para o 18.04 LTS:Pontos importantes a considerar:
ext4
partição vazia grande o suficiente para armazenar um clone do Ubuntu 16.04clone-ubuntu.sh
a partição não pode ser montada. O script monta e desmonta automaticamente a partição.rsync
é usado para copiar arquivos da/
partição clone. A primeira vez que você executarclone-ubuntu.sh
, levará alguns minutos. Na segunda vez em que você executa o script, apenas as alterações no arquivo são atualizadas e deve levar menos de um minuto./
arquivos e diretórios atuais ./etc/cron.d
(reinicialização) são movidos para um novo subdiretório chamado/etc/cron.d/hold
. Após a inicialização do clone, lembre-se de executarsudo crontab -e
para impedir a execução de tarefas cron selecionadas./etc/fstab
é modificado com o UUID apropriado para a partição em que está./boot/grub/grub.cfg
é modificado com o UUID apropriado para a inicialização bem-sucedida do clone. O arquivo clonadoquiet splash
é alterado paranosplash
para que você obtenha a rolagem de mensagens do terminal. Isso fornece à consciência visual a inicialização de um clone, em vez da versão "Real".update-grub
é executado para atualizar o Grub com novas opções de menu apontando para a partição clonada./etc/update-manager/release-upgrades
é modificado para mudarPrompt=never
paraPrompt=lts
. Quando você inicializa o clone e executado-release-upgrade -d
isso, o Ubuntu 16.04 pode ser atualizado para o 18.04.Tela de confirmação
Após selecionar uma partição de clone de destino, primeiro é verificado o
ext4
tipo de partição e ainda não está montado. Se este teste for aprovado, uma mensagem de confirmação será exibida:Neste exemplo, um clone anterior foi selecionado para reclonagem. O espaço disponível no clone é um ponto mudo, porque já sabemos que há espaço suficiente disponível.
Se você possui várias instalações do Ubuntu, verifique se selecionou a partição correta para clonar o Ubuntu atualmente inicializado, montado como
/
(root), para.Esta é sua última chance de abortar pressionando qualquer tecla, exceto
y
ouY
.Listagem de saída
Ao executar o script, você obterá esta saída (excluindo a saída já listada acima):
rsync
exibição de status para novo cloneAo clonar pela primeira vez, você
rsync
receberá uma atualização de 0 a 100% de todos os arquivos criados. Nenhum arquivo será excluído ou alterado porque o clone está vazio:rsync
exibição de status ao reclonarQuando
rsync
reclona, nunca ocorre100%
porque os arquivos que nunca foram alterados não são copiados. Haverá atrasos no andamento da atualização, comorsync
varreduras para o próximo arquivo a ser copiado e quando ele excluir novos arquivos criados no clone que nunca existiram no original:Script Bash -
clone-ubuntu.sh
Copie e cole o código bash acima em um novo arquivo chamado
/usr/local/bin/clone-ubuntu.sh
. Em seguida, torne o novo arquivo executável usando:Para chamar o script, use:
Como atualizar o clone 16.04 LTS para o Ubuntu 18.04 LTS
Esta é uma seção de "bônus" que pode interessar a muitas pessoas.
Reinicie sua máquina. O
grub
menu conterá uma nova opção de menu apontando para a partição clonada. Você também pode selecionar uma versão específica do kernel no menu Opções avançadas do clone .Uma maneira de converter o 16.04 LTS clonado em 18.04 LTS é executar:
Observe que a
-d
bandeira era obrigatória antes de 26 de julho de 2018, mas não é mais necessária.Leia a confirmação da atualização 18.04 com atenção .
Antes de continuar, verifique se o bloqueio de tela inativo está desativado. O processo de atualização pode falhar se o computador for para a tela de bloqueio devido à inatividade do teclado.
Resumo do processo de atualização 18.04
Esta seção será específica da máquina, pois diferentes aplicativos são instalados por diferentes usuários. Aqui está um breve resumo que fiz com base em notas e memória:
Observe a etapa 10 que a maioria das pessoas nunca verá. Eu tenho uma instalação antiga do driver da nVidia no meu Ubuntu 16.04 que nunca consegui remover completamente. Está incluído porque você pode ter pacotes antigos semelhantes nunca totalmente removidos.
O Grub altera o menu de inicialização para clonar em UEFI
Ao contrário das atualizações 18.04, descobri que a atualização 18.04.1 alterou a configuração do Grub UEFI para usar o menu grub do clone em vez do menu grub original, de acordo com esta resposta: Inicialização dupla e os arquivos /boot/grub/grub.cfg - qual deles é usava?
A execução
sudo update-grub
após a inicialização da partição original não é suficiente para alterar o quegrub.cfg
é carregado pelo grub. Você precisa usarsudo grub-install
para forçar o grub a usar a configuração da partição original.A partição original e a partição clone podem ser usadas
update-grub
para manter seu próprio/boot/grub/grub.cfg
arquivo, mas apenas um pode ser usado durante a inicialização.Obviamente, se você quiser que o grub use o menu grub do Clone, não execute as etapas acima na partição do original.
Editar histórico
Editar 6 de maio de 2018 - Exibição de informações para uma partição de clone (destino) vazia corrigida.
Editar 26 de agosto de 2018 - Use a
--inplace
opção comrsync
arquivos tão grandes, como um arquivo de lixo de 2 GB, não são duplicados no clone durante o processo de cópia. Isso pode levar ao erro "sem espaço em disco". Comentário sem/etc/cron.d
substituições, pois os usuários podem querer manter ou quer um diretório diferente. Atualize as instruções para usardo-release-upgrade
sem-d
sinalizador, porque o Ubuntu 18.04.1 LTS foi lançado.fonte
clone-ubuntu.sh
Mas eu já usei isso quatro vezes!Problemas com a atualização de versões anteriores para 18.04 LTS
Não é nada fácil atualizar das versões anteriores para o 18.04 LTS. Não sei se há mais problemas do que essa atualização no passado, mas as pessoas que lançam a atualização agora se arriscam . Por outro lado, eles encontram bugs e se os bugs forem relatados , ajudará a desenvolver a ferramenta de atualização e a depurar o próprio sistema Ubuntu 18.04 LTS.
Isso significa que as pessoas que são pacientes o suficiente para esperar até que a atualização seja lançada oficialmente com o primeiro lançamento pontual (18.04.1 LTS) terão uma viagem mais suave .
Testando antes de fazer a atualização completa ...
O método que o @ WinEunuuchs2Unix descreve aqui torna possível testar com uma cópia do sistema real, se a atualização para o 18.04 LTS funcionar com o sistema operacional [mais ou menos modificado] atual com o hardware do computador.
Isso pode evitar vários desastres com o sistema operacional corrompido.
Ainda não usei o script do @ WinEunuuchs2Unix, mas entendo que é muito útil e pretendo usá-lo. Consegui atualizar de 8.04 para 10.04 para 12.04, que usei por um longo tempo. Mas quando me propus a atualizar via 14.04 para 16.04, falhei e não consegui encontrar os erros.
... e se houver problemas, faça uma nova instalação
Como eu tinha bons backups , fiz uma nova instalação do 16.04 e depois copiei o que queria manter e verifiquei os ajustes, scripts, aliases e programas instalados. Se eu tivesse usado o método do @ WinEunuuchs2Unix, já tinha visto o problema cedo, teria feito uma nova instalação diretamente.
Fazendo Upgrade de um Sistema Ativo Persistente
Os sistemas ao vivo persistentes são usados para obter sistemas Ubuntu muito portáteis, que às vezes são usados para testes, mas às vezes são usados por um longo tempo.
É um problema conhecido, que você não deve atualizar e atualizar um sistema como o de um sistema instalado, pois ele será corrompido mais cedo ou mais tarde. Além disso, você está com os drivers do kernel e do kernel, que acompanham o arquivo iso, porque eles são iniciados antes do início do sistema de sobreposição.
Mas geralmente é possível manter o
/home
diretório, como você pode, quando você faz uma nova instalação com uma partição 'home' separada. Se você criar umahome-rw
partição, um sistema ativo persistente irá encontrá-lo e usá-lo automaticamente durante a inicialização.Estou desenvolvendo e testando um shellscript, mk-persistent-live_with_home-rw , que pode criar um sistema ativo persistente com uma
home-rw
partição e que pode ser atualizado posteriormente ,substitua o arquivo iso por um mais novo. Pelo menos, você deve atualizar quando um novo arquivo iso for lançado, mas também pode atualizar um sistema LTS uma vez por mês e usar os arquivos iso diários atuais do rastreador de teste ,
modifique o grub para o novo arquivo iso.
limpe (reformate) o
casper-rw
arquivo que armazena as modificações do sistema operacional (para reinstalar os pacotes de programas adicionados ao sistema),preservar a
home-rw
partição com seus arquivos pessoais, configurações e ajustes.Veja este link para mais detalhes.
Link extra
Dicas gerais para quem deseja testar a versão mais recente e melhor do Ubuntu podem ser encontradas no link a seguir,
Como participar de testes e desenvolvimento do Ubuntu
fonte