Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Linux    

Verificação automática dos sistemas de arquivos (auto-fsck)


Comentários  15
Visualizações  
76.665

Não importa que sistema ou distribuição Linux você esteja usando, sempre há um sistema de arquivos armazenando os seus dados. Há alguns anos atrás, os sistemas de arquivos (ou filesystems, em inglês) não eram tão modernos e precisam de alguns cuidados. Por exemplo: ao usar o sistema de arquivos ext2, se o computador fosse reiniciado ou desligado de forma forçada (o famoso dedoff, ou seja, mete o dedo no botão), logo na inicialização do Linux era feita a verificação de todo o sistema de arquivos, procurando por inconsistências, erros, arquivos e dados perdidos, essas coisas. Dependendo do tamanho do disco, isso poderia demorar vários minutos ou até horas…

Com os sistemas de arquivos mais modernos isso não acontece. Exemplo: ext3, ext4, XFS, ReiserFS, brtfs, entre outros. Todos esses sistemas de arquivos possuem uma funcionalidade muito útil chamada de journaling, uma espécie de meu querido diário. Com o journaling, as operações do sistema de arquivos são gravadas em um log, antes de começar e depois que acabou a operação. Assim, se algo falhar no caminho, o sistema de arquivos lê o log e sabe exatamente como consertar ou refazer (ou não fazer). Isso evita termos que ficar esperando uma verificação completa em todo o sistema de arquivos….

Mas quando acontece algum erro, é hora do fsck entrar em ação. Que tal a gente automatizar ele?

Leia mais

Linux    

Mandar e-mail via linha de comando no Linux


Comentários  33
Visualizações  
318.979

Todo mundo fica dizendo que e-mail é coisa do passado e que o futuro mesmo é utilizar as redes sociais e a Web 2.0 (lol) para se comunicar. Mas a verdade é que o e-mail é ainda muito útil e acredito que vai demorar bastante tempo para que isso mude. No pior dos casos, e-mail ainda continua sendo uma boa forma de registro e notificação.

E neste caso de notificação, enviar e-mail via linha de comando do Linux é bastante útil. Terminou uma tarefa no crontab? Envia um e-mail com o resultado. Caiu um servidor? Envia um e-mail para alguém notificando. Ou então querer apenas testar um servidor de e-mail local? É só usar a imaginação.

Leia mais

Linux    

O que diabos é o swap no Linux?


Comentários  13
Visualizações  
688.507

No Linux, o swap é a memória virtual (também é conhecido como área de troca). A memória virtual funciona como uma extensão da memória RAM, que fica armazenada no disco. O porquê da memória swap precisar existir é simples: o sistema operacional precisa de memória para funcionar, e se a memória acabar, o sistema falha. O swap fica como uma reserva emergencial caso a memória RAM acabe. A memória swap era bastante útil em tempos passados onde memória RAM era algo mais escasso. Hoje em dia, tanto a RAM quanto espaço em disco estão baratos. É sempre recomendado utilizar swap, mesmo com muita memória RAM.

O swap pode ficar tanto em uma partição, quanto em um arquivo no disco. No caso de ficar numa partição em um disco comum (não-SSD), recomenda-se colocar a partição no início do disco, assim a leitura durante a rotação do disco magnético é mais rápida. No caso de partições em disco SSD, tanto faz pois não há rotações como um disco comum. Algumas distribuições, como Debian e Ubuntu, tem no instalador uma opção para colocar a partição no início do disco.

Leia mais

Linux    

Upstart – Scripts Init no Linux – Parte 2


Comentários  10
Visualizações  
524.021

O Upstart foi concedido para resolver as limitações do SystemV init para a distribuição Ubuntu e logo foi adotado por outras distribuições Linux. Seu princípio é ser baseado em eventos: o Upstart cria um ou vários eventos e os serviços podem ser associados à estes eventos. Ele é quem define o que fazer quando um evento começa, muda ou termina (por exemplo: iniciando e parando serviços).

Se vários serviços estão dentro de um evento e ele ocorre, o Upstart pode por exemplo, iniciar todos estes serviços paralelamente. Se um evento tem que ocorrer apenas depois de outro, quando o primeiro evento terminar, ele começa a rodar este outro dependente. Mas vamos ver isso melhor.

Como antes, quando o kernel é iniciado, ele chama o daemon do Upstart, o /sbin/init. Este daemon, quando iniciado, carrega todos os arquivos de configuração do diretório /etc/init. São todos os arquivos que tem extensão .conf. Cada um desses arquivos define um Job. Este Job significa uma tarefa ou serviço. Vale notar também que qualquer alteração nos arquivos vai ser imediatamente lida pelo Upstart, sem precisar recarregar ou algo parecido.

