De Como listar todos os pacotes instalados , aprendemos como fazer uma lista de backups de pacotes instalados.
De Como ver a lista de repositório? aprendemos a fazer backup lista de repositórios instalados.
Mas como adicionamos automaticamente todos os repositórios antes de executarmos um script para instalar todos os pacotes instalados da máquina que estamos clonando?
Então, como podemos pegar a lista de todos os pacotes instalados e analisá-los para instalá-los?
Antes disso, como sabemos quais chaves precisamos obter?
Além disso, como geramos uma lista de pacotes suspensos para backup e, em seguida, reaplicamos a uma máquina clonada?
Já ouvi falar de apt-clone
, mas não tenho certeza se faz tudo isso.
Minha lista de repositórios é:
$ cd /etc/apt/sources.list.d/ && cat *.list
# deb http://ppa.launchpad.net/colingille/freshlight/ubuntu xenial main # disabled on upgrade to xenial
# deb-src http://ppa.launchpad.net/colingille/freshlight/ubuntu trusty main
deb http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu xenial main
# deb-src http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu xenial main
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/earth/deb/ stable main
deb http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial main
deb https://download.01.org/gfx/ubuntu/16.04/main xenial main #Intel Graphics drivers
deb http://ppa.launchpad.net/mkusb/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/mkusb/ppa/ubuntu xenial main
deb http://ppa.launchpad.net/peek-developers/stable/ubuntu xenial main
# deb-src http://ppa.launchpad.net/peek-developers/stable/ubuntu xenial main
deb http://ppa.launchpad.net/peterlevi/ppa/ubuntu xenial main
# deb-src http://ppa.launchpad.net/peterlevi/ppa/ubuntu xenial main
deb http://ppa.launchpad.net/sethj/silentcast/ubuntu xenial main
# deb-src http://ppa.launchpad.net/sethj/silentcast/ubuntu xenial main
Minha lista de pacotes é 100k e não cabe nesta mensagem, mas aqui está um subconjunto:
$ cat ~/.packages
a11y-profile-manager-indicator install
account-plugin-aim install
account-plugin-facebook install
account-plugin-flickr install
account-plugin-google install
account-plugin-jabber install
account-plugin-salut install
account-plugin-twitter install
account-plugin-windows-live deinstall
account-plugin-yahoo install
accountsservice install
acl install
acpid install
adduser install
adium-theme-ubuntu install
adobe-flash-properties-gtk install
adobe-flashplugin install
adwaita-icon-theme install
Cerca de 5% da lista foi removida e mostra deisntall
em vez de install
.
EDIT 1 com base nas instruções de comentários, estas são as chaves contidas em /etc/apt/trusted.gpg
e /etc/apt/trusted.gpg.d
, que adicionei ao meu backup diário:
$ sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub 1024D/437D05B5 2004-09-12
uid Ubuntu Archive Automatic Signing Key <[email protected]>
sub 2048g/79164387 2004-09-12
pub 1024D/FBB75451 2004-12-30
uid Ubuntu CD Image Automatic Signing Key <[email protected]>
pub 4096R/C0B21F32 2012-05-11
uid Ubuntu Archive Automatic Signing Key (2012) <[email protected]>
pub 4096R/EFE21092 2012-05-11
uid Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>
pub 1024D/7FAC5991 2007-03-08
uid Google, Inc. Linux Package Signing Key <[email protected]>
sub 2048g/C07CB649 2007-03-08
pub 4096R/D38B4796 2016-04-12
uid Google Inc. (Linux Packages Signing Authority) <[email protected]>
sub 4096R/640DB551 2016-04-12 [expires: 2019-04-12]
sub 4096R/997C215E 2017-01-24 [expires: 2020-01-24]
pub 2048R/63961D39 2016-01-25
uid Elio Martinez (Installer compilation) <[email protected]>
sub 2048R/98E81FA7 2016-01-25
/etc/apt/trusted.gpg.d/colingille-freshlight.gpg
------------------------------------------------
pub 1024R/CB7F5C71 2010-12-30
uid Launchpad PPA for Congelli501
/etc/apt/trusted.gpg.d/fossfreedom_ubuntu_indicator-sysmonitor.gpg
------------------------------------------------------------------
pub 1024R/F4FE239D 2012-01-05
uid Launchpad PPA for fossfreedom
/etc/apt/trusted.gpg.d/graphics-drivers_ubuntu_ppa.gpg
------------------------------------------------------
pub 4096R/1118213C 2015-08-12
uid Launchpad PPA for Graphics Drivers Team
/etc/apt/trusted.gpg.d/mkusb_ubuntu_ppa.gpg
-------------------------------------------
pub 4096R/54B8C8AC 2014-08-14
uid Launchpad PPA for MKUSB
/etc/apt/trusted.gpg.d/peek-developers_ubuntu_stable.gpg
--------------------------------------------------------
pub 4096R/76BAFBC6 2017-02-14
uid Launchpad PPA for Peek Developers
/etc/apt/trusted.gpg.d/peterlevi_ubuntu_ppa.gpg
-----------------------------------------------
pub 1024R/A546BE4F 2012-06-28
uid Launchpad PPA for Peter Levi
/etc/apt/trusted.gpg.d/sethj_ubuntu_silentcast.gpg
--------------------------------------------------
pub 4096R/A1A7B3E6 2014-10-03
uid Launchpad PPA for Seth Johnson
EDIT 2
Como comentado, aptitude-build-state-bundle e aptitude-run-state-bundle a tente depois de instalar programas usando:
sudo apt install aptitude-common
A execução do programa de construção resultou em um impressionante arquivo de 334 MB compactado para 92 MB.
A transferência do arquivo compactado para o laptop de destino e a execução de aptitude-run-state-bundle
forneceram essa tela colorida (entre muitas outras):
Podemosverqueestárastreandoospacotesmantidos!Ovelholaptopestavarodandookernel4.4eonovolaptoppadronizouparao4.10.Eumedesvieidaregranãoescritadecopiarecolartelasdetextoeuseioinstantâneocoloridoporqueémaisfácildedigerir.
Issoéomáximoqueeuconseguiporqueumtutorialon-lineparaaptitude-run-state-bundle
aindanãofoilocalizado.
Descobriquemeubackupdiárionãoincluíapermissõeseprecisavaserrestauradoemdoispasses,umavezcomsudoeumavezsem.DescobriquenãoestavafazendobackupdefontesGrubpersonalizadasetelasiniciaisdoPlymouth.EudescobriquetambémnãoestavafazendobackupdosscriptspersonalizadosdoNautilus.
Um
Com certeza, /etc/fstab
deve NÃO ser restaurado. Além de diferentes UUIDs, a fonte tem um SSD regular ( / dev / sdc3 ) e o alvo tem um SSD NVMe ( / dev / nmve0p5 ).
EDIT 2 1 de novembro de 2017
A seleção de pacotes da máquina de origem e sua instalação na máquina de destino não trouxeram o conky que foi retido para a versão 1.9. Outros softwares como unity-tweak-tool
também não reinstalaram.
O script Conky exigia um retrabalho extensivo para a temperatura. O Intel i7 6700HQ possui diferentes zonas térmicas de temperatura do que o i7 3630QM. O vnStat foi diferente porque eth0
não é mais usado porque o novo laptop tem um nome de adaptador diferente.
O laptop antigo possui Super VGA, HDMI e LVDS integrados que podem ser controlados por iGPU (HD4000) ou gráficos discretos (nVidia GE Force GT650M). Foi um choque para aprender sobre o novo laptop HDMI é hardwired para a nVidia GTX 970M e o iGPU (HD530) só pode controlar LVDS e ThunderBolt3 para DisplayPort para adaptador HDMI.
Outras complicações que o WSL (Windows Subsystem para Linux) não pode gravar em partições do Linux e no Linux só podem gravar em partições do Windows NTFS, mas não suportam diretórios híbridos do WSL. Os aplicativos do Windows também não podem gravar em diretórios híbridos do WSL. O WinBTRFS ainda não foi lançado e o Ext2FSD versão .69 brilha as unidades de 64 bits do Windows. O WSL só funciona com o Windows de 64 bits.
O salvamento e a restauração simples estão fora da tabela.
10 de dezembro de 2017
setpci
teve que ser usado durante a inicialização do systemd.