Pular para o conteúdo principal

Cadê o /etc/inittab no Ubuntu?

Precisei desativar a carga de alguns processos durante o processo de boot do sistema, em especial os processos getty que são iniciados para os terminais tty3, tty4, tty5 e tty6. Fui procurar pelo arquivo /etc/inittab que tradicionalmente era usado para configurar os processos carregados durante o boot. Eu já sabia que o Ubuntu há algum tempo usa o upstart para realizar a gestão de processos do sistema, mas não havia ainda pesquisado nada sobre como utilizá-lo, pois trabalho mais com Red Hat Linux, CentOS, AIX, dentre outros que ainda usam o inittab para essa gestão.

Após uma breve pesquisa vi que a configuração do upstart equivalente ao inittab reside em /etc/event.d, lá ficam os arquivos de configuração de cada processo que deve ser controlado pelo upstart. Por exemplo, o arquivo tty3 controla o processo getty para o login no terminal /dev/tty3 (CTRL+ALT+F3) e tem o seguinte conteúdo:


# tty3 - getty
#
# This service maintains a getty on tty3 from the point the system is
# started until it is shut down again.

start on runlevel 2
start on runlevel 3
stop on runlevel 0
stop on runlevel 1
stop on runlevel 4
stop on runlevel 5
stop on runlevel 6

respawn
exec /sbin/getty 38400 tty3


De onde podemos extrair as seguintes informações:

  • Este processo é iniciado nos níveis de execução 2 e 3;
  • Deve ser parado nos níveis 1, 4, 5 e 6;
  • Deve ser re-executado sempre que cair (respawn);
  • E comando a ser executado é /sbin/getty 38400 tty3
Então se quisermos que esse processo não seja iniciado no runlevel 2, basta substituir a palavra-chave start por stop na seguinte linha:


start on runlevel 2


ficando assim:


stop on runlevel 2


O upstart fornece alguns comandos para a gestão dos processos durante o funcionamento do sistema, esses comandos são: start, stop e status. Tais comandos podem ser utilizados para iniciar, para e consultar o estado de um determinado processo. Para consultarmos o estado do processo getty para o tty3, usamos o seguinte comando:


$ sudo status tty3
tty3 (start) running, processo 4837


Comecei agora a estudar o upstart, no entanto percebi que existem várias possibilidades a explorar.

Postagens mais visitadas deste blog

VIM: Como copiar blocos de texto lado a lado

Supondo que você possua o seguinte texto e esteja usando o VIM para editá-lo, 1o. bloco aaa bbbbb ccc 2o. bloco ddd eeeee fff e queira colocar o segundo bloco ao lado do primeiro, podemos utilizar os seguintes comandos do VIM para tal tarefa: Mova o cursor até o início do segundo bloco e tecle CTRL-v; Mova o cursor de seleção até o final do bloco que é na linha cujo conteúdo é "fff"; Tecle $ para selecionar até o final de linha; Tecle d para apagar a seleção; Mova o cursor para o final da primeira linha do primeiro bloco, tecle a e insira a quantidade de espaços ou tabulações necessários; Tecle CTRL-v e SHIFT-p para colar o bloco apagado anteriormente na posição do cursor. Assim teremos o seguinte resultado, 1o. bloco 2o. bloco aaa ddd bbbbb eeeee ccc fff

Como trocar a data de expiração das chaves GPG

Baseado na dica disponível em: https://liquidat.wordpress.com/2013/05/07/howto-changing-the-expiry-date-of-gpg-keys/ 1. Primeiramente, você precisa saber o ID da chave, neste exemplo ABCDEF12 : $ gpg -list-keys liquidat@example.com pub.   2048R/ABCDEF12 2012-09-10 [expires: 2032-09-10] id                     liquidat sub     2048R/BCDEF123 2012-09-10 [expires: 2032-09-10] Com o ID em mãos pode-se editar a chave:  $ gpg --edit-key ABCDEF12 ... A chave pública está disponível. ... pub.  2048R/ABCDEF12 ... sub   2048R/BCDEF123 ... ... gpg> 2. Agora vamos efetivamente mudar a data de expiração: gpg> expire Changing exporation time for the primary key. Please specify how long the Key should be valid.        0 = key does not expires     = key expires in n days     W = key ...

Resolvendo problema UnsignedAccessViolationException com applets JAVA

Após atualizar a versão do Java para 6u33 ou 7u5 algumas aplicações JAVA Web Start (JWS) passaram a apresentar falha com a seguinte mensagem de erro: "Erro: aplicativo não assinado solicitando acesso ilimitado ao sistema" (UnsignedAccessViolationException). Achei a solução aqui que basicamente consiste em limpar o cache JAVA: 1. Feche a aplicação ou applet Java 2. Abra o Painel de Controle Java ( $JAVA_PATH/bin/ControlPanel ) 3. Clique em Configurações... na seção Arquivos temporários de Internet 4. Clique em Excluir arquivos... Nota: Isto exclui todas as aplicações e applets baixados para o cache . 5. Clique em OK na janela Arquivos temporários excluídos 6. Reinicie sua aplicação ou applet