5 exemplos do comando shutdown no Linux

O comando shutdown, pra ser curto, desliga o seu sistema. Mas ele pode fazer isto de maneiras “diferenciadas”, se você conhecer algumas de suas opções.
Uma das minhas formas preferidas de usar o comando shutdown é a que permite programar o desligamento ou o reboot do meu sistema.
Em alguns casos, um administrador precisa programar um reinício — na maioria das vezes para aplicar certos updates no sistema. É coisa rara. Poucas atualizações no Linux precisam que a máquina seja reiniciada. Na maioria das vezes, apenas o serviço ou o daemon a que ela se refere é que precisa ser reiniciado.
Na maioria dos casos, as pessoas desejam programar o desligamento, por que vão sair e não querem deixar a máquina ligada durante sua ausência – mas também não querem interromper um download ou alguma outra tarefa que esteja sendo executada. A solução para isto é programar o shutdown para ser executado alguns minutos após o término previsto da tarefa em questão.

O que acontece ao executar o comando shutdown

Ao rodar o comando shutdown, o sistema é desligado de forma segura e todos os usuários (no terminal) são avisados. Além disso, poucos minutos antes de desligar, o sistema não recebe mais conexões novas.
Sim. Você precisa ter privilégios administrativos para desligar um servidor. Ainda mais, se quiser fazer isto remotamente.

Exemplos de uso do comando shutdown no Linux

Veja como reiniciar a máquina, com o comando shutdown:

sudo shutdown -r now

ou para desligar, mesmo:

sudo shutdown -h now

Você pode apenas avisar os usuários que o sistema será desligado e impedir novas autenticações no sistema, com a opção code>-k:

sudo shutdown -k now

Com o uso de -k o sistema não será desligado de verdade.
Se você quiser, pode programar o desligamento ou reinício do sistema. No exemplo, a seguir, vou programar a máquina para desligar em 30 minutos:

sudo shutdown -h 30

Esta é a mensagem que outros usuários irão receber em seus terminais:

Espalhar mensagem de justincase@JustInCase-Solaris-8
	(/dev/pts/5) em 1:04 ...

The system is going down for halt in 30 minutes!

Neste caso, o shutdown pode ser cancelado com o pressionamento das teclas Ctrl + C.
Um outro usuário, com privilégios administrativos, também pode cancelar o processo, de seu terminal, com o seguinte comando:

sudo shutdown -c

Para enviar uma mensagem aos usuários afetados pelo desligamento, use o comando desta forma:

sudo shutdown -r 30 "O sistema será reiniciado para aplicação de atualizações. Aproveite pra tomar um café."

Este seria o resultado de tal comando:

Espalhar mensagem de justincase@JustInCase-Solaris-8
	(/dev/pts/5) em 1:13 ...

The system is going down for reboot in 30 minutes!
O sistema será reiniciado para aplicação de atualizações. Aproveite pra tomar um café.

Use o shutdown para fazer duelos

Quando o chefe não estiver por perto, a brincadeira consiste em acessar a máquina do outro colega (via telnet ou SSH) e aplicar-lhe um shutdown antes que ele(a) o faça com você. Quem for mais rápido, vence.
Divirta-se!

Comando apropos ajuda a lembrar nomes de outros comandos no Linux

O apropos faz uma busca nas páginas do manual do Linux pelos termos que o usuário “perguntou” – e mostra os comandos relacionados àquela pesquisa.
Desenvolvido por Wilford, Polacco e Watson, o apropos lê a introdução a cada comando descrito no manual do Linux, buscando por palavras-chave que você definiu na linha de comando.
Assim, você pode encontrar um comando, cujo nome não sabe ou não se lembra mais, procurando pelo que “ele faz”.
Vamos aos exemplos?

Exemplos do comando apropos

Se você quiser encontrar os comandos, no Linux, que tratam imagens, pode usar o apropos desta forma:

apropos image
acetoneiso (1)       - feature-rich graphical application to mount and manage CD/DVD images
carousel (6x)        - displays multiple images rotating in a circular formation
cjpeg (1)            - compress an image file to a JPEG file
cwebp (1)            - compress an image file to a WebP file
devdump (1)          - Utility programs for dumping and verifying iso9660 images.
djpeg (1)            - decompress a JPEG file to an image file
dwebp (1)            - decompress a WebP file to an image file
e2image (8)          - Save critical ext2/ext3/ext4 filesystem metadata to a file

Acima, há um resultado parcial, em que são exibidos comandos e funções relacionados à palavra “image”.
Contudo, nem todos os itens listados, tratam de imagens gráficas. Alguns tratam de imagens de disco, que é uma coisa totalmente diferente.
Se você se refere a imagens gráficas, de um determinado tipo, pode ser um pouco mais específico:

