Como posso manter meu Raspbian "Wheezy" atualizado?

45

Existe uma espécie de ferramenta de atualização para o meu pacote Raspbian Debian 7 (Wheezy)?

Eu instalei phpe lighttpdquero manter os atualizados automaticamente para quando forem encontrados erros.

Michel
fonte

Respostas:

48

Você precisa inserir alguns comandos na linha de comando. Em primeiro lugar:

apt-get update  

(isso atualizará as fontes de software)

apt-get upgrade  

(isso atualizará tudo para a versão mais recente)

recantha
fonte
Isso é tudo? Ele atualizará tudo que eu instalei via apt-get, incluindo o próprio sistema operacional?
Michel
1
O "SO em si" é o kernel do linux, sim. Na primeira vez em que você fizer isso, provavelmente haverá várias atualizações, pois o repositório geralmente conterá pacotes mais novos que a imagem de instalação.
goldilocks
Tudo o que veio do repositório apt, é isso. O que normalmente é tudo, exceto seus dados, mas pode não incluir, por exemplo, o kernel ou o gerenciador de inicialização nesse caso. Se você tiver baixado o material de outros lugares ou fez algum do seu próprio, que, obviamente, não pode ser automagicamente atualizado :)
XTL
Sim, é só isso. Você pode ter que responder ocasionalmente à pergunta sim / não para pedaços maiores de software, mas basicamente é fácil.
recantha
1
@ Michel: Às vezes, "o sistema operacional linux" é mais amplamente chamado de "GNU / Linux", que inclui o kernel ("linux" no sentido estrito) e os fundamentos do espaço do usuário, como a biblioteca C, shell, etc, que estão sob o guarda-chuva GNU. Com o Windows, todas essas partes são imutáveis, enquanto o mundo do linux é mais heterogêneo e modular, então pode haver alguma confusão. Eu teria usado "o SO" aqui para se referir à distribuição debian wheezy (incluindo o kernel), mas você parecia estar se referindo a algo mais específico.
goldilocks
41

O unattended-upgradespacote é a maneira de automatizar a atualização do sistema operacional nessas distribuições da família debian. Siga as instruções encontradas aqui .

Basicamente, você precisa instalar o pacote:

sudo apt-get install unattended-upgrades

e adicione ao /etc/apt/apt.conf.d/10periodicseguinte:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Além disso (como a portabilidade do pacote parece não ter sido perfeita), altere a seguinte linha na primeira seção de /etc/apt/apt.conf.d/50unattended-upgrades:

        "origin=Debian,archive=stable,label=Debian-Security";

para

//        "origin=Debian,archive=stable,label=Debian-Security";
        "origin=Raspbian";

Agora, seu sistema se mantém atualizado automaticamente.

base
fonte
3
A última etapa (troca origin=Debian) não é mais necessária na distribuição mais recente do Raspbian.
Dolph
Hoje, no Raspbian Wheezy, parece ainda ser necessário, como, por exemplo:Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
astorije
Opa, eu interpretei errado. Sim, origin=Raspbianainda é necessário no arquivo de configuração, mas não, você não precisa mais fazer isso sozinho, desculpe ...
astorije
26

Dist:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

Atualização do Rpi pela primeira vez: instale o git e as certificações para alcançar o github.

$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
$ sudo chmod +x /usr/bin/rpi-update

atualizar firmware

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

Atualização Rpi após:

$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot

rpi-update

István Simon
fonte
5

O rpi-update agora pode ser buscado diretamente via apt-get, portanto não há necessidade de lidar com o Wget . Então aqui está agora a maneira atualizada:

Dist:

 $ sudo apt-get update
 $ sudo apt-get upgrade 

Você precisa reiniciar o Raspberry Pi agora, caso contrário, o novo kernel não seria usado!

Atualização do Rpi pela primeira vez: instale o Git e as certificações para acessar o GitHub .

$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo apt-get install rpi-update

Atualizar firmware

$ sudo rpi-update
$ sudo reboot

rpi-update

BastianW
fonte
3

Você também pode escrever um pequeno script com as etapas do apt-get e executá-lo em uma programação uma vez por dia / quantas vezes quiser, foi o que eu fiz.

Como configurar um trabalho cron no Pi:

http://www.wexoo.net/20130406/running-cron-jobs-on-raspberry-pi-in-raspbmc

Como escrever um script bash:

https://www.linux.com/learn/tutorials/284789-writing-a-simple-bash-script-

Meu script era apenas um simples

apt-get update
apt-get upgrade -yes
apt-get dist-upgrade -yes
apt-get clean

e eu tive que registrar a saída em um arquivo >>no final de cada linha, por exemplo apt-get update >> autoupdate.txt.

É discutível como é boa ideia fazer isso!

Steji
fonte
Qualquer chance de compartilhar o script e / ou informações sobre como realizar esses eventos programados. Imagino que se o OP soubesse fazer isso, ele não teria postado.
Phill Healey
1

O site Art of Web tem um guia maravilhoso para o Debian Wheezy, que eu só precisei modificar uma linha para que funcionasse no meu RPi de teste. O link levará você ao seu guia cron-apt; explicado abaixo, com modificações no sistema de recompra da RPi.

Instale o cron-apt

sudo apt-get install cron-apt

A configuração padrão, ações e configurações personalizadas podem ser encontradas em

ls -hal /etc/cron-apt/config

ls -hal /etc/cron-apt/action.d/

ls -hal /etc/cron-apt/config.d/

Anexe o seguinte ao /etc/cron-apt/configarquivo, sudo tee -apara permitir que os emails sejam enviados com informações detalhadas sobre as ações executadas durante a atualização automática

echo 'MAILON="output"' | sudo tee -a /etc/cron-apt/config

echo 'DEBUG="verbose"' | sudo tee -a /etc/cron-apt/config

O log é despejado para: /var/log/cron-apt/log

Crie um novo arquivo de ação para atualizar apenas pacotes relacionados à segurança com o comando touch e adicione uma linha com o comando sudo tee; outros serão baixados, mas aguarde sys-admin para instalar atualizações que não são de segurança. Alertas de atualizações e resultados serão enviados por e-mail para o usuário root ou sys-admin para análise e / ou ações a serem tomadas.

sudo touch /etc/cron-apt/action.d/5-security

echo 'upgrade -y -o APT::Get::Show-Upgraded=true' | sudo tee -a /etc/cron-apt/action.d/5-security

Crie um novo arquivo de configuração para usar a ação acima; usando /etc/apt/sources.list.d/security.listcomo o caminho para atualizações de segurança. O caminho do arquivo pode ser diferente no seu sistema se não for totalmente baseado no Debian Linux; O RPi agora usa o mirror director, portanto, ele /etc/apt/sources.listdeve ser usado, no entanto, isso não pode ser recomendado para servidores em nível de produção, porque também atualizará atualizações que não são de segurança.

sudo touch /etc/cron-apt/config.d/5-security

echo 'OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""' | sudo tee -a /etc/cron-apt/config.d/5-security

Aguarde um dia para cron-aptatualizar seu sistema e verifique os logs locais com o seguinte para ver o que foi atualizado enquanto você dormia

sudo cat /var/log/cron-apt/log

Isso foi testado em um RPi para atualizar todos os pacotes, bem como em um PC Unbuntu que atualiza apenas pacotes relacionados à segurança. Então, sinto que é uma das opções mais portáteis disponíveis. O outro pacote de atualizações automatizadas, sugerido pelo Grassroot (obrigado, vou testá-lo a seguir), unattended-upgradesparece ser outra ótima opção para automatizar o processo de atualização.

S0AndS0
fonte