Planeta Debian Brasil


Antonio Terceiro (terceiro)

pristine-tar updates


pristine-tar is a tool that is present in the workflow of a lot of Debian people. I adopted it last year after it has been orphaned by its creator Joey Hess. A little after that Tomasz Buchert joined me and we are now a functional two-person team.

pristine-tar goals are to import the content of a pristine upstream tarball into a VCS repository, and being able to later reconstruct that exact same tarball, bit by bit, based on the contents in the VCS, so we don’t have to store a full copy of that tarball. This is done by storing a binary delta files which can be used to reconstruct the original tarball from a tarball produced with the contents of the VCS. Ultimately, we want to make sure that the tarball that is uploaded to Debian is exactly the same as the one that has been downloaded from upstream, without having to keep a full copy of it around if all of its contents is already extracted in the VCS anyway.

The current state of the art, and perspectives for the future

pristine-tar solves a wicked problem, because our ability to reconstruct the original tarball is affected by changes in the behavior of tar and of all of the compression tools (gzip, bzip2, xz) and by what exact options were used when creating the original tarballs. Because of this, pristine-tar currently has a few embedded copies of old versions of compressors to be able to reconstruct tarballs produced by them, and also rely on a ever-evolving patch to tar that is been carried in Debian for a while.

So basically keeping pristine-tar working is a game of Whac-A-Mole. Joey provided a good summary of the situation when he orphaned pristine-tar.

Going forward, we may need to rely on other ways of ensuring integrity of upstream source code. That could take the form of signed git tags, signed uncompressed tarballs (so that the compression doesn’t matter), or maybe even a different system for storing actual tarballs. Debian bug #871806 contains an interesting discussion on this topic.

Recent improvements

Even if keeping pristine-tar useful in the long term will be hard, too much of Debian work currently relies on it, so we can’t just abandon it. Instead, we keep figuring out ways to improve. And I have good news: pristine-tar has recently received updates that improve the situation quite a bit.

In order to be able to understand how better we are getting at it, I created a "visualization of the regression test suite results. With the help of data from there, let’s look at the improvements made since pristine-tar 1.38, which was the version included in stretch.

pristine-tar 1.39: xdelta3 by default.

This was the first release made after the stretch release, and made xdelta3 the default delta generator for newly-imported tarballs. Existing tarballs with deltas produced by xdelta are still supported, this only affects new imports.

The support for having multiple delta generator was written by Tomasz, and was already there since 1.35, but we decided to only flip the switch after using xdelta3 was supported in a stable release.

pristine-tar 1.40: improved compression heuristics

pristine-tar uses a few heuristics to produce the smaller delta possible, and this includes trying different compression options. In the release Tomasz included a contribution by Lennart Sorensen to also try the --gnu, which gretly improved the support for rsyncable gzip compressed files. We can see an example of the type of improvement we got in the regression test suite data for delta sizes for faad2_2.6.1.orig.tar.gz:

In 1.40, the delta produced from the test tarball faad2_2.6.1.orig.tar.gz went down from 800KB, almost the same size of tarball itself, to 6.8KB

pristine-tar 1.41: support for signatures

This release saw the addition of support for storage and retrieval of upstream signatures, contributed by Chris Lamb.

pristine-tar 1.42: optionally recompressing tarballs

I had this idea and wanted to try it out: most of our problems reproducing tarballs come from tarballs produced with old compressors, or from changes in compressor behavior, or from uncommon compression options being used. What if we could just recompress the tarballs before importing then? Yes, this kind of breaks the “pristine” bit of the whole business, but on the other hand, 1) the contents of the tarball are not affected, and 2) even if the initial tarball is not bit by bit the same that upstream release, at least future uploads of that same upstream version with Debian revisions can be regenerated just fine.

In some cases, as the case for the test tarball util-linux_2.30.1.orig.tar.xz, recompressing is what makes it possible to reproduce the tarball (and thus import it with pristine-tar) possible at all:

util-linux_2.30.1.orig.tar.xz can only be imported after being recompressed

In other cases, if the current heuristics can’t produce a reasonably small delta, recompressing makes a huge difference. It’s the case for mumble_1.1.8.orig.tar.gz:

with recompression, the delta produced from mumble_1.1.8.orig.tar.gz goes from 1.2MB, or 99% of the size to the original tarball, to 14.6KB, 1% of the size of original tarball

Recompressing is not enabled by default, and can be enabled by passing the --recompress option. If you are using pristine-tar via a wrapper tool like gbp-buildpackage, you can use the $PRISTINE_TAR environment variable to set options that will affect any pristine-tar invocations.

Also, even if you enable recompression, pristine-tar will only try it if the delta generations fails completely, of if the delta produced from the original tarball is too large. You can control what “too large” means by using the --recompress-threshold-bytes and --recompress-threshold-percent options. See the pristine-tar(1) manual page for details.

09/10/2017 15:06


Antonio Terceiro (terceiro)


I’m back from Debconf17.

I gave a talk entitled “Patterns for Testing Debian Packages”, in which I presented a collection of 7 patterns I documented while pushing the Debian Continuous Integration project, and were published in a 2016 paper. Video recording and a copy of the slides are available.

I also hosted the ci/autopkgtest BoF session, in which we discussed issues around the usage of autopkgtest within Debian, the CI system, etc. Video recording is available.

Kudos for the Debconf video team for making the recordings available so quickly!

14/08/2017 17:27


João Eriberto Mota Filho

Como migrar do Debian Jessie para o Stretch

Bem vindo ao Debian Stretch!

Ontem, 17 de junho de 2017, o Debian 9 (Stretch) foi lançado. Eu gostaria de falar sobre alguns procedimentos básicos e regras para migrar do Debian 8 (Jessie).

Passos iniciais

  • A primeira coisa a fazer é ler a nota de lançamento. Isso é fundamental para saber sobre possíveis bugs e situações especiais.
  • O segundo passo é atualizar o Jessie totalmente antes de migrar para o Stretch. Para isso, ainda dentro do Debian 8, execute os seguintes comandos:
# apt-get update
# apt-get dist-upgrade


  • Edite o arquivo /etc/apt/sources.list e altere todos os nomes jessie para stretch. A seguir, um exemplo do conteúdo desse arquivo (poderá variar, de acordo com as suas necessidades):
deb stretch main
deb-src stretch main
deb stretch/updates main
deb-src stretch/updates main
  • Depois, execute:
# apt-get update
# apt-get dist-upgrade

Caso haja algum problema, leia as mensagens de erro e tente resolver o problema. Resolvendo ou não tal problema, execute novamente o comando:

# apt-get dist-upgrade

Havendo novos problemas, tente resolver. Busque soluções no Google, se for necessário. Mas, geralmente, tudo dará certo e você não deverá ter problemas.

Alterações em arquivos de configuração

Quando você estiver migrando, algumas mensagens sobre alterações em arquivos de configuração poderão ser mostradas. Isso poderá deixar alguns usuários pedidos, sem saber o que fazer. Não entre em pânico.

Existem duas formas de apresentar essas mensagens: via texto puro em shell ou via janela azul de mensagens. O texto a seguir é um exemplo de mensagem em shell:

Ficheiro de configuração '/etc/rsyslog.conf'
 ==> Modificado (por si ou por um script) desde a instalação.
 ==> O distribuidor do pacote lançou uma versão atualizada.
 O que deseja fazer? As suas opções são:
 Y ou I : instalar a versão do pacote do maintainer
 N ou O : manter a versão actualmente instalada
 D : mostrar diferenças entre as versões
 Z : iniciar uma shell para examinar a situação
 A ação padrão é manter sua versão atual.
*** rsyslog.conf (Y/I/N/O/D/Z) [padrão=N] ?

A tela a seguir é um exemplo de mensagem via janela:

Nos dois casos, é recomendável que você escolha por instalar a nova versão do arquivo de configuração. Isso porque o novo arquivo de configuração estará totalmente adaptado aos novos serviços instalados e poderá ter muitas opções novas ou diferentes. Mas não se preocupe, pois as suas configurações não serão perdidas. Haverá um backup das mesmas. Assim, para shell, escolha a opção "Y" e, no caso de janela, escolha a opção "instalar a versão do mantenedor do pacote". É muito importante anotar o nome de cada arquivo modificado. No caso da janela anterior, trata-se do arquivo /etc/samba/smb.conf. No caso do shell o arquivo foi o /etc/rsyslog.conf.

Depois de completar a migração, você poderá ver o novo arquivo de configuração e o original. Caso o novo arquivo tenha sido instalado após uma escolha via shell, o arquivo original (o que você tinha anteriormente) terá o mesmo nome com a extensão .dpkg-old. No caso de escolha via janela, o arquivo será mantido com a extensão .ucf-old. Nos dois casos, você poderá ver as modificações feitas e reconfigurar o seu novo arquivo de acordo com as necessidades.

Caso você precise de ajuda para ver as diferenças entre os arquivos, você poderá usar o comando diff para compará-los. Faça o diff sempre do arquivo novo para o original. É como se você quisesse ver como fazer com o novo arquivo para ficar igual ao original. Exemplo:

# diff -Naur /etc/rsyslog.conf /etc/rsyslog.conf.dpkg-old

Em uma primeira vista, as linhas marcadas com "+" deverão ser adicionadas ao novo arquivo para que se pareça com o anterior, assim como as marcadas com "-" deverão ser suprimidas. Mas cuidado: é normal que haja algumas linhas diferentes, pois o arquivo de configuração foi feito para uma nova versão do serviço ou aplicativo ao qual ele pertence. Assim, altere somente as linhas que realmente são necessárias e que você mudou no arquivo anterior. Veja o exemplo:

+ news.err;\
+ *.=debug;*.=info;\
+ *.=notice;*.=warn |/dev/xconsole
+*.* @sam

No meu caso, originalmente, eu só alterei a última linha. Então, no novo arquivo de configuração, só terei interesse em adicionar essa linha. Bem, se foi você quem fez a configuração anterior, você saberá fazer a coisa certa. Geralmente, não haverá muitas diferenças entre os arquivos.

Outra opção para ver as diferenças entre arquivos é o comando mcdiff, que poderá ser fornecido pelo pacote mc. Exemplo:

# mcdiff /etc/rsyslog.conf /etc/rsyslog.conf.dpkg-old

Problemas com ambientes e aplicações gráficas

É possível que você tenha algum problema com o funcionamento de ambientes gráficos, como Gnome, KDE etc, ou com aplicações como o Mozilla Firefox. Nesses casos, é provável que o problema seja os arquivos de configuração desses elementos, existentes no diretório home do usuário. Para verificar, crie um novo usuário no Debian e teste com ele. Se tudo der certo, faça um backup das configurações anteriores (ou renomeie as mesmas) e deixe que a aplicação crie uma configuração nova. Por exemplo, para o Mozilla Firefox, vá ao diretório home do usuário e, com o Firefox fechado, renomeie o diretório .mozilla para .mozilla.bak, inicie o Firefox e teste.

Outros possíveis problemas

É possível que alguns pacotes fiques "engasgados". Isso ocorrerá, principalmente, se você tiver misturado pacotes, instalando algumas coisas que não tenham vindo dos repositórios oficiais do Debian. Após tentar o comando apt-get dist-upgrade umas duas vezes sem sucesso, observe as mensagens de erro, remova o pacote problemático (com apt-get remove) e tente o apt-get dist-upgrade novamente.

Está inseguro?

Caso você esteja muito inseguro, instale um Debian 8, com ambiente gráfico e outras coisas, em uma máquina virtual e migre para Debian 9 para testar e aprender. Sugiro VirtualBox como virtualizador. Depois de uma pequena experiência, provavelmente, você estará apto a fazer a migração do seu sistema.



por Eriberto em 18/06/2017 17:58


João Eriberto Mota Filho

Debian Developers living in South America

Well, I made this map using data from As an example, currently, there are 27 Brazilian DDs. However, there are 23 DDs living in Brazil.


por Eriberto em 12/06/2017 02:11


João Eriberto Mota Filho

OpenVAS 9 from Kali Linux 2017.1 to Debian 9

The OpenVAS

OpenVAS is a framework of several services and tools offering a comprehensive and powerful vulnerability scanning and vulnerability management solution. The framework is part of Greenbone Networks' commercial vulnerability management solution from which developments are contributed to the Open Source community since 2009.

OpenVAS is composed of some elements, as OpenVAS-Cli, Greenbone Security Assistant, OpenVAS Scanner and OpenVAS Manager.

The official OpenVAS homepage is

From Kali Linux 2017.1 to Debian 9

Ok, this is a temporary solution. Now (June 2017), Debian 9 wasn't released yet and OpenVAS 9 is not available in Debian in good conditions (it is in Experimental but a bit problematic). I think that we will have OpenVAS in backports soon.

The OpenVAS 9 from Kali is working perfect for Debian 9. So, to take advantage of this, adopt the following procedures:

1. Add a line to end of /etc/apt/sources.list file:

deb kali-rolling main

2. Run:

# apt-get update
# apt-get install -t kali-rolling openvas

(if you want to simulate before install, add a -s option before -t)

3. Rermove or comment the previous line added to /etc/apt/sources.list file to avoid future problems in your Debian.

4. Run the following command to configure the OpenVAS and to download the initial database:

# openvas-setup

This step may take some time. Note that the initial password for user admin will be created and shown.

5. Finally, open a web browser and access the address (use https!!!). Alternatively, you can call to be automagically redirected to

The default user is admin and the password was shown in the last step. You will can change this password inside OpenVAS (menu Administration > Users > Edit User, which is an blue icon).

If your password was lost, you will be able to create a new administrative user via shell command. See the section "Some tips" below.

6. To see the packages installed from Kali Linux, use the command:

$ dpkg -l | grep kali

Some tips

To create a new administrative user called test:

# openvasmd --create-user test --role Admin

To update the database (NVTs):

# openvasmd --update
# openvasmd --rebuild
# service openvas-scanner restart

To solve the message "Login failed. Waiting for OMP service to become available":

# openvas-start

