[HowTo] Como automatizar a instalação de packages e sources

Crow-

Power Member
Problema
Faço instalações "limpas" do SO com alguma frequência, levando a que posteriormente perca muito tempo a instalar todas as minhas aplicações novamente, adicionar os PPAs aos sources, etc.

Solução
Podem automatizar grande parte do processo de instalação das aplicações que normalmente usam, assim como adicionar PPAs, atualizar os repositórios, atualizar o SO, etc, através de um simples shell script que podem executar após a instalação do sistema operativo.

Exemplo
Devem criar um ficheiro com extensão .sh numa diretoria qualquer como o nome que quiserem.
Exemplo: ~/Documents/install_packages.sh

Código:
#!/bin/sh

# 1. Define package list
PACKAGE_LIST="
    chromium-browser
    gparted
    guake
    homebank
    synaptic
    vlc
"

# 2. Add PPA sources
add-apt-repository -y ppa:mdoyen/homebank
add-apt-repository -y ppa:videolan/stable-daily

# 3. Re-synchronize the package index files from their sources
apt-get update

# 4. Install the packages
apt-get install -y $PACKAGE_LIST


- No ponto (1) temos uma variável onde devem definir todos os packages a instalar.
Por forma a facilitar a gestão da lista aconselho ordenação alfabética e cada package numa linha.
Neste exemplo estou a indicar que pretendo instalar o chromium-broser (Chromium Browser), gparted (GParted Partition Editor), guake (Guake Terminal), homebank (HomeBank), synaptic (Synaptic Package Manager) e o vlc (VLC Media Player).

- No ponto (2) devem definir todos os PPAs necessários para a instalação de aplicações a partir de sources externas. Neste exemplo são adicionados os PPAs do VLC e do HomeBank. Podem adicionar tantos quantos os necessários, cada um na sua linha.
NOTA: o argumento '-y' é necessário para que o script não pare a execução para pedir a confirmação para adicionar o repositório.

- Nos pontos (3) e (4) são atualizados os repositórios e é feita a instalação dos packages com base na lista indicada na variável do ponto (1).
NOTA: o argumento '-y" é necessário para que o script não pare a execução para pedir a confirmação dos packages.

Depois é só correr o script no terminal:

Código:
cd ~/Documents

sudo sh ./install_packages.sh


Conclusão
O script é básico e pode ser melhorado. Podem também acrescentar outras funcionalidades, como uma execução do "dist-upgrade" para atualizar os packages existentes, criação de pastas que normalmente tenham, etc. As possibilidades são infinitas.


Alternativa

Existe uma alternativa a esta solução simples que é o Aptik. O Aptik é um utilitário que permite fazer backup e restore de:
- Software Sources
- APT Cache
- Packages
- Application Settings
- Themes and Icons

Para instalar o Aptik:

Código:
sudo apt-add-repository -y ppa:teejee2008/ppa

sudo apt-get update

sudo apt-get install aptik

rBTkrgY.png


https://launchpad.net/apt-toolkit
 
Última edição:
Eu uso o Puppet para isso. Não tenho nada contra esta solução, se faz tudo o que precisas, mas o Puppet é bastante simples em modo standalone e tem muitas funcionalidades úteis quando aumenta a complexidade (por exemplo, para configurar serviços, sites web, etc). Também é declarativo (idempotente) e não imperativo; podes acrescentar operações, correr o puppet novamente e ele não tenta fazer o que já está feito.

Não conhecia o Aptik, parece interessante para desktops.
 
Back
Topo