quinta-feira, 22 de agosto de 2013

domingo, 18 de agosto de 2013

Debian Linux: actualizações automáticas de segurança via cron-apt

OS: Debian 7 "Wheezy"

0.- Instalar update-notifier (opcional)
~$ su
~$ apt-get install update-notifier


1.- Instalar cron-apt
~$ apt-get install cron-apt

2.- Editar o ficheiro /etc/cron-apt/action.d/3-download de modo a actualizar apenas os pacotes (e não a distro):
~$ nano /etc/cron-apt/action.d/3-download
autoclean -y
#dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
upgrade -d -y -o APT::Get::Show-Upgraded=true


3.- Criar os seguintes ficheiros para permitir as actualizações automáticas de segurança:
~$ nano /etc/cron-apt/action.d/5-security
upgrade -y -o APT::Get::Show-Upgraded=true

~$ nano /etc/cron-apt/config.d/5-security
OPTIONS="-o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/security.sources.list -o Dir::Etc::SourceParts=\"/dev/null\""


4.- Criar o ficheiro security.sources.list com base na sources.list:
~$ cp /etc/apt/sources.list /etc/apt/security.sources.list

... e apagar tudo excepto:

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main


[Nota: Não esquecer de editar este ficheiro quando actualizarmos o sistema -- substituir "wheezy" pelo novo nome da distro].

5.- Configurar o ficheiro /etc/cron.d/cron-apt de acordo com o horário pretendido. Por defeito, corre às 4 da manhã.
~$ nano /etc/cron.d/cron-apt
#
# Regular cron jobs for the cron-apt package
#
# Every night at 4 o'clock.
0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
# Every hour.
# 0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# Every five minutes.
# */5 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2


6.- Executar o cron-apt via anacron criando um atalho no /etc/cron.daily:
~$ ln -s /usr/sbin/cron-apt /etc/cron.daily/

Para mais informações, consultar:
- http://www.the-art-of-web.com/system/cron-apt-wheezy/
- https://help.ubuntu.com/community/AutoWeeklyUpdateHowTo
...
- http://naoimporta.com/blog/cron-vs-anacron-como-configurar-o-anacron-no-linux/
...
- http://v1.corenominal.org/howto-setup-a-crontab-file/

quarta-feira, 31 de julho de 2013

back to the future (ii)

Savages - "City's Full" (2012)

quarta-feira, 17 de julho de 2013

O BPN

Alguém pôs no Memorando de Entendimento uma data limite para a venda do BPN. O Governo ainda em funções fez da venda do BPN um ponto de honra e assinou um contrato para tal, na véspera do fim do prazo estabelecido. Era obrigatória, dizia, quando tempos depois o cancelamento da venda da TAP mostrou a margem de manobra que sempre há nestas coisas. O acordo de venda do BPN envolveu comprovados telefonemas entre o actual Primeiro-Ministro e responsáveis políticos angolanos, país de onde veio o capital para a compra. Foi uma venda com fins políticos, politicamente enquadrada. Desde que o negócio foi feito, fomos sabendo pormenores. Hoje ficámos a saber que os actuais donos do BPN estão a resolver problemas legais herdados e a mandar a conta ao Estado (ver Público). Podemos não perceber nada desses problemas e até pode acontecer que os actuais donos estejam a fazer um serviço ao Estado. Tudo pode ser. O que é verdadeiramente estranho é que o Estado seja obrigado a pagar contas sobre actos que não pode controlar, sobre cujo preço não se pode sequer pronunciar. Não é estranho? É. Mas outra coisa não seria de esperar de um contrato feito nas circunstâncias descritas, por um Governo que não olhou a meios para atingir determinados fins, quase todos contraproducentes. Pode-se passar uma esponja sobre actos destes? Ou tudo isto é normal e só o povo é que não está a ver bem a coisa?

Pedro Lains, 15/07/2013.

Nicolau Santos, "Contas do Dia" Antena 1, 18/07/2013 [.mp3]

sábado, 22 de junho de 2013

terça-feira, 21 de maio de 2013

Mac OS X: como instalar o FFmpeg

... via Homebrew com as principais opções activadas:

~$ brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Alguns exemplos:
Converter .wav para .mp3:
~$ ffmpeg -i ficheiro.wav -f mp3 ficheiro.mp3