To make OpenVAS listen all network interfaces, allowing one to call the service in a remote web browser (http://remote-server, port 80 only), edit the /lib/systemd/system/greenbone-security-assistant.service and change:

ExecStart=/usr/sbin/gsad --foreground --listen= --port=9392 --mlisten= --mport=9390


ExecStart=/usr/sbin/gsad --foreground --listen= --port=9392 --mlisten= --mport=9390

After the change, reload the configuration and restart the service:

# systemctl daemon-reload
# systemctl restart greenbone-security-assistant

Quick start for beginners

If OpenVAS isn't familiar for you, I have a suggestion for a quick test. Firstly, download Ubuntu Server 8.04 from this page and install it inside a virtual machine, selecting all services as LAMP, SSH etc. I used the i386 version and VirtualBox. After this, use OpenVAS to scan the Ubuntu (menu Scans > Tasks > a pink icon with a magic wand in the upper left corner). After the scan, click over the blue bar where we will can see the word "Done".


por Eriberto em 08/06/2017 01:08


Antonio Terceiro (terceiro)

Papo Livre #1 - meios de comunicação

Acabamos de lançar mais um episódio do Papo Livre: #1 – meios de comunicação.

Neste episódio eu, Paulo Santana e Thiago Mendonça discutimos os diversos meios de comunicação em comunidades de software livre. A discussão começa pelos meios mais “antigos”, como IRC e listas de discussão e chega aos mais “modernos”, passo pelo meio livre e meio proprietário Telegram, e chega à mais nova promessa nessa área, Matrix (e o seu cliente mais famoso/viável, Riot).

06/06/2017 12:46


Antonio Terceiro (terceiro)

Debian CI: new data retention policy

When I started debci for Debian CI, I went for the simplest thing that could possibly work. One of the design decisions was to use the filesystem directly for file storage. A large part of the Debian CI data is log files and test artifacts (which are just files), and using the filesystem directly for storage makes it a lot easier to handle it. The rest of the data which is structured (test history and status of packages) is stored as JSON files.

Another nice benefit of using the filesystem like this is that I get a sort of REST API for free by just exposing the file storage to the web. For example, getting the latest test status of debci itself on unstable/amd64 is as easy as:

$ curl
  "run_id": "20170528_173652",
  "package": "debci",
  "version": "1.5.1",
  "date": "2017-05-28 17:43:05",
  "status": "pass",
  "blame": [],
  "previous_status": "pass",
  "duration_seconds": "373",
  "duration_human": "0h 6m 13s",
  "message": "Tests passed, but at least one test skipped",
  "last_pass_version": "1.5.1",
  "last_pass_date": "2017-05-28 17:43:05"

Now, nothing in life is without compromises. One big disadvantage of the way debci stored its data is that there were a lot of files, which ends up using a large number of inodes in the filesystem. The current Debian CI master has more than 10 million inodes in its filesystem, and almost all of them were being used. This is clearly unsustainable.

You will notice that I said stored, because as of version 1.6, debci now implements a data retention policy: log files and test artifacts will now only be kept for a configurable amount of days (default: 180).

So there you have it: effective immediately, Debian CI will not provide logs and test artifacts older than 180 days.

If you are reporting bugs based on logs from Debian CI, please don’t hotlink the log files. Instead, make sure you download the logs in question and attach them to the bug report, because in 6 months they will be gone.

28/05/2017 21:20


Antonio Terceiro (terceiro)

Papo Livre Podcast, episodio #0

Podcasts têm sido um dos meus passatempos favoritos a um tempo. Eu acho que é um formato muito interssante, por dois motivos.

Primeiro, existem muitos podcasts com conteúdo de altíssima qualidade. Meu feed atualmente contém os seguintes (em ordem de assinatura):

Parece muito, e é. Ultimamente eu notei que estava ouvindo episódios com várias semanas de atraso, e resolvi priorizar episódios cujo tema me interessam muito e/ou que dizem respeito a temas da atualidade. Além disso desencanei de tentar escutar tudo, e passei a aceitar que vou deletar alguns itens sem escutar.

Segundo, ouvir um podcast não exige que você pare pra dar atenção total. Por exemplo, por conta de uma lesão no joelho que me levou a fazer cirurgia reconstrução de ligamento, eu estou condenado a fazer musculação para o resto da minha vida, o que é um saco. Depois que eu comecei a ouvir podcasts, eu tenho vontade de ir pra academia, porque agora isso representa o meu principal momento de ouvir podcast. Além disso, toda vez que eu preciso me deslocar sozinho pra qualquer lugar, ou fazer alguma tarefa chata mas necessária como lavar louça, eu tenho companhia.

Fazia um tempo que eu tinha vontade de fazer um podcast, e ontem oficialmente esse projeto se tornou realidade. Eu, Paulo Santana e Thiago Mendonça estamos lançando o Podcast Papo Livre onde discutiremos software livre em todos os seus aspectos.

No primeiro episódio, partindo da notícia sobre a vinda de Richard Stallman ao Brasil nas próximas semanas, discutimos as origens e alguns conceitos fundamentais do software livre.

23/05/2017 13:00


Antonio Terceiro (terceiro)

Patterns for Testing Debian Packages

At the and of 2016 I had the pleasure to attend the 11th Latin American Conference on Pattern Languages of Programs, a.k.a SugarLoaf PLoP. PLoP is a series of conferences on Patterns (as in “Design Patterns”), a subject that I appreciate a lot. Each of the PLoP conferences but the original main “big” conference has a funny name. SugarLoaf PLoP is called that way because its very first edition was held in Rio de Janeiro, so the organizers named it after a very famous mountain in Rio. The name stuck even though a long time has passed since it was held in Rio for the last time. 2016 was actually the first time SugarLoaf PLoP was held outside of Brazil, finally justifying the “Latin American” part of its name.

I was presenting a paper I wrote on patterns for testing Debian packages. The Debian project funded my travel expenses through the generous donations of its supporters. PLoP’s are very fun conferences with a relaxed atmosphere, and is amazing how many smart (and interesting!) people gather together for them.

My paper is titled “Patterns for Writing As-Installed Tests for Debian Packages”, and has the following abstract:

Large software ecosystems, such as GNU/Linux distributions, demand a large amount of effort to make sure all of its components work correctly invidually, and also integrate correctly with each other to form a coherent system. Automated Quality Assurance techniques can prevent issues from reaching end users. This paper presents a pattern language originated in the Debian project for automated software testing in production-like environments. Such environments are closer in similarity to the environment where software will be actually deployed and used, as opposed to the development environment under which developers and regular Continuous Integration mechanisms usually test software products. The pattern language covers the handling of issues arising from the difference between development and production-like environments, as well as solutions for writing new, exclusive tests for as-installed functional tests. Even though the patterns are documented here in the context of the Debian project, they can also be generalized to other contexts.

In practical terms, the paper documents a set of patterns I have noticed in the last few years, when I have been pushing the Debian Continous Integration project. It should be an interesting read for people interested in the testing of Debian packages in their installed form, as done with autopkgtest. It should also be useful for people from other distributions interested in the subject, as the issues are not really Debian-specific.

I have recently finished the final version of the paper, which should be published in the ACM Digital Library at any point now. You can download a copy of the paper in PDF. Source is also available, if you are into markdown, LaTeX, makefiles and this sort of thing.

If everything goes according to plan, I should be presenting a talk on this at the next Debconf in Montreal.

17/03/2017 01:23


João Eriberto Mota Filho

Debian with three monitors under low cost graphics interface

Since 2008 I use two monitors in my desktop. Yesterday I bought a new graphics interface and a third monitor. Some time I was looking for a low cost graphics interface. Ok, I am using GeForce GT 740 which has three output ports: VGA, DVI and HDMI. In Brazil this interface card can be found around R$ 400 (US$ 117, but my card was US$ 87 in Brazilian Black Friday). In, it is between US$ 51 and US$ 109. The chosen manufacturer was Zotac, but all GT 740 and 750 will work fine (I tested the GT 750 too).

The GeForce GT 740 was imediatelly recognised by Debian Jessie with kernel Linux 4.7.0 from Backports (it is my default, so I didn't test with original 3.16 kernel). The driver used was the default X.Org Nouveau. I use KDE and the management was easy.

I hope this post can help people interested in use 3 monitors. Enjoy!



por Eriberto em 27/11/2016 18:27


João Eriberto Mota Filho

Statistics to Choose a Debian Package to Help

In the last week I played a bit with UDD (Ultimate Debian Database). After some experiments I did a script to generate a daily report about source packages in Debian. This report is useful to choose a package that needs help.

The daily report has six sections:

  • Sources in Debian Sid (including orphan)
  • Sources in Debian Sid (only Orphan, RFA or RFH)
  • Top 200 sources in Debian Sid with outdated Standards-Version
  • Top 200 sources in Debian Sid with NMUs
  • Top 200 sources in Debian Sid with BUGs
  • Top 200 sources in Debian Sid with RC BUGs

The first section has several important data about all source packages in Debian, ordered by last upload to Sid. It is very useful to see packages without revisions for a long time. Other interesting data about each package are Standards-Version, packaging format, number of NMUs, among others. Believe it or not, there are packages uploaded to Sid for the last time 2003! (seven packages)

With the report, you can choose a ideal package to do QA uploads, NMUs or to adopt.

Well, if you like to review packages, this report is for you: Enjoy!


por Eriberto em 18/09/2016 03:30


Antonio Terceiro (terceiro)

Debian CI updates for September 2016

debci 1.4 was released just a few days ago. Among general improvements, I would like to highlight:

  • pretty much every place in the web UI that mentions a PASS or a FAIL also displays the tested package version. This was suggested to me on IRC by Holger
  • I also tried to workaround an instability when setting up the LXC containers used for the tests, where the test bed process setup would finish without failure even though some steps in the middle of it failed. This caused the very final step for the debci-specific setup to fail, so there was no debci user inside the container, which caused tests to fail because that user was missing. Before that was fixed I was always keeping an eye on this issue, fixing the issue by hand, and re-triggering the affected packages by hand, so as far I can tell there is no package whose status has been permanently affected by this.
  • Last, but not least, this release brings an interesting contribution by Gordon Ball, which is keeping track of different failure states. debci will now let you know whether a currently failing package has always failed, has passed in a previous version, or if the same version that is currently failing has previously passed. has been upgraded to debci 1.4 just after that. At the same time I have also upgraded autodep8 and autopkgtest to their latest versions, available in jessie-backports. This means that it is now safe for Debian packages to assume the changes in autopkgtest 4.0 are available, in special the $AUTOPKGTEST_* environment variables.

In other news, for several weeks there were had issues with tests not being scheduled when they should have. I was just assuming that the issue was due to the existing test scheduler, debci-batch, being broken. Today I was working on a new implementation that is going to be a lot faster, I started to hit a similar issue on my local tests, and finally realized what was wrong. The fact is that debci-batch stores the timestamp of the last time a package has been scheduled to run, and it there are no test result after that timestamp, it assumes the package is still in the queue to be tested, and does not schedule it again. It turns out that a few weeks ago, during maintainance work, I had cleared the queue, discarding all jobs that were there, but forgot to reset those timestamps, so when debci-batch came around again, it checked the timestamp of the last request and did not make new requests because there was no test result after that timestamp! I cleared all those timestamps, and the system should now go back to normal.

That is it for now. I you want to contribute to the Debian CI project and want to get in touch, you can pop up on the #debci channel on the OFTC IRC network, or mail the autopkgtest-devel mailing list.

07/09/2016 22:07


Antonio Terceiro (terceiro)

testing build reproducibility with debrepro

Earlier today I was handling a reproducibility bug and decided I had to try a reproducibility test by myself. I tried reprotest, but I was being hit by a disorderfs issue and I was not sure whether the problem was with reprotest or not (at this point I cannot reproduce that anymore).

So I decided to hack a simple script to that, and it works. I even included it in devscripts after writing a manpage. Of course reprotest is more complete, extensible, and supports arbitrary virtualization backends for doing the more dangerous/destructive variations (such as changing the hostname and other things that require root) but for quick tests debrepro does the job.

Usage examples:

$ debrepro                                 # builds current directory
$ debrepro /path/to/sourcepackage          # builds package there
$ gbp-buildpackage --git-builder=debrepro  # can be used with vcs wrappers as well

debrepro will do two builds with a few variations between them, including $USER, $PATH, timezone, locale, umask, current time, and will even build under disorderfs if available. Build path variation is also performed because by definition the builds are done in different directories. If diffoscope is installed, it will be used for deep comparison of non-matching binaries.

If you are interested and don’t want to build devscripts from source or wait for the next release, you can just grab the script, save it as “debrepro” somewhere on your $PATH and make it executable.

03/09/2016 16:58


João Eriberto Mota Filho

Debian: GnuPG 2, chroot and debsign

Since GPG 2 was set as default for Debian (Sid, August 2016), an error message appeared inside jails triggered by chroot, when using debuild/debsign commands:

clearsign failed: Inappropriate ioctl for device

The problem is that GPG 2 uses a dialog window to ask for a passphrase. This dialog window needs a tty (from /dev/pts/ directory). To solve the problem, you can use the following command (inside the jail):

# mount devpts -t devpts /dev/pts

Alternatively, you can add to /etc/fstab file in jail:

devpts /dev/pts devpts defaults 0 0

and use the command:

# mount /dev/pts


por Eriberto em 19/08/2016 01:38


Antonio Terceiro (terceiro)

Adopting pristine-tar

As of yesterday, I am the new maintainer of pristine-tar. As it is the case for most of Joey Hess’ creations, it is an extremely useful tool, and used in a very large number of Debian packages which are maintained in git.

My first upload was most of a terrain recognition nature: I did some housekeeping tasks, such as making the build idempotent and making sure all binaries are built with security hardening flags, and wrote a few automated test cases to serve as build-time and run-time regression test suite. No functional changes have been made.

As Joey explained when he orphaned it, there are a few technical challenges involved in making sure pristine-tar stays useful in the future. Although I did read some of the code, I am not particularly familiar with the internals yet, and will be more than happy to get co-maintainers. If you are interested, please get in touch. The source git repository is right there.

22/05/2016 14:02


Antonio Terceiro (terceiro)

Debian Ruby Sprint 2016 - day 5: More Reproducible Builds, Retrospective, and A Little Bit of Tourism

Earlier today I was made aware by Holger of the results of our reproducibility efforts during the sprint. I would like to thank Lunar for pinging us about the issue, and Holger for pointing me to updated results. The figure below depicts a stacked area chart where the X axis is time and the green area is reproducible packages. Red is packages that fail to build, and Orange are unreproducible packages

I was able to book accommodation for the sprint attendees very close to both my place and the sprint venue, what was very useful but also had this downside of them not being able to see much of city. As the final day of the sprint was getting closer, we decided to have a different lunch to allow them to see one of the most famous local landmarks, the botanical gardens.

So we headed down to the botanical gardens, grabbed a few items for lunch at the park coffee shop, and set out to visit this very beautiful place. I have to say that there is the place were I usually take every visitor I have. We were joined by Gioavani who had just arrived for the the MiniDebconf on the following weekend.

The final lists of accomplishments of the day was again very impressive

  • r10k 2.1.1-2
  • run massive update on team repositories
    • bump Standards-Version
    • fix Vcs-* fields
    • drop version in gem2deb build-dependency
    • set debhelper compatibility level to 9
    • update the default ruby-tests.rake
  • day 4 report
  • uploaded ruby-faraday-middleware-multi-json 0.0.6-2
  • uploaded ruby-powerpack 0.1.1-2
  • uploaded ruby-contracts 0.13.0-1
  • uploaded ruby-chef-config 12.7.2-1 (NEW)
  • uploaded ruby-foreigner #808530 and asked it removal from the NEW queue (was already ROMed)
  • filled for RM ruby-opengraph-parser (#816752)
  • new how-can-i-help version developed and uploaded
  • uploaded ruby-romkan to unstable (from exp)
  • uploaded ruby-rinku to unstable (from exp)
  • uploaded ruby-ole to unstable (from exp)
  • uploaded ruby-net-ldap to unstable (from exp)
  • uploaded ruby-rack-mobile-detect to unstable (from exp)
  • uploaded gem2deb 0.28 to help with reproducible builds: filenames are now sorted
  • uploaded rails 2: with packaging improvements
    • run unit tests during the build and on CI
    • apply upstream patch to fix ActiveRecord breakage under Ruby 2.3
  • pushed a ton of tags for existing uploads
  • merged improvements to the team master repository
    • review/cleanup the contents of the repository
    • improved helper scripts to automate the workflow (upload, build, new-upstream, etc)
  • followed up on ruby2.3 transition, filed #816698 against subversion because of ftbfs on mips, mipsel
  • put ruby-cocoon into a better state
  • uploaded ruby-plist
  • gem2deb: gem2tgz will now create foo.gemspec (easier to patch) instead of metadata.yml
  • gemwatch: ditto
  • close #794139 jekyll bug (unreproducible)
  • close #798934 ruby-ffi-rzmq bug (unreproducible)
  • closed ftbfs #816586 #800057 #784699 as unreproducible
  • reassigned #760952 #680297 to ruby2.3 (from ruby2.2)
  • investigated how to list packages with non-buildd-binary uploads
  • ScottK has removed ruby2.1 from unstable!

By the end of the afternoon I asked everyone to fill out a simple retrospective list, what we can use later to make future sprints better and better. Below are the results we got.

What was good:

  • restricted room hours actually made for a nice rhythm (did not apply for a long time…)
  • very good food
  • very cheap food!
  • longer period makes the effort of travel more worthwhile
  • many participants and longer sprint than usual allowing more work to be done
  • good preparation with clear goals, make the sprint usefull
  • patience with the less experienced participants
  • RFS very fast
  • Antônio is an excellent host
  • You all are so helpful
  • great dinners

What could be better:

  • room too close to the street, too much vehicle noise, but sometimes nice music
  • more coffee ^W meat
  • could know more portugues so ordering food would have been easier
  • debian infra could have not been down during the sprint

The night ended at Bar do Alemão (“The German’s Bar”). Both their beer and their food are very good, but I don’t have enough elements to vouch for their authenticity. :) We were joined by Giovani (who we also met earlier in the botanic gardens), and by Paulo and Daniel who are organizing the MiniDebconf.

And that is the end of this year’s Debian Ruby team sprint. I hope we do it all over again next year.

05/03/2016 16:21


Antonio Terceiro (terceiro)

Debian Ruby Sprint 2016 - day 4: Steady Progress, Deferred Spring Cleaning, and Capital Sins

As the day 4 of the Debian Ruby team sprint in Curitiba unfolded, we have now fixed a total of more than 70 build failure bugs, managed to almost finish the Ruby 2.3 transition to be good to migrate into testing, and bootstrapped some documentation that will help new contributors get up to speed with Ruby packaging faster.

We have also requested the removal of several packages that are either severely outdated, abandoned upstream, beyond repair, utterly wrong, or in some cases, all of the above.

The full list of work items finished yesterday is:

  • filed for RM ruby-rubysl-test-unit (no rdeps, duplicates ruby-test-unit)
  • filed for RM ruby-literati (no rdeps left)
  • uploaded ruby-certificate-authority 0.1.6-2
  • uploaded ruby-pdf-reader 1.4 (Closes: FTBFS #795763)
  • uploaded ruby-http 1.0.2-1 (Closes: #795752)
  • raise severity of FTBFS bugs with ruby2.3
  • day 3 report
  • NMU pcs and upload to DELAYED/2 to remove dependency on ruby-monkey-lib and build-dependency on ruby2.1-dev
  • upload ruby-parslet (Closes: #795046)
  • initial documentation of packaging workflow with updated helper scripts in the team repo –
  • ask for the removal of ruby-rspec-longrun
  • ruby-opengraph-parser – upstream bug; upstream unresponsive; asked uploader about removal (no rdeps)
  • fix ruby-celluloid-io for ruby2.3
  • fixed ruby-buff-extension to work on ruby2.3
  • uploaded newer ruby-varia-model upstream to work with newer ruby-hashie
  • ask for the removal of mdpress
  • uploaded ruby-buff-config, ruby-semverse, ruby-buff-ruby-engine, ruby-buff-ignore, ruby-buff-shell-out to remove spork
  • filed for RM spork (obsolete, broken)
  • filed for RM ruby-gsl on failing archs
  • upload ruby-solve (Closes: #816359, thanks zeha!)
  • update ruby-standalone to work properly with ruby2.3 (needs to remove the rake binary)
  • upload ruby-memfs
  • ruby-rack (1.6.4-3) (ROM ruby-memcache-client)
  • ruby-parslet 1.7.1-1 #795046
  • upload ruby-listen
  • upload ruby-clockwork
  • upload ruby-bio with a patch to avoid transient FTBFS because of undefined class names
  • fixed ruby-fakeweb ftbfs
  • cleaned up old repositories on git.d.o
  • investigated PET status (appears to somewhat work, but mostly decaying)
  • uploaded ruby-ogginfo
  • upload ruby-libxml (agan!)
  • upload racc 1.4.14-1
  • upload ruby-sidekiq-cron
  • how-can-i-help updated
  • racc 1.4.14-1 (not ruby-racc ;-))

We also managed to flirt with 2 capital sins. For those who care about these things, which I don’t (but I still care about you), I guess 2 out of 7 still means we are good? :-)

I few people that I will not name complained that they hadn’t had enough steak on the previous night, so we set out to visit a traditional all-you-can-eat Brazilian steakhouse (“churrascaria”). I made a reservation at Jardins Grill and there you have gluttony. I am pretty sure that “not enough steak” wasn’t an issue last night. You can see how happy, despite being full to almost the point of being sick, everyone was.

A disjunct set of people, who I will also not name, were very disappointed to find out that the ruby-tinder package has absolutely nothing to do with Tinder but were still very active on the later. Maybe Friday night we will have to split the group into a lust-free family party and a Tinder party.

04/03/2016 13:42


Antonio Terceiro (terceiro)

Debian Ruby Sprint 2016 - day 3: Ruby 2.3 in unstable, Reproducible Builds, and Data Structures for Dinner Booths

Day 3 was again a full of useful work. Since the beginning of the sprint, we were able to fix more than 50 FTBFS¹ bugs, alongside general quality improvements in the packages.

¹ in the Debian jargon, FTBFS means that a package “fails to build from source”, which in Debian is a critical bug because users need to be able to produce binary packages from their source code to fully exercise the free software principles.

An important milestone that was also achieved on day 3 was the upload of ruby-defaults 1:2.3.0+1, making ruby2.3 the new default version of Ruby. That is the version that will shipped in the next Debian release, codenamed stretch. This is the culmination of a joint effort between the Ruby team and Debian Release Team that involves rebuilding a little more than 130 packages that use the Ruby C API to make sure everything will just work on upgrades, both from the previous stable release, and from earlier snapshots of the current development release.

Another small change that will have a big impact for Debian and for free software was an improvement to gem2deb that fixes a reproducibility issue in Ruby packages and will help currently more than 100 Ruby packages become reproducible.

The full list of items that have been worked on is this:

  • sponsor ruby-github-linguist. Closes: #815908. Thanks balasankar
  • rebuild remaining failing packages – 55 remaining!
  • uploaded ruby-em-synchrony (FTBFS #800029)
  • day 2 report blog post
  • ruby-certificate-authority-0.1.6-1 (#816506)
  • filed for ruby-grack removal
  • uploaded ruby-em-synchrony
  • uploaded ruby-mathml (FTBS #800029)
  • uploaded new upstream version of ruby-redis which claims better ruby2.2 support
  • uploaded pry (0.10.3-2), hoping it will build correctly on the buildd
  • uploaded ruby-hashery
  • rails security issues: CVE-2016-2098, CVE-2016-2097
    • fixed in unstable on 2:
    • contacted security team for jessie update
  • uploaded ruby-ruby-engine, ruby-ruby-version, ruby-rspec-pending-for to NEW
  • updated ruby-hashie to new upstream version
  • ruby-remcached (fix FTBFS)
  • made the switch to ruby2.3 in unstable *********
  • filed as ruby-awesome-print triggers this
  • uploaded ruby-rspec 3.4
  • uploaded ruby-rspec-rails 3.4
  • uploaded ruby-grack 2.0.2-2 (fix FTBFS)
  • ruby-memcache-client (#797256) => RoM ruby-memcache-client (#816538) +
  • upload ruby-acts-as-lists (Closes: FTBS #816482)
  • ruby-beautify: fixed and uploaded
  • filed for ruby-foreigner removal (+ fixed diaspora dependency)
  • uploaded newer ruby-origin to fix FTBFS
  • uploaded ruby-responders
  • gem2deb hacking
    • dh-make-ruby will not overwrite debian/copyright anymore
    • force generated gemspecs to use date from debian/changelog. fixes
    • uploaded version 0.27 to unstable
  • make ruby-riddle tests run and work during build
  • ruby-flexmock 2.0.4-1 -> uploaded
  • RoM ruby-memcache-client (done #816538)
  • upload nanoc 4.1.4 and fix tests for ruby2.3
  • Upload new upstream version of ruby-test-after-commit
  • uploaded newer upstream for ruby-origin fixing FTBFS bug

The day ended at Outback, where we had an amount of beer that led us to formulate what we will now call the One-Sided Dinner Booth Problem.

In a party arranged like above, when the people closest to wall need to go alleviate themselves of some beer, you basically have to perform a removal from the bottom of a stack, which requires popping all the elements at the top. When they come back, you have to options:

  • place them back at their original position, in which case
    • the people who stayed have to either stay standing or get up all over again (not sure what is worse)
    • the odds are that the next person to leave will require less effort from the others
  • shift everyone to places against the wall and place the one coming back at the very end of the bench away from the wall, in which case
    • the people who stayed are perhaps less annoyed, but you have to rearrange plates and pints
    • it is less likely that the next time will require less effort from the others

The One-Sided Dinner Booth Problem is finding the optimal data structure and algorithm for this situation. It is postulated that this is an NP-complete problem, and that only probabilistic solutions are cost-effective.

03/03/2016 13:42


Antonio Terceiro (terceiro)

Debian Ruby Sprint 2016 - day 2: Japanese cuisine, bug fixes, and Mini Cheese&Wine Party

Day 1 ended with dinner at a Yamato, my preferred Japanese restaurant in the city. Curitiba has a very large Japanese community, and lots of Japanese restaurants. Yamato, however, is the only one were you will stumble upon senior Japanese people, probably first or second generation immigrants, what I guess says something about its authenticity.

Right after breaking for lunch, but before actually going out, we made what so far is official group photo (I might try again as the shot was not a really good one).

Of course the most interesting part was the actual work that was done, and day 2 list is not less impressive than the day before:

  • ruby-albino 1.3.3-4 (#813644) @sbadia
  • #816256: ruby-versionomy: FTBFS: `require’: cannot load such file — blockenspiel/unmixer_mri (LoadError)
  • investiage ruby2.1 removal
  • upload ruby-beautify
  • upload ruby-aws-sdk
  • made ruby-blockenspiel arch:all again
  • filed RC bug against pcs depending on ruby2.1-dev
  • ruby-dev in experimental now supports `pkg-config ruby` so packages can use pkg-config to build against the current default Ruby
  • ruby-libxml (some tests skipped)
  • fixed FTBFS #804794 in subtle delaying ruby2.1 removal (now in DELAYED/2)
  • mailed debian-ruby and ask people to test ruby2.3 as default
  • #816162: ruby-zentest: FTBFS: Failure: TestZenTest#test_testcase9
  • ruby-sshkit 1.9.0~rc1-1 (795118)
    • capistrano 3.4.0-1 + ruby-sshkit 1.9.0~rc1-1 =>
  • filed for ruby-patron removal
  • updated and uploaded ruby-pygments.rb updated + patch for tests (fix #812940)
  • discussed dependency cycle resolution
    • will keep cycle between ruby2.3 and rake (as they really need each other)
    • will break cycle from pure ruby packages to ruby when they are depended on by ruby2.3
    • for same package set, enable Multi-Arch: foreign when needed
  • uploaded ruby-power-assert (M-A foreign, break ruby cycle)
  • uploaded ruby-did-you-mean (M-A foreign, break ruby cycle)
  • uploaded ruby-minitest (M-A foreign, break ruby cycle)
  • uploaded ruby-test-unit (M-A foreign, break ruby cycle)
  • uploaded rake (M-A foreign)
  • uploaded ruby-net-telnet (M-A foreign)
  • discussed removal of libruby metapackage, filed bug against dh-make-drupal (only rdep) #816417
  • uploaded yard (Closes: #812809)
  • rerun failed builds
  • closed #798539 (not applicable on current version of ruby-webmock)
  • closed #816321 fixed by ruby2.3 upload
  • uploaded ruby-cliver (by @lucasmoura)
  • uploaded ruby-celluloid-supervision ( closes: #810770)
  • uploaded ruby-celluloid-fsm ( closes: #815107)
  • uploaded ruby-raindrops
  • investigated status of dhelp, ruby-mysql again
  • ruby-http-form-data (1.0.1+gemwatch-1) @sbadia
  • nmu ohcount (DELAYED/2)
  • updated trocla to newest upstream, fixing #816257
  • reassign #816358 from ruby-safe-yaml to ruby2.3
  • close #816120 (transient bug in ruby-default-value-for, waiting for ruby-sqlite3 binNMU)
  • upload updated ruby-rc4
  • uploaded new upstream version of pry, fixing FTBFS with ruby2.3
  • ruby-rb-inotify , required to new ruby-listen( need ruby-rb-inotify >= 0.9.7)
  • applied patch from upstream to ruby2.3 for #816358
  • uploaded new upstream version for coderay supporting ruby2.3

On Monday Cédric told us that he and Sebastien had brought a bottle of French wine and some smelly French cheeses, and suggested that in the best Debian tradition we should have a Mini Cheese and Wine Party™. Sure thing! Luckily there is a farmer’s market 2 blocks from home on Tuesdays mornings, where I usually buy my fruits, vegetables, and cheese & friends, so the timing was perfect. I went shopping early in the morning, and bought a few things, and was back before it was the time to go to UTFPR. After the day-long hacking session we stopped by another store nearby to buy a few extra bottles of wine and other snacks.

At night, in my place, I ended up playing cheese master.

There was enough food that at the end we were all very full.

And with the spokesperson task of the day done, off to hacking I am!

02/03/2016 12:56


Antonio Terceiro (terceiro)

Debian Ruby Sprint 2016 - day 1

This year’s Debian Ruby team sprint started today here at Curitiba. Everyone arrived fine, and we started working at the meeting room we have booked for the week at Curitiba campus of the Federal Technical University of Paraná. The room is at the “Department of Business and Community Relations”, what makes a lot of sense! :-)

The day started with a quick setup, with a simple 8-port switch, and a couple of power strips. It tooks us a few minutes to figure what was blocked or not on the corporate network, and almost everyone who needs connections that are usually blocked in such environments already had their VPN setups so we were able to get started right after that.

We are taking notes live on mozilla’s piblic etherpad site

Today we accomplished quite a lot:

  • analyzed the pending issues for the ruby2.3 transition issues, categorizing the missing packages into “needs a binNMU now”, “needs a binNMU after switching the default to ruby2.3”, and “broken”.
  • ruby-defaults uploaded to experimental switching to ruby2.3 as default, and dropping support for ruby2.2
  • ruby-gsl fixed to build against GSL 2.x (was blocking ruby2.3 transition)
  • #816253: ruby-fast-gettext: fix FTBFS issue and import a new upstream
  • ruby-aws: several issues fixed
  • ruby-binding-of-caller: fixed rubygems-integration
  • fixed ruby-kakasi-ffi (again)
  • made ruby-blockenspiel arch:any again
  • ruby-fast-gettext 1.0.0-1 (fix ftbfs 816253)
  • ruby-aws-sdk: new upstream, debcheck fix and several bumps
  • ruby-fcgi – dropped transitional packages + refreshed packaging with -w
  • ruby-sshkit 1.8.0
  • ruby-beautify: new upstream and few minor fixes
  • asciidoctor (new version sponsored)
  • capistrano 3.4.0 (ftbfs #795724, #802734)
  • #816254: ruby-packetfu: FTBFS: expected NameError with “uninitialized constant PacketFu::FakePacket”, got #
  • updated rake to 10.5.0; making it not include -I/usr/lib/ruby/vendor_ruby when running tests
  • triaged an closed open bugs on ruby-httpclient that do not apply anymore.
  • updated ruby-httpclient to get rid of warnings in apt-listbugs under Ruby 2.3
  • ruby-packetfu (fix ftbfs #816254) by @kanashiro
  • investigated extension/rdepends build failing with ruby2.3-only
  • applied upstream patch to ruby to fix extension ftbfs when extension uses c++
  • ruby-albino 1.3.3-4 (#813644)
  • basic user-level testing using ruby2.3 as default:
    • chef WORKS mostly; it seems ohai segfaults some times
    • rails autopkgtest FIXED Could not find gem ‘binding_of_caller (>= 0.7.2)’, which is required by gem ‘web-console (~> 2.0)’, in any of the sources.
    • vagrant WORKS
    • redmine autopkgtest WORKS
    • apt-listbugs FIXED warnings (e.g. try `apt-listbugs list $pkg`); caused by ruby-httpclient
    • nanoc WORKS
  • capistrano 3.4.0-1 (#795724, #802734) by @sbadia + @terceiro

29/02/2016 20:44


Antonio Terceiro (terceiro)

Bits from the Debian Continuous Integration project

It’s been almost 2 years since the Debian Continuous Integration project has been launched, and it has proven to be a useful resource for the development of Debian.

I have previously made a an introductory post, and this this is an update on the latest developments.

Infrastructure upgrade

Back in early 2014 when Debian CI was launched, there were less than 200 source packages with declared test suite metadata, and using a single worker machine polling the archive for updates and running tests sequentially in an infinite loop (“the simplest thing that could possibly work”) was OK-ish.

Then our community started an incredible, slow and persistent effort to prepare source packages for automated testing, and we now have almost 5,000 of them. The original, over-simplistic design had to be replaced.

The effort of transforming debci in a distributed system was started by Martin Pitt, who did an huge amount of work. In the latest months I was able to complete that work, to a point where I am confident in letting it run (mostly) unatended. We also had lots of contributions to the web UI from Brandon Fairchild, who was a GSOC intern in 2014, and continues to contribute to this date.

All this work culminated in the migration from a single-worker model to a master/workers setup, currently with 10 worker nodes. On busy periods all of those worker nodes will go on for days with full utilization, but even then the turnaround between package upload and a test run is now a lot faster than it used to.

Debian members can inspect the resource usage on those systems, as well as the length of the processing queue, by browsing to the corresponding munin instance (requires authentication via a SSL client certificated issued by

The system is currenly being hosted on a Amazon EC2 account sponsored by Amazon.

The setup is fully automated and reproducible. It is not fully (or at all) documented yet, but those interested should feel free to get in touch on IRC (OFTC, #debci)

Testing backend changed from schroot to lxc

Together with the infrastructure updates, we also switched to using lxc instead of schroot as backend. Most test suites should not be affected by this, but the default lxc settings might cause some very specific issues in a few packages. See for example #806542 (“liblinux-prctl-perl: autopkgtest failures: seccomp, capbset”)

Adding support for KVM is also in the plans, and we will get to that at some point.

Learn more

If you want to learn more on how you can add tests for your package, a good first start is the debci online documentation (which is also available locally if you install `debci`).

You might also be interested in watching the live tutorial (WebM, 469 MB!) that has been presented at Debconf 15 earlier this year, full of tips and real examples from the archive. It would be awesome if someone wanted to transcribe that into a text tutorial ;-)

How to get involved

There are a few ways you can contribute:

autodep8. if you are knowledgeable on a subset of packages that are very similar and can have their tests executed in a similar way, such as “$Language libraries”, you might consider writing a test metadata generator so that each package does not need to declare a debian/tests/control file explicitly, requiring only The `Testsuite:` header in debian/control.

Ruby and Perl are already covered, and there is initial support for NodeJS. Adding support for new types of packages is very easy. See the source repository.

If you manage to add support for your favorite language, please get in touch so we can discuss whitelisting the relavant packages in so that they will get their tests executed even before being uploaded with the proper `Testsuite:` control field.

autopkgtest. autopkgtest is responsible for actually running your tests, and you can use it to reproduce test runs locally.

debci. debci is the system running in (version 1.0, currently in testing, is exactly what is running up there, minus a version number and a changelog entry).

It can also be used to have private clones of, e.g. for derivatives or internal Debian-related development. See for example the Ubuntu autopkgtest site.

Getting in touch

For maintainer queries and general discussion:

  • mailing list:
  • IRC: #debian-qa on OFTC. Feel free to highlight `terceiro`

For the development of debci/autopkgtest/autodep8

  • mailing list:
  • IRC: #debci on OFTC

11/12/2015 18:58


Antonio Terceiro (terceiro)

Apoie a Software Freedom Conservancy

A Software Freedom Conservancy é uma organização sem fins lucrativos que fornece “personalidade jurídica” a projetos de software livre, o que possibilita que os projetos recebam doações, emitam recibos sem precisarem passarem pelo processo árduo de formalizarem as suas próprias organizações.

Projetos membros da Conservancy: QEMU, git, Inkscape, Samba, e vários outros

Uma outra atividade muito importante que a Conservancy desempenha é a de combater violações da GPL para os projetos membros. Por exemplo ela no momento está numa batalha judicial contra a VMWare onde a mesma é acusada de violar da GPL no Linux (o kernel, como você já sabe) na distribuição de um de seus produtos proprietários de virtualização.

Na última Debconf em Agosto deste ano, a Software Freedom Conservancy anunciou um programa onde membros do Debian podem escolher delegar à Conservancy os direitos de garantir o cumprimento da GPL nos seus projetos.

Garantir o cumprimento da GPL é uma tarefa árdua, e precisa de recursos para poder pagar as pessoas. E pode te trazer inimigos poderosos: por exemplo, em função da ação contra a VMWare a Conservancy teve palestras em eventos canceladas na última hora, e perdeu patrocinadores.

Para dar continuidade às suas atividades, a Conservancy está com uma campanha para ter o apoio de indivíduos, de forma que os patrocinadores corporativos tenham menos peso no seu financiamento. Se você se importa com a GPL e pode contribuir, por favor faça a sua parte!

Torne-se um apoiador da Conservancy

02/12/2015 16:02


Adriano Rafael Gomes (adrianorg)

Liberado dpo-tools 1.2

Foi liberada a versão 1.2 do dpo-tools.

O dpo-tools é um conjunto de shell scripts que podem auxiliar na tradução de arquivos podebconf do Debian.

Para mais informações, visite a página do dpo-tools na Internet.

07/11/2015 00:12


Adriano Rafael Gomes (adrianorg)

Nova palestra: Tradução do Debian para Português do Brasil

Publiquei uma nova palestra no blog, que é uma introdução à tradução do Debian para português do Brasil e um convite para participar da equipe.

Mais informações na seção de palestras.

06/11/2015 23:53


João Eriberto Mota Filho

Debian: how to use blhc to solve hardening issues when packaging

UPDATE: this post was originally published on Sep. 7, 2015. I did a full review on Sep. 5, 2017. This revision is full compliant with Debian 9 and dpkg 1.18.13 or latter.

Implementing the hardening

When packaging in Debian, is very common to see some lintian messages as 'hardening-no-relro' and 'hardening-no-fortify-functions' in softwares written in C or C++. To solve these issues, we can use the 'blhc' tool (apt-get install blhc).

Please, get the revision 1.11-9 of the icmpinfo package. You can get this revision from or from As a shortcut, you can use the following command:

$ dget -u

The icmpinfo 1.11-9 is almost clean for lintian (in 2015-09-07, Standards-Version 3.9.6). The most relevant problem is:

W: icmpinfo: hardening-no-relro usr/sbin/icmpinfo

To track the problem I will use blhc over the .build file:

$ blhc
LDFLAGS missing (-Wl,-z,relro): cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -o icmpinfo recvping.o print.o err.o icmpinfo.o pid.o

Note that the problem is some missing options (-Wl,-z,relro) for LDFLAGS when building icmpinfo (for newbies, in GCC, -o is used to indicate the name to be used for the final binary after the compilation). If you are using the DebHelper compat 9 (debian/compat=9) and the DebHelper 9 (debhelper >= 9 in Build-Depends field in d/control), some variables as CFLAGS, LDFLAGS, CPPFLAGS and CXXFLAGS will be automatically passed during calls to dh_auto_* programs (yes, you should use the new and reduced debian/rules format - as an example, see the debian/rules of the icmpinfo 1.11-9; if you still having doubts, $ man dh).

Now, we need discover the reason why the LDFLAGS is being changed between its generation by the Debian build system and its utilization by the upstream's source code. So, we need to check the upstream's Makefile.

There is inside Makefile (after a 'quilt push -a', to apply all current patches):


OBJECTS= recvping.o print.o err.o icmpinfo.o pid.o
TARGET = icmpinfo

 $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS)

Hummm... The LDFLAGS content generated by Debian is being dropped by Makefile because it is saying that "LDFLAGS = CFLAGS content". This line is a problem because the upstream Makefile needs to take and use the CFLAGS and LDFLAGS independently. To fix the issue, you can use this patch:

--- icmpinfo-1.11.orig/Makefile
+++ icmpinfo-1.11/Makefile
@@ -20,13 +20,13 @@ VERS = 1.11
 RM = rm -f
 OBJECTS= recvping.o print.o err.o icmpinfo.o pid.o
 TARGET = icmpinfo
- $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS)
 tgz: clean
 rm -f CHECKSUMS.asc

After a 'debuild', we have a new lintian:

I: icmpinfo: hardening-no-bindnow usr/sbin/icmpinfo

There is a simple way to fix this message. We

needed to add the following line to debian/rules:

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

If you still seeing lintians about the hardening, use the following options in blhc (>= 0.07+20170817+gita232d32) to get a deep analysis:

blhc --all --debian --arch=amd64 ../

For more details, see the bug #845339 on Debian.

More examples

Let me to show other example. I will use the mac-robber 1.02-5 (however, I disabled the Makefile.patch in debian/patches/series). After a debuild, the following lintian messages are presented:

I: mac-robber: hardening-no-fortify-functions usr/bin/mac-robber
I: mac-robber: hardening-no-bindnow usr/bin/mac-robber

Using blhc:

$ blhc ../ 
CFLAGS missing (-g -O2 -fstack-protector-strong -Wformat -Werror=format-security): gcc -D_FILE_OFFSET_BITS=64 -o mac-robber mac-robber.c
CPPFLAGS missing (-D_FORTIFY_SOURCE=2): gcc -D_FILE_OFFSET_BITS=64 -o mac-robber mac-robber.c
LDFLAGS missing (-Wl,-z,relro): gcc -D_FILE_OFFSET_BITS=64 -o mac-robber mac-robber.c

We need to verify what is the problem in Makefile with CFLAGS, CPPFLAGS and LDFLAGS when generating the binary 'mac-robber' (just recalling, -o mac-robber in GCC command). See:

 $(CC) -D_FILE_OFFSET_BITS=64 -o mac-robber mac-robber.c

There are no references to CFLAGS, CPPFLAGS and LDFLAGS. To solve the problem, we need patch the Makefile to make this:

 $(CC) $(CFLAGS) $(LDFLAGS) $(CPPFLAGS) -D_FILE_OFFSET_BITS=64 -o mac-robber mac-robber.c

As last example, is possible that the Makefile is overriding the content sent by DebHelper when building. See this line from a hypothetical Makefile:

CFLAGS = -g -Wall

As you can see, the Makefile is redefining CFLAGS; consequently, it is discarding any previous content sent by DebHelper. To solve this issue, we can use the following patch:

-CFLAGS = -g -Wall
+CFLAGS += -g -Wall

So, the content received from DebHelper will be added to '-g -Wall'.

Default parameters

As curiosity, to see the basic parameters created by DebHelper as hardening, use the command:

$ dpkg-buildflags

To see the all parameters, use the command:

$ DEB_BUILD_MAINT_OPTIONS=hardening=+all dpkg-buildflags

More information

More information about the hardening can be viewed at two places:

I hope this help. Enjoy!

por Eriberto em 08/09/2015 00:59


Antonio Terceiro (terceiro)

DebConf15, testing debian packages, and packaging the free software web

This is my August update, and by the far the coolest thing in it is Debconf.


I don’t get tired of saying it is the best conference I ever attended. First it’s a mix of meeting both new people and old friends, having the chance to chat with people whose work you admire but never had a chance to meet before. Second, it’s always quality time: an informal environment, interesting and constructive presentations and discussions.

This year the venue was again very nice. Another thing that was very nice was having so many kids and families. This was no coincidence, since this was the first DebConf in which there was organized childcare. As the community gets older, this a very good way of keeping those who start having kids from being alienated from the community. Of course, not being a parent yet I have no idea how actually hard is to bring small kids to a conference like DebConf. ;-)

I presented two talks:

  • Tutorial: Functional Testing of Debian packages, where I introduced the basic concepts of DEP-8/autopkgtest, and went over several examples from my packages giving tips and tricks on how to write functional tests for Debian packages.
  • Packaging the Free Software Web for the end user, where I presented the motivation for, and the current state of shak, a project I am working on to make it trivial for end users to install server side applications in Debian. I spent quite some hacking time during DebConf finishing a prototype of the shak web interface, which was demonstrated live in the talk (of course, as usual with live demos, not everything worked :-)).

There was also the now traditional Ruby BoF, where discussed the state and future of the Ruby ecosystem in Debian; and an in promptu Ruby packaging workshop where we introduced the basics of packaging in general, and Ruby packaging specifically.

Besides shak, I was able to hack on a few cool things during DebConf:

  • debci has been updated with a first version of the code to produce britney hints files that block packages that fail their tests from migrating to testing. There are some issues to be sorted out together with the release team to make sure we don’t block packages unecessarily, e.g. we don’t want to block packages that never passed their test suite — most the test suite, and not the package, is broken.
  • while hacking I ended up updating jquery to the newest version in the 1.x series, and in fact adopting it I guess. This allowed me to drop the embedded jquery copy I used to have in the shak repository, and since then I was able to improve the build to produce an output that is identical, except for a build timestamp inside a comment and a few empty lines, to the one produced by upstream, without using grunt (.

Miscellaneous updates

30/08/2015 19:12


Antonio Terceiro (terceiro)

Elixir in Debian, MiniDebconf at FISL, and Debian CI updates

In June I started keeping track of my Debian activities, and this is my July update.

Elixir in Debian

Elixir is a functional language built on top of the Erlang virtual machine. If features imutable data structures, interesting concurrency primitives, and everything else that Erlang does, but with a syntax inspired by Ruby what makes it much more aproachable in my opinion.

Those interested in Elixir for Debian are encouraged to hang around in #debian-elixir on the OFTC IRC servers. There are still a lot of things to figure out, for example how packaging Elixir libraries and applications is going to work.

MiniDebconf at FISL, and beyond

I helped organize a MiniDebconf at this year’s FISL, in Porto Alegre on the 10th of July. The whole program was targetted at getting more people to participate in Debian, so there were talks about translation, packaging, and a few other more specific topics.

I myself gave two talks: one about Debian basics, “What is Debian, and how it works”, and second one on “packaging the free software web”, which I will also give at Debconf15 later this month.

The recordings are available (all talks in Portuguese) at the Debian video archive thanks to Holger Levsen.

We are also organizing a new MiniDebconf in October as part of the Latinoware schedule.


We are in the middle of a transition to switch to Ruby 2.2 as default in Debian unstable, and we are almost there. The Ruby transition is now on hold while GCC 5 one is going on, but will be picked up as soon as were are done with GCC 5.

ruby-defaults has been uploaded to experimental for those that want to try having Ruby 2.2 as default before that change hits unstable. I myself have been using Ruby 2.2 as default for several weeks without any problem so far, including using vagrant on a daily basis and doing all my development on sid with it.

I started taking notes about Ruby interpreter transitions work to make sure that knowledge is registered.

I have uploaded minor security updates of both ruby2.1 and ruby2.2 to unstable. They both reached testing earlier today.

I have also fixed another bug in redmine, which I hope to get into stable as well as soon as possible.

gem2deb has seen several improvements through versions 0.19, 0.20, 0.20.1 and 0.20.2.

I have updated a few packages:

Two NEW packages, ruby-rack-contrib and ruby-grape-logging ,were ACCEPTED into the Debian archive. Kudos to the ftp-master team who are doing an awesome job reviewing new packages really fast.

Debian Continuous Integration

This month I have made good progress with the changes needed to make debci work as a distributed system with one master/scheduler node and as many worker nodes (running tests) as possible.

While doing my tests, I have submitted a patch to lxc and updated autodep8 in unstable. At some point I plan to upload both autodep8 and autopkgtest to jessie-backports.


I have sponsored a few packages:

05/08/2015 01:13


João Eriberto Mota Filho

Upload to jessie-backports from Debian Jessie stable

Today, trying upload to jessie-backports from a Jessie jail, I got this message from dput-ng:

 $ dput netdiscover_0.3beta7~pre-2~bpo8+1_amd64.changes
Uploading netdiscover using ftp to ftp-master (host:; directory: /pub/UploadQueue/)
running allowed-distribution: check whether a local profile permits uploads to the target distribution
`jessie-backports' not in the codename group

To solve this problem, you can edit the /usr/share/dput-ng/codenames/debian.json file and add jessie-backports here:

 "backport": [

I hope this help someone.


por Eriberto em 02/05/2015 19:01


Francisco Aparecido da Silva


Perguntaram: como checar o  "uptime" do sistema e como saber o record da máquina! Pergunta simples, resposta simples. Em sistemas GNU/Linux sempre existe mais de um modo, para diferentes usos. Se não tiver um modo que lhe agrade, você pode criar um! Seja criativo;

Então o uptime da máquina,  pode ser checado pelos comandos: "uptime", "top", "htop", "w" e o uprecords, sendo que pelo último, temos o uptime e o record, tudo no mesmo comando:

Como o uprecords não faz parte do pacote coreutils, então precisa ser instalado. Em ambiente Debian, instale o pacote uprecords-cgi:

aptitude install uprecords-cgi

Encontrei também a dica (1)  abaixo que recebe os parâmetros do uptime e mosta em dias e minutos:

uptime | \
sed s/^.*up// | \
awk -F, '{ if ( $3 ~ /user/ ) { print $1 $2 } else { print $1 }}' | \
sed -e 's/:/\ hours\ /' -e 's/ min//' -e 's/$/\ minutes/' | \
sed 's/^ *//'
man uptime
man top
man htop
man w
man uprecords

por Fafanet ( em 04/09/2014 18:01


Francisco Aparecido da Silva

I'm alive!

Sempre converso com meus servidores e estabeleço uma mão dupla nesta comunicação; leio log's sempre que preciso e procuro automatizar alguns resultados importantes dos processamentos que estas máquinas fazem, normalmente durante a madrugada. Recentemente ao ler um artigo da Linux Journal, descobri uma forma bem simples de ser avisado quando um servidor foi reiniciado, ou simplesmente inicializado (boot up);

A dica é simples (e inteligente) e se dá via e-mail, colocando a seguinte entrada no arquivo rc.local do servidor (/etc/rc.local):

echo "I'm alive!" | mail -s "I'm Alive, backup 200.x.x.x. !"

Você vai precisar que o sistema de e-mail esteja operante e o programa mail instalado (aptitude install bsd-mailx) considerando que esteja usando GNU/Debian;

Não é necessário reiniciar sua máquina para ver se funcionou, simplesmente execute:

source /etc/rc.local

O rc.local é executado sempre no nível multi-usuário e pode ser ou estar desabilitado através da mudança das permissões de excecução.

por Fafanet ( em 08/05/2014 17:08


Manoel Aleksandre Filho

XFCE poderá ser o ambiente desktop padrão do Debian.

Segundo o desenvolvedor Joey Hess, o Debian 8 (Jessie) poderá trocar o GNOME 3 pelo XFCE como ambiente desktop padrão. As razões são as mesmas de sempre: espaço limitado do CD de instalação, o XFCE trás uma experiência mais próxima do GNOME 2, e o suporte à acessibilidade.

Mas a decisão ainda não é final e poderá mudar, como ocorreu com o Wheezy, até o lançamento do Jessie. Segundo Hess, essa decisão será definitiva já no mês de agosto de 2014. Até lá dados serão colhidos quanto ao número de usuários que instalam GNOME e XFCE, as melhorias que podem ocorrer quanto à acessabilidade da área de trabalho e o feedback dos próprios usuários.

Por enquanto Xfce será distribuídos por padrão no CD de instalação do Jessie. Não que isso irá afetar muitos usuários: Debian 8.0 ainda não tem uma data de lançamento prevista!

por Lex Aleksandre ( em 05/11/2013 14:15


Francisco Aparecido da Silva

Parabéns Projeto Debian pelos 20 anos

O Projeto Debian é do tipo de criação que se não existisse deveria ser criada. Exemplo de organização por meritocracia que coloca seus usuários no topo e alvo de seus desenvolvimentos, previlegiando do pequeno ao grande consumidor de software livre, promovendo uma clareza e defesa dos interesses comuns através da sua DFSG. É um Projeto grande, pujante, agregador da maior força de usuários, desenvolvedores, hackers, curiosos, etc, mas com uma leveza próprios daqueles que são transparentes e preocupados com a liberdade das pessoas.

Parabéns pelos 20 anos! Agradecemos por oferecer-nos um sistema robusto e confiável para nosso servidores, desktop's e para outros produtos derivados. 

Continuaremos usando apt-get moo por muito tempo e oferecendo tuxpaint para os pequenos, mais novos que o projeto :)

por Fafanet ( em 16/08/2013 17:42


Francisco Aparecido da Silva

SysAdmin Day

Seria muito simples e bom se o trabalho de SysAdmin continuasse no scopo de alguns anos atráz, como por exemplo, melhorando redes, firewall, switchs, roteadores ou instalando novos servidores. Não é nada chato monitorar todo o sistema remotamente quando é conhecido a manutenção da concessionária de energia ou internet; pesquisar e testar novas ferramentas, sistemas operacionais, etc

Mas pelas suas competências (thanks all!)  muitas outras atividades coube  embaixo do guarda chuva do SysAdmin, como a gestão de certificados digitiais, a gestão de dados, serviços e servidores na nuvem, cuidados com as conexões voip, entre outras coisas e até as tarefas chatas, como trocar o tonner da impressora ou descobrir que existe um atolamento de papel. Outras coisas boas, como a Governança de TI,  Gestão de Projetos são desafios que exigem desenvolvimento constante da equipe do SysAdmin (que normalmente é ele com ele mesmo :) )

Algumas tarefas de usuários deixam a vida do SysAdmin muito angústiante, por exemplo, a) configurar aquele sistema de e-mail que não permite um arquivo de Inbox maior que 2gb; descobrir que o sistema de e-mail corrompeu os dados do usuário que não quer e não entende o problema e não permite migrar para uma ferramenta nova; b) quando o usuário reclama que não salva o documento e você percebe que ele foi capaz de abrir um arquivo compactado, acessar o documento e quer que seja salvo; c) o usuário quer abrir uma planilha apartir de um editor de textos (e o contrário também); d) o usuário "salva como" para transferir um arquivo para outro dispositivo, gerando versões do mesmo arquivo, ignorando pra isso o "gerenciador de arquivos"; e) o usuário faz o passo acima e quer criar uma nova pasta e reclama que o SO fica lento, ignorando mais uma vez o "gerenciador de arquivos"; f) o usuário torce o nariz quando é proposto alternativas livres; g) o usuário tráz o PC de seu "home office" para correção de seu SO e acha que o SysAdmin é sócio da MS; o usuário não entende o conceito de "martelada no cravo e na ferradura" (vista, xp, seven, 8,...); i) o usuário cola uma planilha como imagem e quer editar o resultado ;j) usar gravatas em alguns casos também é angustiante.

Parabéns à todos os SysAdmin's pelo seu dia e motivem-se para um mundo melhor!

por Fafanet ( em 26/07/2013 11:27


Manoel Aleksandre Filho

Debian 7.1, primeira atualização do Wheezy liberada.

O Projeto Debian liberou na manhã de hoje a primeira atualização da versão estável do seu sistema operacional universal, o Debian 7.1 (codinome Wheezy). Não trata-se de uma nova versão do Debian 7, é apenas uma atualização de imagens que adiciona principalmente correções para problemas de segurança para a versão estável, juntamente com alguns ajustes para problemas graves.

Para aqueles que já tem o sistema instalado a partir das primeiras imagens não tem a necessidade de uma nova instalação. Basta deixar o próprio sistema aplicar a atualização automaticamente (no caso do desktop GNOME) ou aplicá-la com o comando que segue (para os demais desktops):

sudo aptitude safe-upgrade
Carpe diem!

por Lex Aleksandre ( em 15/06/2013 11:27


Manoel Aleksandre Filho

Atenção: removam o repositório!

Com o lançamento do Debian Wheezy foi dado um salto no suporte do sistema ao conteúdo multimídia com o acréscimo de novos codecs open source. 

Hoje o blog oficial do Debian noticiou que o domínio expirou e algum espertinho acabou apossando-se do mesmo.

Isto significa que o repositório não é mais seguro para o uso, e você deve remover as entradas relacionadas do seu arquivo sources.list.

Vale lembrar que esse domínio já tinha sido posto de lado em prol do desde julho de 2012, por tratar-se de um repositório não oficial, e por conta da política de marcas Debian, na época, proibir o uso de seu nome. Mas sempre há desatentos que, por conta do hábito e desinformação, ainda utiliza o espelho antigo mesmo sendo advertido pelo próprio apt. Até falamos sobre isso em um post de quase um ano atrás.
Para você certificar-se se está fazendo uso do mesmo, digite o seguinte comando em um terminal:

grep /etc/apt/sources.list /etc/apt/sources.list.d/*

Se você obtiver alguma linha referente ao, deverá removê-la do arquivo listado. 

Continuo afirmando que não há necessidade de repositórios não oficiais para o suporte multimídia no Wheezy, mas se desejam algo mais todos são livres para utilizarem o como é visto nesse post.

por Lex Aleksandre ( em 14/06/2013 12:23


Manoel Aleksandre Filho

Atualizando o Iceweasel do Wheezy

Já postei o suficiente por aqui sobre como atualizar o Iceweasel do Debian a cada nova versão. Mas como sempre mandam-me mensagens desejando instruções de como proceder sou obrigado a me repetir.

Como todos sabem, o Wheezy foi lançado com o Iceweasel 10 e o Firefox já está na versão 21. Para atualizamos o Iceweasel para a versão atual do Firefox é uma tarefa bem simples.

  1. Adicione o seguinte repositório em sua /etc/apt/sources.list:
     deb wheezy-backports iceweasel-release
  2. Adicione a chave do apt com o seguinte comando:
    wget -q -O- | sudo apt-key add -
  3. Atualize a listagem de pacotes com o comando:
    sudo aptitude update
  4. Agora procedemos com a atualização dos novos pacotes:
    sudo aptitude safe-upgrade
Você deve obter algo assim:

 ~$ sudo aptitude safe-upgrade
Resolvendo dependências...                  
Os NOVOS pacotes a seguir serão instalados:
  libmozjs21d{a} xulrunner-21.0{a}
Os pacotes a seguir serão REMOVIDOS:
Os pacotes a seguir serão atualizados:
  iceweasel iceweasel-l10n-pt-br libnspr4 libnspr4-0d libsqlite3-0
5 pacotes atualizados, 2 novos instalados, 1 a serem removidos e 0 não atualizados.
É preciso obter 19,8 MB de arquivos. Depois do desempacotamento, 18,4 MB serão usados.
Você deseja continuar? [Y/n/?]

Uma novidade é que o pacote de localização agora já vem por padrão no repositório backports.

por Lex Aleksandre ( em 02/06/2013 10:40


Manoel Aleksandre Filho

CrunchBang 11 "Waldorf" é Lançado

O Debian 7 "Wheezy" foi lançado no dia 04 de maio . Agora que o Wheezy migrou para o ramo estável do Debian, isso significa que Waldorf é o novo #! estável liberado. Para confirmar esta ocasião, as imagens do Waldorf foram reconstruídas e liberadas para download no dia 6 de maio. As novas imagens já estão disponíveis a partir da página de download .

Para quem não sabe, #! Waldorf tem estado em desenvolvimento há mais de um ano e tem tido inúmeras versões de desenvolvimento ( 20120430 , 20120806 , 20120924 , 20120927 , 20121015 , 20130119 ). Isso provavelmente faz do Waldorf o #! mais exaustivamente testado já liberado, como resultado, acredita-se que também seja o melhor #! até o presente momento.

Nota, para quem já está em execução Waldorf, não há necessidade de baixar e instalar essas imagens.


por Lex Aleksandre ( em 11/05/2013 14:39


Manoel Aleksandre Filho

Debian agora é o sistema operacional padrão da Google Compute Engine

A Google está trazendo o Debian para o Google Compute Engine e está tornando-o o sistema operacional padrão para os desenvolvedores que usam o serviço. A Google dará suporte tanto para o Debian 6.0 quanto para o 7.0, que foi lançado esta semana.

Há algumas razões muito claras pelas quais a Google está fazendo do Debian seu sistema operacional padrão. Primeiro de tudo, é gratuito, disse Krishnan Subramanian, um analista de cloud e fundador da Rishidot Research. "Com o Ubuntu e Red Hat, o Google tem de lidar com os vendedores que querem ganhar dinheiro para si mesmos", disse ele. Além disso, o Debian tem uma grande base de clientes. E ele se encaixa com a cultura nerd da Google.

Em seu post no blog sobre o anúncio, a Google cita as melhorias no lançamento do Debian 7.0 “wheezy”. A segurança foi fortalecida, melhor compatibilidade entre 32 - 64 bits, e aborda o feedback da comunidade.

A Google afirma que vai avaliar outros sistemas operacionais que ela pode permitir com o Google Compute Engine.

É importante notar que o Google Compute Engine está disponível apenas para assinantes do Gold Support package, de $ 400.

Isso tudo parece um ajuste para o evento Google I/O da próxima semana onde existe a expectativa que seja anunciada a estratégia da Google para a computação nas nuvens.

Debian compete com outros sistemas operacionais baseados em Linux, como Ubuntu, Mint e Fedora. De acordo com a DistroWatch, Debian ocupa o quinto lugar em acessos à página. Mint está no topo.

Traduzido e adaptado de Techcrunch

por Lex Aleksandre ( em 08/05/2013 22:13

PCs da NASA no espaço agora executam Debian GNU/Linux!

O Linux finalmente atingiu o espaço, e destronando o Windows! Alegadamente, a NASA tem se convencido a desfazer-se do Windows em seus laptops da Estação Espacial Internacional (ISS) e decidiram-se por adotar o Linux. Além disso, o primeiro robô humanoide no espaço, denominado R2, é powered by Linux.

É uma nova era, compartilhada por Keith Chuala, um empreiteiro da United Space Alliance, gerente da Space Operations Computing (SPOC) da NASA, e líder do ISS's Laptops and Network Integration Teams. Ele disse ao ZDNET:

"Nós migramos as principais funções do Windows para o Linux porque precisávamos de um sistema operacional que fosse estável e confiável - um que nos daria o controle da casa. Então, se nós precisávamos de patch, ajustes ou adaptações, nós deveríamos fazê-lo."
Para ser mais específico, esses computadores, que serão utilizados pelos astronautas da ISS estarão executado Debian 6. Anteriormente, Scientific Linux, um clone do Red Hat Enterprise Linux (RHEL) foi inicialmente utilizado para o seu computador. 

O Linux tem roubado a cena na ISS desde que foi lançado, mas nunca foi usado em PCs no espaço. Em vez disso, ele foi usado para operações terrestres da NASA. Chuala acrescentou: "As coisas realmente saltaram depois que vim a entender como o Linux vê o mundo, a interligação de como uma coisa afeta a outra. Você precisa dessa visão de mundo. Eu tenho um pouco de experiência com o Linux; mas ao ver como as outras pessoas realmente estavam recebendo isso é que foi emocionante!"

Falando sobre o robô humanoide, R2 deve realizar tarefas que são demasiadas perigosas ou tediosas para os astronautas.

A Fundação Linux estará ajudando os astronautas e especialistas de TI para se acostumarem com a plataforma. Chuala explicou, "a NASA é tão heterogênea quanto o que ela apreende. Eles tiveram uma implantação forte do Debian GNU/Linux, mas também várias versões do RHEL/CentOS. Porque a nossa formação é flexível a uma variedade de distribuições, somos capazes de lidar com todos esses diferentes ambientes em uma única sessão de treinamento. Nenhuma outra organização de treinamento pode proporcionar isso." 

Traduzido e adaptado de ZDNet

por Lex Aleksandre ( em 08/05/2013 10:55


Manoel Aleksandre Filho

Script instalador do driver Nvidia para Debian

Muitos usuários Debian mandam-me mensagens solicitando ajuda para instalar o driver da Nvidia. Bom, não possuo qualquer hardware desse fabricante, mas pesquisei por aí e encontrei um script já bem conhecido por toda comunidade Debian e servirá tanto para o Squeeze quanto para o Wheezy. O script foi originalmente escrito por Enrique Molina, adaptado por Cesar Ferreira e licenciado sob a GPL v.3.

Na verdade são utilizados dois scripts, um para instalar o driver e outro para removê-lo. O script automatiza todo o processo, adicionando o repositório correto de acordo com a versão que estamos utilizando, baixará o driver, o instalará e reiniciará a máquina.

Então, comecemos por baixar os scripts:

Em um terminal mudemos a permissão de execução dos scripts:
chmod +x *.sh
Agora obtemos acesso ao ambiente root:
sudo su
Para instalar o driver, rodamos o script indicando para o mesmo a versão Debian que estamos utilizando. Assim, para o Wheezy rode o camando:
./ wheezy
Para remover o driver, caso algo dê errado ou não goste do resultado:
Espero que seja útil!

por Lex Aleksandre ( em 07/05/2013 07:11

Nota de esclarecimento: Usuário sudo no Debian

Desde minha primeira postagem nesse blog que minha intenção sempre foi alcançar pessoas com pouquíssimo contato com Linux, razão pela qual meus posts sempre são diretos e sem qualquer profundidade técnica, quase um roteiro passo a passo. Naquele primeiro post eu tomei a decisão, por questões de praticidade, sempre utilizar a instalação com um usuário com permissão de acesso administrativo, ou usuário sudo. Partindo deste pressuposto, meus comandos sempre utilizam o sudo quando se faz necessário.

Antes do Squeeze, inserir um usuário no grupo sudo exigia uma relativa dificuldade. Mas, a partir do Squeeze, durante o processo de instalação, no momento em que se tenha de definir o administrador do sistema, se deixarmos a senha de root em branco, o usuário padrão acaba sendo configurado no grupo sudo automaticamente.

Sendo assim, para quem lê minhas postagens e se deparar com o sudo nos comandos, saiba que é direcionada para aqueles que optaram por não escolher uma senha de root durante a instalação. Aqueles que optaram por manter o usuário root, tenho certeza, saberá que não precisará utilizar o sudo nos comandos e que, antes de executá-los, deverá está logado como administrador.

Então, por favor, mantenham reprimidas suas críticas quanto a esse fato e até mesmo quanto ao fato de eu preferir o aptitude ao apt-get.

por Lex Aleksandre ( em 07/05/2013 07:05


Francisco Aparecido da Silva

Lançado o Debian 7.0 "Wheezy"

Obrigado Projeto Debian por mais um lançamento tão esperado como o Wheezy; Para nós que mantemos nossos próprios sistema operacionais em computadores pessoais e em servidores, é uma satisfação muito grande contar com um projeto tão envolvido com qualidade, segurança e liberdade para seus usuários;

Vamos continuar incansávelmente divulgando o projeto para outras pessoas, não somente como alternativa de um sistema operacional, mas como o melhor Sistema Operacional Universal.

Notas de lançamento:

por Fafanet ( em 05/05/2013 19:30


Manoel Aleksandre Filho

O Wheezy está entre nós.

Finalmente saiu o tão esperado lançamento do ano! Debian 7.0, Wheezy foi liberado para stable às 22h30 min desta noite (4 de maio) - pelo menos aqui no Brasil, já dia 5 de maio pelo horário UTC.

Com relação ao Squeeze, muitas são as novidades e novos recursos. Muitos desses novos recursos do Debian 7.0 são itens que vieram para outras distribuições Linux há muito tempo, mas esse é simplesmente o ritmo em que Debian prefere jogar.

Para aqueles que ainda não estão a par sobre a atualização desta grande distribuição Linux, aqui vai uma lista de alguns dos principais recursos. 

  •  EXT4 agora é o sistema de arquivos padrão! O instalador do Debian GNU/Linux agora finalmente está fazendo uso do EXT4 por padrão para novas instalações; anteriormente o padrão era o EXT3. Obviamente, você ainda pode configurar as opções do sistema de arquivos manualmente a partir do instalador do Debian. Anos depois de todas as outras distribuições terem migrado para o EXT4, finalmente o Debian GNU/Linux está fazendo a migração. 
  • Systemd está disponível no Debian como uma opção. SysVinit ainda é o padrão, mas basta um "apt-get install systemd" para mudarmos para o systemd no Debian GNU/Linux. 
  • As  Opções de desktop incluem GNOME 3.4, KDE 4.8, e Xfce 4.8. Debian GNU/kFreeBSD e Debian GNU/Hurd estão usando o ambiente de trabalho Xfce por padrão. 
  • O fork do projeto libav media está substituindo o ffmpeg.
  • OpenStack e Xen Cloud Platform são novas opções de servidor para o servidor Debian. 
  • Debian GNU/Linux agora tem o kernel real-time (RT) kernel com a opção de instalar o linux-image-rt-amd64 ou pacotes do kernel linux-image-rt-686-pae. 
  • O Instalador Debian agora oferece suporte a UEFI para instalações em hardware x86_64. O Instalador Debian também tem suporte wireless WPA/WPA2. 
 Mais novidades para o Debian 7.0 "Wheezy" podem ser vistos na página de notícias do Debian.

Para download das imagens, acesse:

DVD i386 CD i386
DVD amd64  CD amd64

por Lex Aleksandre ( em 04/05/2013 23:14

Usando endereço único para os repositórios Debian

Para um usuário Linux a escolha dos repositórios para obtenção e manutenção do software que será instalado em seu sistema operacional é um assunto muito importante. Sendo o precursor dos sistemas de empacotamento e gerenciamento de software no Linux, o Debian sempre tem lançado tendências para os demais.

Como os desenvolvedores Debian trabalham simultaneamente com diferentes versões de seu sistema, o oferecimento de repositórios distintos a cada versão é uma prática comum. Oferece-se espelhos de seus repositórios por todos os continentes, e duplicação dos mesmos por vários países. 

Hoje Debian está sendo servido, via http, por cerca de 370 espelhos em todo o mundo, e também está disponível, via ftp, a partir de 330 espelhos. São ao todo 76 países que nos servem com espelhos por todo o mundo. Isso só foi possível graças aos sponsors hosting the mirrors. Somos muitíssimo gratos por todos esses patrocinadores, tantos os atuais como os do passado.

O arquivo /etc/apt/sources.list é o responsável por informar ao gerenciador de pacotes os repositórios que serão utilizados pela distribuição. Essa pode não ser uma tarefa muito fácil para um novato. Mesmo para os "macacos velhos" do Debian, faz-se necessário recorrer a repositórios que estejam mais ágeis para aquele período. Foi com essa intenção que Raphael Geissert disponibilizou o redirecionador de mirros. Esse serviço pretende "resolver o problema da escolha de um espelho Debian, entre outras questões. O redirecionador usa a localização geográfica e a rede do usuário e os espelhos, a arquitetura dos arquivos solicitados, a família de endereços IP, a disponibilidade e a atualização dos espelhos, entre algumas outras coisas. Ele é constantemente melhorado. O resultado: ele seleciona o melhor espelho que pode servir a arquivo".

Isso facilitará bastante na hora de você construir sua sources.list. É até uma boa para quem vai atualizar do Squeeze para o Wheezy, ou mesmo instalar o Wheezy do zero. 

Como usar o redirecionador

Para utilizar o redirecionador, basta substituir as fontes de pacotes configuradas no seu sources.list com o endereço Você pode usá-lo como se fosse um espelho primário Debian: binários, fontes, estável, teste, experimental, etc, são todos suportados. 

Se sua sources.list, por exemplo, está com a seguinte fonte:

deb stable main 
deb-src stable main

Deixe-a assim:

deb stable main
deb-src stable main

Para os backports, seria:

E para o Archived releases (

Como, provavelmente, você agora instalará o Wheezy, pode deixá-lo com uma única linha mesmo:

deb wheezy main

Já durante o processo de instalação do Wheezy, você também pode optar por usá-lo, inserindo manualmente como um espelho HTTP e /debian/ como o caminho.

por Lex Aleksandre ( em 04/05/2013 11:53


Manoel Aleksandre Filho

Instalando o Kernel 3.9 no Debian

No post passado noticiamos a liberação do kernel linux 3.9 e as novidades que vieram com ele. Bom, muitas pessoas me procuraram para saber como instalá-lo no Debian, onde poderiam obter essa versão do kernel já compilada e empacotada para o nosso querido sistema.

Pois bem, conheçam o projeto GNU Linux-libre, uma iniciativa da Free Software Foundation Latino Americana (FSFLA). Vocês já devem conhecer as políticas da FSF em não admitir nem um tipo de software que sequer contenham uma vírgula que ameace a liberdade dos usuários. Vejam o que eles mesmo dizem:

"Linux, o kernel desenvolvido e distribuído por Linus Torvalds, contém Software não-Livre, ou seja, software que não respeita suas liberdades fundamentais e induz a instalação de software adicional não-Livre que ele não contém.
 GNU Linux-libre é um projeto para manter e publicar distribuições Linux 100% gratuitas, adequadas para uso em sistemas livres, removendo todo e qualquer software que está incluído sem código fonte, com código fonte ofuscado ou coberto, sob licenças de software não-livre, que não permitem que você altere o software para que ele faça o que você quiser, e que induz ou requer que você instale peças adicionais de Software não-Livre."

O fato é que eles sempre distribuem, em um repositório próprio, a versão do kernel mais recente. A versão 3.9 já está nesse repositório.

Então, comecemos por adicionar esse repositório em nossa /etc/apt/sources.list:
## GNU Linux-libre
deb freesh main

Depois adicione a chave do apt:
sudo apt-key add archive-key.asc

Atualize a lista de pacotes e instale a última versão:
sudo aptitude update
sudo aptitude install linux-libre64-3.9
Se seu processador for de 32 bits, o comando é este:
sudo aptitude install linux-libre32-3.9
Agora basta reiniciar e desfrutar do seu novíssimo kernel!

por Lex Aleksandre ( em 30/04/2013 08:43


Manoel Aleksandre Filho

Kernel Linux 3.9 é lançado

Linus Torvalds acabou de liberar o kernel Linux 3.9. Essa versão trás novidades há muito requeridas pelos usuários do sistema do pinguim, como por exemplo, usar cartões SSD como cache para o disco rígido. Outra novidade que é recebida com empolgação é o suporte do kernel para vários processos à espera de pedidos em uma mesma porta, uma característica que permitirá distribuir os processos em servidores fazendo-os trabalhar melhor através de múltiplos núcleos da CPU. Mas vejamos mais detalhes das novidades:


Temos agora a inclusão de um recurso chamado "dm-cache". Esta opção permite que uma unidade possa ser configurada como um cache para outro dispositivo de armazenamento, por exemplo, um SSD poderá ser usado como cache de um disco rígido. Este recurso é capaz de acelerar a escrita de dados, pois permitirá que o SSD, que é mais rápido, tenha acesso aos dados do primeiro cache e, em seguida, em um momento de tranquilidade, transferi-lo para o disco rígido, que é um dispositivo muito mais lento. O "dm-cache" também irá obter os dados utilizados com mais frequência no disco rígido e os armazenará no SSD, a fim de acelerar o acesso a eles. 

Esse recurso, que ainda é classificado como experimental, é uma alternativo dentro do kernel, a recursos mais conhecidos como o flashcache e o Bcache. Ambos são mantidos fora do kernel, mas parece que Bcache virá por padrão no Linux 3.10.


Soquetes TCP e UDP permitirão que uma mesma porta possa ser acessada por múltiplos processos, graças ao recurso SO_REUSEPORT adicionado ao kernel. Isso permite, por exemplo, que vários processos do servidor web possa abrir soquetes individuais para escutar na porta 80; todas as conexões que entram nessa porta serão uniformemente distribuídas entre os soquetes no kernel.

Esta abordagem visa melhorar a forma como as cargas de trabalho são distribuídos através dos núcleos disponíveis no processador. Tom Herbert, desenvolvedor da Google que programou esta extensão, diz que a nova abordagem pode ajudar a evitar gargalos que aparecem em certas situações, quando apenas um segmento aceita novas conexões e, em seguida, os distribui através de outros segmentos. A nova abordagem também é projetado para impedir que cargas de trabalho sejam distribuídas de forma muito desiguais entre os núcleos do processador. De acordo com Herbert, isso pode acontecer quando vários segmentos estão escutando em um único soquete. 

Sistema de Arquivos

Além de RAID 0 e 1, o sistema de arquivos Btrfs agora inclui suporte nativo experimental para RAID 5 e 6, conforme revelado em fevereiro. A incorporação de recursos RAID dentro do sistema de arquivos permite a implementação de características que são difíceis de perceber usando o modelo de camadas, em que o sistema de arquivos e a matriz RAID não conhecem muito bem os dados internos um do outro. Funcionalidade RAID incorporado no sistema de ficheiros significa, por exemplo, que no caso de avaria e a substituição de um disco que faz parte de um conjunto de RAID Btrfs, o sistema Btrfs precisará apenas recuperar as zonas que contêm dados, uma vez que é capaz de determinar quais as áreas que estão ocupadas. No entanto, a abstração significa que o software de gerenciamento, usando mdadm, e uma matriz RAID não será capaz de acessar essas informações e, portanto, tem que restaurar o volume RAID em sua totalidade, o que é demorado.

Os desenvolvedores do sistema de arquivos ext corrigiram um problema de desempenho na camada de journaling JBD2 usado por ext4, que surgiu no Linux 3.0. Apoio a namespaces dos usuários foi adicionado ao CIFS, NFS e vários outros sistemas de arquivos. Essa mudança não foi, no entanto, permeada através de XFS, o que significa que namespaces de usuários ainda só podem ser ativados na configuração do kernel se XFS está desativado.


Drivers Gráficos da Radeon no kernel agora suportam os chips gráficos Oland, que são utilizados nas séries Radeon HD 8500 e 8600. O kernel também suporta as próximas gerações da aguardadíssima Richland APU. 

O driver Nouveau agora oferece vários recursos experimentais de controle automático e manual do cooler para as GPUs NV40 e NV50 GPUs que são usados nos chips gráficos 6xxx, 9xxx, 1xx e 3xx, na série GeForce. Aaron Plattner, desenvolvedor da NVIDIA, ajudou no desenvolvimento de um novo driver, ainda beta, que oferecerá pela primeira vez suporte à linha Optimus. 

O driver de gráficos para os aguardadíssimos processadores Haswell da Intel foi aprimorado para configurar o núcleo gráfico desses processadores para utilizar menos energia quando apenas um tubo de visualização é utilizado com o Windows Embedded DisplayPort (EDP), o que às vezes é o caso em notebooks . 


O Linux 3.9 irá incluir um driver para componentes Wi-Fi da série 7000 da Intel. Aparentemente esses componentes suportarão os modos de transmissão IEEE 802.11ac. Parece que a empresa está planejando apresentá-los em poucos meses - provavelmente junto com os notebooks baseados em processadores Haswell, que deverão tornar-se disponível neste verão.

Também foi feita algumas alterações no código do driver para configurar os codecs de áudio HD, que são usados ​​em muitos computadores de mesa e notebooks modernos. Esse código agora está mais enxuto e mais robusto. Os drivers libata agora suportam o estado "zero unidades de dispositivos ópticos de potência" (ZPODD) (unidades ópticas que são capazes de quase se desligarem completamente para economizar energia quando não há nenhum CD ou DVD no drive).

Já as modificações do controlador de plataformas, os desenvolvedores do kernel adicionarão um driver que suporta Chromebooks de diversos fabricantes, incluindo, por exemplo, o Pixel Chromebook. Outra novidade é um driver para trackpads I2C da Cypress APA; estes trackpads estão incluídos nos Chromebooks ARM Series 3 da Samsung, que atualmente é um item de teste popular para desenvolvedores Linux que têm interesse em ARM. Outra novidade é um driver para a Cypress PS / 2 trackpad que a Dell está usando em seu Ultrabook vendido com o Ubuntu 12.04. 


Como planejado, os desenvolvedores do Linux removeram a opção de configuração CONFIG_EXPERIMENTAL do kernel. Agora, recursos experimentais só podem ser usados, inicialmente, apenas se esta opção foi ativada durante a compilação do kernel. No entanto, os desenvolvedores do kernel anteriormente optavam por manter o CONFIG_EXPERIMENTAL uma vez que a características já estava bem amadurecida. Compiladores do kernel passaram muitos anos tendo que ativar a opção CONFIG_EXPERIMENTAL, quase como um padrão, a fim de construir um kernel para componentes de hardware moderno - os desenvolvedores do kernel tinham se apegado nisso e agora estão caindo nessa outra abordagem. O status de características verdadeiramente experimentais agora só são indicadas nos textos de ajuda que são exibidas durante a configuração e em adições como "(experimental)" nas descrições curtas. 


A lista de arquiteturas de CPU suportadas inclui duas novas entradas porque o Linux agora roda em processadores ARC Synopsys, bem como processadores de núcleo Imagination Meta ATP (Meta 1) e HTP (Meta 2). Os desenvolvedores atualizaram o código para compactar e descompactar LZO para fornecer velocidades significativamente mais rápido de processamento, o recurso é agora duas vezes mais rápido em alguns processadores.


Pela primeira vez, o recurso KVM hypervisor trabalhará com processadores ARM, pois agora foi adicionado seu suporte aos processadores Cortex A15. O suporte Xen do kernel agora inclui drivers para hot-plug para processadores e componentes de memória. A remoção desses componentes em tempo de execução não é possível no momento. A integração dos drivers para VMCI da VMware (Virtual Machine Interface de Comunicação) e os Sockets VMCI que em que são baseadas, promete melhorar o apoio geral para soluções de virtualização da VMware. Os produtos VMware usam essas tecnologias para proporcionar o intercâmbio de comunicação e de dados entre os hosts e convidados.

Gerenciamento de Energia

O Linux 3.9 agora suporta o modo "lightweight suspend" ou o modo "suspend freeze" que fará com que o kernel possa enviar todos os componentes de hardware em seu mais profundo estado de sono. Ao contrário de suspender-to-RAM (ACPI S3), este recurso não desligará os componentes, permitindo assim que eles sejam mais rápidos para retomar a operação quando eles forem necessários. Enquanto que o consumo de energia resultante será maior do que com suspensão para a RAM, ainda é concebido para ser mais baixa do que durante o estado de repouso normal, porque o processador pode dormir ainda mais profundamente. O estado de congelamento tende a ser menos relevante para PCs e notebooks, descontando certos casos especiais, tais como sistemas que devem acordar de suspender de forma particularmente rápida, que precisam responder às entradas de teclado ou de tráfego de rede, ou não oferecem suspend-to-RAM. No entanto, os desenvolvedores afirmam que o novo modo de suspensão vai fazer a diferença com alguns smartphones e tablets que irá consumir quase o mínimo de energia quando eles são colocados em estado de suspensão para RAM mais profunda e menos responsivo.


Embora o uso de SSDs como cache de disco rígido seja chapéu velho no mundo Windows, o Linux finalmente inclui esta capacidade bem - embora ainda não se sabe se os usuários vão preferir o novo dm-cache ao invés do Bcache, que está programado para ser incluído no 3.10. A nova característica socket-splitting da pilha de rede é de interesse para os mantenedores de servidores e desenvolvedores de software para evitar que um núcleo do processador acabe por se tornar um gargalo em sistemas multi-core modernos. Com novos drivers de Wi-Fi da Intel e as melhorias de drivers gráficos da AMD, o kernel está agora melhor equipada para PCs e notebooks que em breve serão lançados. Suporte RAID 5 e 6 no Btrfs, significa ampliação de sua gama de recursos - o que é necessário para que ele perca sua condição experimental.

Traduzido e adaptado de H-Online.

por Lex Aleksandre ( em 29/04/2013 11:48


Manoel Aleksandre Filho

Definida a data definitiva do lançamento do Debian Wheezy

Só para não esqueceram e aproveitando a arte do blog oficial do Debian.
Neil McGovern, em nome da Equipe de Lançamento Debian, anunciou a data prevista do fim de semana entre 4 e 5 de maio para o lançamento do Debian 7.0 "Wheezy".

Agora é hora de organizar algumas festas de lançamento  do Wheezy para celebrar o evento e mostrar todo o seu amor ao Debian!


por Lex Aleksandre ( em 24/04/2013 16:29


Francisco Aparecido da Silva

Aprendendo Shell / Bash

Em uma aula de Software Livre, abordei as questões da necessidade de uma certa fluência na utilização dos comandos mais conhecidos por linha de comando, ou CL (Command Line); Quando menciono certa fluência, o que quero dizer é o conhecimento básico para administração de um sistema, manipulação de arquivos de configuração, cópias de arquivos, uso de utilitários de atualização do sistema, como "aptitude", "apt-get", "dpkg" ou edição de textos com "vim".

Quem não conhece ou nunca utilizou os comandos presentes no shell, não imagina o ganho de produtividade e versatilidade em administrar Sistemas Linux. Naturalmente, o aprendizado não é somente memorização de comandos e suas sintaxes, mas no curto e médio prazo, ja é possível tirar bons proveitos do estudo de cada domando. Além disso, altamente recomendado como uma primeira linguagem para aprender os primeiros passos em programação de computadores conforme Jon "Maddog" Hall no seu blog em [1].

Então, o shell é um interpretador que está entre o usuário e o kernel do sistema operacional, fazendo todas as análises dos comandos, checando por exemplo sua sintaxe, se o comando é válido e enviando as requisições para execução. Costumo dizer que o shell é o ponto mais próximos que podemos estar do kernel de um sistema Linux e, lógicamente, o kernel é o ponto mais próximo dos dispositivos de hardware própriamente dito, como execução de comandos de leitura e gravação em disco ou comunicação com impressoras por exemplo. Como dito no paragráfo anterior, outra grande utilidade do shell é ser uma linguagem de programação, conhecida como "script shell" com objetivos de automatizar programas, configurações, instalações, etc.

Crédito imagem:

O Shell mais conhecido no mundo Linux é o  bash − GNU Bourne-Again SHell. O Bash é um interpretador de comando compatível com sh capaz de executar comandos pela entrada padrão ou através de um arquivo. Também incorpora características úteis do ksh e csh, fielmente seguindo as especificações POSIX (IEEE Standard 1003.1).

Caso necessite informações sobre o bash, instale o bash-doc e vefifique sua documentação em /usr/share/doc/bash-doc ou sua man page (man bash);

Para trabalhar com eficácia no Shell, recomendo o estudo de alguns comandos simples e ter disciplina para aprender todo dia um pouco, por exemplo, iniciando por aqueles comandos mais simples, com manipulação de arquivos e diretórios; ao surgir dúvidas, a ferramenta mais acessível para ter informações sobre um comando é o próprio comando seguido do --help, como por exemplo ls --help, ou usando a man page (man ls); Abaixo vou listar comandos que julgo ser necessário seu estudo para uma utilização do estudante de Software Livre:

pwd mostra o diretório atual
ls                 lista arquivos no diretório corrente (ls -l, ls -lhat)
man             exibe um manual do comando especificado (man ls)
mkdir          cria um diretório
rm               remove arquivo
rm -rf          cuidado, remove diretório de forma recursiva
|                  pipe, concatena comandos
>            cria arquivo
>>     cria ou adiciona dados em um arquivo
/dev/null      direciona a saida descartando os resultados
find             comando útil para localização de arquivos
ps               mostra os processos correntes, ex ps -aux
kill              mata um processo pelo seu número
pkill            mata um processo pelo seu nome
alias           útil para dar "apelidos" a comandos, ex: alias cp='cp -i'
cal             apresenda o calendário
chmod       permite atribuir modos a um arquivo
less            similar ao more, premite visualizar o conteúdo de um arquivo
chown       permite alterar dono e grupo de um arquivo
clear (ctrl+l)  limpa a tela
tar             comando para backup
gzip           comprime ou expande um arquivo
date           mostra a data corrente, configura data no sistema
du              disk user
df               reporta o espaço usado no disco
file             determina um tipo de arquivo
find            procura por arquivos na hierarquia de diretórios          
head          mostra o inicio de um arquivo
ln              cria links simbólicos
mail            envia e-mail
more            controla a saida de um comando
password        cria, altera senha, bloqueio/desbloqueio de usuário
ping            não conhece o ping?
hostname        retorna ou configura o hostname de uma máquina
reboot          reinicia o sistema
shutdown        desliga o sistema
rmdir           exclui um diretório
tail            útil para checagem de logs
su              sudo user
wc              util para contar linhas, palavras de um arquivo
whereis         mostra o local de um comando    
who             who am i
top             mostra informações sobre o sistema, atividade, uptime, etc
uptime          mostra tempo do sistema ligado
mount           monta dispositivos de blocos, discos, etc

Alguns comandos, podem necessitar de poderes de sudo ou ainda utilizar a conta de root! Sobre isto, veja mais em root, direitos, privilégios e segurança;

O domínio dos comandos acima, mesmo que básico, já ajuda o estudante a ter fluência na manipulação de dados via linha de comando; Aproveite as possibilidades de usar Linux e divirta-se.


por Fafanet ( em 19/04/2013 16:26

Manoel Aleksandre Filho

Debian Wheezy será lançado dia 4 ou 5 de maio

Em mensagem à lista de discussão debian-devel-announce, na data de ontem (18/04), Neil McGovern nos trouxe a boa notícia do que ficou acertado entre os principais times: o Debian 7.0, codnome Wheezy, será lançado no primeiro fim de semana de maio, entre os dias 4 e 5.

O sistema de arquivos padrão para novas instalações agora é o ext4  e também temos a opção do systemd com journald, utilizando o cgroups e expondo outros novos recursos do kernel, como namespaces do sistema de arquivos.

Para o Desktop e Laptop, as principais novidades são:

  • LibreOffice substitui o;
  •  GNOME foi atualizado para a versão 3.4;
  •  KDE foi atualizado para a versão 4.8;
  •  XFCE foi atualizado para a versão 4.8;
  •  PackageKit substitui o gerenciamento gráfico de pacotes anterior do GNOME;
  •  Suporte multimídia
    •  O ffmpeg foi substituído pelo seu fork libav, que é considerado mais conservador quanto ao processo de liberação e, assim, atende melhor às necessidades do Debian. Ele fornece todas as bibliotecas e prepara um caminho de atualização para pacotes de aplicativos existentes.
    • O Wheezy  vem com todas bibliotecas e frontends full-featured no libav (anteriormente ffmpeg), incluindo, por exemplo o mplayer, mencoder, vlc e transcodificadores. É fornecido suporte a codecs adicionais, por exemplo, através lame para codificação de áudio MP3, xvidcore para codificação de vídeo MPEG-4 ASP, x264 para codificação de vídeo H.264/MPEG-4 AVC, vo-aacenc para codificação de áudio AAC e OpenCore-amr e vo-amrwbenc para Adaptive Multi-Rate Narrowband and Wideband para codificação e decodificação, respectivamente. Para a maioria dos casos de uso, a instalação de pacotes a partir de repositórios de terceiros não deve mais ser necessária. Os tempos de multimídia deficientes no Debian finalmente acabaram-se!

O novo instalador agora suporta:
  •  Real-time kernel featureset (linux-image-rt-amd64, linux-image-rt-686-pae);
  •  Ports kFreeBSD e Hurd usam XFCE por padrão;
  •  Suporte exFAT via fuse driver;
  •  Suporte para instalação UEFI em sistemas x86-64 (amd64);
  •  Suporte WPA;
  •  Suporte a síntese de voz Software!
  •  Suporte para a instalação de sistemas diskless usando NBD ou iSCSI. 

Para uma lista completa das novidades, veja NewInWheezy.

por Lex Aleksandre ( em 19/04/2013 06:52


Manoel Aleksandre Filho

Nove mitos que não devem impedi-lo de experimentar Debian

A Reputação do Debian está fora de sintonia com o que ele realmente oferece.

Nestes dias, o Debian parece estar desfrutando um modesto retorno entre os usuários experientes. Dificilmente passa-se uma semana sem que não se ouça em sites de redes sociais a notícia de que duas ou três pessoas estão olhando o Debian com outros olhos.

Este interesse renovado pode ser reflexo da crescente desilusão com o Ubuntu, distribuição baseada no Debian e que outrora havia tomado seu lugar em popularidade entre os usuários Linux. Certamente, reflete uma crescente disposição, no transcurso dos últimos dois anos, dos usuários revoltados com o Unity do Ubuntu, em experimentarem novas distros com GNOME 3. Sendo uma das distribuições mais antigas e especificamente focada nas escolhas do usuário, Debian parece confiável no meio de tantas incertezas.

Ainda assim, muitos usuários hesitam em mudar para o Debian. A distribuição é cercada por mitos, muitos deles ligados à impressão de que é indicada para especialistas e de que é quase tão difícil de usar como o Gentoo ou Linux from Scratch.

No entanto, a maioria desses mitos ou estão desatualizados ou são meias-verdades que precisam ser inteiramente analisadas. Como em qualquer distribuição, a experiência do usuário no Debian vem tanto dos aplicativos como da própria distribuição. Se você estiver confortável com o KDE ou o LXDE no Fedora ou Mageia, você deve sentir-se também confortável com eles no Debian. Mesmo que qualquer um desses mitos fossem verdadeiros, nenhum deles poderiam fundamentar qualquer razão para não darmos uma chance ao Debian.

9. Debian é difícil de instalar

Verdade seja dita, o Debian foi uma das últimas distribuições a ter uma instalação fácil de usar, e muito menos em modo gráfico. No entanto, uma revisão do instalador baseado em texto foi aplicada em 2005, e uma versão gráfica em 2007, sendo que ambos são práticos, embora esteja longe de ser amigável.

O que pode ser intimidante é que ambas as versões do instalador exigem uma contribuição significativa do usuário. Se você quiser, você pode ajustá-los indefinidamente. No entanto, mesmo se você não tem ideia do que é o Linux, você ainda pode instalar o Debian com sucesso aderindo ao nível básico de detalhes, aceitando sugestões do instalador e ler a ajuda.

Alguma vez você já recorreu ao método especialista do instalador do Ubuntu? Se sim, você já usou uma versão do instalador Debian, e pode usá-lo a partir dessa experiência em primeira mão.

8. Os usuários devem manter um mesmo ramo de repositórios

Muitas pessoas estão conscientes de que o Debian tem três repositórios principais: Testing, Unstable e Stable. A maioria também estão cientes de que um pacote entra no Unstable após o cumprimento das normas básicas, então passa para o Testing e, finalmente, para o Stable quando uma liberação geral é feita. No entanto, os usuários potenciais receiam comprometer seus sistema por conta da escolha de um repositório inadequado para suas preferências.

Por outro lado, usuários experientes do Debian conhecem melhor as possibilidades dos repositórios. Usuários que estão configurando um servidor ou que exigem o máximo de confiabilidade, ou por algum outro motivo qualquer, geralmente ficam com o repositório Stable. No entanto, outros usuários, especialmente em estações de trabalho independentes, costuma misturar e combinar os repositórios para produzir sistemas híbridos.

Entretanto, estes sistemas híbridos exigem cautela. Geralmente, deve-se evitar misturar e combinar pacotes do sistema central (os chamados pacotes base). A exceção fica por conta do kernel, já que o bootloader normalmente armazena vários kernels, de modo que se um novo não funcionar, você ainda pode reiniciar o sistema. Da mesma forma, se você tem várias áreas de trabalho, problemas com uma delas ainda ainda lhe permitirá usar uma outra interface, ou mesmo a linha de comando como último recurso.

Por outro lado, ainda assim é perfeitamente seguro atualizamos os aplicativos do desktop para aqueles dos repositórios Unstable, porque, mesmo se ocorrerem problemas, seu sistema básico ainda deve inicializar.

Em outras palavras, desde que você tome algumas precauções, você não está limitado a usar um único repositório, a menos que você deseje ser assim.

7. Unstable é instável

Sim, o repositório Unstable é instável para os padrões Debian. Mas isso significa que, para os padrões da maioria das outras distribuições, pacotes instáveis ​​são geralmente utilizáveis. Na verdade, os derivados Debian muitas vezes tomam emprestados pacotes diretamente do Unstable, a fim de dar aos usuários as mais recentes versões dos pacotes.

No entanto, o repositório Unstable passa por alguns períodos em que é melhor deixá-lo sozinho. Desde que os pacotes cumpram algumas normas mínimas, alguns pacotes mandados para o Unstable podem ter problemas de dependência que podem quebrar o sistema de gerenciamento de pacotes, deixando-o incapaz de instalar outros pacotes até que o problema seja resolvido.

Mas tais problemas geralmente são corrigidos quando submetidos ao processo de depuração. Você também pode ter um número de opções para a correção  do seu próprio sistema.
Da mesma forma, você deve evitar atualizações do Debian unstable quando está no meio de uma transição de uma tecnologia para outra. Por exemplo, há alguns anos, o Debian mudou o seu gerenciador gráfico do XFree86 para X.Org e demorou um pouco para fazer a transição sem problemas para os usuários.
Se você usar o Unstable como repositório principal ou ocasionalmente em um sistema híbrido, você precisa adquirir o hábito de acompanhar  o que o Projeto está fazendo.

Por exemplo, quando um congelamento para o próximo lançamento é iniciado, não é uma boa ideia atualizarmos ou instalarmos pacotes do Unstable, porque alguns podem ter sido feitos à pressa, a fim de cumprir o prazo de congelamento.

Sob essas circunstâncias, por uma semana ou duas, você pode querer usar a opção -s para o apt-get para simular uma atualização antes de realmente a praticá-la, apenas para evitar problemas.

6. Pacotes Debian são desatualizados

A verdade desta afirmação depende do repositório e das circunstâncias.

Geralmente, o repositório Stable possui pacotes mais antigos do que do repositório Testing e, muito provavelmente ainda mais desatualizados do que aqueles do Unstable. Historicamente, dois ou três anos é período médio entre os lançamentos oficiais de uma versão estável do Debian. Antes do lançamento de uma nova versão, a versão estável corrente pode estar bastante obsoleta, apesar de várias micro-releases, backports e patches de segurança que permitem torná-la utilizável.

Da mesma forma, quando um congelamento é iniciado, levando a uma nova versão, o conteúdo do Testing e Unstable vão ficando cada vez mais idênticos pelo fato de não ser permitida a inclusão de novos pacotes no sistema.

Por outro lado, nos primeiros seis meses após o lançamento, a versão Stable pode ser tão atual como o repositório de qualquer outra distro.

O que é verdade é que a disponibilidade de pacotes depende do entusiasmo das equipes de mantenedores. Aplicações populares como o Amarok podem permanecer no Unstable por um período, ​​depois que o upstream project anuncia uma liberação.

Outros pacotes podem demorar mais para aparecer. A ênfase do Debian é a estabilidade, e não a atualidade de seus pacotes. Se você realmente quiser o software mais recente, você pode ativar o repositório experimental. Mas nem  todos os pacotes que vão para o Unstable aparecem primeiro no Experimental, e esse repositório pode causar sérios problemas.

Em geral, na melhor das hipóteses, a atualidade dos pacotes Debian é a menor de suas preocupações. Enquanto todo mundo gosta da ideia de ter a versão mais recente de tudo, a maioria dos aplicativos no ambiente de trabalho livre são avançados o suficiente para que as diferenças entre uma versão e outra não faça assim tanta diferença.

5. Debian não é uma distribuição livre

Você não vai encontrar o Debian na lista das distribuições livres licenciadas pela Free Software Foundation por duas razões: primeiro, porque cada repositório Debian contém uma secção não-livre (non-free), bem como uma seção contrib consistindo de software que é livre em si, mas depende de algum software não-livre, e, segundo, porque inclui a opção de instalar firmware proprietário em seus kernels.

No entanto, o instalador Debian encoraja os usuários a instalar um sistema livre. Aqueles que querem usar as seções non-free e contrib tem que adicioná-los à lista de fontes de repositórios próprios. Da mesma forma, os usuários podem optar por não utilizar firmware proprietário ao instalar. Com essas opções, você pode facilmente instalar um sistema Debian totalmente livre se for a sua escolha.

4. As imagens de instalação são enormes, para Download

Uma versão completa do Debian pode ser contida em 51 CDs e, é provável, poderá levar mais de 24 horas para serem baixados.

No entanto, a maioria dos usuários preferem um live CD, ou uma imagem de instalação de rede de 180 MB, ou uma instalação de cartão de 40 MB. A instalação levará mais tempo a partir dessas soluções porque elas têm de baixar da Internet os pacote que não vem com as mesmas. Mas com elas, você pode estar pronto para instalar em cinco minutos ou menos.

3. Os mantenedores Debian são muito hostis

Há uma década atrás, os mantenedores Debian tinham a reputação de serem indiferentes, grosseiros e sarcásticos. Atualmente, podemos encontrar discussões acaloradas nas listas de discussão do projeto, mas de muitas maneiras Debian é claro em seus atos.

Uma das razão para a mudança reside no fato de que os mantenedores solitários estão cada vez mais dando lugar a equipes, os membros do projeto estão mais preocupados com o bom relacionamento com as pessoas.

Nos últimos anos, o projeto também instituiu um código de conduta para suas listas de discussão, uma declaração de diversidade, uma equipe anti-assédio e padrões de respeito para eventos.

Se esses esforços visam incentivar uma atmosfera amigável ou refletem apenas uma determinação entre os líderes do Debian para aparentar isso é uma questão aberta. Mas é verdade que o projeto Debian parece um lugar mais acolhedor hoje do que era há cinco anos.

2. Debian não é compatível com o Ubuntu

Esta afirmação é importante porque o Ubuntu contém documentação e aplicativos proprietários em seus repositórios que alguns usuários podem querer instalar. Além disso, quando um projeto derivado deseja um ciclo de liberação mais curto, atualmente, eles preferem fazê-lo para o Ubuntu.

O fato é que, como o Ubuntu toma emprestado muitos de seus pacotes do Debian Testing ou dos repositórios Unstable, as duas distribuições terão sempre um elevado grau de compatibilidade. Ao mesmo tempo, o Ubuntu continua a diferenciar-se do Debian e outros demais distribuições debian-like, logo, essa compatibilidade tenderá a cair com o tempo.

Até onde eu sei, ninguém controla o nível dessa compatibilidade. Mas, de acordo com uma apresentação feita pelo líder do projeto Debian, Stefano Zacchiroli, em 2011, 74% dos pacotes do Ubuntu são tirados diretamente de repositórios do Debian e 18% são de pacotes adaptados. (Os 7% restantes são obtidos do upstream). Estes números sugerem que dois de cada três pacotes são compatíveis em ambos os sistemas. Provavelmente, as chances são ainda melhores se o pacote não fizer parte do núcleo do sistema.

1. Debian é irrelevante hoje

Em grande medida, o Ubuntu agora desfruta da popularidade que o Debian tinha uma década atrás. Inovador onde Debian está preocupado com a estabilidade, user-friendly, onde Debian tem uma reputação de ser idealizado para especialistas, poderiam dizer que o Ubuntu tornou o Debian irrelevante.

Uma análise mais atenta, porém, mostra que, se o Debian em si está menos popular do que era antes, a sua influência tornou-se maior do que nunca. Além Ubuntu em si, 147 das 321 distribuições listadas na Distrowatch baseiam-se em  Debian. Adicionando-se as distribuições derivadas do Ubuntu, chegaremos a 234 distros derivadas direta ou indiretamente do Debian (73% das distribuições existentes). Este é um acréssimo de 10% em relação há dois anos atrás, e a inclui entre as três distribuições das cinco principais mais procuradas - Linux Mint, Ubuntu e Debian.

Em vez dizer que tornou-se irrelevante, hoje Debian está mais influente do que nunca. Pode-se dizer que se tornou o maior projeto upstream do desktop Linux.

Vivendo sob os rumores

Tecnicamente e socialmente, o Debian tem muitos pontos a seu favor. O Seu sistema mantenedor garante que apenas pessoas habituadas com projetos de upstream  estejam habilitadas a supervisionar seus pacotes, e os testes destes pacotes incluem padrões rigorosos.

Tão importante quanto isso, está uma das mais fortes provas de que uma distribuição baseada na comunidade pode ser tão bem sucedida como uma comercial. Alguns usuários também a apoiam pelo simples fato de que ela oferece uma posição rígida e diferenciada quanto ao software livre, que é independente da Free Software Foundation.

Entretanto, muitas pessoas acabam deixando-se influenciar pelos mitos quando pensam em adotar Debian - baseadas em rumores de que nunca foram verdade ou que há muito tempo deixam de ser verdade.

Quando você resolver olhar através dos mitos, atualmente você não terá motivo algum para não considerar Debian ao invés de outras distros que têm uma reputação melhor por conta da facilidade de uso. Além de umas poucas qualificações que eu mencionei, o Debian moderno merece ser um candidato sério quando você se decidir trocar de distro.

Fonte: Datamation
Reproduced with permission.
Copyright 1999-2013 QuinStreet, Inc. All rights reserved.

por Lex Aleksandre ( em 12/04/2013 12:52


Manoel Aleksandre Filho

Arte oficial do Debian Wheezy

Em junho do ano passado já havíamos comentado sobre o ganhador do concurso de arte para o tema que seria o padrão do Debian Wheezy.

De acordo com este anúncio no site oficial do Debian, logotipos Debian podem ser utilizados livremente, tanto para fins não-comerciais como comerciais.

Além disso, a arte final para o Wheezy foi publicada oficialmente apenas alguns dias após o Debian Installer RC1 ser lançado. A obra de arte está seguindo um padrão light-blue. Você pode baixar um arquivo contendo a obra de arte aqui. O pacote contém arquivos PNG e SVG para o grub, o instalador Debian, syslinux e até mesmo peças de arte para fins de merchandising (como camisetas, canecas, etc.)

Como publicamos ontem uma etiqueta não oficial para mídias de CD ou DVD Debian, gostaríamos de republicar as oficiais do projeto.


DVD case:

Confira as imagens do tema completo em nosso post da época.

por Lex Aleksandre ( em 03/04/2013 08:23


Manoel Aleksandre Filho

Arte para CD/DVD do Debian

O artista gráfico MiroZarta disponibilizou no deviantART etiquetas para serem impressas diretamente em mídias de CD/DVD tanto para Debian Squeeze como para Wheezy. Não é um trabalho oficial mas eu gostei muito do resultado final. É indicado para quem costuma difundir o Projeto Debian mundo afora ou para quem gosta de distribuir uma mídia nos install fest da vida.

Também indico seu lindo conjunto de wallpapers com o tema Space.

Essa matéria foi baseada na dica do +Eder Jordan.

por Lex Aleksandre ( em 02/04/2013 13:28

Debian Squeeze no Fantástico

Em uma reportagem exibida na noite do domingo do dia 24/03 pelo Fantástico, da Rede Globo,  que trazia o tema "Neurocientista mostra avanços em projeto para paraplégico andar na Copa", é possível ver em um dos computadores do laboratório o papel de parede do tema oficial da versão Squeezy do Debian GNU/Linux. O tema se chama SpaceFun e foi desenvolvida pelo nosso colega Valéssio Brito para o Debina 6.0.

Muito provavelmente o que foi exibido no vídeo trata-se do NeuroDebian, que é um projeto baseado em Debian com implementações de ferramentas científicas para a área da Neurociência. 

Abaixo reproduzimos todo o vídeo da matéria, mas você pode conferir que o NeuroDebian aparece a partir dos 7min26s:

por Lex Aleksandre ( em 02/04/2013 13:18


Francisco Aparecido da Silva

Dia da Liberdade dos Documentos (27/03/2013)

Dia da Liberdade dos Documentos
Pensando no dia da liberdade dos documentos, lembro-me dos primeiros editores de textos e das primeiras planilhas eletrônicas. Por exemplo, no MSX (HotBIT Sharp) trabalhava muito bem com o HotCalc, um programa que era carregado de um cartucho inserido no Slot A; O programa para edição de textos, era carregado diretamente do tape recorder através de cabos na entrada "aux", após alguns minutos de leitura e um pouco com sorte. Neste cenário, minhas planilhas e documentos, incluindo coisas profissionais, eram salvos nestas fitas cassete. As coisas profissionais a que me refiro, também eram  impressas em uma impressora eletro-mecânica, que era o caso da Praxis 20, uma Olivetti devidamente adaptada com uma interface paralela. Nos 1980-1990 era assim, todo mundo que aprendeu naquele tempo, tem conceitos. No anos 1990-2000, experimentamos diversas tecnologias para edição de documentos e planilhas, dentre estas tecnologias o Editor Fácil, para texots, EasyCalc para planilhas para citar somente alguns. Empresas com poder econômico e reserva de mercado, transformaram a Fácil Informática em sombra do passado! 

Segundo Maiko Rafael Spiess / Marcos Antônio Mattedi [1] "Enquanto o Fácil para MS-DOS traduzia interesses com uma facilidade espantosa, por justamente “se deixar alistar” pelos interesses alheios, como a adequação à língua portuguesa, o Fácil para Windows encontrou um ambiente muito mais hostil. Enquanto o primeiro, em termos práticos, precisava apenas demonstrar ser um todo coerente e funcional para ser adotado, utilizado e incorporado por outros atores, o segundo precisou envolver-se em traduções de interesses cada vez mais tortuosas e menos favoráveis. Eventualmente, as bem-sucedidas estratégias de translação de interesses empregadas pela Microsoft, envolvendo um novo paradigma de sistema operacional, aplicativos integrados e a opinião especializada, fortaleceram ainda mais uma rede local coerente e estável, a ponto de ela atrair para si a força da grande maioria dos usuários de microcomputadores desde então. Os usuários foram convencidos pela Microsoft que a realização de seus interesses e o futuro da informática passavam necessariamente pelo Windows e pelo processador de textos Word. O Fácil, por outro lado, ainda um produto viável, mas progressivamente com menos destaque na mídia especializada, sem o aparato de marketing e pesquisa da gigante norte-americana, atraía cada vez menos aliados e consumidores. Conforme ele se enfraquecia, menos convincente se tornava em uma futura negociação de interesses. Com seus antigos compradores sendo convencidos pela Microsoft, a força dos processadores de textos Fácil foi rapidamente drenada em direção ao Microsoft Word e seus programas irmãos..."

Dito isto e torcendo muito que você tenha se interessado até aqui, lembro que as fitas citadas acima já não são mais possíveis de  serem lidas e os arquivos não são mais recuperáveis. Então, da mesma forma que somos atores no cenário da tecnologia, somos impactados por ela enquanto cidadãos, empresas ou governos. A experiência, estudos e organizações mostram que cuidados devem ser tomados para que nossos documentos (no sentido amplo) devão ser tratados como um bem que precisa ser preservado. Iniciativas como Document Freedom Day [2] ou Dia da Liberdade dos Documentos [3] devem ser estimuladas como uma grande conquista, ou ainda, uma grande "construção social", mesmo que  pressionada pelos formatos fechados;

Finalizo com o pensamento abaixo do Sr Charles-H. Schulz, Director da Document Foundation e Membro da administração do OASIS Consortium:

"Liberdade Documental é uma parte enorme da nossa liberdade digital, e no entanto a que se presta pouca atenção. Toda a gente devia poder usar, reutilizar e distribuir livremente documentos digitais e os dados contidos neles. Infelizmente formatos fechados e proprietários restringem a nossa liberdade de poder usufruir dessas liberdades e de interoperar bem com outros. Para que se possa permitir e garantir a liberdade documental precisamos de usar, promover e desenvolver verdadeiros standards abertos que não tenham problemas de patentes, e de usar software e tencologias inovativas e inclusivas. O Software Livre pode ter um papel para ajudar muito nestes assuntos." Fonte

[1](Maiko Rafael Spiess, Marcos Antônio Mattedi, pg 463 <>, acesso em 27/03/2013)

por Fafanet ( em 27/03/2013 18:54


Manoel Aleksandre Filho

Debian Wheezy está às portas

Artigo traduzido do The H Online

A equipe de lançamento do Debian está entrando em uma fase decisiva, em relação ao Debian 7.0, também conhecido como "Wheezy". Na sequência desse lançamento, uma lista de bugs considerados críticos foi reduzida para menos de uma centena. Sendo assim, os desenvolvedores já decidiram ignorar os problemas em questão, e liberarão os pacotes caso os patches não sejam apresentados em breve. No entanto, eles só vão aceitar pequenas correções para os problemas em questão, e não irão mexer em outras partes do sistema, pois estão tentando seguir em frente com o lançamento. 

 Além dos outros trabalhos de desenvolvimento, um Release Candidate para o novo instalador Debian está disponível há mais de um mês. Levando em consideração a atual fase desse trabalho, é possível que o Debian Wheezy possa ser liberado durante o feriado da Páscoa. Para que isso aconteça o bug 703419 precisa ser corrigido, referente ao término do conteúdo das notas de lançamento para o Wheezy.

por Lex Aleksandre ( em 22/03/2013 12:55


Manoel Aleksandre Filho

Bluetooth do DELL Inspiron N4050 no Debian

Já havia tratado desse assunto em um post anterior. Entretanto, o módulo compilado naquela ocasião era muito bugado e o bluetooth funcionava quando queria ou funcionava mal.

Pesquisando por aí descobri que o módulo do pacote linux-firmware mais recentes funciona perfeitamente para o bluetooth do DELL Inspiron N4050.

Mas tal pacote tem que ser buscado direto da fonte; o pegaremos diretamente do git. Sendo assim, instalemos, primeiramente, o git:
sudo aptitude install git
Para não deixarmos lixo em nossa home, façamos a clonagem do git na pasta tmp, siga os comandos na sequência.
cd /tmp
git clone git://
sudo cp linux-firmware/ath3k-1.fw /lib/firmware
Agora basta reiniciarmos o sistema e usarmos nossos dispositivos bluetooth.

por Lex Aleksandre ( em 17/03/2013 14:50


Manoel Aleksandre Filho

Dando um upgrade no Debian Squeeze

É do conhecimento de todos que as versões estáveis do Debian prezam exatamente pela estabilidade e segurança de seu sistema. Por isso mesmo, todo seu conjunto de pacotes são mantidos, durante toda a virgência da stable, em uma mesma versão ocorrendo somente atualizações de correção de segurança e bugs. Entre o congelamento da distribuição ainda no testing até o esgotamento do período da stable pode transcorrer um período próximo dos dois anos e meio. Todo esse tempo no cenário atual da tecnologia significa muita coisa. Para terem uma ideia, o Iceweasel, navegador padrão do Debian, está na versão 3.5.16 no Squeeze, enquanto que, atualmente, ele já está na versão 19 (a mesma versão equivalente do Firefox).

É claro, dispomos de pacotes mais atuais nos repositórios backports e até podemos hibridizar o Debian com repositórios do testing, experimental ou mesmo do Sid. Ainda há, também, a possibilidade de utilizarmos repositório de terceiros, principalmente de distribuições derivadas do Debian em que os seus mantenedores acabam por empacotar pacotes mais recentes para seus sistemas. E é exatamente essa última opção que utilizaremos aqui.

Utilizaremos repositórios da distribuição SolusOS, que é baseada no Debian Stable mantendo toda sua base mas adicionando um conjunto de pacotes mais recentes. Claro, você poderia simplesmente partir para a instalação do próprio SolusOS em seu computador, mas para aqueles que, como eu, não preferem se dispor de seu amado Debian usam os repositórios daquele para atualizar os pacotes deste. Mas vamos aos procedimentos! Estando com o seu Debian Squeeze devidamente instalado, deixe sua /etc/apt/sources.list como esta:
# Debian
deb squeeze main contrib non-free
deb squeeze/updates main contrib non-free
# Debian backports
deb squeeze-backports main contrib non-free
# SolusOS
deb eveline main import upstream non-free
# Debian Mozilla Team
deb squeeze-backports iceweasel-release
Agora devemos criar o arquivo  /etc/apt/preferences com as seguintes linhas:
# SolusOS Packages
Package: *
Pin: release a=eveline
Pin-Priority: 700
# Debian backports
Package: *
Pin: release a=squeeze-backports
Pin-Priority: 650 
Atualizamos a lista de pacotes e instalamos a chave do apt para o SolusOS:
sudo aptitude update
sudo aptitude install solusos-keyring
Agora aplicamos as atualizações existentes e reiniciamos o sistema:
sudo aptitude safe-upgrade
Muitos pacotes do GNOME serão atualizados, além de diversos outros aplicativos. Entretanto, outras aplicações importantes como o Iceweasel, o LibreOffice, gimp, etc, precisarão de uma atualização manual.

O SoluOS utiliza o Firefox (sempre a versão mais recente) como navegador padrão; você pode até instalá-lo, desde que desinstale o Iceweasel. Mas, desejando apenas ter o Iceweasel para a versão corrente apenas digite:
sudo aptitude install -t squeeze-backports iceweasel
Para atualizar a suíte de escritório, basta digitarmos:
sudo aptitude install libreoffice libreoffice3.6-pt-br libreoffice-l10n-pt-br myspell-pt-br
Que tal instalarmos um kernel mais atual? O time do SolusOS empacotou as versões 3.3, 3.5 e 3.6. Instalemos essa última:
sudo aptitude install linux-image-3.6
Agora reinicie e inicialize por esse kernel.

Editado: Acabei constatando que instalar o último kernel nem sempre é a melhor opção. Pelo menos para o meu caso, o kernel instalado acima deixava meu processador trabalhando a quente, meu bluetooth sequer era reconhecido como existente e minha webcam também. O melhor para o meu hardware é o kernel do próprio backports (linux-image-3.2.0-0.bpo.4-amd64). Fica a dica!

Bom, são muitas as possibilidade de se aproveitar os repositórios do SolusOS. Você poderá inicializar a Central de Aplicativos que foi instalada por padrão e dar uma verificada nas opções. Por exemplo, é possível instalar por ela o Skype, drivers mais recentes da Nvídia, o Deluge bittorrent, os temas faenza e elementary, GnoMenu, Minitube, JDownload, LOVEFiLM e Netflix, Pidgin mais recente, VLC 2.x, e vários outros pacotes que você não encontra no Debian original.


por Lex Aleksandre ( em 15/03/2013 14:14


Francisco Aparecido da Silva

Screenshots pela linha de comando com Scrot

SCRenn shOT, ou simplesmente "scrot".
Screenshot (foto da tela), é uma função básica para as necessidades diversas de computação, como documentação, mostrar um erro em um programa ou simplesmente exibir sua área de trabalho para os amigos; Particularmente, tenho usado para isso uma função do Gnome, o gnome-screenshot que possui funções muito diversas; O programa "scrot" tem a vantagem de poder ser chamado pela linha de comando pois este não depende de uma interface gráfica para rodar, pois utiliza a imlib2 para manipular imagens; 

A instalação em sistemas GNU/Debian se dá pelo próprio nome do pacote, o qual já instala a imlib2:

aptitude install scrot

Dicas de uso:

Além da man page, o scrot quando chamado com argumento -h apresenta um help muito fácil de entender. Fiz alguns testes para selecionar alguns usos mais comuns os quais listo abaixo para os curiosos testarem:

scrot  -s /tmp/scrot-s.png
A opção -s permite selecionar uma área para seu  scrennshot; O scrot  vai esperar até que seja "clicado" com o mouse uma área, aba, ou qualquer coisa no desktop; Note que neste caso, é indicado o nome para diretório que se deseja arquivar a imagem; Caso não seja indicado, os arquivos serão salvos na área de trabalho do usuário;

scrot  -u /tmp/scrot-u.png
A opção -u vai usar o foco atual do seu terminal:

Uma opção interessante, é poder contar um certo tempo até que seja disparado a captura do Screenshot; por exemplo, você pode desejar chamar o scrot e procurar a tela ou aplicação que deseja capturar; isto pode ser feito da seguinte forma:

scrot  -u -b -d 10 -c /tmp/scrot-border_count.png

Note, que aqui é exemplificado a possibilidade de colocar mais de um argumento na linha de comando,  por exemplo, a opção -d (delay) e  -c  (count) que juntas permitem uma contagem de 10 segundos antes da gravação indicada por -u (focused);

Sendo um programa ao bom estilo de linha de comando (cl); seu uso fica por conta da criatividade de cada um, inclusive, podendo ser usado em um laço for, agendado, utilizado em conjunto Convert que é especialista em manipulação de imagens ou pelo Gimp, para edição etc; Gostou? 

man scrot

por Fafanet ( em 11/03/2013 19:06


Manoel Aleksandre Filho

Sincronizando Calibre e Kobo eReader no Debian Wheezy

Quem me conhece sabe que minha maior paixão é a leitura. Estou sempre com um livro na mão ou no notebook lendo de tudo. Bom, estava. Depois de muitos problemas com dores na coluna, ombros, braços e mãos, problemas de visão, etc (não por conta dos livros, mas da leitura frequênte através do notebook) resolvi comprar um eReader. Pesquisei bastante, pesei os prós e contras, cheguei a comprar um tablet de 7" baratinho só pra experimentar a leitura e conclui que o melhor é utilizar um dispositivo próprio para essa finalidade. Enfim, comprei um Kobo Glo. E esse gadget tornou-se meu inseparável companheiro de todas as horas. Adeus dores na coluna, ombros, braços, etc; apesar de não poder mais dar jeito com a visão, pelo menos não a canso mais por conta da luminosidade do notebook. A leitura com o Kobo é muito agradável até mesmo sob o sol em um domingo na praia!

Leitores habituados com ebooks sabem que o melhor gerenciador de biblioteca pessoal é o software livre chamado Calibre. Ele é completíssimo. Além de gerenciar com maestria nossa biblioteca, também permite a conversão entre formatos de ebook e sua sincronização com diversos eReaders do mercado. Mas nesse caso veio um certo desgosto. A versão do Calibre disponível para o Debian Wheezy (0.8.51) não reconhecia o meu Kobo, enquanto que a versão do Ubuntu 13.04 (0.9.18) funcionava perfeitamente. Então, o que fazer? Simples, atualizar a versão do Calibre para a existente nos repositórios Sid (que é a mesma do Ubuntu, claro, já que é onde eles pegam tudo mesmo).

Bom, há algumas maneiras de se fazer isso, como acrescentar o repositório do Sid no sources.list do Wheezy, torná-lo misto, etc. Mas como eu não desejava "violar" o padrão do Testing (estou realmente testando-o), resolvi fazer o download e a instalação manuais dos pacotes necessários. No caso do Wheezy, primeiramente instalamos a versão atual dos próprios respositórios:
sudo aptitude install calibre

Depois de o mesmo estar instalado, vamos fazer download dos seguintes pacotes:

Agora procedemos com a instalação dos mesmos com os seguintes comandos na mesma sequência:
sudo dpkg -i calibre-bin_0.9.18+dfsg-1_amd64.deb
sudo dpkg -i  calibre_0.9.18+dfsg-1_all.deb

Pronto, agora basta gerenciar e transferir seus ebooks para seu Kobo e boa leitura!

1. O pacote calibre-bin que passei aí é para 64 bits, se o seu for 32 bits deverá pegar este:  calibre-bin;
2. Esses procedimentos, infelizmente, não servem para o Squeeze. Não sei se existe a versão mais atual, por exemplo, nos backports.

por Lex Aleksandre ( em 10/03/2013 11:40


Francisco Aparecido da Silva

Uptime, porque tempo é dinheiro

Uma das muitas virtudes do Linux é sua estabilidade e isto se reflete direto na questão de  uptime da máquina, que, mesmo passando por atualizações, configurações, instalação de novos programas ou periféricos não exige reinicializações frequentes, exceto atualização de algumas questões ligadas ao kernel ou mesmo mudança no hardware (se este não for hotswap); além disso, sysadmin's se preocupa muito com questões de disponibilidade. Mas o que eu gostaria de mostrar aqui são algumas curiosidades a respeito dos programas que controlam, ou melhor dizendo, que permitem a visualização das informações de uptime; 

O comando uptime; propriamente dito, com informações da hora atual, dias do sistema ligado,  usuários conectados e carga do sistema:

 Outro comando que trás informações, é o comando w que além do uptime, lista usuários, tarefas sendo realizadas, onde estão conectados entre outros detalhes:


O comando top, é mais completo quanto a isto, oferecendo informações úteis para administração de memória, swap, processos em execução, usuários ativos, entre outras informações:

O htop é outro comando interessante, muito similar ao top e tem como diferencial mostrar o consumo de cpu por barras, indicando o consumo para cada núcleo presente no processador, da mesma forma, para memória e swap. Um outro detalhe no htop, como se fosse uma brincadeira dos desenvolvedores, estando o sistema a mais de 100 dias ligado, ao lado dos dias em uptime aparece um ponto de exclamação (!), como a mencionar, parabéns, seu sistema é bem administrado e tem um bom uptime. :)

O comando procinfo é o único comando (que eu conheço) que mostra a data que o sistema foi ligado, "bootup" e o uptime é mostrado em meses, semanas, dias, horas, minutos, segundos e milesegundos:


Os comandos citados, uptime,  w, top, htop, procinfo são programas ncurses, muito especialistas em pequenas tarefas, assim como a maioria dos programas em linha de comando. Permitem, através das suas páginas man uma série de recursos informativos para administração do sistema, além de permitir o uso de informações em conjunto com o | (pipe), grep, awk, etc.

man uptime
man w
man top
man htop 
man procinfo

por Fafanet ( em 07/03/2013 21:36