apropos jpeg
cjpeg (1)            - compress an image file to a JPEG file
djpeg (1)            - decompress a JPEG file to an image file
jpegexiforient (1)   - reads or writes the Exif Orientation Tag
jpegtran (1)         - lossless transformation of JPEG files
pdftocairo (1)       - Portable Document Format (PDF) to PNG/JPEG/TIFF/PDF/PS/EPS/SVG using cairo
rdjpgcom (1)         - display text comments from a JPEG file
wrjpgcom (1)         - insert text comments into a JPEG file

Ou, ainda, pode acrescentar o comando grep, para filtrar resultados:

apropos image | grep -i jpeg

apropos grep image
clique para ampliar

Em outros casos, o comando less, pode ser mais adequado:

apropos editor | less
atobm (1)            - bitmap editor and converter utilities for the X Win...
audacity (1)         - Graphical cross-platform audio editor
bitmap (1)           - bitmap editor and converter utilities for the X Win...
bmtoa (1)            - bitmap editor and converter utilities for the X Win...
easytag (1)          - Tag editor for MP3 and Ogg Vorbis files
ed (1)               - line-oriented text editor
editor (1)           - Vi IMproved, a programmers text editor
editres (1)          - a dynamic resource editor for X Toolkit applications
ex (1)               - Vi IMproved, a programmers text editor
id3tool (1)          - a command line editor for id3 tags.
:

Espero que este texto o ajude a explorar cada vez mais o Linux e seus inúmeros comandos.

Como testar a velocidade da Internet na linha de comando

Você pode usar o speedtest-cli para testar a velocidade da conexão em um servidor. Trata-se de uma ferramenta de linha de comando (por isto, é leve) para testar a largura de banda da sua conexão à Internet.
Para fazer os testes, o speedtest-cli usa as informações providas pelo site speedtest.net e evita o uso de uma interface gráfica, feita em flash… e pesada.

Instale o speedtest-cli

Para instalar o cliente do speedtest.net, é necessário ter o python-pip, primeiro.

SAIBA MAIS

« pip é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python. Muitos pacotes podem ser encontrados no Python Package Index (PyPI) » Fonte: Wikipedia.

Instale o pip, assim (no Ubuntu):

sudo apt-get install python-pip

Depois, fica fácil instalar o software, que é o assunto deste post:

sudo pip install speedtest-cli

Está feito!

Como usar o speedtest-cli

Para testar a sua conexão à Internet, execute o comando:

speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Oi Velox (187.79.164.175)...
Selecting best server based on ping...
Hosted by Mob Telecom (Fortaleza) [69.61 km]: 740.387 ms
Testing download speed..................
Download: 13.62 Mbit/s
Testing upload speed..................................................
Upload: 10.38 Mbit/s

Após algum tempo, surge o resultado, para você analisar.
Pronto para brigar com a operadora?

Compartilhe os seus resultados

Com a opção --share, o seu resultado é transformado em uma imagem .png e enviado pro site do speedtest, de onde você a pode compartilhar. Veja como fazer isto:

speedtest --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Oi Velox (187.79.164.175)...
Selecting best server based on ping...
Hosted by Mob Telecom (Fortaleza) [69.61 km]: 66.678 ms
Testing download speed........................................
Download: 3.52 Mbit/s
Testing upload speed..................................................
Upload: 0.42 Mbit/s
Share results: http://www.speedtest.net/result/3314997743.png

Veja que, na última linha, é exibida a URL para ver o resultado do teste na Internet. No meu caso, deu isto aqui: http://www.speedtest.net/result/3314997743.png
Ah, sim! Você pode usar apenas speedtest no lugar de speedtest-cli – no caso de você ter instalado o utilitário através do Python Pip.
como medir a velocidade da minha conexão à Internet
Simples, não?
Agora, experimente e compartilhe (este texto e seus resultados) com os seus amigos.

Como sincronizar data e hora no sistema a partir de servidores NTP

Sincronizar data e hora de dispositivos com um servidor NTP tem várias utilidades e vantagens – principalmente em uma empresa com um parque extenso de computadores.
Para mostrar como resolver isto, de maneira simples, vou usar o caso de um netbook, com 3 anos de uso, cuja bateria interna havia deixado de funcionar. Como resultado, toda vez que eu o ligava, ele tinha voltado pra 31 de Dezembro de 2007.

BIOS SETUP, RTC, Data e hora
Clique para ver detalhes.

