Criando um script para instalar o software após uma instalação limpa?

5

Eu me encontro em meio a várias novas máquinas recentemente (novo laptop, novo computador no trabalho, etc.). Eu quero criar um script bash para instalar todo o software que eu uso. Ninite não é suficiente. Eu não tenho experiência em scripts bash, estou aprendendo isso. Estou planejando usar aptitude search para encontrar os nomes dos pacotes (se existirem nos repositórios) e para criar várias linhas de aptitude install .

Tudo o que preciso fazer depois de instalar o Ubuntu do zero é instalar a altitude e executar o script.

  1. A linha do script será executada uma após a outra (e não em paralelo e falhará)?
  2. Posso fazer uma "instalação silenciosa" para que o programa de instalação não solicite respostas (pré-defina as respostas ou o padrão do usuário)?
  3. Existe uma maneira de definir algumas configurações do sistema pelo script bash?
por Roy Tsabari 14.08.2012 / 19:57

2 respostas

7

Sim nas 3 perguntas.

Com relação à última pergunta: você pode usar o pacote dconf-tools (incluído no exemplo) para muitas configurações. E gconftool-2 para alguns outros (embora esse último seja fased out) eu adicionei uma linha na parte inferior do exemplo. Você pode procurá-los assim gsettings list-recursively | grep plugins.power|more . Isso mostrará qualquer coisa relacionada a configurações de energia.

Se você precisar de comandos condicionais, use && : {command & amp; & amp; command2} só emitirá o comando 2 se o comando 1 não falhar.

Crie um arquivo de texto e torne-o executável e inclua pedaços de código exeqüíveis. Exemplo com algumas coisas aleatórias que faço após a instalação (que inclui o symlinking my home para um disco separado (que não é formatado durante a reinstalação):

# Enable sources, add PPAs and update sources: 
sudo sed 's/# deb/deb/' -i /etc/apt/sources.list

sudo add-apt-repository ppa:tiheum/equinox
sudo add-apt-repository ppa:am-monkeyd/nautilus-elementary-ppa
sudo apt-get update
sudo apt-get upgrade

# Symlinking home folders.
cd /discworld2/
mkdir Desktop/ Downloads/ Pictures/ Videos/ Public/ Music/ Templates/ Documents/ 
cd
rm -rf Desktop/ Downloads/ Pictures/ Videos/ Public/ Music/ Templates/ Documents/ 
ln -s /discworld2/Desktop/   Desktop
ln -s /discworld2/Documents/ Documents
ln -s /discworld2/Downloads/ Downloads
ln -s /discworld2/Pictures/  Pictures
ln -s /discworld2/Templates/ Templates
ln -s /discworld2/Videos     Videos

# Adding software:
sudo apt-get install -y dconf-tools powertop htop compizconfig-settings-manager deluge vlc smplayer shutter chromium-browser cheese gtk2-engines-equinox faenza-icon-theme equinox-theme

# restart nautilus (req. to activate elementary):
nautilus -q

# remove lock screen

gsettings set org.gnome.desktop.screensaver lock-enabled false

# Altering settings power management (OLD method):

gconftool-2 --set --type string /apps/gnome-power-manager/critical_battery       shutdown 
gconftool-2 --set --type bool   /apps/gnome-power-manager/battery_reduce         false
gconftool-2 --set --type bool   /apps/gnome-power-manager/idle_dim_battery       false
gconftool-2 --set --type string /apps/gnome-power-manager/lid_ac                 blank
gconftool-2 --set --type string /apps/gnome-power-manager/lid_battery            blank
gconftool-2 --set --type string /apps/gnome-power-manager/sleep_computer_ac      0
gconftool-2 --set --type string /apps/gnome-power-manager/sleep_computer_battery 0
gconftool-2 --set --type string /apps/gnome-power-manager/power                  interactive
    
por Rinzwind 14.08.2012 / 20:34
2

Você pode usar o Ubuntu One para sincronizar aplicativos instalados entre computadores. A opção está disponível no menu do centro de software.

    
por mniess 16.08.2012 / 00:01