Leia mais

Linux    

Scripts Init no Linux – Parte 1


Comentários  13
Visualizações  
552.116

Os scripts de inicialização do Linux são utilizados desde os primórdios dos tempos (oh!) para não apenas colocar serviços e daemons para rodar na inicialização, mas para controlar os serviços em si no dia-a-dia. Tarefas como: descobrir se o postfix está rodando; iniciar aquele serviço que não subiu direito; reiniciar ou recarregar um daemon que você mudou a configuração; entre outros. E neste quesito, durante anos os scripts init no Linux foram lineares e simples… Entretanto, muita coisa mudou e foram surgindo outras funcionalidades.

Quando falamos em Init, podemos dizer que é o primeiro processo executado pelo Linux. Logo após o kernel ser carregado em memória, ele tem a opção de executar um programa. Este programa é o que chamamos de init. O init geralmente é o responsável por dizer quais os programas e/ou serviços devem ser iniciados logo após o carregamento do kernel e a detecção de hardware da máquina. Curiosamente, se você utilizar o comando ps, verá que o processo de PID número 1 é o sistema de init da sua distribuição.

Leia mais

Linux    

Cópias remotas de arquivos


Comentários  11
Visualizações  
558.245

Uma das tarefas mais comuns de um administrador de sistemas é fazer cópias remotas de arquivos – ou seja – de uma máquina para outra. Em rede, isto pode ser feito de diversas maneiras, como por exemplo: FTP, HTTP, SSH, RSYNC, entre outros. Este artigo mostra as principais formas de fazer isso. Vou tentar ser o mais direto possível.

Leia mais

Linux    

CentOS: Removendo pacotes 32-bits nos sistemas 64-bits


Comentários  2
Visualizações  
37.127

Ok ok, juro que esta vai ser uma dica rápida, mas bastante útil! Logo quando surgiu os computadores de arquitetura 64-bits, o Linux foi um dos primeiros sistemas operacionais a suportar a arquitetura completamente. Desde então, o uso dessa arquitetura aumentou bastante. Só pelo título, vai vir gente aqui falando: se eu remover todos os pacotes 32-bits, algumas coisas que dependem disso (como Flash, plugin de Java e uma série de “probleminhas“) não irão mais funcionar! É por isso que até hoje a gente vê que as distribuições em versão 64-bits mantém pacotes 32-bits para compatibilidade. Na verdade, minha opinião pessoal, ou seja, Hugo aqui falando, é que instalar uma versão 64-bits em um desktop gera mais problemas do que solução. Eu particularmente prefiro instalar 32-bits e ter tudo funcionando sem dor de cabeça, perdendo um pouco de desempenho (tá, em um desktop geralmente não se tem muitos GB de RAM, e também não se fica compilando coisas toda hora, então a perda de desempenho não é tããão grande assim). Só que em servidores é bem diferente. Eu não vou usar essas frescuras que dão problema, então eu quero um sistema verdadeiramente 64-bits! Para isso eu preciso remover todos os […]

Leia mais

Linux    

Processos no Linux


Comentários  15
Visualizações  
134.934

Saber o que está sendo executado na máquina é essencial para entender o funcionamento. Este tutorial traz uma introdução sobre os processos e threads no Linux: como listá-los, finalizá-los, interpretá-los.

Cada programa executado, desde a inicialização do sistema, é definido com o que chamamos de processo. Cada um desses processos recebe um número de identificação próprio, chamado PID (Process ID). Além do PID, cada processo tem um conjunto de informações como: nome do comando, uso da memória, usuário e grupo que o executou, entre outros.

As informações de todos os processos do sistema ficam armazenadas no pseudo-diretório /proc. Dentro deste diretório, cada sub-diretório numérico contém as informações do processo com o número PID correspondente. É deste lugar que os comandos relacionados aos processos retiram suas informações.

Leia mais

Linux    

Implementando RAID1 em um sistema sem perder dados


Comentários  7
Visualizações  
69.722

Quem mexe bastante com servidores de qualquer tipo sabe muito bem o que é essa palavra: RAID. Sabemos que ter um RAID em um serviço de alta-disponibilidade é essencial, como é o caso de um RAID1, onde dois HDs são espelhados um no outro em tempo real, assim se por acaso um HD falhar, o sistema vai continuar funcionando sem interrupções. Mas se você coloca em mãos um sistema em que não há RAID1, talvez seja o caso de implementar um! Compra-se um HD, instala na máquina e então vem a questão: Como implementar o RAID1 sem perder todos os dados atuais?

Leia mais