Converter .avi para dvd (com legendas):
~$ ffmpeg -i ficheiro.avi -vf subtitles=legendas.srt -target pal-dvd -aspect 16:9 ficheiro.mpeg

Mais info:
- FFmpeg Documentation
- FFmpeg Wiki
...
- 19 ffmpeg commands for all needs

quarta-feira, 15 de maio de 2013

Imbecilidade é isto

(...) Se a troika diz que precisamos cortar quatro mil milhões estruturais pela e para a sustentabilidade do Estado, então o que a minha geração tem de dizer é que se corte os milhões que forem precisos - porque se a troika define os mínimos do sustentável é obrigação dos jovens exigir um país que seja muito para lá dos 'mínimos' da sustentabilidade.

Joana Barata Lopes, presidente da JSD/Lisboa
in DN, 15/05/2013

sábado, 4 de maio de 2013

Sacana do mais reles que há

Conta de Twitter de Passos Coelho (@passoscoelho), 02 de Maio de 2011.

domingo, 28 de abril de 2013

Samsung Galaxy Ace: compilar CyanogenMod 7

OS: Ubuntu Linux 12.04

Requisitos:

1) Para os sistemas de 32 e 64 bits:
~$ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc

Para os sistemas de 64bits:
~$ sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib

2) Sacar o Android SDK em http://developer.android.com/sdk/index.html

3) Acrescentar a respectiva directoria na PATH:
~$ export PATH=${PATH}:~/adt-bundle-linux-x86/sdk/platform-tools

Instruções:

1) Criar as seguintes directorias:
~$ mkdir -p ~/bin
~$ mkdir -p ~/android/cyanogenmod7


2) Sacar o "repo" e torná-lo executável:
~$ cd bin
~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
~$ chmod a+x ~/bin/repo
~$ export PATH=${PATH}:~/bin


3) Sincronizar código fonte do CM7:
~$ cd android/cyanogenmod7
~$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
~$ repo sync -j4


4) Definir CM7 para o SGA:
~$ cd android/cyanogenmod7
~$ source build/envsetup.sh
~$ lunch

- Seleccionar "cm_cooper-userdebug". Se por algum motivo não aparecer na lista, experimentar:
~$ lunch cm_cooper-userdebug (ou "lunch full_cooper-userdebug")

Alternativa:
~$ cd android/cyanogenmod7
~$ cd device/samsung
~$ git clone https://github.com/vo-1/android_device_samsung_cooper cooper


5) Extrair códigos proprietários:
- Conectar o SGA ao computador via USB (activar "Depuração USB").
~$ cd ~/android/cyanogenmod7/device/samsung/cooper
~$ ./extract-files.sh


Alternativa:
~$ cd android/cyanogenmod7
~$ cd vendor/samsung
(não existe? criar manualmente)
~$ git clone https://github.com/vo-1/android_vendor_samsung_cooper cooper

6) Sacar o ROM Manager (requisito necessário para compilar o CyanogenMod):
~$ cd android/cyanogenmod7/vendor/cyanogen
~$ ./get-rommanager


---
Este passo é só para quem escolheu a via "Alternativa" -- ver 4) e 5)
~$ cd android/cyanogenmod7
~$ . build/envsetup.sh

---
Em Debian 7 "Wheezy", criar o atalho python2 para o python2.7:
~$ su
~$ cd /usr/bin
~$ ln -s python2.7 python2

---

7) Iniciar compilação:
~$ brunch cooper

Depois de algumas horas a queimar a CPU, eis que finalmente temos a nossa versão do CyanogenMod (~/android/cyanogenmod7/out/target/product/cooper/cm-7-2013XXXX-UNOFFICIAL-cooper.zip) :)


Desde a última versão "nightly", lançada oficialmente em 01 de Março de 2013, que já foram feitas correcções e alterações importantes (ver changelogs aqui). Ao compilarmos o CyanogenMod directamente da fonte, ficamos com a garantia de ter o sistema sempre actualizado sem estar à espera que alguém o faça por nós ;)

Para mais informações, consultar:
- http://wiki.cyanogenmod.org/w/Build_for_cooper
- http://forum.xda-developers.com/showthread.php?t=2241832
- http://source.android.com/source/initializing.html
...
- http://wiki.cyanogenmod.org/w/Install_CM_for_cooper

Links úteis:
- android-wired-tether

Google Drive/cooper