Isto causava uma série de problemas – vários programas dependem de uma data e hora precisas para funcionarem adequadamente. Ter que ajustar a data e a hora manualmente, toda vez que ligar o computador é desgastante – mesmo pra mim, que costumo manter meus computadores ligados por dias ou semanas.
Veja como resolvi o problema.

O relógio do hardware ou RTC

Quase todo dispositivo eletrônico possui um hardware clock – relógio do hardware, que responde por outros nomes, como relógio do BIOS ou relógio de tempo real (RTC – Real Time Clock). Este relógio é alimentado por uma bateria própria – às vezes, ela é soldada à placa mãe, o que impede a sua troca.

LEIA MAIS

O que é o NTP

NTP quer dizer Network Time Protocol – trata-se de um protocolo usado para sincronizar os relógios entre computadores conectados em uma mesma rede.
A maioria dos servidores, na Internet, estão sincronizados através do NTP – o que evita que um email chegue a um destinatário 2 minutos “antes” de ser mandado, pra citar um pequeno exemplo do que seria a rede sem o NTP.
Apesar da aparente bagunça, a Internet precisa funcionar “como um relógio”.

Como instalar e configurar o NTP no Linux

Se você usa o Ubuntu ou qualquer outra distro Linux baseada no Debian, pode instalar com o apt-get:

sudo apt-get install ntp

Quem usa o RedHAT ou Fedora, pode instalar o NTP com o yum:

yum install ntp

Usuáros Debian, podem fazer uso do aptitude (com privilégios administrativos):

aptitude install ntp

Claro que você pode usar o aptitude no Ubuntu, também.
Como os pacotes são pequenos, o download e a instalação devem ser rápidos (isto depende da velocidade da sua conexão, também).

Como configurar o ntp

Se você aguardar alguns instantes, o NTP irá se executar e atualizar a data e hora do sistema.
Se você quiser, pode verificar se o aplicativo está rodando.
No Debian e no Ubuntu, use o seguinte comando:

/etc/init.d/ntp status
ntp.service - LSB: Start NTP daemon
   Loaded: loaded (/etc/init.d/ntp)
   Active: active (running) since Seg 2007-12-31 21:01:25 BRT; 6 years 7 months ago
  Process: 525 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ntp.service
           └─618 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 113:120

Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 1.debia...g
Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 2.debia...g
Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 3.debia...g
Dez 31 21:02:03 Neuromancer ntpd[618]: Listen normally on 4 wlan0 192.168....3
Dez 31 21:02:03 Neuromancer ntpd[618]: peers refreshed
Dez 31 21:02:05 Neuromancer ntpd[618]: Listen normally on 5 wlan0 fe80::22...3
Dez 31 21:02:05 Neuromancer ntpd[618]: peers refreshed
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 0.debian.pool.ntp.org ->...5
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 1.debian.pool.ntp.org ->...5
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 2.debian.pool.ntp.org ->...3
Hint: Some lines were ellipsized, use -l to show in full.

A linha em destaque, acima, mostra que o meu cliente NTP está ativo
Neste caso, não há mais nada que precise ser feito.
Se você desligar o computador, quando o ligar novamente, ele vai atualizar automaticamente a data e a hora do sistema, assim que se conectar à Internet.

Configurações adicionais do NTP

Se você quiser detalhar a configuração, pode indicar outros servidores mais adequados à sua região geográfica.
Você pode encontrar uma lista de servidores em www.pool.ntp.org.
Abra o arquivo de configuração /etc/ntp.conf com o seu editor favorito:

editor /etc/ntp.conf

e acrescente as opções adequadas. Para mim, estas são as que funcionam melhor:

server 0.south-america.pool.ntp.org
server 1.south-america.pool.ntp.org
server 2.south-america.pool.ntp.org
server 3.south-america.pool.ntp.org

Feita a alteração, reinicie o serviço NTPD:

sudo /etc/init.d/ntp restart
 * Stopping NTP server ntpd                                     [ OK ] 
 * Starting NTP server ntpd                                     [ OK ]

Só isto já é o suficiente para resolver o problema. Ao ligar o computador e conectar à Internet, o seu relógio interno já será atualizado automaticamente.
Para atualizar imediatamente a data e a hora do seu sistema, rode o comando a seguir:

/usr/sbin/ntpdate pool.ntp.org

Como habilitar a sincronização NTP pela interface gráfica

Abra o painel de configurações do seu sistema e selecione a opção de ajuste de data e hora.
Ubuntu NTP sincronização data hora
Em seguida, desbloqueie a tela de ajustes e forneça a senha administrativa.
Ao desbloquear, será possível selecionar a opção “Manter sincronizado com servidores na Internet”.
Só isto já será o suficiente – espero ter sido útil.