Pular para o conteúdo

Introdução

O Slackware versão 14.2 foi lançado em julho de 2016 e é uma distribuição GNU[1]/Linux[2] de uso geral, criada por Patrick Volkerding[3] e iniciada em janeiro de 1993.

O Slackware considerado uma distribuição para iniciados, tem grande tradição em estabilidade, seus lançamentos podem não ter elevada frequência se comparada a outras distribuições, no entanto é muito confiável uma vez alcançado o status de estável.

Instalação

Toda instalação pode ser dividida em três intervalos, antes, durantes e depois da instalação.

O antes inclui definir a distribuição a utilizar, criar o plano de instalação, obter a distribuição, ultimar preparativos da instalação.

O durante, ou seja, a instalação propriamente, consiste em operações que visam particionar e formatar discos rígidos, transferir a imagem do sistema para o disco, e efetuar configurações básicas.

O depois pode ser resumido aos ajustes conforme necessidades específicas de aplicação, instalar pacotes adicionais e efetuar configurações mais detalhadas.

Para elaboração deste texto o objetivo é instalar o Slackware 14.2.

Os requisitos de instalação estão na Tabela 1 a seguir.

Tabela 1: Requisitos de instalação do Slackware 14.2

RAM (mínimo)

RAM (recomendado)

Disco Rígido (mínimo)

64 megabytes 1 gigabytes 5 gigabytes

Fonte: Sítio do slackware. Disponível em: <http://www.slackware.com/install/sysreq.php>, acesso em 01/out./2018

Um requisito adicional da instalação é acesso à Internet para atualização do sistema.

Pré-instalação

A Tabela 2 a seguir explicita algumas informações que poderão ser necessárias ou solicitadas durante a instalação do Slackware.

Tabela 2: Informações necessárias para instalação

Hardware Informação Que Pode Necessitar
Discos Rígidos Quantos possui.
A sua ordem no sistema.
IDE (também conhecido como PATA), SATA ou SCSI.
Espaço livre disponível.
Partições.
Partições para outros sistemas operativos.
Interfaces de rede Tipo/modelo de interfaces de rede disponíveis.
Placa de Vídeo Tipo/modelo e fabricante.

Configurações de rede

Se o seu computador estiver ligado a uma rede permanente (uma ligação Ethernet ou equivalente — não uma ligação dialup/PPP), que seja administrada por outros, deve perguntar ao administrador da rede as seguintes informações:

  • O seu hostname (em geral você mesmo poderá decidir).
  • O nome de domínio.
  • O endereço IP do seu computador.
  • A máscara de rede para utilizar na sua rede.
  • O endereço IP do gateway da rede para onde o sistema deve se encaminhar, se a sua rede tiver um gateway.
  • Qual será o servidor DNS (Domain Name Service).

No URL <https://mirrors.slackware.com/mirrorlist/> estão disponibilizados os endereços de diversos espelhos para o download do Slackware onde é possível escolher o mais apropriado para baixar a imagem de instalação. Tomando como base a imagem da versão 14.2 de julho de 2016, seu tamanho é de 2,58 G bytes (2.773.483.520 bytes) o que dependendo da velocidade de conexão e do espelho selecionado pode demorar várias horas de download.

Esta imagem pode ser gravada em um DVD. Se seu sistema for um Windows™ versão 7, ou mais recente, as mídias ópticas podem ser gravadas sem programas adicionais.

O planejamento da instalação envolve determinar o particionamento pretendido das unidades de disco, o padrão de teclado disponível para o console, localização geográfica e fuso horário pretendidos para uso e operação.

A seguir de forma simplificada apresentam-se os itens planejados para esta instalação:

Tabela 3: Plano de instalação simplificado

    1. Teclado ABNT2
    2. Localização do sistema América do Sul, Brasil, São Paulo
    3. Fuso horário UTC[4] -3:00
    4. IP da interface de rede será obtido por DHCP
  1. O hostname e domínio serão slack e starfleet
  2. Particionamento do disco de 58G bytes:
  • Partição 1 sda1       física      300 MB        /boot       ext4        bootable
  • Partição 2 sda2       física      2 GB                          swap
  • Partição 3 sda3       física      1 GB           /var        ext4
  • Partição 4 sda4       física      54,7 GB       /             ext4

Nota: Para efeito deste texto foi adotado um particionamento simplista

Efetuando a instalação

Carregando a mídia com a imagem de instalação e iniciando o computador será apresentada a tela representada na Figura 1.

Figura  1: Boot do CD de instalação do Slackware

Caso não sejam necessárias quaisquer opções adicionais para o boot, basta pressionar <ENTER> para prosseguir no processo de inicialização do Slackware e com sua instalação.

A partir daqui serão pouco mais de 25 passos para concluir a instalação e então passar à pós instalação.

Inicialmente é oferecida a escolha de layout (mapeamento) do teclado para o caso de este não ser US, como ilustrado na Figura 2 a seguir.

Figura  2: Seleção de layout de teclado

Optando por selecionar um mapeamento de teclado diferente será apresentado um menu de seleção com diversos diferentes mapas de teclado conforme ilustrado na Figura 3.

Figura  3: Menus de mapas de teclado

Será oferecido um teste para verificar a correta operação do teclado. Uma vez concluído o teste, o prompt de login é apresentado, neste ponto é possível efetuar login como root sem a necessidade de fornecer qualquer senha (vide Figura 4).

Figura  4: Login pré-instalação

A primeira providência para a instalação é particionar o(s) disco(s), para tanto pode ser usado o aplicativo fdisk, como mostra a Figura 5, na qual o parâmetro de chamada (disco a ser particionado) é o primeiro disco SATA (/dev/sda).

Figura  5: Chamada para execução do fdisk

 

Seguindo o plano de instalação uma partição bootável para “/boot” deve ser criada e como só haverá quatro (4) partições no total, esta pode ser primária, o que é exemplificado na Figura 6.

Figura  6: Criação de partição primária bootável

A seguir é criada a partição para a memória virtual do sistema como mostra a Figura 7.

Figura  7: Criação da partição swap

Seguindo com o plano de instalação a próxima partição a criar é para abrigar /var, de forma que o sistema de arquivos não seja preenchido por arquivos e log e caixas postais e outros itens normalmente presentes nessa árvore de diretório. A Figura 8 ilustra esta situação.

Figura  8: Criação da partição para /var

Por último será criada a partição raiz que abrigará todo o restante do sistema.

Figura  9: Criação da partição para root

A Figura 9 ilustra a criação desta última partição primária, cujo limite é de quatro partições, e dispensa, portanto, a indicação de qual partição se deseja criar, motivo do erro de operação representado.

A Figura 10 mostra o efeito da operação de gravação das partições e saída do fdisk, que leva à resincronização e consequente releitura da tabela de partição do disco.

Figura  10: Gravação das partições na tabela de partição

Na Figura 11 é mostrada a execução do comando fdisk -l que gera um relatório do particionamento de discos do computador.

Figura  11: Relatório de particionamento de discos

É importante observar os seguintes dois pontos:

  • a partição que abrigará /boot (300 M bytres) é bootável
  • a partição para memória virtual (2 G bytes) é do tipo Linux swap

Falando um pouco sobre particionamento de discos

Particionar discos é o ato de reparti-los em múltiplas unidades lógicas, chamadas partições, isto é, como se existissem múltiplos discos dentro de um só disco físico.

Imagine uma biblioteca com diversas seções. Cada seção contém múltiplos livros, cujo tema se insere nessa mesma seção. Um disco rígido pode ser a biblioteca, as partições do disco são as seções da biblioteca, e os arquivos de cada partição são os livros de cada seção.

Quando se instala mais que um sistema operacional (SO) no mesmo disco, é obrigatório utilizar partições diferentes, uma para cada sistema operacional (ou diferentes discos). Neste caso, o “tema” de cada partição (cada seção) é o SO. Mas também é possível criar-se partições para arquivos específicos, por exemplo, para arquivos de dados pessoais.

Existe um limite para o número máximo de partições que um disco pode ter. Um disco pode dividir-se num máximo de quatro partições primárias. Para contornar esta limitação é possível dividir o disco até três partições primárias e uma partição estendida. Uma partição estendida pode dividir-se em múltiplas partições lógicas. Cada partição primária e lógica opera como um disco individual.

Cada partição é formatada com um determinado sistema de arquivos, como o NTFS (Windows), HFS (Mac OS) ou Ext4 (Unix), embora existam muitos outros. Sistemas como o Linux necessitam também de uma partição dedicada à chamada memória virtual (swap). Sistemas como o Windows colocam o swap na partição do SO.

A utilidade do particionamento

Imagine que o seu disco tem apenas uma partição. O sistema operacional está instalado e os seus arquivos também estão lá gravados. Acontece uma catástrofe e um setor do disco é corrompido. Por azar, é um setor que impede a inicialização do sistema operacional. Se fossem duas partições, uma para o SO e outra para os dados, seria tão simples como instalar esse disco em outro computador e utilizá-lo para recuperar os dados da partição que ficou a salvo.

Vantagens

  • Ao separar o sistema operacional de programas e arquivos, é possível fazer backups de imagem do disco, para posterior restauro, em caso de catástrofe.
  • Permite separar grandes arquivos de cache, de log, paginação, hibernação, etc., ou seja, arquivos que mudam dinâmica e rapidamente de tamanho, numa partição à parte. Isto evita a fragmentação da partição do SO.
  • Permite manter programas e dados usados frequentemente próximos uns dos outros, o que no caso dos discos magnéticos, é fundamental por necessitar de menos deslocamentos das cabeças de leitura/escrita.
  • Permite instalar vários sistemas operacionais num mesmo disco.
  • Aumenta o desempenho geral do sistema, nos sistemas em que os sistemas de arquivos menores são mais eficientes.

Desvantagens

  • Reduz o espaço disponível, pois cada nova partição necessita de espaço para as áreas de administração do sistema de arquivos. O que é ridiculamente pequeno em relação à capacidade atual dos discos.
  • Pode reduzir a performance do acesso a arquivos quando este acesso é feito paralelamente e em múltiplas partições. Previne também que os desfragmentadores movam os arquivos de uma partição para próximo dos arquivos de outra partição. Motivo pelo qual a definição de um esquema de particionamento bem feito é crucial.
  • Atrasa a cópia de arquivos, que se realizada entre partições distintas força a duplicação dos dados ao invés de apenas mudanças nas áreas de administração do sistema de arquivos.

Tamanho da partição de memória virtual

Por exemplo, a recomendação da RedHat para um esquema de particionamento de sistemas x86/AMD64 é a seguinte:

  • Partição swap (2 G bytes)
  • Partição /boot (+/- 250 M bytes)
  • Partição / (> 1 G M bytes)
  • Partição /home (> 100 M bytes)

Uma partição swap (de não menos que 256 MB) é usada para suportar a memória virtual. Em outras palavras, os dados são gravados numa partição swap quando não há memória RAM suficiente para armazenar os dados que seu sistema está processando.

Nos últimos anos, a quantia de espaço de swap recomendada aumentou com a quantidade de RAM no sistema. Mas como a quantidade de memória nos sistemas aumentou em centenas de gigabytes, é agora reconhecido que o espaço de swap que um sistema precisa é função da carga de trabalho executando por aquele sistema.

O espaço swap geralmente é designado durante a instalação, mas determinar a carga de trabalho de um sistema neste ponto pode ser difícil.

No entanto, esta configuração não tem uma calibragem precisa para o sistema, portanto, use a Tabela 5, caso você precise que a quantia de espaço swap seja definida mais precisamente.

Tabela 4: Tamanhos mínimos das partições

Diretório Tamanho Mínimo
/ 250 MB
/usr 250 MB (evite colocar em uma partição separada)
/tmp 50 MB
/var 384 MB
/home 100 MB
/boot 250 MB

Tabela 5: Recomendação de tamanho de swap

Quantidade de RAM Espaço recomendado de Swap
4GB de RAM ou menos mínimo de 2GB de espaço de swap
4GB até 16GB de RAM mínimo de 4GB de espaço de swap
16GB até 64GB de RAM mínimo de 8GB de espaço swap
64GB até 256GB de RAM mínimo de 16GB de espaço swap
256GB até 512GB de RAM mínimo de 32GB de espaço swap

Ativação do programa instalador

Para iniciar o programa instalador do Slackware, utilize o comando setup, que conta com um menu de ações como ilustra a Figura 12.

Figura  12: Menu do programa de setup do Slackware

A ordem das opções determina as operações como serão efetuadas, logo inicialmente é feita novamente a seleção de mapeamento do teclado, que será a mesma já efetuada, como se viu na Figura 3. Para tanto ative a opção KEYMAP do menu (o restante do setup, desde que não interrompido, seguirá de forma contínua até seu término).

Definição dos pontos de montagem

Após a seleção do mapa de teclado, o setup detecta a partição de swap, anteriormente preparada e solicita que se confirme seus dados para ativação, como mostra a Figura 13.

Figura  13: Detecção e confirmação do local de swap

A próxima etapa é formatar e verificar a área de swap em busca de eventuais bad blocks, após o que é mostrada a linha a ser adicionada na fstab para montagem do swap no boot do sistema conforme a Figura 14.

Figura  14: Formatação, verificação e inclusão do swap na fstab

A seguir continua a varredura por partições a serem montadas durante o boot, e como root é uma partição obrigatória, é a próxima a ser indicada, conforme a Figura 15 ilustra.

Figura  15: Solicitação de indicação da partição /

Na sequência teremos o questionamento de formatação com ou sem busca de bad blocks e então a escolha de File-system a ser utilizado na formatação, tudo ilustrado nas Figuras 16 e 17 a seguir.

Figura  16: Formatação com ou sem teste de bad-blocks

Figura  17: Seleção de tipo de sistema de arquivos a utilizar

Uma vez feita a associação do ponto de montagem raiz com a partição e com o tipo de sistema de arquivos, passa-se à definição dos próximos pontos de montagem, iniciando pelo /boot conforme Figuras 18, 19 e 20.

Inicialmente escolhe-se a partição a ser configurada, na ilustração /dev/sda1.

A seguir escolhe-se como formatar a partição, com ou sem a verificação de bad blocks. Por ser uma partição pequena de apenas 300 M bytes, certamente não haverá grande acréscimo de tempo formatar com a verificação.

Finalmente, deve-se indicar o ponto de montagem no caso /boot.

Figura  18: Indicação de partições adicionais (/boot)

Figura  19: Busca de bad-blocks em partições menores é mais viável

Figura  20: Indicação de ponto de montagem da partição boot

Para finalizar a configuração das partições, como mostrado na Figura 21, seleciona-se /dev/sda3, reservada para ser /var.

Figura  21: Seleção de partição a configurar

Da mesma forma, escolhe-se como formatar a partição, com ou sem a verificação de bad blocks, que igualmente por ser uma partição pequena de apenas 1 G bytes, certamente não haverá grande acréscimo de tempo formatar com a verificação.

Em seguida indica-se qual será o ponto de montagem da partição, que segundo a Figura 22 será /var.

Figura  22: Definição do ponto de montagem da partição

Após definidas e configuradas todas as partições é apresentado o resumo da configuração a ser adicionada em /etc/fstab para permitir a montagem automática das partições durante o boot do sistema.

Figura  23: Configuração a acrescer em /etc/fstab

Fonte da instalação

Após feitas as configurações de discos e suas partições, é dada pelo programa de instalação a opção de escolha de uma entre sete origens do Slackware, conforme mostra a Figura 24.

Figura  24: Seleção da origem para instalação do slackware

Selecionada a fonte de instalação, é perguntado se deve ser feita uma varredura automática da localização dos pacotes disponíveis para instalação, ou indicação manual da mesma, conforme Figura 25, que ilustra também a varredura em transcurso.

Figura  25: Varredura de mídias pela fonte de instalação

Seleção de pacotes para instalação

Terminada a varredura da mídia de instalação, será apresentado um menu de seleção como mostrado na Figura 26.

Figura  26: Menu de seleção de pacotes a instalar

Os pacotes são divididos em grupos e estes grupos é que são selecionáveis. No menu subsequente é possível determinar o fluxo da instalação que pode ser, instalar tudo sem prompt de confirmação, como selecionado na Figura 27

Figura  27: Seleção de andamento da instalação

Figura  28: Confirmação da seleção de andamento da instalação

A própria instalação dos pacotes é sinalizada conforme progride, como mostram as Figuras 29 e 30.

Figura  29: Exibição do andamento da instalação

Figura  30: Exibição do andamento da instalação

Uma vez concluída a instalação de pacotes como sinalizado na Figura 31, a instalação segue para seus estágios finais.

Figura  31: Conclusão da instalação de pacotes do slackware

Última etapa da instalação

Neste ponto o instalador verifica se é desejado criar um flash memory stick (pen drive) de partida para contornar eventuais problemas de boot, o que só deve ser feito em caso de real interesse.

Figura  32: Criação ou não de Flash Disk de boot

Instalação do gerenciador de partida (LiLo)

Inicia-se então a instalação do gerenciador de partida, que definirá a resolução de tela ser usada. Na Figura 33 está o menu de instalação do LiLo (Linux Loader).

Figura  33: Menu de instalação do LiLo

A Figura 34 exibe a configuração de resolução nativa do console.

Figura  34:Configuração de uso de frame buffer

Figura  35:Informação de parâmetros adicionais de boot

Acima na Figura 35 é mostrada a caixa para entrada de parâmetros adicionais específicos de iniciação caso algum hardware assim exija.

Na sequência é solicitado o uso ou não de codificação UTF-8 na linha de comando, o que por padrão no slackware não é utilizado.

Figura  36: Configuração de encoding do sistema

A Figura 37 mostra o menu de seleção de locação para instalação do LiLo, cujo padrão slackware é estar no MBR.

Figura  37: Seleção de local de instalação do LiLo

Configuração de Mouse

As próximas duas interações do instalador são para efetuar ajustes no mouse, se o seu sistema contar com um, selecione no menu de configuração do mouse (Figura 38) o tipo e conexão devidos.

Figura  38: Configuração de tipo e conexão de mouse

Figura  39: Configuração de operação do mouse

Já na Figura 39 é solicitada a confirmação de inclusão de configuração de operação do mouse na iniciação do GPM.

Configuração de Rede

Esta fase da instalação é dada a configurar a interface rede da máquina, opção que pode ou não ser exercida e cuja escolha é obtida na tela ilustrada na Figura 40 a seguir.

Figura  40: Confirma se configura a interface de rede

O primeiro item referente à rede a ser configurado é o nome do host que será utilizado na rede, informação obtida na tela representada na Figura 41.

Figura  41: Solicitação do hostname para a máquina

A Figura 42 apresenta a solicitação de entrada de nome de domínio, que o slackware toma como obrigatório.

Figura  42: Solicitação de nome de domínio na rede

As interfaces de rede podem receber um número IP fixo ou dinâmico para se integrarem a uma rede local, de maneira geral a configuração mais comum é DHCP, que é selecionada como exibido na Figura 43 a seguir.

Como é natural deve haver um servidor DHCP presente na rede para ceder os IPs diversos às diversas máquinas solicitantes. Caso o nome de servidor seja conhecido, deverá ser informado na tela representada na Figura 44 mais adiante.

Terminada esta rodada de configurações é apresentado um relatório para confirmação das configurações efetuadas conforme a Figura 45.

Figura  43: Tipo de configuração de IP da interface

Figura  44: Definição do servidor DHCP

Figura  45: Confirmação das configurações de rede

Serviços iniciados por padrão

Neste momento o instalador apresenta um menu para seleção dos serviços que devem ser disparados na inicialização do sistema.

Figura  46: Iniciação de serviços no boot

Configuração de fontes adicionais

É dada a chance durante a instalação de adicionar fontes de caracteres não nativas da distribuição, como mostra a Figura 47.

Figura  47: Adição de fontes de caracteres

Ajuste do relógio calendário

O relógio de hardware (relógio calendário) pode operar em sincronismo com a hora local ou UTC (Universal Time Coordinated) e isso é informado na tela representada na Figura 48.

Figura  48: Ajuste do relógio calendário

Ajuste de fuso horário

É fundamental que o sistema esteja corretamente localizado para fins de sincronização com outros servidores e para tanto é apresentada uma lista para seleção da localização física do sistema que indica o fuso horário a utilizar.

Figura  49: Configuração de fuso horário

Configuração de senha do root

Até o presente momento do processo de instalação não há uma senha de root cadastrada e agora o instalador solicita esta senha, que não será exibida e deve ser digitada duas vezes para garantir que está corretamente informada.

Figura  50: Configuração de senha do root

Este é o último ato de instalação do sistema operacional.

Finalização da instalação

Daqui até o efetivo reboot do sistema, acontecem uma série de telas solicitando autorização para resetar (Figura 51), indicando o término do programa instalador (Figura 52), solicitando a retirada da mídia do leitor (Figura 53), Solicitação de permissão para efetuar o reboot (Figura54), e finalmente na Figura 55 a ocorrência do reboot.

Figura  51: Término do processo de instalação

Figura  52: Saída do instalador

Figura  53: Retirada da mídia

Figura  54: Solicitação para reboot

Figura  55: Reboot em processo

Primeiro Boot

Ao reiniciar é apresentado um menu de seleção de sistema para boot, incluindo a opção de acesso ao prompt do LiLo. Nesta tela é relevante notar o número 64 representado em notação binária presente abaixo do logo slackware, indicando que é a versão de 64 bits do sistema que está sendo executada. A Figura 56 mostra o aspecto desse menu.

Figura  56: Primeiro boot pós instalação

Note-se que como só o Linux Slackware está instalado, não surgem outras opções de sistemas para inicializar.

O primeiro login no sistema deverá ser feito como root, pois não há usuários cadastrados até o momento. A Figura 57 ilustra esta situação.

Figura  57: Primeiro login

Atualização do sistema instalado

Como é normal após a instalação de um sistema operacional, uma das primeiras ações é promover a atualização do sistema junto a um repositório oficial do mesmo. A Figura 58 mostra a primeira tentativa de promover tal atualização.

Figura  58: Primeira atualização do sistema

No entanto ocorre uma falha que se deve a indefinição de espelho para coleta das atualizações, condição a ser resolvida pela edição do arquivo /etc/slackpkg/mirrors, como mostra a Figura 59.

Figura  59: Ajuste de espelho para atualização

Em função da localização do sistema escolhe-se um e apenas um espelho a ser configurado para uso. Após esta configuração o comando slackpkg upgrade-all funcionará corretamente, exibindo a lista de pacotes atualizáveis para seleção/deseleção como ilustra a Figura 60.

Figura  60: Lista de atualizáveis

Selecionados os pacotes a atualizar é feito o download das atualizações conforme a Figura 61, e a seguir inicia-se o processo de atualização como na Figura 62.

Figura  61: Download das atualizações

Figura  62: Instalação das atualizações

Ao término da atualização se necessário (atualização de kernel) será recomendado a execução do LiLo como sugerido na Figura 63 a seguir.

Figura  63: Sugestão de execução do LiLo

Que pode eventualmente levar a situação de decidir entre manter as antigas configurações, assumir as novas configurações, descartar as novas configurações, ou analisar via linha de comandos o que fazer. Em se tratando de uma primeira execução certamente assumir as novas configurações não gerará qualquer conflito. Na Figura 64 está mostrada esta situação.

Figura  64: Menu de opções do LiLo

Pós-instalação

Dependendo da aplicação para o sistema diferentes pós-instalações podem ser executadas, incluindo a instalação de pacotes específicos.

A seguir algumas possibilidades de configuração pós-instalação que não necessariamente direcionam, ou limitam, a aplicabilidade de um sistema.

  • Criação de usuário
  • Endereço IP fixo

Segue um breve extrato destes ajustes de configuração, no entanto, para todos os efeitos o plano de configuração deveria conter mais algumas informações relacionadas a seguir.

Plano de Instalação complemento

Endereçamento IP: Interface de rede 1

Tabela 6: Complemento do plano de instalação

Item Valor
IP Modo: Estático
Endereço IP: 192.168.0.8
Máscara: 255.255.255.0
Broadcast: 192.168.0.255
Gateway: 192.168.0.1
DNS1: 8.8.8.8
DNS2: 8.8.4.4
DNS3: 192.168.0.1

Ajustar alguns aliases mínimos (ll=ls -lA) para novos usuários

Criação de usuário

A criação de usuários pode ser efetuada pelo comando useradd e pelo comando adduser. O comando adduser é roteirizado e a sequência de Figura 65 até 67, mostra como opera.

Figura  65: Operação do comando adduser (parte 1/3)

Inicialmente deve-se fornecer o username, a seguir o ID pode ser automático ou definido pelo operador, assim como o grupo padrão do usuário (por omissão assume-se o grupo user) e grupos adicionais a que pertença.

Figura  66: Operação do comando adduser (parte 2/3)

A seguir é dada a possibilidade de definir o diretório home do usuário, que por padrão estará na árvore /home e terá o mesmo nome usado para username anteriormente. Então é dada a opção de escolha do Shell command que por omissão é o bash. E pode-se determinar uma data de validade para a conta, caso não seja informada a data ela será perene. Na sequência é exibido um resumo das configurações até este ponto e solicitada permissão para continuar a criação da conta.

Figura  67: Operação do comando adduser (parte 3/3)

Dando prosseguimento serão pedidos dados de administração de pessoal para o usuário como nome completo, número de sala, número telefônico do trabalho, número telefônico residencial, e por fim outros dados que sejam relevantes para a administração de pessoal. A última etapa da criação de conta é o suprimento da senha de acesso, que deve ser redigitada para confirmação e o novo usuário estará criado neste ponto.

IP Fixo

Com o aplicativo netconfig é possível reconfigurar as interfaces de rede, a interface de rede será configurada para que operar com IP estático.

Na Figura 68 é apresentada a primeira tela do netconfig, na qual é solicitado o nome a ser utilizado na identificação da máquina na rede (hostname).

A Figura 69 mostra a tela de solicitação de nome de domínio (ou grupo de trabalho) onde estará a máquina.

Figura  68: Solicitação de hostname

Figura  69: Solicitação de domínio

Informados estes itens netconfig solicita o tipo de configuração da interface, se IP dinâmico ou estático, como ilustra a Figura 70.

Figura  70: Tipo de configuração a realizar

Definido o tipo como IP estático, o programa solicita o IP designado para a interface, depois solicita a máscara de rede a empregar, como mostram as Figuras 71 e 72.

Figura  71: Endereço IP para esta interface de rede

Figura  72: Máscara de rede a utilizar

E neste ponto é solicitado que seja informado o IP do gateway de rede, conforme a Figura 73 ilustra.

Figura  73: Endereço IP do gateway para a rede

Havendo acesso ao servidor de nomes, questionado como na Figura 74, é solicitado o IP do servidor de nomes primário, sendo possível posteriormente adicionar os demais endereços de servidores de nomes editando o arquivo /etc/resolv.conf.

Figura  74: Questionamento de acesso a servidor de nomes

A solicitação do IP do servidor de nomes é mostrada na Figura 75.

Figura  75: Definição de servidor de nomes

Com todos os itens da configuração fornecidos, é exibido um resumo dos ajustes e solicitada a confirmação dos mesmos de acordo com a Figura 76.

Figura  76: Resumo de configuração

Na Figura 77 é informado o término da configuração e solicitado seu encerramento.

Figura  77: Informação de término de processo

Ajuste de aliases mínimos

Logado como root e usando o nano ou o vi crie um arquivo chamado aliases.sh no diretório /etc/profile.d, com o seguinte conteúdo:

Listagem 1: Conteúdo de aliases.sh

alias ll=’ls -lA’
alias vi=’vim’

E um arquivo chamado aliases.csh no diretório /etc/profile.d, com o seguinte conteúdo:

Listagem 2: Conteúdo do arquivo aliases.csh

alias ll 'ls -lA'
alias vi vim

A esses arquivos dê direitos de execução com o comando chmod +x aliases.*h

 

 

Conclusão

Numa sequência de operações não tão complexas como se imaginava foi possível chegar ao ponto de ter um Slackware utilizável. Agora com o sistema instalado e operativo, contando com um mínimo de componentes, pode ser configurado para aplicações específicas diversas.

 

 

Referências

Frenet. Gateway: O que é e como funciona. Disponível em <https://www.frenet.com.br/blog/gateway-o-que-e-como-funciona/>, acesso em 08/nov./2018

 

Red Hat. Esquema de particionamento recomendado. Disponível em <https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86>, acesso em 4/nov./2018

 

Slackware Linux Inc. The Slackware Linux Project. Disponível em <http://www.slackware.com/>, acesso em 01/out./2018

 

Viva-o-Linux. Atualização do Slackware. Disponível em <https://www.vivaolinux.com.br/topico/Slackware/Atualizacao-do-Slackware-1>, acesso em 01/out./2018


[1] GNU é um sistema operacional e uma extensa coleção de softwares de computador. O GNU é composto inteiramente de software livre, a maioria dos quais é licenciada sob a Licença Pública Geral (GPL) do Projeto GNU. O GNU é um acrônimo recursivo para "GNU Não é Unix!".

[2] The Linux kernel is an open-source monolithic Unix-like computer operating system kernel

[3] Patrick J. Volkerding (20 de outubro de 1966 -idade 52 anos), Dakota do Norte, EUA - Graduado em Ciência da Computação em 1993 pela Minnesota State University Moorhead

[4] Universal Time Coordinated

Introdução

O Debian versão 9.5 foi lançado em julho de 2018 (a versão 9 foi lançada em junho de 2017) é uma distribuição GNU[1]/Linux[2] de uso geral, iniciada em janeiro de 1994 sob a versão 0.91.

O Debian tem ainda grande tradição em moderação quanto a inclusão de novidades em seus lançamentos, para tanto tem três versões estão continuamente em manutenção, a estável, a teste, e a instável.

estável (ou stable)

Imagem do personagem Stretch do filme Toy History 3A distribuição estável contém a última versão oficialmente lançada do Debian.

Esta é a versão de produção do Debian, a que nós primeiramente recomendamos que seja usada.

A atual distribuição estável do Debian é a versão 9, codinome stretch. Ela foi inicialmente lançada como versão 9 em 17 de junho de 2017 e sua última atualização, versão 9.5, foi lançada em 14 de julho de 2018.

testing

imagem do personagem Buster do filme Toy History 3A distribuição testing contém pacotes que ainda não foram aceitos na versão estável, mas estão na fila para tanto. A principal vantagem de usar esta distribuição é que ela possui versões mais recentes de software.

A atual distribuição testing é a buster.

instável (ou unstable)

imagem do personagem Sid de A Era do GeloA distribuição instável é onde o desenvolvimento ativo do Debian ocorre. Geralmente, esta distribuição é utilizada por desenvolvedores e por aqueles que gostam de viver no limite.

A distribuição instável é sempre chamada sid.

 

O Debian conta com mais de 51.000 pacotes instaláveis contendo softwares pré-compilados o que torna a instalação fácil.

Veremos aqui aspectos de sua instalação.

Instalação

Toda instalação pode ser dividida em três períodos, antes, durantes e depois da instalação.

  • O antes inclui definir a distribuição a utilizar, criar o plano de instalação, obter a distribuição, ultimar preparativos da instalação.
  • A própria instalação, ou o durante, consiste em algumas, ou muitas, operações que visam particionar e formatar discos rígidos, transferir a imagem do sistema para o disco, efetuar configurações básicas.
  • O depois pode ser resumido a fazer ajustes conforme necessidades específicas de aplicação, instalar pacotes adicionais e efetuar configurações mais detalhadas.

O objetivo deste texto é instalar o Debian 9.5.

Os requisitos de instalação estão na Tabela 1 a seguir:

Tabela 1: Requisitos de instalação do Debian 9.5
Tipo de Instalação RAM (mínimo) RAM (recomendado) Disco Rígido
Sem desktop 128 megabytes 512 megabytes 2 gigabytes
Com Desktop 256 megabytes 1 gigabyte 10 gigabytes
Fonte: Manual de Instalação Debian Disponível em: <https://www.debian.org/releases/stable/amd64/ch03s04.html.pt>, acesso em 22/out./2018

Um requisito adicional da instalação é acesso à Internet para obtenção de pacotes de repositório remoto conforme requeridos.

 

Pré-instalação

A Tabela 2 a seguir explicita algumas informações que poderão ser necessárias ou solicitadas durante a instalação do Debian

Tabela 2: Informações necessárias para instalação
Hardware Informação Que Pode Necessitar
Discos Rígidos Quantos possui.
A sua ordem no sistema.
IDE (também conhecido como PATA), SATA ou SCSI.
Espaço livre disponível.
Partições.
Partições onde outros sistemas operativos estão instalados.
Interfaces de rede Tipo/modelo de interfaces de rede disponíveis.
Impressora Modelo e Fabricante.
Placa de Vídeo Tipo/modelo e fabricante.
Fonte: Manual de Instalação Debian Disponível em: <https://www.debian.org/releases/stable/amd64/ch03s03.html.pt>, acesso em 22/out./2018

Configurações de rede

Se o seu computador estiver ligado a uma rede permanente (i.e., uma ligação Ethernet ou equivalente — não uma ligação dialup/PPP), que seja administrada por outro, deve perguntar ao administrador da rede do sistema as seguintes informações:

  • O seu hostname (você poderá ser decidir à sua maneira).
  • O seu nome de domínio.
  • O endereço IP do seu computador.
  • A máscara de rede para utilizar na sua rede.
  • O endereço IP do gateway do sistema para onde o seu sistema deve ser encaminhado, se a sua rede tiver um gateway.
  • O sistema na sua rede que você deverá utilizar como servidor DNS (Domain Name Service).

No URL <https://www.debian.org/mirror/list> estão disponibilizados os endereços de diversos espelhos para o download do Debian onde é possível escolher o mais apropriado para baixar a imagem do “disco de instalação”. Tomando como base a imagem de 14 de julho de 2018, seu tamanho é de 640 M bytes (671.088.640 bytes) o que dependendo da velocidade de conexão e do espelho selecionado pode demorar entre 40 segundos e até 1 hora, ou mais, de download.

Esta imagem pode ser gravada em um CD ou DVD. Se seu sistema for um Windows 7™, ou mais recente, as mídias ópticas podem ser gravadas sem programas adicionais.

O planejamento da instalação envolve determinar o particionamento pretendido das unidades de disco, o padrão de teclado disponível para o console, localização geográfica e fuso horário pretendidos para uso e operação.

A seguir de forma simplificada apresentam-se os itens planejados para esta instalação:

Tabela 3: Plano de instalação simplificado
  1. Teclado ABNT2
  2. Localização do sistema América do Sul, Brasil, São Paulo
  3. Fuso horário UTC -3:00
  4. Particionamento do disco de 58G bytes:
    • Partição 1 sda1       física      57 GB          /             ext4        bootable
    • Partição 2 sda2       lógica     1 GB
    • Partição 5 sda5       lógica     1 GB                          swap

Nota: Para efeito deste artigo foi adotado um particionamento extremamente simplista

 

Efetuando a instalação

Carregando a mídia com a imagem da distribuição e iniciando o computador será apresentado um menu de seleção de ações, como mostra a Figura 1 a seguir.

Figura  1: Boot do CD de instalação do Debian

Imagem do menu inicial do CD de instalação

As cinco opções de menu do CD de instalação do Debian

As Opções e suas ações são:

  • Graphical install executa a instalação em ambiente gráfico.
  • Install executa a instalação em modo texto.
  • Advanced options acessa diferentes opções de instalação para peritos.
  • Help acessa as telas de ajuda.
  • Install with speech synthesis instala em modo texto incluindo síntese de voz.

Utilizando a segunda opção do menu inicia-se a instalação do Debian.

A partir daqui serão pouco mais de xx passos para concluir a instalação e então passar à pós instalação.

Inicialmente é oferecida a escolha de idioma para o processo de instalação, que será também o idioma padrão do sistema, como ilustrado na Figura 2 a seguir.

Figura  2: Seleção de idioma

imagem do menu de seleção de idioma

Configuração de Localização

Uma vez que, foi indicado o idioma Português brasileiro, a rotina de instalação passa a sugerir uma lista de países lusófonos para selecionar em qual o sistema estará localizado, como a Figura 3 ilustra.

Figura  3: Seleção de localização no mundo

imagem do menu de países de localização do sistema

Deve-se reparar que o idioma da interface já passou a ser exibido em português conforme a seleção efetuada logo anteriormente.

Observe que se o idioma de instalação se mantivesse com inglês, o menu de localização seria diferente, conforme mostrado na Figura 4.

Figura  4: Seleção de localização padrão

imagem do menu de países de localização completo

Configuração de layout do teclado

Ao selecionar português e Brasil, nas telas anteriores, o teclado pega carona e se configura, mas sempre é bom saber qual a opção mais apropriada no Debian para teclado ABNT2, como mostra a Figura 5.

Figura 5: Configuração de layout de teclado

imagem do menu de layout do teclado

Nesse ponto inicia uma coleta e transferência de diversos componentes do Debian, como ilustra a Figura 6.

Figura  6: Coleta e carregamento de componentes do Debian

imagem do andamento da carga de componentes do sistema

Configuração da rede

Em seguida a instalação chega ao ponto de efetuar a configuração automática básica da rede, situação em que se a rede tiver um servidor DHCP ativo, será toda automática e o programa instalador, solicitará duas informações ao operador da instalação, conforme ilustram as Figuras 7 e 8. Primeiro o hostname para a máquina e depois o domínio de rede.

Figura  7: Definição de hostname

imagem da solicitação de nome da máquina

Figura  8: Definição de domínio

imagem da solicitação de nome do domínio

Definição de senha do superusuário (root)

É um fator de segurança que a senha do root seja forte e neste ponto da instalação é solicitado o fornecimento (e confirmação) da senha do root.

São recomendações comuns que a senha tenha algumas características como: ter dez ou mais caracteres; conter letras maiúsculas, minúscula e números, além de caracteres especiais.

A Figura 9 mostra esse momento da instalação.

Figura  9: Configuração de senha do root

imagem da seleção e senha de root

Configurar usuários adicionais

A seguir é solicitado que seja cadastrado ao menos um usuário adicional, sendo quatro telas em sequência, a primeira solicitando nome real do usuário, a segunda sua senha, a terceira a confirmação e a quarta o username, como mostra a Figura 10 a seguir, toda a sequência sob o título “Configurar usuários e senhas”.

Figura  10: Configuração de usuários e senhas

Solicitação de nome de novo usuário

O próximo passo é configurar o fuso horário como mostra a Figura 11.

Figura  11: Configuração de zona de tempo

imagem da seleção de time-zone

Particionamento de discos

O particionamento de discos pode ser efetuado automaticamente pelo programa instalador do Debian, que oferece três maneiras automatizadas de particionamento:

  • Usar o disco inteiro;
  • Usar o disco inteiro configurando LVM;
  • Usar o disco inteiro configurando LVM e criptografia;
  • Manual.

Conforme ilustra a Figura 12.

Figura  12: Particionamento de discos fase 1

Seleção de modo de particionamento de disco

O próximo passo é indicar o disco a ser particionado e em seguida escolher o esquema de particionamento entre: disco inteiro numa só partição /; duas partições, uma exclusiva para /home e /; quatro partições, /home, /var, /tmp e /. Estas opções estão representadas na Figura 13.

Figura  13: Distribuição de partições

imagem da escolha de particionamento automático

Nas duas próximas telas será confirmado o esquema de particionamento escolhido e em seguida a confirmação de gravação no disco. Esta última confirmação é devida ao risco de perda irreversível de dados que pode vir a ocorrer em caso de gravação da tabela de partição por engano.

Após isso a instalação básica do sistema prossegue até a próxima fase de configuração do apt.

Configuração do apt

A configuração do apt envolve a leitura dos pacotes contidos no(s) disco(s) de instalação. Após ler o disco no leitor é exibida uma tela questionando se mais discos devem ser lidos, como mostra a Figura 14.

Figura  14: Leitura de discos adicionais

imagem do questionamento de ler mais mídias

Neste ponto o instalador questiona de é desejado usar um espelho de rede de repositório (prática comum em instituições com muitos sistemas executando Debian).

Seguindo adiante com a configuração do apt e complementos, o instalador perguntará, se é desejado participar das estatísticas de utilização de pacotes instaláveis conforme mostra a Figura 15. Esta é uma decisão é 100% do operador da instalação.

Figura  15: Participação do concurso de pacotes

imagem do questionamento de participação nas estatísticas de uso de pacotes

O próximo passo é escolher o software a ser instalado. Será apresentado um menu, conforme a Figura 16, no qual, em uma visão minimalista, escolhe-se apenas a opção “utilitários do sistema padrão” e ao prosseguir os pacotes selecionados serão instalados.

Figura  16: Seleção de software para instalação

imagem do menu de seleção de pacotes de software a instalar

Vencida esta etapa o instalador chega a fase de instalação do gerenciador de partida (boot) e será questionado se o ‘GRUB’ deve ser instalado no registro mestre de inicialização (MBR) ou em outra locação (veja mais sobre isso em https://ubuntuforum-pt.org/index.php?topic=4055.0). Feita a escolha será solicitado informar em qual disco será instalado o GRUB, como mostra a Figura 17 adiante.

Figura  17: Seleção de disco físico para instalação

imagem da seleção de local de instalação do GRUB

Após estas interações a instalação do software selecionado prossegue até sua conclusão efetiva.

Ao chegar ao termo da instalação é apresentada uma mensagem solicitando a retirada do disco de instalação da unidade e permitido que se continue com a reinicialização da máquina para então carregar o Debian do disco rígido do sistema.

Primeiro Boot

Ao reiniciar é apresentado o menu de seleção de sistema para boot, conforme a Figura 18 ilustra.

Figura  18: Primeiro boot pós instalação

imagem da tela de boot do sistema instalado

Como só há o Debian instalado, não surgem outras opções de sistema para inicializar. Passado o tempo de espera pela opção de iniciação, será apresentado o prompt de login do sistema. Após a realização do primeiro login (neste caso como root) serão mostrados o banner da versão do kernel e alguns avisos legais.

Figura  19: Primeiro login

imagem do primeiro login

A primeira ação importante é editar o arquivo sources.list[3] onde estão relacionados os repositórios de pacotes para instalação e atualizações do sistema. Para tanto utilize o comando vi /etc/apt/sources.lst (pode ser usado o nano ao invés do Vi).

Figura  20: Configuração final do arquivo /etc/apt/sources-list

imagem do arquivo sources.list configurado

A Figura 20 acima, exemplifica uma configuração possível para o arquivo sources-list.

Em seguida a isso será promovida uma atualização do Debian recém instalado, com os comandos:

Código  1: Comandos para atualização do Debian
apt update
apt -y -f full-upgrade
apt -y autoremove

 

Pós-instalação

Dependendo da aplicação para o sistema diferentes pós-instalações podem ser executadas, incluindo a instalação de pacotes específicos.

A seguir algumas possibilidades de configuração pós-instalação que não necessariamente direcionam, ou limitam, a aplicabilidade de um sistema.

  • Endereço IP fixo
  • Pacote adicionais
    • tree
    • dos2unix
    • openssh-server
    • sudo
  • Ajustes no FS para trabalho em equipe
  • Ajustes do skel e seus componentes
  • Geração de chaves de autenticação RSA para usuários

Segue um breve extrato destes ajustes de configuração, no entanto, para todos os efeitos o plano de configuração deveria conter mais algumas informações relacionadas a seguir.

Plano de Instalação complemento

Endereçamento IP: Interface de rede 1

Tabela 4: Complemento do plano de instalação
Item Valor
IP Modo: Estático
Endereço IP: 192.168.0.8
Máscara: 255.255.255.0
Broadcast: 192.168.0.255
Gateway: 192.168.0.1
DNS1: 8.8.8.8
DNS2: 8.8.4.4
DNS3: 192.168.0.1

Instalação de pacotes adicionais: tree; vi; sudo e open-ssh

Ajustar máscara de rede para trabalho colaborativo em equipe (UMASK = 002)

Ajustar alguns aliáses mínimos (ll=ls -lA) para novos usuários

IP Fixo

Por padrão as interfaces de rede iniciam operando em DHCP visando sistemas desktop, então se faz necessário configurar as interfaces de rede para que operem sob IP estático.

É usual utilizar IP estático em servidores, que leva a utilização das ferramentas mais tradicionais de configuração.

Editar a configuração padrão contida no arquivo /etc/network/interfaces. Após a edição o arquivo deve resultar semelhante ao mostrado na Figura 21, assumindo que o sistema utiliza a denominação de nomes de interface previsíveis, não haverá uma interface com nome do tipo eth0, senão com o nome do tipo enp0s3.

Figura  21: Aspecto do arquivo interfaces após a edição

imagem do conteúdo do arquivo interfaces

O arquivo /etc/resolv.conf, poderá conter o seguintes valores:

Código  2: Conteúdo de resolv.conf
nameserver 192.168.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4

Ativar a configuração usando a sequência de comandos:

Código  3: Comandos para reconfigurar a interface de rede
Ifdown enp0s3
Ifup enps0

Instalação de pacotes adicionais

Como já é de conhecimento o Debian utiliza o Advanced Packaging Tool (apt) para gerenciamento de pacotes e atualizações, na fase final de instalação foi executada a sincronização com os repositórios do Debian. Esta sincronização deve ser realizada com certa frequência para que eventualmente não se perca uma atualização importante, principalmente das qualificadas como de segurança.

O Debian foi instalado de maneira muito enxuta e, portanto, não conta com alguns itens que podem vir a ser de extrema utilidade na administração e uso do sistema, devido a isso é recomendado que alguns pacotes adicionais sejam instalados, já outros são apenas recomendáveis.

Um pacote de grande importância é o openssh.

openssh – Serviço de ssh para acesso remoto ao sistema

Instala-se com o comando apt -y install ssh

Outro pacote muito relevante é o sudo que será de grande valia na administração do sistema.

sudo – Troca de usuário para root e executa comando (switch to root and do it)

Instala-se com o comando apt -y install sudo

Quando instalar o sudo torna-se desejável adicionar um usuário, aquele eleito para ser o administrador do sistema, ao grupo sudo, com o comando mostrado a seguir

Código  4: Comando de adição de usuário a grupo
addgroup user sudo

Eventualmente algumas dependências podem não estar instaladas, então com a adição da opção -f pode-se forçar a resolução, portanto, instalação de dependências.

Os pacotes recomendáveis são tree e dos2unix.

vim – Editor de texto melhorado (a instalação não inclui a versão improved)

Instala-se com o comando apt -y install vim.

tree – Comando que exibe de forma visual a árvore de diretórios

Instala-se com o comando apt -y install tree.

locate – Procura arquivos por nome.

Instala-se com o comando apt -y install locate.

Nota: pré-carga do banco de dados com o comando updatedb.

dos2unix – Comando de conversão do padrão de fim de linha DOS/Mac/Unix

Instala-se com o comando apt -y install dos2unix.

Ajustes do skel e seus componentes

O diretório /etc/skel, e seu conteúdo, é o modelo para replicação ao criar um novo usuário, portanto personalizar este diretório pode simplificar consideravelmente o esforço de inclusão de novos usuários, que por sua vez poderão personalizar seus diretórios home a seu gosto.

O arquivo .bashrc pode ser editado para ter o seguinte conteúdo aproximado:

Código  5: Alterações sugeridas para o arquivo .bashrc no skel
(aproximadamente da linha 75 em diante)

# Habilita suporte a cores de ls e adiciona aliases uteis
if [ -x /usr/bin/dircolors ]; then
        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        #alias ls='ls --color=auto'
 
        alias grep='grep --color=auto'
        alias fgrep='fgrep --color=auto'
        alias egrep='egrep --color=auto'
fi
 
# Erros e avisos coloridos no GCC
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
 
# Mais alguns aliases de ls
alias ll='ls -AlF'
alias la='ls -A'
alias l='ls -CF'

Ajustes no FS para trabalho em equipe

O comportamento padrão do sistema de arquivos (file system ou fs) pode não ser apropriado para o trabalho em equipes, situação que pode ser alterada com a edição do arquivo /etc/login.defs e com a reconfiguração de direitos de usuários concedendo direito de escrita a grupos.

Código  6: Comandos de configuração de UMASK e direitos no file system (FS)
# vi etc/login.defs

Fazendo:

      UMASK       0002

# find /home -mindepth 2 | xargs chmod -R g+rw
# find /home -mindepth 2 -type d | xargs chmod -R g+rwxs

Nesta altura da pós-instalação pode ser recomendável efetuar um reboot da máquina para que todas estas alterações entrem em operação efetiva.

Geração de chaves de autenticação RSA para usuários

Criar chaves RSA pública e privada dos usuários de uso geral é uma forma de poder utiliza-los em processos automatizados devido à dispensa de fornecimento de senha em acessos remotos.

Para gerar as chaves há o comando ssh-keygen, e para implantar a chave pública em outro servidor há o comando ssh-copy-id.

Gerar o par de chaves de cada usuário estando logado como o usuário, com o comando:

Código  7: Comando de geração de chaves de autenticação RSA
# ssh-keygen -t rsa

Ainda logado com cada usuário, implantar as chaves públicas nos servidores remotos devidos com o comando:

Código  8: Comando de implantação de chave RSA pública em servidor remoto
ssh-copy-id -i ~/.ssh/id_rsa.pub login@servidor

É importante observar que o arquivo id_rsa contém a chave RSA privada e que deve ficar protegido contra acessos indevidos, por isso apenas o proprietário pode ter direitos de leitura sobre ele.

É igualmente importante ressaltar que este processo de autorização de acesso é unidirecional e para que seja iniciado pelo outro servidor deve ser implantada sua chave pública no servidor local.

 

Conclusão

Agora com o sistema instalado e operativo, contando com um mínimo de componentes, pode ser configurado para aplicações específicas diversas.

 

 


[1] GNU é um sistema operacional e uma extensa coleção de softwares de computador. O GNU é composto inteiramente de software livre, a maioria dos quais é licenciada sob a Licença Pública Geral (GPL) do Projeto GNU. O GNU é um acrônimo recursivo para "GNU Não é Unix!".

[2] The Linux kernel is an open-source monolithic Unix-like computer operating system kernel

[3] No URL <https://debgen.simplylinux.ch/>, é possível fazer a geração automática de conteúdo para diversas configurações

 

 

Introdução

A cada dia que passa torna-se mais e mais comum termos uma rede de computadores presente em nosso ambiente, seja de trabalho, de laser, e mesmo doméstico.

Em qualquer dessas situações a acessibilidade com a Internet é mandatória, no entanto, por vezes certo nível de isolamento torna-se necessário pelos mais diversos motivos: segurança de dados; restrição de acesso a sites indesejados; isolamento de máquinas sensíveis a ataques de hackers; etc.

Para dar sustentação para soluções a essas necessidades algumas máquinas tem de ser equipadas com mais de uma interface de rede, que por sua vez exigirão configurações distintas.

É comum ser necessário uma máquina dessas necessitar de uma interface configurada para utilização de IP fixo e outra de IP dinâmico. Este artigo abordará a configuração de uma máquina com Arch Linux, que supra exatamente esta necessidade, sendo extensível a mesma solução para mais interface na mesma máquina quando necessário.

 

Configuração

Prévias da Instalação

O Arch Linux admite um utilitário de linha de comando para operações de inspeção e configuração de rede denominado netctl que trabalha conjuntamente ao systemd.

Inicialmente deve ser instalado o pacote do netctl, para tanto utiliza-se o comando mostrado a seguir:

Código  1: Instalação do pacote netctl

$ sudo pacman -S netctl

Listagem 1: Instalação do pacote netctl

$ sudo pacman -S netctl
[sudo] senha para administrator:
resolvendo dependências...
procurando por pacotes conflitantes...
Pacotes (1) netctl-1.18-1
Tamanho total instalado:  0,09 MiB

:: Continuar a instalação? [S/n] s
(1/1) verificando chaves no chaveiro          [##################] 100%
(1/1) verificando integridade do pacote       [##################] 100%
(1/1) carregando arquivos do pacote           [##################] 100%
(1/1) verificando conflitos de arquivo        [##################] 100%
(1/1) verificando espaço em disco disponível  [##################] 100%

:: Processando alterações do pacote...
(1/1) instalando netctl                       [##################] 100%
Dependências opcionais para netctl
    dialog: for the menu based wifi assistant
    dhclient: for DHCP support (or dhcpcd)
    dhcpcd: for DHCP support (or dhclient) [instalado]
    wpa_supplicant: for wireless networking support [instalado]
    ifplugd: for automatic wired connections through netctl-ifplugd
    wpa_actiond: for automatic wireless connections through netctl-auto
    ppp: for PPP connections
    openvswitch: for Open vSwitch connections

:: Executando hooks pós-transação...
(1/2) Reloading system manager configuration...
(2/2) Arming ConditionNeedsUpdate...

 

Os arquivos de configuração de rede ficam na árvore /etc/netctl, e no subdiretório examples há algo entorno de 20 modelos de arquivos de configuração, cada um para uma categoria de situações possíveis como: conexão ethernet de IP dinâmico, ethernet de IP estático, conexão sem fio com segurança WPA de IP estático e etc. Verifique a variedade com o comando mostrado abaixo:

Código  2: Verificando modelo de configuração

$ ls /etc/netcl/examples/

Observe as possibilidades, neste artigo serão utilizados os modelos ethernet-dhcp e ethernet-static na configuração de duas interfaces de rede do sistema.

Listagem 2: Modelos disponíveis em netctl

$ ls /etc/netctl/examples/
bonding          macvlan-dhcp    tunnel         wireless-wep
bridge           macvlan-static  tuntap         wireless-wpa
ethernet-custom  mobile_ppp      vlan-dhcp      wireless-wpa-config
ethernet-dhcp    openvswitch     vlan-static    wireless-wpa-configsection
ethernet-static  pppoe           wireless-open  wireless-wpa-static

 

A seguir é mandatório determinar os nomes das interfaces de rede disponíveis no sistema. Com o comando a seguir obtém-se uma relação das interfaces reconhecidas presentes.

Código  3: Examinando interface de rede instaladas

$ ip link

E resposta recebe-se um relatório com esta aparência

Listagem 3: Relatório de interfaces de rede

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:e1:48:19 brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:26:74:49 brd ff:ff:ff:ff:ff:ff


Observa-se que as interfaces recebem a nova nomenclatura de interfaces previsíveis[1] no plano de instalação pode/deve ser prevista a aplicação de cada uma das interfaces, conforme exemplificado a seguir

Tabela 1: Plano de instalação e configuração

Interface Denominação Tipo Aplicação
1 enp0s3 IP Fixo Rede local como servidor
2 enp0s8 IP Dinâmico Rede externa e/ou Internet

 

Desta forma a interface enp0s3 será configurada para operar em IP fixo e a interface enp0s8 para operar em IP dinâmico.

Configuração da Interface com IP Fixo

Tomando por base o modelo de arquivo de configuração para ethernet estático (/etc/netctl/examples/ethernet-static) cria-se em /etc/netctl/ um arquivo para a configuração da interface a ser ajustada, segundo o plano de instalação enp0s3. Constitui boa prática denominar o arquivo com o “nome” da interface. Conteúdo do arquivo enp0s3[2].

Listagem 4: Conteúdo do arquivo de configuração da interface enp0s3

Description='Conexao estatica basica de ethernet'
Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.0.9/24')
Gateway=('192.168.0.1')
DNS=('8.8.8.8' '8.8.4.4' '192.168.0.1')
TimeoutUp=10
SkipNoCarrier=yes

Nota: A linha SkipNoCarrier consta para não sinalizar falha caso o cabo não esteja conectado.

O valor da cláusula Interface= é a designação da interface sendo configurada.

Para iniciar automaticamente a interface no momento de boot efetuar o primeiro comando da sequência abaixo, e para iniciar imediatamente a interface efetuar o segundo comando da sequência.

Código  4: Comandos de habilitação e iniciação da interface de rede enp0s3

$ sudo netctl enable enp0s3
$ sudo netctl start enp0s3

Desativação do serviço DHCP cliente

A parada e desabilitação do serviço DHCP se efetua com os comandos abaixo.

Código  5: Sequência de comandos de desativação do serviço cliente DHCP

$ sudo systemctl stop dhcpcd
$ sudo systemctl disable dhcpcd

Configuração da Interface com IP Dinâmico

Tomando por base o modelo de arquivo de configuração para ethernet dinâmico (/etc/netctl/examples/ethernet-dhcp) cria-se em /etc/netctl/ um arquivo para a configuração da interface a ser ajustada, segundo o plano de instalação enp0s8. Constitui boa prática denominar o arquivo com o “nome” da interface. Conteúdo do arquivo enp0s8.

Listagem 5: Conteúdo do arquivo de configuraçãoda interface enp0s8

Description='A basic dhcp ethernet connection'
Interface=enp0s8
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless
SkipNoCarrier=yes

Nota: A linha SkipNoCarrier consta para não sinalizar falha caso o cabo não esteja conectado.

O valor da cláusula Interface= é a designação da interface sendo configurada.

Para iniciar automaticamente a interface no momento de boot efetuar o primeiro comando da sequência abaixo, e para iniciar imediatamente a interface efetuar o segundo comando da sequência.

Código  6: Comandos de habilitação e iniciação da interface de rede enp0s8

$ sudo netctl enable enp0s8
$ sudo netctl start enp0s8

Reiniciar e confirmar configurações

Após cumpridas as etapas referidas acima, reinicie o sistema para comprovar com o comando ip addr que a configuração efetuada é ativada no boot do sistema.

Abaixo o aspecto esperado do relatório do comando.

Listagem 6: Relatório da configuração de interfaces de rede

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 08:00:27:e1:48:19 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.9/24 brd 192.168.0.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 2804:14c:113:8052:a00:27ff:fee1:4819/64 scope global dynamic mngtmpaddr
    valid_lft 3599sec preferred_lft 3599sec
 inet6 fe80::a00:27ff:fee1:4819/64 scope link
    valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 08:00:27:26:74:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.87/24 brd 192.168.0.255 scope global noprefixroute enp0s8
    valid_lft forever preferred_lft forever
 inet6 2804:14c:113:8052:a00:27ff:fe26:7449/64 scope global dynamic mngtmpaddr
    valid_lft 3599sec preferred_lft 3599sec
 inet6 fe80::a00:27ff:fe26:7449/64 scope link
    valid_lft forever preferred_lft forever

 

Conclusão

Com as configurações esplanadas é possível gerir sistemas com inúmeras interfaces de rede, viabilizando a constituição de diversas aplicações que necessitam mais de uma interface de rede na máquina, como firewalls, proxy-servers, gateways, entre tantas outras possibilidades.

 

Referências

Arch Linux. ArckWiki. Disponível em <https://wiki.archlinux.org/index.php/Main_page>, acesso em 10 de out. de 2018

BRITO, Samuel Henrique Bucke. Nova nomenclatura de Interfaces Previsíveis no Linux. BLOG LabCisco, 2015.  Disponível em <http://labcisco.blogspot.com/2015/11/nova-nomenclatura-de-interfaces.html>, acesso em 10 de out. de 2018

GKIOKA, Ioanna; JAHODA, Mirek; HERVES, Jana; et. al. 8.3. UNDERSTANDING THE PREDICTABLE NETWORK INTERFACE DEVICE NAMES. In: Networking Guide. Red Hat Customer Portal. Disponível em <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-understanding_the_predictable_network_interface_device_names>, acesso em 11 de out. de 2018

KUMAR, Senthil. How To Configure Static And Dynamic IP Address In Arch Linux. OSTechNix, 2017. Disponível em <https://www.ostechnix.com/configure-static-dynamic-ip-address-arch-linux/>, acesso em 10 de out. de 2018


[1] Predictable Network Interfaces Names, vide mais informações em https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-understanding_the_predictable_network_interface_device_names

[2] enp0s3 – onde en corresponde a ethernet, p0 coresponde a pci bus 0, e s3 corresponde a  slot 3

Introdução

Arch Linux é uma distribuição GNU /Linux de uso geral, compilada exclusivamente para a arquitetura Intel x86_64 (em janeiro de 2017 foi anunciada a descontinuação do suporte a arquitetura i686) empenhada em fornecer as últimas versões estáveis da maioria dos softwares, seguindo um modelo de lançamento contínuo (rolling-release).

Arch Linux se baseia em cinco diretrizes: simplicidade; modernidade; pragmatismo; foco no usuário; versatilidade.

A instalação padrão é um sistema base mínimo, configurado pelo usuário para adicionar apenas o que seja propositalmente necessário.

Se você:

  • não tem habilidade, tempo, ou desejo para se dedicar a uma distribuição GNU/Linux do tipo "faça você mesmo";
  • precisa de suporte a uma arquitetura diferente de x86_64;
  • insiste em usar uma distribuição que só fornece software livre conforme definido pela GNU;
  • acredita que um sistema operacional deve se autoconfigurar, vir pronto para usar e incluir um conjunto padrão completo de softwares e ambiente de área de trabalho na mídia de instalação;
  • não deseja uma distribuição GNU/Linux de lançamento contínuo (rolling release);
  • Provavelmente você pode não querer usar o Arch e está satisfeito com seu sistema operacional atual.

O Arch Linux segue o FHS (em português, hierarquia de sistema de arquivos) para sistemas de arquivos usando o gerenciador de serviço systemd.

O Arch não foi projetado para nenhum tipo de uso específico (distribuição de uso geral). Em vez disso, ele é projetado para um determinado tipo de usuário. O Arch visa usuários competentes que gostam de sua natureza faça você mesmo (DIY) e que a exploram para moldar o sistema para atender às suas necessidades exclusivas. Portanto, nas mãos de sua base de usuários alvo, o Arch pode ser usado praticamente para qualquer propósito. Muitos usam o Arch em seus desktops e estações de trabalho. E, claro, o archlinux.org é executado no Arch.

Veremos aqui aspectos de sua instalação.

Instalação

Toda instalação pode ser dividida em três períodos, antes, durantes e depois da instalação.

O antes inclui definir a distribuição a utilizar, criar o plano de instalação, obter a distribuição, ultimar preparativos da instalação.

A própria instalação, ou o durante, consiste em algumas, ou muitas, operações que visam particionar e formatar discos rígidos, transferir a imagem do sistema para o disco, efetuar configurações básicas.

O depois pode ser resumido a fazer ajustes conforme necessidades específicas de aplicação, instalar pacotes adicionais e efetuar configurações mais detalhadas.

Para elaboração deste texto teremos como objetivo instalar o Arch Linux.

Pré-instalação

No URL <https://www.archlinux.org/download/> estão disponibilizados os endereços de diversos espelhos para o download do Arch Linux onde é possível escolher o mais apropriado para baixar a imagem do “disco de instalação”. Tomando como base a imagem de 1º de setembro de 2018, seu tamanho é de 571 M bytes (598.736.896 bytes) o que dependendo da velocidade de conexão e do espelho selecionado pode demorar entre 40 segundos e até 20 minutos, ou mais, de download.

Esta imagem pode ser gravada em um CD, um DVD, ou um flash drive (pen-drive) para efetuar a instalação. Se seu sistema for um Windows 7, ou mais recente, as mídias ópticas podem ser gravadas sem programas adicionais, já para gravar em flash drives um programa adicional, por exemplo o rufus (download em <https://rufus.akeo.ie/>), ou outro equivalente, será necessário.

O planejamento da instalação envolve determinar o particionamento pretendido das unidades de disco, o padrão de teclado disponível para o console, localização geográfica e fuso horário pretendidos para uso e operação.

A seguir de forma simplificada apresentam-se os itens planejados para esta instalação:

Tabela 1: Plano de instalação simplificado

Plano de Instalação Arch Linux

Layout do TecladoABNT2
Localização América do Sul; Brasil; São Paulo
Fuso horárioUTC -3:00
Particionamento1 - sda1 física 500 MB /boot ext4
2 - sda2 física 3,5 GB /var ext4
3 - sdb1 física 10 GB / ext4
4 - sdc1 física 2G swap
NOTA: Para efeito deste artigo foi adotado um particionamento simplista

Um requisito adicional da instalação é acesso à Internet para obtenção de pacotes de repositório remoto conforme requeridos.

Efetuando a instalação

Carregando a mídia com a imagem da distribuição e iniciando o computador será apresentado um menu de seleção de ações, como mostra a Figura 1 a seguir.

Tela com menu inicial do Live CD Arch Linux
Figura 1: Boot do Live CD do Arch Linux

As seis opções de menu do Live CD do Arch Linux

Boot Arch Linux (x86_64)
Boot existing OS
Run Mentest86+ (RAM test)
Hardware Information (HDT)
Reboot
Power Off

As ações de cada opção são:

Boot Arch Linux (x86_64) executa o sistema contido na mídia, com a qual faremos as operações de instalação nesta oportunidade.

Boot existing OS executa o sistema presentemente instalado nos discos do sistema.

Run Mentest86+ (RAM test) roda o diagnóstico de memória.

Hardware Information (HDT) executa detecção de hardware e exibe suas informações.

Reboot reinicializa a máquina que contém a mídia.

Power Off efetua o desligamento da máquina.

Utilizando a primeira opção do menu inicia-se o Arch Linux do Live CD e obtém-se o prompt de comando com credenciais de root.

Tela do processo de iniciação do Arch Linh
Figura 2: Processo de boot do Arch Linux do Live CD
Prompt de comando do Live CD Arch Linux, com o usuário root logado automaticamente
Figura 3: Prompt de comando como root autologado no Arch Linux do Live CD

A partir daqui serão pouco mais de 35 passos para concluir a instalação e então passar à pós instalação.

 

Configuração de teclado

Uma vez que, por padrão, a configuração de teclado é o layout americano e o plano de instalação solicita teclado no padrão ABNT2 é recomendável iniciar por essa configuração de forma a facilitar a operação do teclado do console.

É possível verificar os layouts disponíveis na árvore de diretório /usr/share/kbd/keymaps/ onde estão todos os arquivos de mapeamento de layout de teclado disponíveis no Arch Linux, que atualmente somam pelo menos 216 deles como mostra a saída do comando a seguir que lista todos os mapeamentos disponíveis:

Código  1: Exibição de mapas de teclado

# ls /usr/share/kbd/keymaps/**/*.map.gz

A configuração é efetivada com o comando mostrado a seguir:

Código  2: Comando de seleção de mapa do teclado

# loadkeys br-abnt2

 

Configuração de caracteres exibíveis

De forma semelhante aos layouts de teclado, há diversos conjuntos de caracteres exibíveis diferentes, em função das características idiomáticas diversas a serem contempladas.

Para a localização do sistema, segundo o plano de instalação, o conjunto de caracteres que melhor se adequa é o denominado lat0-16, que é assumido a partir do comando mostrado abaixo:

Código  3: Comando de seleção de conjunto de caracteres

# setfont lat0-16

 

Configurar o locale (localização)

A localização do sistema como solicitado no plano de instalação leva à necessidade de ajustar o arquivo locale.gen (gravado no diretório /etc/) utilizado como base de configuração para o comando de mesmo nome.

Por padrão o ajuste en_US.UTF-8 UTF-8 está habilitado e em cumprimento ao plano de instalação deve-se ‘descomentar’ (eliminar o caractere # do início da linha) a linha contendo pt_BR.UTF-8 UTF-8, correspondente à localização desejada.

Para tanto deve-se utilizar o editor de texto de maior familiaridade para levar a cabo a alteração. O Live CD do Arch conta com o nano e com o vi instalado e operativos.

Exemplos de comando para edição do arquivo de configuração:

Código  4: Edição o arquivo de geolocalização

# nano /etc/locale.gen

# vi /etc/locale.gen

Criação do arquivo de configuração de idioma

Uma vez ajustado o arquivo locale.gen, pela execução do comando locale-gen são criados os necessários arquivos de localização para o sistema.

Em seguida deve-se exportar a variável LANG com o novo valor (pt_BR.UTF-8) e opcionalmente gerar o arquivo locale.conf (no diretório /etc) com a mesma definição de variável.

A sequência de comando é mostrada abaixo

Código  5: Comandos de ajuste idiomático

# locale-gen
# export LANG=pt_BR.UTF-8
# echo "LANG=pt_BR.UTF-8" > /etc/locale.conf

 

Conexão à Internet via cabo ou Wi-Fi

Por padrão a conexão a cabo para rede vem habilitada, no entanto, pode ser conveniente garantir essa habilitação. Isto pode ser feito com a utilização do comando dhcpcd, nos moldes a seguir para forçar uso de IPv4 ou de IPv6.

Código  6: Comandos de ativação de subsistema de rede fiada

#dhcpcd --ipv4only

#dhcpcd --ipv6only

Se a instalação da máquina provê conexão por Wi-Fi, utilizando o seguinte comando esta é habilitada.

Código  7: Comando de ativação de subsistema de rede sem fio

# wifi-menu

 

Teste da conexão à Internet

Para verificar o sucesso da configuração da interface de rede e sua conexão à Internet basta um ping.

Conforme configurado no passo anterior o ping deve ser emitido em IPv4 ou IPv6 conforme exemplos.

Código  8: Comandos de teste de conexão

# ping -4 archlinux.org

# ping -6 archlinux.org

 

Determinar discos rígidos detectados

Com uma busca na saída do comando dmesg pela string sd poderão ser determinados os discos rígidos detectados.

Abaixo exemplo de execução do comando e um sistema com um disco rígido, previamente particionado e formatado.

Código  9: Exibição da detecção de discos

# dmesg | grep sd
[    4.637391] sd 1:0:0:0: [sda] 8388608 512-byte logical blocks: (4.29 GB/4.00 GiB)
[    4.637399] sd 1:0:0:0: [sda] Write Protect is off
[    4.637401] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.637413] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enables, doesn't support DPO or FUA
[    4.637881] sd 1:0:0:0: [sda] Attached SCSI disk
[    4.638103] sd 3:0:0:0: [sdb] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB)
[    4.638110] sd 3:0:0:0: [sdb] Write Protect is off
[    4.638112] sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    4.638124] sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enables, doesn't support DPO or FUA
[    4.638548] sd 3:0:0:0: [sdb] Attached SCSI disk
[    4.638827] sd 4:0:0:0: [sdc] 4194304 512-byte logical blocks: (2.15 GB/2.0 GiB)
[    4.638834] sd 4:0:0:0: [sdc] Write Protect is off
[    4.638836] sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    4.638848] sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enables, doesn't support DPO or FUA
[    4.639248] sd 4:0:0:0: [sdc] Attached SCSI disk

 

Uma alternativa ao método acima é utilizando o comando lsblk.

Código  10: Comando alternativo de exibição de discos

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 459,6M  1 loop /run/archiso/sfs/airootfs
sda      8:0    0     4G  0 disk
sdb      8:16   0    10G  0 disk
sdc      8:32   0     2G  0 disk
sr0     11:0    1   571M  0 rom  /run/archiso/bootmnt

 

Particionar o(s) disco(s)

Com uma ferramenta de particionamento a escolha, Arch Linux Live CD conta com no mínimo três ferramentas: fdisk; cfdisk; e parted, efetua-se o particionamento conforme o plano de instalação.

 

Formatar as partições

Comandos específicos para formatar partições de dados e de swap serão utilizados neste ponto do processo de instalação, conforme exemplificado a seguir:

Código  11: Comandos de formatação de partições

# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sdb1
# mkswap /dev/sdc1

 

Ativar e testar a partição swap

O comando swapon é utilizado para ativar partições swap. O mesmo comando pode ser utilizado para verificação da partição swap. Há também a possibilidade de utilizar o comando free com a opção -h.

A sequência de comandos a seguir efetua as tarefas descritas.

Código  12: Comandos de ativação e verificação de partição swap

# swapon /dev/sdc1
 
# swapon -s
Nome do arquivo    Tipo         Tamamnho    Usado  Prioridade
/dev/sdc1          partition    2096124 0   -2
 
# swapon --show
NAME      TYPE      SIZE USED PRIO
/dev/sdc1 partition   2G   0B   -2
 
# free -h
       total   usada   livre   compart.   buff/cache   disponível
Mem.:  988Mi    47Mi   639Mi       78Mi        302Mi        726Mi
Swap:  2,0Gi      0B   2,0Gi

 

Criar pontos de montagem e montar as partições

Tudo relacionado aos discos rígidos estando configurado, particionado e formatado deve-se montar as partições em seus pontos de montagem devidos. Conforme o plano de instalação monta-se na ordem:

Tabela 2: Pontos de montagem das partições

 PartiçãoComandos
1raizmount /dev/sdb1 /mnt
2bootmkdir /mnt/boot
mount /dev/sda1 /mnt/boot
3varmkdir /mnt/var
mount /dev/sda2 /mnt/var

Inspeção das partições montadas em seus pontos

Utilizando o comando lslbk é possível verificar o layout das partições, agora montadas em seus respectivos pontos, verificando o seguimento do plano de instalação.

Código  13: Exibição de discos e partições montadas

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 459,6M  1 loop /run/archiso/sfs/airrootfs
sda      8:0    0     4G  0 disk
|-sda1   8:1    0   500M  0 part /mnt/boot
\-sda2   8:2    0   3,5G  0 part /mnt/var
sdb      8:16   0    10G  0 disk
\-sdb1   8:17   0    10G  0 part /mnt
sdc      8:32   0     2G  0 disk
\-sdc1   8:33   0     2G  0 part [SWAP]
sr0     11:0    1   571M  0 rom  /run/archiso/bootmnt

 

Instalação dos pacotes base

Com o script pacstrap é efetivada a instalação dos pacotes componentes do sistema base.

O comando que instala tais pacotes está abaixo:

Código  14: Comando de instalação do Sistema Operacional

# pacstrap /mnt base

 

Geração do arquivo fstab

Com o comando genfstab é criado o arquivo fstab que controla a montagem dos discos na partida do S.O.

Código  15: Comando de geração de do arquivo FSTAB

# genfstab -p /mnt/ >> /mnt/etc/fstab

A execução resulta em um arquivo com a seguinte aparência

Código  16: Conteúdo do arquivo FSTAB gerado

# Static information about the filesystems.
# see fstab(5) for details.
 
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=a1bd3368-cb9a-4c13-a433-70a1e6aa615a
/dev/sdb1    /           ext4   rw,realtime       0 1
 
# UUID=9830efdf-8b57-42e3-9eac-c297dcf90f55
/dev/sda1    /boot       ext4   rw,realtime       0 2
 
# UUID=12978d75-161b-4ddc-ad25-2de316de4c07
/dev/sda2    /var        ext4   rw,realtime       0 2
 
# UUID=7868db81-8c32-4de5-b54e-847bf34bbd5e
/dev/sdc1    none        swap   defaults,pri=-2   0 0

Caso seja desejado pode-se editar o arquivo com nano, vi, ou vim.

 

Criar ambiente chroot

O script arch-chroot que integra o pacote arch-install-scripts, monta sistemas de arquivos de API e torna o /etc/resolv.conf disponível no chroot

Código  17: Comando de 'mudança' de raiz

# arch-chroot /mnt /bin/bash

 

Configurar o locale do sistema recém instalado

Semelhante ao referido no item “Configuração do arquivo de configuração de idioma” acima editar o arquivo /etc/locale.gen para localizar o sistema conforme o plano de instalação (descomentar a linha pt_BR.UTF-8 UTF-8). A seguir com o comando locale-gen gera-se os arquivos de localização devidos.

Código  18: Comandos de configuração de localização do sistema instalado

# vi /etc/locale.gen
# locale-gen

 

Criação do arquivo de configuração de idioma

Provendo o arquivo /etc/locale.conf ajusta-se o idioma da interface do Arch Linux

Código  19: Configuração de idioma do sistema instalado

# echo "LANG=pt_BR.UTF-8" > /etc/locale.conf
# export "LANG=pt_BR.UTF-8"

 

Reconfiguração de teclado e caracteres exibíveis

Semelhantemente aos itens “Configuração de teclado” e “Configuração de caracteres exibíveis” anteriores com os comandos loadkeys e setfont configura-se os padrões idiomáticos apropriados para teclado e tela de console

Código  20: Comandos de configuração de teclado e caracteres

# loadkeys br-abnt2
# setfont lat0-16

 

Persistir as configurações

Para tornar persistentes estas configurações, deve-se prover o arquivo /etc/vconsole.conf com os seguintes valores:

Código  21: Conteúdo do arquivo de persistência de configuração de teclado e caracteres

KEYMAP=br-abnt2
FONT=lat0-16
FONT_MAP=

 

Configurar o fuso horário

A configuração de fuso horário é feita pela construção de um link simbólico para o arquivo de time-zone da localização indicada no plano de instalação.

Com o comando a seguir determina-se a existência do arquivo de fuso horário mais apropriado.

Código  22: Exibição de Zonas de Tempo disponíveis

# ls /usr/share/zoneinfo/America

Determinado o melhor arquivo com o comando a seguir constrói-se o link simbólico que configura o fuso horário.

Código  23: Comando de configuração de fuso horário

# ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

 

Sincronização do relógio de hardware

O comando hwclock gera o arquivo /etc/adjtime.

Código  24: Comando de sincronização do relógio de hardware

# hwclock --systohc --utc

 

Configurando o repositório e sincronizando

Editando o arquivo /etc/pacman.conf ao descomentar as linhas abaixo, o sistema poderá executar aplicativos de 32 bits.

Código  25: Edição do arquivo pacman.conf

[multilib]
Include = /etc/pacman.d/mirrorlist

A sincronização de repositório é efetuada com o comando

Código  26: Comando de sincronização com repositório

# pacman -Sy

 

Definir o hostname

Criar o arquivo /etc/hostname com o nome para o host com a linha de comando a seguir

Código  27: Comando de configuração de nome do host

# echo archlinux > /etc/hostname

 

Configurar o arquivo hosts

O arquivo hosts deve ser configurado com o conteúdo abaixo registrado.

Código  28: Configuração inicial do resolvedor de nomes local

127.0.0.1   localhost.localdomain   localhost
::1   localhost.localdomain   localhost

 

Instalar pacotes sudo; autocompletion e grub

Pela utilização do gerenciador de pacotes do Arch Linux deve-se instalar pacotes mínimos importantes à administração e uso do sistema com o comando pacman.

Os pacotes para instalação são o sudo, o bash-completion e o grub, o qual deve inclusive ser configurado, conforme os comandos a seguir.

Código  29: Comandos de instalação e configuração de pacotes básicos

# pacman -S sudo
# pacman -S bash-completion
# pacman -S grub
# grub-install --target i386-pc --recheck /dev/sdb
# cp /usr/share/locate/en/@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Dica: Para a busca automática de outros sistemas operacionais em seu computador, instale o pacote os-prober (pacman -S os-prober) antes de rodar o próximo comando.

 

Criação de um ambiente ramdisk inicial

No caso de ser necessária alguma configuração inicial específica, antes do próximo comando deve-se editar o arquivo mkinitcpio.conf.

Código  30: Comando de configuração de ramdisk

# mkinitcpio -p linux

 

Instalação do microcode

Dependendo do processador em uso (Intel ou AMD) a instalação do microcódigo pode ser realizada com um dos comandos a seguir respectivamente

Código  31: Comandos de instalação de microcódigo

# pacman -S intel-ucode
# pacman -S linux-firmware

 

Geração do arquivo de configuração do Grub

Com o comando grub-mkconfig cria-se o arquivo grub.cfg.

Código  32: Comando de configuração do gerenciador de partida

# grub-mkconfig -o /boot/grub/grub.cfg

 

Criar e definir um usuário

Com os comandos useradd e passwd crie um usuário (além do root) para efetuar login no sistema.

Código  33: Comandos de criação de usuário

# useradd -m -g users -G wheel,storage,power -s /bin/bash administrator
# passwd administrator

 

Definir a senha de root

Como o LiveCD provê login automático sem senha, prover uma senha para o usuário root é necessário.

Código  34: Comando de criação de senha do ROOT

# passwd root

 

Edite o arquivo sudoers:

Para incluir os usuários do grupo wheel como permitidos a executar sob sudo, com um editor de textos altere o arquivo /etc/sudoers descomentando a declaração do grupo wheel como mostrado a seguir.

Código  35: Configuração de grupo de sudoers

# nano /etc/sudoers

As linhas

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

Ficam

# Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

 

Instalar os componentes de Wi-Fi

Os pacotes wpa-supplicant, networkmanager, e net-tools devem ser instalados.

Código  36: Comandos de instalação e configuração de gerenciamento de rede

# pacman -S wpa-supplicant networkmanager net-tools
# systemctl enable NetworkManager

Uma vez instalados os pacotes, configurar Ethernet ou Wi-Fi.

Verificar os dispositivos de rede reconhecidos com o comando ifconfig, e ativar a interface de rede sem fio se necessário, ou mesmo existente.

Código  37: Verificação de dispositivos de rede instalados

# ifconfig -a

# ifconfig wlp2s0 up

 

Instalar suporte a trackpad (se necessário)

Para instalar o suporte a trackpad deve-se instalar o pacote synaptics.

Código  38: Comando de instalação do controle de trackpad

# pacman -S xf86-input-synaptics

 

Sair de chroot (referido no item 15)

Para sair de chroot basta o comando exit ou a combinação de teclas Ctrl-d.

 

Desmontar as partições (opcional)

Com o comando umount é possível desmontar as partições montadas no processo.

Código  39: Comando de desmontagem de partições

# umount /mnt/var
# umount /mnt/boot
# umount /mnt

Reiniciar o Sistema

Com o comando reboot ou shutdown pode-se reiniciar o sistema que está pronto para a partida desde o(s) disco(s) rígido(s).

Código  40: Comando de reinicialização do sistema

# reboot
ou
# shutdown -r now

Pós-instalação

Como já referido dependendo da aplicação para o sistema diferentes pós-instalações podem ser executadas, incluindo a instalação de pacotes específicos.

Temos a seguir algumas possibilidades de configuração pós-instalação que não necessariamente direcionam, ou limitam, a aplicabilidade de um sistema.

  • Endereço IP fixo
  • Atualização de pacotes instalados
  • Pacote adicionais
    • tree
    • dos2unix
    • openssh-server
  • Ajustes no FS para trabalho em equipe
  • Ajustes do skel e seus componentes
  • Geração de chaves de autenticação RSA para usuários

Segue um breve extrato destes ajustes de configuração, no entanto, para todos os efeitos o plano de configuração deveria conter mais algumas informações relacionadas a seguir.

Plano de Instalação complemento

Endereçamento IP:

Tabela 3: Complemento do plano de instalação

ItemValor
Modo IPestático
Endereço IP192.168.0.9
Máscara255.255.255.0
Broadcast192.168.0.255
Gateway192.168.0.1
DNS 18.8.8.8
DNS 28.8.4.4
DNS 3192.168.0.1

IP Fixo

O Arch Linux por padrão inicia com as interfaces de rede operando em DHCP, isso torna necessário desativar o serviço dhcp e desativar a interface. Com os comandos a seguir estas tarefas são realizadas.

Código  41: Desativação do serviço de DHCP

# ip link set <interface> down
# systemctl stop dhcpcd.service
# systemctl disable dhcpcd.service

Criar o arquivo com as configurações da interface (p. ex.: /etc/netctl/enp0s3) utilizando um editor de textos. O conteúdo de tal arquivo pode se parecer com o mostrado abaixo.

Código  42: Configuração para uso de IP fixo

Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.0.9')
Gateway=('192.168.0.1')
DNS=('8.8.8.8' '8.8.4.4' '192.168.0.1')
TimeoutUp=10
SkipNoCarrier=yes

Ativar a configuração e torná-la automática com os comandos

Código  43: Comandos de ativação da configuração de IP fixpo

# netctl start ens32
# netctl enable ens32

 

Atualização do sistema

O gerenciador de pacotes do Arch Linux é o pacman. Para manter o sistema atualizado é necessário a intervalos regulares executar o comando pacman -Syu que efetua o sincronismo com repositórios e as atualizações necessárias.

Pode vir a ser também uma boa prática de manutenção a execução do comando pacman -D -k para verificar a consistência interna da base de dados de pacotes.

 

Instalação de pacotes adicionais

O Arch Linux após instalado não conta com alguns itens que podem vir a ser de extrema utilidade na administração e uso do sistema, devido a isso é extremamente recomendado que alguns sejam instalados, outros são apenas recomendáveis.

Os pacotes de grande importância são openssh e cron.

openssh – Serviço de ssh para acesso remoto ao sistema

Instala-se com o comando pacman -Sv openssh.

cron – Serviço de agendamento de tarefas

Instala-se com o comando pacman -Sv cron, ao ser solicitado o provedor do pacote seleciona-se a opção do repositório core.

Os pacotes recomendáveis são tree e dos2unix.

tree – Comando que exibe de forma visual a árvore de diretórios

Instala-se com o comando pacman -Sv tree.

dos2unix – Comando de conversão do padrão de fim de linha DOS/Mac/Unix

Instala-se com o comando pacman -Sv dos2unix.

vim – Editor de texto melhorado

Instala-se com o comando pacman -Sv vim.

mlocate – Procura arquivos por nome (comando locate)

Instala-se com o comando pacman -Sv mlocate.

 

Ajustes do skel e seus componentes

O diretório /etc/skel, e seu conteúdo, é o modelo para replicação ao criar um novo usuário, portanto personalizar este diretório pode simplificar consideravelmente o esforço de inclusão de novos usuários, que por sua vez poderão personalizar seus diretórios home a seu gosto.

O arquivo .bashrc pode ser editado para conter o seguinte conteúdo:

Código  44: Conteúdo sugeridpoop para o arquivo .bashrc

# Habilita suporte a cores de ls e adiciona aliases uteis
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
 
    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi
 
# Mais alguns aliases de ls
alias ll='ls -AlF'
alias la='ls -A'
alias l='ls -CF'
 
# Caso vim esteja instalado
locate vim >& null
[ $? ] && alias vi='vim'

 

Ajustes no FS para trabalho em equipe

O comportamento padrão do sistema de arquivos (file system ou fs) pode não ser apropriado para o trabalho em equipes, situação que pode ser alterada com a edição do arquivo /etc/login.defs e com a reconfiguração de direitos de usuários concedendo direito de escrita a grupos.

Código  45: Comando de configuração de UMASK e direitos no file system (FS)

# vi etc/login.defs

Fazendo

      UMASK       0002
# find /home -mindepth 2 | xargs chmod -R g+rw
# find /home -mindepth 2 -type d | xargs chmod -R g+rwxs

 

Geração de chaves de autenticação RSA para usuários

Criar chaves RSA pública e privada dos usuários de uso geral é uma forma de poder utiliza-los em processos automatizados devido à dispensa de fornecimento de senha em acessos remotos.

Para gerar as chaves há o comando ssh-keygen, e para implantar a chave pública em outro servidor há o comando ssh-copy-id.

Gerar o par de chaves de cada usuário estando logado como o usuário, com o comando:

Código  46: Comando de geração de chaves de autenticação RSA

# ssh-keygen -t rsa

Ainda logado com cada usuário, implantar as chaves públicas nos servidores remotos devidos com o comando:

Código  47: Comando de implantação de chave RSa pública em servidor remoto

ssh-copy-id -i ~/.ssh/id_rsa.pub login@servidor

É importante observar que o arquivo id_rsa contém a chave RSA privada e que deve ficar protegido contra acessos indevidos, por isso apenas o proprietário pode ter direitos de leitura sobre ele.

É igualmente importante ressaltar que este processo de autorização de acesso é unidirecional e para que seja iniciado pelo outro servidor deve ser implantada sua chave pública no servidor local.

 

 

Conclusão

Neste ponto o sistema está instalado e operativo, com um mínimo de componentes. Deste ponto em diante o sistema pode ser configurado para aplicações específicas diversas.

 

 

Referências

Arch Linux: Uma distribuição simples e leve. Disponível em <http://archlinux.org>, acesso em 07 de out. de 2018

 

João Pedro. Medium. Instalação e Configuração do Arch Linux. Disponível em <https://medium.com/@galdino1993/instala%C3%A7%C3%A3o-e-configura%C3%A7%C3%A3o-do-arch-linux-625c406e56ff>, acesso em 07 de out. de 2018

 

LOPES, Francisco José. CHAVES PÚBLICAS DE AUTENTICAÇÃO: Criptografia assimétrica. Blá do Chico: São Paulo, 2018. Disponível em <http://bladochico.qaplaweb.com.br/?p=176>, acesso em 9 de out. de 2018

 

MAGNUN. Mind Bending. Configuração Básica do Arch Linux Sem Dor. Disponível em <http://mindbending.org/pt/configuracao-basica-do-arch-linux-sem-dor>, acesso em 07 de out. de 2018

 

Rufus – Crie drives USB bootáveis facilmente. Disponível em <https://rufus.akeo.ie/>, acesso em 07 de out. de 2018

 

Wikipedia. i686. Disponível em <https://pt.wikipedia.org/wiki/I686>, acesso em 8 de out. de 2018

Devido à dificuldade em decorar diversos endereços IP, sejam eles IPv4 ou IPv6, existe o DNS (Domain Name System ou em português Sistema de Nomes de Domínios), que é um protocolo para representar os endereços sob a forma de nomes humanamente legíveis e substancialmente mais fáceis de serem decorados.

Um pouco da história do DNS

Nos anos 1970 a ARPANet era uma rede com algumas centenas de hosts e o mapeamento dos nomes destes hosts com seu endereço era mantido em um arquivo, sugestivamente, chamado “hosts”. Este arquivo ainda é utilizado e você pode encontra-lo nos seguintes diretórios de sistemas Windows e Linux:

Windows: C:\Windows\System32\drivers\etc\hosts

Linux: /etc/hosts

Por se tratar de um arquivo texto simples sem formatação, é possível edita-lo com qualquer editor de textos.

O problema do arquivo hosts é que ele deve estar em todos os computadores de uma rede, e como a rede é algo que pode mudar, ou seja é dinâmica, onde máquinas são incluídas e excluídas com frequência, a manutenção do arquivo hosts torna-se trabalhosa.

Com o crescimento das redes, além de sua quantidade, tornava impossível manter o arquivo hosts atualizado e as informações sobre nomes e endereços acabavam se tornando inconsistentes. O arquivo hosts se tornara um grande problema para o crescimento e expansão das redes.

Então pesquisado e estudado um substituto para o arquivo hosts, em 1984 Paul Mockapetris, da Universidade do Sul da Califórnia, divulgou a primeira especificação do DNS nas RFCs (Request For Comments) 882 e 883.

Definição de DNS

O DNS trabalha com domínios, ou seja, cada empresa ou organização é responsável por manter seu próprio banco de dados com as informações sobre os hosts pertencentes ao seu domínio. Este banco deve ser de acesso livre. Assim, qualquer alteração na estrutura do domínio local é rapidamente replicada para outros.

Portanto, o DNS é um banco de dados localmente administrado, mas com dados distribuídos globalmente. Assim, não há mais a necessidade de um arquivo único com os nomes e endereços de todos os hosts do planeta, mas apenas os da sua empresa ou organização.

Arquitetura sistêmica do DNS

Há dois elementos fundamentais na arquitetura do DNS, são eles o nameserver e o resolver.

Nameservers

Nameserver é o programa responsável por armazenar, organizar e distribuir os nomes provenientes do banco de dados local para o resto do mundo. Ele é o responsável por informar o endereço IP ou nome de um host quando solicitado.

O nameserver desempenha o papel de servidor DNS.

Resolver

Resolver é o programa, que inicia a resolução de nomes na rede, ou seja, é ele que contata um nameserver e solicita o endereço IP ou um nome de host da rede.

O resolver tem a função de cliente DNS.

Figura 1: Arquitetura do sistema DNS

Fonte: autoria própria

Hierarquia de nomes

Os nomes de domínio seguem uma hierarquia chamada de namespace, que é o espaço de nomes do DNS.

Existe nesta hierarquia, portanto, um nome principal que chamamos de raiz, e todos os outros nomes devem estar abaixo dele. A representação do namespace se parece com uma árvore invertida, já que a sua raiz começa na parte superior e os galhos (domínios) na parte inferior. Observe a Figura 1: "Namespace representado graficamente",  a seguir:

Figura  2: Namespace representado graficamente

Fonte: autoria própria

Como pode ser observado na Figura 1, o servidor raiz, conhecido como root server, fica no topo da árvore e é representado por um ponto “.”. Os demais domínios vão sendo criados a partir da raiz. Cada domínio pode conter subdomínios, por exemplo, no domínio br temos o subdomínio com, gov, e outros mais. O domínio gov possui os subdomínios sp; rj, entre outros. O domínio sp possui os subdomínios avare; catanduva; e mais tantos outros.

Cada domínio também pode ser chamado de zona, já que um domínio representa uma parte, uma zona, da estrutura como um todo. E cada domínio, ou zona, possui um nome que é a leitura de baixo para cima na estrutura de DNS. Por exemplo o nome do domínio avare é “avare.sp.gov.br.”. Dentro de uma zona podemos ter diversas zonas, conforme a Figura 2: "Representação gráfica de domínio" a seguir.

Obs.: Note-se que o nome do domínio termina por ponto, que representa o root server.

Figura  3: Representação gráfica de domínio

Fonte: autoria própria

Portanto, dentro de uma zona ou domínio teremos os hosts que compõe o domínio como o servidor web, que é costumeiramente chamado de www, ou um servidor de e-mail que pode ser chamado de mail, por exemplo.

Assim o servidor web da zona avare.sp.gov.br. tem o nome www.avare.sp.gov.br.. Este nome completo de domínio chamamos de FQDN (Fully Qualified Domain Name, ou Nome de Domínio Completamente Qualificado em português).

Top-Level Domains

Os nomes de domínio que estão logo abaixo do servidor raiz são chamados de TLDTop Level Domains, ou seja, domínios de nome superior. São os nomes que foram definidos pela IANA como uma forma de tentar organizar os nomes dos domínios de acordo com o segmento da empresa ou organização. Por exemplo, imaginava-se que abaixo do domínio .com haveriam somente empresas comerciais, ou de .edu as empresas relacionadas com a educação e assim por diante. Mas o que aconteceu não foi bem isso, o .com acabou se transformando num dos principais nomes de domínios e todos querem ter o seu nome atrelado a este domínio.

Country-Code Top-Level Domains

Com o passar do tempo a Internet se expandiu e ultrapassou as fronteiras dos países e foram criados os TLDs para todos os países do mundo. É por isso que no Brasil todos os domínios terminam com br. Estes TLDs são conhecidos como ccTLDs (Country-Code Top-Level Domains), ou seja, domínios de nível superior com códigos de países. Estas duas letras que formam o domínio ccTLD foram retirados da norma ISO 3166-1 (ISO 3166-1:2013 - Codes for the representation of names of countries and their subdivisions, leia mais em https://www.iso.org/iso-3166-country-codes.html).

Abaixo destes domínios cada país criou os seus subdomínios, e por uma questão de costume criaram uma estrutura parecida com a definida pela IANA inicialmente, utilizando o .com, .org, .edu, .mil, etc.

No Brasil quem coordena o registro de nomes é o registro.br, portanto, se precisar registrar um nome de domínio no Brasil você deverá recorrer a este organismo (https://registro.br/).

Registro de domínio

Como dito, no Brasil o registro de domínios é operado pelo registro.br, que está ligado do CGI – Comitê Gestor da Internet o qual estabelece as diretrizes estratégicas para uso e desenvolvimento da Internet no Brasil.

Para efetuar o registro de um domínio no Brasil há alguns requisitos a serem cumpridos:

  1. não poderá ser escolhido nome que:
    • desrespeite a legislação em vigor;
    • induza terceiros a erro;
    • viole direitos de terceiros;
    • represente conceitos predefinidos na rede Internet;
    • represente palavras de baixo calão ou abusivas;
    • simbolize siglas de Estados e ou Ministérios.
  2. ter no mínimo 2 (dois) e no máximo 26 (vinte e seis) caracteres;
  3. ser uma combinação de letras e números [a-z;0-9], hífen [-] e os seguintes caracteres acentuados [à, á, â, ã, é, ê, í, ó, ô, õ, ú, ü, ç];
  4. não ser constituído somente de números e não iniciar ou terminar por hífen;
  5. requerente deverá obrigatoriamente:
    • Fornecer os dados válidos do titular do domínio, solicitados nos campos de preenchimento obrigatório do NIC.br. São esses dados:
      1. Pessoas Jurídicas:
        • nome empresarial;
        • número do CNPJ;
        • endereços físico e eletrônico;
        • nome do responsável;
        • número de telefone.
      2. Pessoas Físicas:
        • nome completo;
        • número do CPF;
        • endereços físico e eletrônico;
        • número de telefone.
      3. Informar, no prazo máximo de 14 (quatorze) dias, a contar da data e horário da emissão do ticket para registro de domínio, no mínimo 2 (dois) servidores DNS configurados e respondendo pelo domínio a ser registrado;
      4. Cadastrar e informar:
        • o contato da entidade, o qual deverá ser representado por pessoa diretamente vinculada à atividade de gestão da entidade, e será responsável pela manutenção e atualização dos dados da entidade, pelo registro de novos domínios e pela modificação dos demais contatos do domínio;
        • o contato administrativo, responsável pela administração geral do nome de domínio, o que inclui eventuais modificações e atualizações do contato técnico e de cobrança. Recomenda-se que este seja uma pessoa diretamente vinculada ao quadro administrativo da entidade;
        • o contato técnico, responsável pela manutenção e alteração dos dados técnicos dos servidores DNS. Recomenda-se que este seja representado pelo provedor, caso possua um, ou por pessoa responsável pela área técnica da entidade;
        • o contato de cobrança, responsável pelo fornecimento e atualização do endereço eletrônico para envio dos boletos para pagamentos e cobranças. Recomenda-se que este seja uma pessoa diretamente vinculada ao quadro funcional da entidade;
  6. Pagamento do boleto referente ao período vindouro de manutenção do registro.

Visite o sítio https://dicasdehospedagem.com/ranking-melhores-empresas-de-hospedagem-de-sites-brasil/ para uma ajuda na escolha de onde vai hospedar um sítio.

REFERÊNCIAS

CGI.br. Resolução CGI.br/RES/2008/008/P. Disponível em <https://www.cgi.br/resolucoes/documento/2008/008>, acesso em 28/ago/2018

FOROUZAN, Behrouz A.; e MOSHARRAF, Firouz. Redes de computadores: Uma abordagem top-down. Porto Alegre: bookman, 2013

KOLB, Juliana Jenny. Modelo OSI (Open Systems Interconnection) - Compartilhando. Disponível em <http://jkolb.com.br/modelo-osi-open-systems-interconnection/>, acesso em 28/ago./2018

Wikipédia. Modelo OSI. Disponível em <https://pt.wikipedia.org/wiki/Modelo_OSI>, acesso em 28/ago./2018

1

Redes são um conjunto de máquinas eletrônicas com processadores capazes de trocar informações e partilhar recursos, interligados por um subsistema de comunicação.

Topologia ou Arquitetura de Redes

A topologia de rede é o canal no qual o meio de rede está conectado aos computadores e outros componentes de uma rede. Essencialmente, é a estrutura topológica da rede, e pode ser descrito física ou logicamente. Há várias formas nas quais se podem organizar a interligação entre cada um dos nós (computadores) da rede.

Existem duas categorias básicas de topologias de rede:

  • Topologia física
  • Topologia lógica

Topologia física

A topologia física é a verdadeira aparência da rede, enquanto que a topologia lógica descreve o fluxo dos dados através da rede. A topologia física representa como as redes estão conectadas (layout físico) e o meio de conexão dos dispositivos de redes (nós ou nodos). A forma com que os cabos são conectados, e que genericamente chamamos de topologia da rede (física), influencia em diversos pontos considerados críticos, como a flexibilidade, velocidade e segurança.

  • Ponto a ponto
  • Anel
  • Barramento
  • Estrela
  • Malha
  • Árvore
  • Híbrida
  • Daisy Chain
  • Linear
  • Anel

Atualmente as topologias físicas mais comuns em redes locais são Estrela e Ponto-a-Ponto.

Topologia Lógica

A topologia lógica refere-se à maneira como os sinais agem sobre os meios de rede, ou a maneira como os dados são transmitidos através da rede a partir de um dispositivo para o outro sem ter em conta a interligação física dos dispositivos.

Topologias lógicas são frequentemente associadas ao Media Access Control (ou em português Controle de Acesso ao Meio), métodos e protocolos.

Topologias lógicas podem ser reconfiguradas dinamicamente por tipos especiais de equipamentos como roteadores e switches.

Os tipos de topologia de rede lógica mais comuns são o Broadcast, em que o nó envia seus dados a todos os outros espalhados na rede (Ethernet) e a passagem Token, que controla o envio de dados pela rede (Token Ring).

Ethernet

Ethernet é uma arquitetura de interconexão para redes locais - Rede de Área Local (LAN) - baseada no envio de pacotes. Ela define cabeamento e sinais elétricos para a camada física, em formato de pacotes e protocolos para a subcamada de controle de acesso ao meio (Media Access Control - MAC) do modelo OSI. A Ethernet foi padronizada pelo IEEE como 802.3. A partir dos anos 90, ela vem sendo a tecnologia de LAN mais amplamente utilizada e tem tomado grande parte do espaço de outros padrões de rede como Token Ring, FDDI e ARCNET.

Protocolos TCP e IP

TCP/IP não é propriamente um protocolo, mas um conjunto deles ou uma pilha de protocolos como usualmente se chama. Observe que o próprio nome já se refere a dois protocolos diferentes: TCP (Transmission Control Protocol) e IP (Internet Protocol).

Protocolo TCP

O TCP (acrônimo que significa "Protocolo de Controle de Transmissão") é um dos protocolos sobre os quais assenta a Internet. Ele é complementado pelo Protocolo da Internet (IP), sendo normalmente chamado de TCP/IP. A versatilidade e robustez do TCP tornou-o adequado a redes globais, já que este verifica se os dados são enviados de forma correta, na sequência apropriada e sem erros, pela rede.

O TCP é um protocolo do nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual que se assentam a maioria das aplicações cibernéticas, como o SSH, FTP, HTTP — portanto, a World Wide Web. O Protocolo de Controle de Transmissão provê confiabilidade, entrega na sequência correta e verificação de erros dos pacotes de dados, entre os diferentes nós da rede, para a camada de aplicação.

Aplicações que não requerem um serviço de confiabilidade de entrega de pacotes podem se utilizar de protocolos mais simples como o User Datagram Protocol (UDP), que provê um serviço que enfatiza a redução de latência da conexão.

Protocolo IP

Protocolo de Internet (em inglês: Internet Protocol, com o acrônimo IP) é usado como o protocolo de comunicação entre todas as máquinas em rede para encaminhamento dos dados. Tanto no Modelo TCP/IP, quanto no Modelo OSI, o importante IP (Protocolo de Internet) situa-se no nível da camada intitulada camada de rede (camada 3).

O IP é o elemento comum encontrado na Internet pública dos dias de hoje. É descrito no RFC 791 da IETF, que foi pela primeira vez publicado em setembro de 1981. Este documento descreve o protocolo da camada de rede mais popular e em uso. Esta versão do protocolo é designada de versão 4, ou IPv4. O IPv6 tem endereçamento de origem e destino de 128 bits, oferecendo mais endereçamentos que os 32 bits do IPv4.

Endereços no IPv4

Endereços IP servem para individualizar equipamentos e permitir que uns localizem os outros na rede.

IPv6 é uma atualização do IPv4 e a diferença entre eles é a quantidade de bits usado no endereçamento, portanto, na capacidade de número de endereços.

O IPv4, desde 1981, é um número de 32bits, formatado em 4 grupos de oito bits cada, chamados de octetos. É escrito em notação decimal pontuada. A capacidade de endereçamento do IPv4 é de no máximo 4.294.967.296 endereços, no entanto há exclusões.

Cada interface pode ter um endereço IP único.

O Internet Protocol faz parte da parte lógica da rede e contém a classe da rede, que pode ser classes: A; B; C; D; ou E.

Classe A B C D E
  Unicast Unicast Unicast Multicast Experimental
Hosts 16.777.216 65.536 256
Redes 256 65.536 16.777.216
IP inicial 0.0.0.0 128.0.0.0 192.0.0.0 224.0.0.0 240.0.0.0
IP Final 127.255.255.255 191.255.255.255 223.255.255.255 239.255.255.255 247.255.255.255

Obs.: A máscara de subrede pode alterar a classe da rede

IP públicos e privados

Endereços IP privados são empregados em redes locais domésticas e empresariais, endereços IP públicos são empregados para acesso à Internet.

Faixas de endereços para redes privadas:

Classe A B C
IP inicial 10.0.0.0 172.16.0.0 192.168.0.0
IP final 10.255.255.255 172.31.255.255 192.168.255.255
Hosts 16.777.216 65.536 65.536

Obs.: A classe B conta com mais uma faixa de endereços privada que é 169.254.x.x (Windows)

Endereços públicos devem ser únicos, portanto, não pode haver mais de um de cada deles, em âmbito mundial.

A distribuição de endereços públicos é regrada e controlada por um organismo não governamental internacional denominado IANA[1]Internet Assigned Numbers Authority (Autoridade de Números Atribuídos na Internet), que entrega as faixas de endereços IP aos RIR – Regional Internet Registry, ou em português Registros Regionais de Internet, que por sua vez distribuem aos ISPs – Internet Service Providers (Provedores de Serviço de Internet).

No Brasil o NIC.br (Núcleo de Informação e Coordenação do Ponto BR) administra a faixa de endereços IP recebida da LACNIC – Latin America and Caribbean Net Information Centre, o RIR da região.

Endereços IPv6

O IPv6 é a evolução do IPv4, no entanto algumas diferenças são observadas.

Os endereços IPv6 são formados por 8 hexadecatetos cada um deles com 16 bits, num total de 2**128 possibilidades de endereços (ou 3,4028237E38), escrito em notação hexadecimal de quatro dígitos por grupo, com os grupos sendo separados por dois pontos (:).

Deixa de existir a máscara de subrede e os quatro primeiros hexadecatetos representam a rede, com os outros quatro representando o host (2**64 = 18.446.744.073.709.551.616 possibilidades tanto para rede, quanto para host), além do que só existem endereços públicos.

Um endereço típico poderia ser então, por exemplo: 0A50:CAFE:0000:0000:0000:0032:0ECD:0001, onde a rede é 0A50:CAFE:0000:0000 e o host é 0000:0032:0ECD:0001.

Em verdade, um número complicado de ser ‘usado’, então por simplicidade existe a notação alternativa para tornar mais fácil o uso do número IPv6, no exemplo seria A50:CAFE::32:ECD:1, bem mais simples.

Como transformar um número, ou endereço, IPv6 de notação completa em notação simplificada? Primeiro eliminar zeros a esquerda, ou seja, 0A50 passa a A50. A seguir sequências de hexadecatetos totalmente zero podem ser simplificadas para duplo dois pontos assim: 0000:0000:0000 resultando em ::, no entanto isso só pode ser feito uma única vez em um mesmo endereço IPv6, conforme nos exemplos a seguir.

0000:0000:0000:0000:0000:0000:0000:0001 = ::1
0A50:0000:0000:0000:0032:0000:0000:0045 = A50::32:0:0:45 ou A50:0:0:0:32::45 (nunca A50::32::45)

REFERÊNCIAS

FOROUZAN, Behrouz A.; e MOSHARRAF, Firouz. Redes de computadores: Uma abordagem top-down. Porto Alegre: bookman, 2013Wikipédia. Modelo OSI.

Wikipédia. Modelo OSI. Disponível em <https://pt.wikipedia.org/wiki/Modelo_OSI>, acesso em 28/ago./2018

-- Protocolo de Internet. Disponível em <https://pt.wikipedia.org/wiki/Protocolo_de_Internet>, acesso em 28/ago./2018

-- Transmission Control Protocol. Disponível em <https://pt.wikipedia.org/wiki/Transmission_Control_Protocol>, acesso em 28/ago./2018


[1] IANA – Internet Assigned Numbers Authority, é hierarquicamente superior a: ARIN – American Registry for Internet Numbers; LACNIC – Latin American and Caribbean Network Information Centre; RIPE - Reseaux IP Europeens Network Coordination Centre; AFRINIC – African Network Information Centre; APNIC - Asia-Pacific Network Information Centre.

1

Introdução

Inicialmente devemos ter em mente que a criptografia assimétrica nos coloca de frente a situação de operações que não podem ser desfeitas por uma simples operação inversa, como, por exemplo, a função quadrática no domínio dos números reais, que não pode ser desfeita com uma radiciação.

Base Teórica

A explicação de tais características nos remete à teoria dos conjuntos. Inicialmente devemos ter em mente que na criptografia assimétrica encontramos a situação matemática de função sobrejetora, que é aquela cujo conjunto imagem é coincidente com o conjunto contradomínio, ou seja, não há qualquer elemento do contradomínio que não seja elemento do conjunto imagem da tal função, e em contrapartida não encontramos a situação matemática de função injetora, que é aquela que a cada elemento do domínio corresponde diferente valor no contradomínio, não havendo, portanto, um mesmo elemento na imagem sendo obtido por dois (ou mais) elementos do domínio, tão pouco bijetoras, isto porque são utilizados algoritmos não reversíveis, ou seja uma vez aplicada a função aos dados sendo encriptados, não há uma operação contrária que os desencripte

Na criptografia assimétrica empregamos funções de transferência do tipo sobrejetoras que, absolutamente, não sejam dos tipos injetoras ou bijetoras.

Recordemos das seguintes definições:

  • Uma função injetora é aquela que leva todos os elementos de seu domínio a diferentes, porém não todos os elementos do seu contradomínio;
  • Uma função sobrejetora é aquela que leva todos os elementos de seu domínio a todos os elementos de sua imagem, ainda que ocorram coincidências no contradomínio;
  • Uma função é bijetora é aquela que leva todos os elementos de seu domínio a todos e diferentes elementos de seu contradomínio.
Representação das funções em diagrama de Venn

Em termos de teoria dos conjuntos diremos que dado um conjunto domínio da função de transferência, corresponde a esta função um conjunto imagem que é subconjunto do contradomínio.

Nas funções sobrejetoras encontramos a situação de conjunto imagem coincidente com o conjunto contradomínio. Característica emprestada às funções bijetoras, que emprestam das injetoras a característica de levar todos os elementos de seu conjunto domínio ao seu conjunto contradomínio. Temos então que as bijetoras são um caso especial das injetoras e das sobrejetoras simultaneamente.

Analogia com o mundo real

Suponhamos o cenário seguinte. Alguém, digamos eu, darei uma festa. É claro que não desejo a entrada de não convidados ao meu evento. Portanto, distribuo convites aos meus convidados e anoto seus nomes em uma lista, a qual entrego à recepção do salão. Os convidados por sua vez, ao chegarem apresentam seus convites, o recepcionista confere o nome do conviva na lista e permite sua entrada se tudo estiver de correto.

Podemos ver o convite como a chave pública que é distribuída aos autorizados e a lista destes como a chave privada usada para validar a aquela chave.

Processo Real efetivo

Quando vamos interagir com máquinas além da nossa, antes da entrada do canal de comunicação utilizamos a chave pública distribuída por nossa contraparte para criptografar a mensagem a ser enviada (esta pode ser uma senha, um arquivo, e etc.), então o envio efetivo acontece.

Ao receber o pacote de dados nossa contraparte aplica a sua chave privada para decriptar o tal pacote recebido. Ocorrendo sucesso nesta operação o pacote de dados que enviamos é aceito, ou se não lograr sucesso na decriptação, o mesmo será descartado e nossa comunicação falha.

Se a comunicação for sniffada (interceptada) o espião/intruso não tem a chave apropriada para decriptar o pacote, ficando assim sem acesso a seu conteúdo como desejado, garantindo a segurança dos dados e conexões.

Como gerar chaves no Linux

Para gerar o par de chaves (privada + pública) de cada usuário, deve-se estar logado como o usuário, e executar o comando ssh-keygen como mostrado a seguir:

ssh-keygen -t rsa

Ainda logado com cada usuário, implantar as chaves públicas nos servidores remotos devidos com o comando ssh-copy-id como mostrado a seguir:

ssh-copy-id -i ~/.ssh/id_rsa.pub login@servidor

Após a execução dos dois comandos anteriores o usuário para o qual se executou os comandos já pode efetuar login nos servidores remotos com segurança.

Referências

GONÇALVES, Amanda. O que é função. Escola Brasil – Rede Omnia. Disponível em: <https://brasilescola.uol.com.br/o-que-e/matematica/o-que-e-funcao.htm>, acesso em 13/jun./2018

Introdução

Atualmente temos ao nosso alcance e a preços medianos os discos em estado sólido, ou em inglês solid state disk (SSD). Este tipo de equipamento não tem partes móveis o que muda toda a expectativa de desempenho, no entanto como já citado seu custo ainda não é exatamente baixo, uma vez que para ter discos, no mínimo, 2,5 vezes mais rápidos, na pior condição de comparação, gasta-se em média 8 vezes mais, no mercado brasileiro do final de 2017.

Claro que os números acima foram tomados dos casos extremos, afinal podemos, em condições específicas, chegar a ter um ganho de 142 vezes no desempenho comparado entre os tipos de dispositivos de armazenamento. Assim para não incorrer em erros grosseiros adotemos 7 vezes como o ganho médio de desempenho, o que torna os SSD bem mais atraentes agora.

Mas para que toda essa ponderação sobre desempenho versus custo? Porque muitos poderão estar questionando, quanto custa fazer o computador iniciar em meio ao invés de em dois minutos? Aí vai uma resposta: Gasta-se 8 vezes o valor do disco tradicional, para ter um espaço em média 8,5 vezes menor, mas que está pronto para o trabalho em meio minuto ou menos, não em dois ou mais. A decisão agora é de cada um.

Claro que tudo que foi dito acima, se encaixa bem para os que tem computadores, desktop ou laptop, equipados com um disco tradicional para dar partida no sistema. Os proprietários de laptops devem ficar indignados com a ideia de trocarem seus discos por outros certamente menores do que o tem hoje. Já os proprietários de desktops podem se perguntar se há espaço para manter o disco antigo e mais um SSD novo em seu gabinete.

No caso dos laptops, se for um modelo recente e topo de linha é provável que exista uma 'baia' para um SSD formato M2 que na verdade se parece com um pequeno cartão de memória. Se não for tão recente ou nem topo de linha, a opção pode ser substituir o leitor de discos ópticos, caso exista algum no equipamento, por um disco rígido acondicionado num adaptador 'caddy-dvd'. Já para os desktops, a maioria deles comporta mais um disco, a menos que seja um SFF (small factory factor) cuja concepção é efetivamente enxuta, saindo de fábrica com o que realmente cabe em seu interior.

Como 'turbinar' o laptop

Olhando bem para as condições de existência de um laptop, constatamos ter em mãos um pequeno computador, com grande potencial de processamento, por vezes não tão grande quanto seu custo de aquisição, mas que na média decepciona em termos de desempenho geral, principalmente se tivermos em conta que em um desktop, há condições de termos um subsistema de vídeo mais poderoso, discos de melhor desempenho, melhor possibilidade de expansão de memória RAM, apenas para citar alguns itens. Mas o que o laptop nos dá e que mais nenhuma outra categoria de computador consegue é a mobilidade.

O desempenho, digamos, pobre dos discos de 2,5 polegadas usados em laptops se deve, principalmente, à velocidade de rotação de 5400 R.P.M. que significa um tempo de latência próximo de 11 ms. Nos discos de 3,5 polegadas empregados nos desktops, é mais comum encontrarmos discos de 7200 R.P.M., que conseguem entregar 8,3 ms. de tempo de latência, ou seja, os discos dos laptops é em geral 33% mais lento que os dos desktops e isso numa análise muito rasa.

Na contrapartida os discos de estado sólido não têm tempo de latência já que não havendo partes móveis, não é possível calcular o tempo de uma rotação da mídia. Isso, em absoluto, não significa que podemos considerar 0 a latência, mas podemos utilizar os tempos de atraso de propagação dos sinais dentro dos circuitos integrados constituintes do disco, resultando em algo como 0,3 ms. apenas para termos uma base de raciocínio, o que nos indica que, teoricamente, teremos 27 vezes melhor desempenho, o que de qualquer forma também é uma análise rasa do tema, mas claro que o ganho de desempenho é muito grande.

Como nada é tão bom, que não tenha problemas lutando para aparecer, o ponto fraco da tecnologia utilizada nos SSD é o número de ciclos de gravação que define sua vida útil. Pelos fabricantes, que são extremamente conservadores nesse aspecto, dispõe-se de dezenas de terabytes gravados até que o dispositivo apresente falhas.

Explorados estes aspectos de hardware que dizem respeito ao disco do laptop, devemos ponderar cerca a utilização deste recurso pelo software.

Os sistemas operacionais em geral fazem uso de áreas de troca (swap) para implementar a memória virtual, eles utilizam a memória principal (RAM) para esta função e complementam sua necessidade com arquivos de troca em disco. Além deste tipo de necessidade, existem diversas situações que geram arquivos temporários descartáveis ao termo das tarefas em curso. Isso significa um constante movimento de escrita em disco, como visto anteriormente, já que dispomos de um limite de ciclos de escrita nos discos SSD, é indicado a alocação de espaço para esta finalidade no disco rígido tradicional (HD) cuja determinação da vida útil não se dá pelos ciclos de escrita.

Outra consideração a ser feita, diz respeito aos dados dos usuários cuja utilização tem frequência bem menor do que os programas aplicativos e o próprio sistema operacional, assim é desejável favorecer o desempenho do acesso aos programas, mais que aos arquivos de dados. Logo percebe-se que ao disco SSD é mais apropriado a finalidade de instalação do S.O. e programas do que armazenamento de dados, salvo aplicações específicas em que o 'giro' dos dados seja intenso.

Assim traçamos um panorama geral no que tange a chamada memória secundária ou de massa, onde são aplicados dos o discos, sejam os tradicionais HDs, ou os SSDs.

E no final das contas o que devo fazer então?

Após instalar o SSD e o sistema operacional, que em laptops se constitui na maioria esmagadora dos casos em alguma versão do Microsoft Windows, alguns ajustes de configuração, permitirão tirar ainda mais proveito do recém instalado SSD, principalmente no seu desempenho, mas também no tocante a sua durabilidade.

Vamos nos basear no Windows 10 para descrever as configurações básicas a serem alteradas nesta afinação do sistema computacional, e vamos admitir que dispomos de um computador com um SSD de 120Gbytes e um HD de, digamos, 256Gbytes.

Instalando o Windows 10

Durante o processo de instalação do Windows 10, na verdade de qualquer versão, logo no princípio do processo é dada ao operador escolher onde instalar o sistema operacional. No caso desta máquina hipotética haverá dois discos disponíveis. Deve-se identificar e selecionar o disco SSD para a instalação do S.O. Com isso o segundo disco ficará, como dizer, sem uso do ponto de vista do Windows.

Ao ser concluída a instalação e o Windows estar 'em suas mãos' (o Windows 10 é bastante prolixo até concluir a instalação), lance o 'Gerenciador de Discos' (Disk Manager) que se parecerá com a Figura 1 a seguir.

Figura 1: Tela do Gerenciador de Discos


Como pode ser observado encontram-se dois discos no sistema, o Disco 0 (SSD 120GB) e o Disco 1 (HD 256GB). O Disco 1 pode ter sido reconhecido durante a instalação e não ser necessário inicializa-lo, mas partindo do pior caso, deve-se marca-lo para iniciação e selecionar um estilo de partição, por exemplo, MBR. Uma vez iniciado o disco deve ser particionado. Informe para utilizar todo o espaço disponível do disco e como em um laptop, não haverá um drive B, pode-se também aproveitar para designar que a unidade receba a letra B, com formatação NTFS, que é a nativa do Windows, rotulando o disco com um nome significativo, exemplificado como DATA, mas a escolha é individual.

Pode ser uma boa ideia, também mudar a letra da unidade de mídias ópticas, caso exista uma, e como não se utiliza mais unidade de disco flexível em laptops, pode-se designar a unidade de disco óptico com a letra A, como nas Figuras 2 e 3.

Figura 2: Alterando a letra da unidade óptica

Figura 3: Configuração final de discos

* No Anexo I é mostrada a sequência completa de operações envolvidas nas ações citadas acima.

Alterando a localização da área de troca (SWAP) do Windows 10

Por padrão ao ser instalado o Windows elege a unidade de boot, geralmente o disco C, como o local para criação do arquivo de troca e do diretório (ou pasta) TEMP. Com a utilização de uma unidade SSD para boot, é recomendável que estes importantes elementos não façam uso da unidade SSD para preservar sua vida útil já que está é determinada pela quantidade de ciclos de gravação como dito anteriormente.

Para alterar isto é necessário acessar as 'Configurações avançadas' do Windows, como mostrado na Figura 4 a seguir.

Figura 4: Configurações avançadas

Selecionando a guia 'Avançado' há no grupo 'Desempenho' o botão 'Configurações...' que dará acesso à janela de Opções de desempenho onde se pode alterar as configurações de 'Memória virtual'.

Ao pressionar o botão 'Alterar...' ganha-se acesso à janela 'Memória Virtual' com as configurações em uso no momento. O padrão do Windows 10 é: Gerenciar automaticamente o tamanho do arquivo de paginação de todas as unidades; utilizando apenas o disco de boot (em geral C:) mesmo que existam mais discos no sistema.

Figura 5: Reconfiguração do arquivo de troca

O objetivo é tomar o controle do gerenciamento, desmarcando esta caixa de seleção e colocar no HD o arquivo de troca e, opcionalmente, controlar o tamanho do arquivo, que deve ter como tamanho mínimo o mesmo valor da RAM presente no sistema e máximo de até 1,5 vezes o valor da RAM presente no sistema.

Eventualmente ao final desta reconfiguração o Windows 10 pede que o sistema seja reiniciado para a efetivação dos novos ajustes.

Nota:    Os procedimentos de mudança do arquivo de troca, mesmo seguindo recomendações da comunidade Microsoft, não funcionaram como devido em nenhum dos testes realizados tanto com máquinas virtuais quanto físicas, sempre criando arquivo de troca na unidade de boot.

Alterando a localização dos arquivos temporários

Para realocar a pasta de arquivos temporários do sistema, e do usuário logado, é necessário, inicialmente, criar alguns subsídios que são: uma pasta temp para os temporários do Windows; uma pasta para cada usuário que possa efetuar logon no sistema, contendo uma pasta temp para os arquivos temporários do usuário logado no momento. Então, novamente, deve-se acessar as 'Configurações avançadas' na guia 'Avançado', conforme visto na Figura 4. No fundo da janela deve-se pressionar o botão 'Variáveis de Ambiente' que leva à janela 'Variáveis de Ambiente', como mostrada na Figura 6.

Figura 6: Exemplo de variáveis de ambiente

Nesta janela é possível identificar duas áreas denominadas: Variáveis de usuário para xxxx e Variáveis do sistema, em ambas há as variáveis TEMP e TMP que devem ser editadas para refletir os novos locais dos arquivos temporários, como exemplificado na Figura 7.

Figura 7: Variáveis de Ambiente

* No Anexo II é mostrada a sequência completa de operações envolvidas nas ações citadas.

Alterando a localização das áreas de dados do usuário

A logarem pela primeira vez os usuários ganham em seus diretórios um conjunto de pastas, sendo a básicas as seguintes: documentos; downloads; imagens; e músicas, que devem, igualmente, ser redesignadas para o HD, de forma que o SSD seja utilizado apenas e tão somente para o sistema operacional e programas aplicativos. Esta redesignação para cada pasta de cada usuário é efetuada pela seguinte sequência de operações (Figuras 8 a 12):

Figura 8: Acessar o menu de contexto

Figura 9: Ativar a guia Local

Figura 10: Editar o local

Figura 11: Criar nova pasta


Figura 12: Transferir conteúdos

Considerações finais

Tudo quanto foi reconfigurado, visa dois objetivos, o primeiro na verdade é poupar o espaço da unidade SSD para usos de suporte ao sistema, ou seja, instalação do sistema operacional e programas. O segundo objetivo, já declarado, é preservar a vida útil da unidade, diminuindo ao máximo a exposição a ciclos de gravação.

Da mesma forma que foi feito com as quatro pastas de dados básicas do usuário, poderia ser redesignado também o local das pastas: Área de trabalho; Contatos; Favoritos; Jogos Salvos; Links; Objetos 3D; e Vídeos, em função do tipo de uso dado ao sistema.

Sempre e a qualquer momento, fazendo uso do botão 'Restaurar padrão', mostrado na Figura 10 acima, pode-se reverter a realocação da pasta desejada.

Referências

BERNARDI, Ricardo. Comparativo entre um SSD e um HD convencional. RBTech.info 2013. Disponível em <http://hardware.rbtech.info/comparativo-entre-um-ssd-e-um-hd-convencional/>. Acessado em 20/12/2017

Wikipedia. Small form factor. Disponível em <https://en.wikipedia.org/wiki/Small_form_factor>. Acessado em 25/12/2017.

Groupe Figaro CCM Benchmark. Controlar o sistema do arquivo de troca swap no Windows 10. Disponível em <http://br.ccm.net/faq/24988-controlar-o-sistema-do-arquivo-de-troca-swap-no-windows-10>. Acessado em 27/12/2017.

Microsoft Community. Bug Windows 10 Memória Virtual Não Habilita Para Atualização. Disponível em <https://answers.microsoft.com/pt-br/windows/forum/windows_10-other_settings/erro-no-windows-10-em-propriedades-do-sistema/23ea9272-6ab9-45f9-bb9f-205f70506c23>. Acessado em 29/12/2017.

Microsoft Community. Memória Virtual no w10. Disponível em <https://answers.microsoft.com/pt-br/windows/forum/windows_10-performance/memã³ria-virtual-no-w10/dd0417d3-dac7-40e4-8df7-c7c750cff439>. Acessado em 29/12/2017.

Microsoft Community. Windows 10 Erro No Acesso a Memória Virtual. Disponível em <https://answers.microsoft.com/pt-br/windows/forum/windows_10-other_settings/windows-10-erro-no-acesso-a-memória-virtual/62ae1e14-c103-45ef-8368-60c0254e5061>. Acessado em 29/12/2017.

Suporte do Windows. Como determinar o tamanho do arquivo de paginação apropriado para versões de 64 bits do Windows. Disponível em <https://support.microsoft.com/pt-br/help/2860880/how-to-determine-the-appropriate-page-file-size-for-64-bit-versions-of>. Acessado em 27/12/2017

Anexo I – Inicializando, formatando e alterando letras de unidades de disco

Como citado no artigo caso o disco não seja reconhecido durante a instalação do Windows, ou mesmo caso seja adicionado posteriormente a ela, pode ser necessário inicializa-lo, caso em que teremos a opção de empregar MBR (Master Boot Record ou em português, Registro Mestre de Inicialização) ou GPT (GUID Partition Table ou em português, Tabela de Partição GUID. GUID Global Unique IDentifier ou em português Identificador Único Global). Importa saber que o MBR por trabalhar com 32 bits só consegue gerenciar partições de até 2Tbytes e o GPT por sua vez operando om 64 bits é capaz de gerenciar partições de até 1Zbyte (hospedando NTFS apenas 256 Tbytes por limitações deste).

Após inicializado o Disco 1 surge como um espaço não alocado assim como sem uma letra de drive atribuída para si. Ativando o assistente de novas partições do Windows 10 (com o ponteiro do mouse sobre a área hachurada e pressionando o botão direito do mouse surge a janela do assistente) pode-se inicialmente determinar o tamanho do volume de partição, normalmente o máximo disponível da unidade de disco. Avançando no processo a próxima janela tem por função definir a letra da unidade, ou o ponto de montagem da partição como uma pasta. Por padrão esta janela nos é apresentada sugerindo a próxima letra livre do alfabeto para a nova partição, pode-se alterar para qualquer outra letra disponível. Após a seleção da devida letra de unidade ao avançar para a próxima etapa do particionamento que é a definição do tipo de sistema de arquivos e também a definição de um rótulo para o volume.

      

Ao avançar no processo é exibida uma janela com o resumo das características selecionadas e aguarda-se a permissão de continuação dos procedimentos de formatação, atribuição de letra da unidade, formatação do sistema de arquivos e nomeação da unidade criada.

      

Opcionalmente, é possível alterar a letra da unidade de mídia óptica, caso esta esteja disponível, para tanto efetua-se a rolagem da porção inferior da janela do Gerenciamento de disco, até que a unidade seja exibida e ativa-se o menu de contexto para a unidade (mais uma vez com o ponteiro do mouse sobre a unidade e pressionando o botão direito do mouse), como visto a seguir, e seleciona-se a opção 'Alterar letra de unidade e caminho'. A seguir é exibida a janela 'Alterar a letra e os caminhos da unidade para ?:'. Pressionando o botão 'Alterar...' é exibida então a janela "Alterar a letra de unidade ou caminho', contendo uma lista drop-down (lista de derrubar) que ao ser ativada mostra todas as letras disponíveis para atribuição à unidade. Uma vez escolhida a letra desejada, ao pressionar o botão 'OK', o sistema anunciará numa caixa de alerta que talvez alguns programas não operem bem com a alteração solicitada e pede que se confirme a realização final da operação.

      

Após toda esta sequência de ações e operações, o explorer exibirá, por exemplo, desta forma as unidades do sistema reconfigurado.

Anexo II – Redesignando o local dos arquivos temporários de sistema e de usuário

Com poucos cliques é possível determinar locais específicos para os arquivos temporários do Windows, começando por criar um diretório (ou pasta) denominado temp para receber os arquivos temporários do sistema, a seguir confirmar por meio do sinal de prontidão da janela de linha de comando, qual o efetivo nome de usuário logado para usá-lo na criação do diretório deste mesmo usuário no HD. Depois de criado o diretório do usuário deve-se criar dentro dele o diretório temp para os arquivos temporários do usuário. Em seguida a isso efetua-se acesso a 'Configurações avançadas' onde encontra-se o botão 'Variáveis de Ambiente...', que leva à janela 'Variáveis de Ambiente' na qual há dois campos, 'Variáveis de usuário para xxxx' e 'Variáveis do sistema.

            

              

Em ambos os campos pode-se localizar as variáveis TEMP e TMP. Todas as quatro variáveis devem ser editadas e alteradas para apontar as pastas temp criadas no início deste texto.

Uma vez editadas as quatro variáveis, (para o segundo usuário em diante só será necessário editar as duas variáveis de usuário) premendo o botão OK a redesignação das áreas de temporários estará concluída.


2

CRON

Cron é um daemon[1] que executa comandos agendados. O cron é iniciado automaticamente de /etc/init.d ao entrar em níveis de execução de vários usuários. O cron procura sua área de spool (/var/spool/cron/crontabs) para arquivos crontab (que são nomeados conforme as contas em /etc/passwd); crontabs encontrados são carregados na memória. Observe que os crontabs neste diretório não devem ser acessados ​​diretamente - o comando crontab deve ser usado para acessá-los e atualizá-los.

O cron também lê /etc/crontab, que tem um formato ligeiramente diferente. Além disso, o cron lê os arquivos contidos em /etc/cron.d.

O cron em seguida acorda a cada minuto, examinando todos os arquivos crontab armazenados, verificando cada comando para ver se deve ser executado no horário atual. Ao executar comandos, a saída destes (stdout) é enviada para o proprietário do crontab (ou para o usuário nomeado na variável de ambiente MAILTO do crontab, caso exista). As cópias dos filhos do cron que executam esses processos recebem nome em letras maiúsculas, como será visto nas saídas de syslog e de ps.

Além disso, o cron verifica a cada minuto se o modtime (modification-time) do diretório spool (ou o modtime do arquivo /etc/crontab) foi alterado e, se houver acontecido isso, o cron examinará o modtime de todos os arquivos crontab e recarregará aqueles que foram alterados. Por isso, o cron não precisa ser reiniciado a cada vez que um arquivo crontab for modificado. Observe que o comando crontab (1) atualiza o modtime do diretório spool sempre que ele muda algum crontab.

São feitas considerações especiais quando o relógio do sistema é alterado em menos de 3 horas, por exemplo, no início e no final do horário de verão. Se o tempo se deslocou para frente, os trabalhos que deveriam ter funcionado no horário saltado serão executados logo após a mudança. Por outro lado, se o relógio muda para trás, em menos de 3 horas, os trabalhos que caem no horário repetido não serão executados mais uma vez.

Somente os trabalhos que são executados em determinado momento (não especificado como @hourly, nem com '*' nos campos de hora ou minuto) são afetados. Os trabalhos com agendamento especificado com coringas (wild cards) são executados com base no novo horário, imediatamente.

As mudanças de relógio em mais de 3 horas são consideradas como correções de horário e o novo horário é assumido de imediato.

No Debian e no Red Hat cron trata os arquivos em /etc/cron.d como extensões ao arquivo /etc/crontab (eles seguem o formato especial deste arquivo, ou seja, eles incluem o campo de usuário). O propósito desse recurso é permitir que os pacotes que exigem um controle mais fino de seu agendamento do que dos diretórios /etc/cron.{daily, weekly, monthly} adicione um arquivo crontab a /etc/cron.d. Esses arquivos devem ser nomeados com a identificação do pacote que os inclui. Os arquivos devem estar em conformidade com a mesma convenção de nomenclatura usada pelas partes executadas: elas devem consistir apenas de letras maiúsculas e minúsculas, dígitos, sublinhados e hifens. Como /etc/crontab, os arquivos no diretório /etc/cron.d são monitorados por alterações.

Você deve usar nomes de caminho absolutos para comandos como /bin/ls. Isso para garantir que você chame o comando correto.

CRONTAB

crontab é o programa usado para instalar, desinstalar ou listar as tabelas de agendamento usadas para guiar o daemon do cron no Vixie[2] Cron. Cada usuário pode ter seu próprio crontab e, embora estes arquivos estejam em /var/spool/cron/crontabs, eles não devem ser editados diretamente.

Cada usuário tem seu próprio crontab, e os comandos em qualquer crontab dado serão executados como o usuário que possui (proprietário) o crontab. Os usuários uucp e news geralmente terão seus crontabs próprios, eliminando a necessidade de executar, explicitamente, su como parte de um comando cron.

Linhas em branco, espaços iniciais e tabulações são ignorados. Linhas cujo primeiro caractere não especial é um sinal de jogo da velha (# - hash) são comentários e serão ignoradas. Observe que os comentários não são permitidos na mesma linha que os comandos do cron, uma vez que eles serão levados a fazer parte do comando. Da mesma forma, os comentários não são permitidos na mesma linha que as configurações das variáveis de ambiente.

Uma linha ativa em um crontab será uma configuração de ambiente ou um comando cron. Uma configuração de ambiente tem a forma nome = valor, onde os espaços ao redor do sinal de igual (=) são opcionais, e quaisquer espaços subsequentes não iniciais (leading space) no valor serão parte do valor atribuído ao nome. A cadeia de caracteres dos valores pode ser colocada entre aspas (ou apóstrofos) para preservar os espaços em branco iniciais (leading space) ou finais (trailing space). A cadeia de caracteres do valor não é analisada para substituições, portanto linhas como PATH=$HOME/bin:$PATH não funcionarão da forma esperada.

Algumas variáveis ​​de ambiente são configuradas automaticamente pelo daemon do cron. SHELL é configurada para /bin/sh, LOGNAME e HOME são definidas a partir da linha correspondente ao usuário em /etc/passwd do crontab. PATH está definida para valer "/usr/bin:/bin". HOME, SHELL e PATH podem ser substituídos por configurações específicas no crontab; LOGNAME é o usuário do qual o trabalho está sendo executado e não pode ser alterado. E mais, a variável LOGNAME às vezes é chamada de USER em sistemas BSD, nesses sistemas, o USER também será configurado.

Além de LOGNAME, HOME e SHELL, o cron verificará MAILTO caso tenha algum motivo para enviar mensagens como resultado da execução de comandos "neste" crontab. Se MAILTO estiver definida (e não vazia), um correio será enviado ao usuário assim chamado. Se MAILTO for definida, mas vazia (MAILTO = ""), nenhuma mensagem será enviada. Caso contrário, o correio é enviado ao proprietário do crontab.

Se o arquivo /etc/cron.allow existir, então o usuário deve estar listado no mesmo para poder usar esse recurso. Se o arquivo /etc/cron.allow não existir, mas o arquivo /etc/cron.deny existir, então o usuário não deve estar listado no arquivo (/etc/cron.deny) para usar este recurso. Se nenhum desses arquivos existir, em função dos parâmetros de configuração locais, somente o super usuário (root) poderá usar esse comando ou, por outro lado, todos os usuários poderão usar o recurso de crontab. Em sistemas Debian padrão, todos os usuários podem usar esse comando.

Se a opção -u for usada, especifica o nome de usuário cujo crontab deve ser ajustado. Se esta opção não for fornecida, o crontab examina o "seu" crontab, ou seja, o crontab da pessoa que executa o comando (usuário corrente). Note que su pode confundir o crontab, se você estiver executando sob su, você sempre deve usar a opção -u por garantia de segurança.

A primeira forma deste comando é usada para instalar um novo crontab a partir de algum arquivo especificado ou da entrada padrão se o pseudo-nome de arquivo "-" for indicado.

A opção -l faz com que o crontab atual seja exibido na saída padrão.

A opção -r faz com que o crontab atual seja eliminado (removido).

A opção -e é usada para editar o crontab atual usando o programa editor de texto especificado pelas variáveis ​​de ambiente VISUAL ou EDITOR. O editor especificado deve editar o arquivo no local; qualquer editor que desvincule o arquivo e o recrie não pode ser usado. Depois de sair do editor, o crontab modificado será instalado (ativado) automaticamente.

No sistema Debian GNU / Linux, o cron suporta o módulo pam_env e carrega o ambiente especificado por /etc/security/pam_env.conf. No entanto, a configuração PAM NÃO substitui as configurações descritas acima nem qualquer configuração no próprio arquivo crontab. Observe, em particular, que se você quiser um PATH diferente de "/usr/bin:/bin", você precisará configurá-lo no arquivo crontab.

Por padrão, o cron enviará o correio usando o cabeçalho "Content-Type:" como "text/plain" com o parâmetro "charset =" definido no charmap / codeset da localização em que o crond é iniciado, ou seja, ou a localização padrão do sistema, se nenhuma variável de ambiente LC_* estiver configurada, ou a localização especificada pelas variáveis ​​de ambiente LC_* (ver man 7 locale). Pode-se usar diferentes codificações de caracteres para a saída do trabalho do cron enviado, configurando as variáveis ​​CONTENT_TYPE e CONTENT_TRANSFER_ENCODING em crontabs, para os valores corretos dos cabeçalhos de e-mail desses nomes.

FORMATO DA CRONTAB

Os comandos são executados pelo cron quando os minutos, horas e meses de ano correspondem à hora atual e quando pelo menos um dos dois campos do dia (dia do mês ou dia da semana) corresponde à hora atual.

Um campo pode ter um asterisco (*), que significa "qualquer".

Intervalos de números são permitidos. Os intervalos são dois números separados por um hífen. O intervalo especificado é inclusivo. Por exemplo, 8-11 para uma entrada de "horas" especifica a execução nas horas 8, 9, 10 e 11.

Listas são permitidas. Uma lista é um conjunto de números (ou intervalos) separados por vírgulas. Exemplos: "1,2,5,9", "0-4,8-12".

Os valores de salto podem ser usados ​​em conjunto com intervalos. Seguir um intervalo com "/" especifica saltos do valor do número dentro do intervalo. Por exemplo, "0-23/2" pode ser usado no campo de horas para especificar a execução do comando a cada duas horas (a alternativa no padrão V7[3] é "0,2,4,6,8,10,12,14,16,18,20,22 "). Os passos também são permitidos após um asterisco, então, se você quer dizer "a cada duas horas", use apenas "*/2".

Os nomes também podem ser usados ​​para os campos "mês" e "dia da semana". Use as primeiras três letras do dia ou mês em particular (em inglês e a caixa não importa). Não são permitidas faixas ou listas de nomes nestes campos.

O "sexto" campo (ou seja, o resto da linha) especifica o comando a ser executado. A parte do comando da linha toda, até uma nova linha ou o caractere porcento (%), será executada por /bin/sh ou pelo shell especificado na variável SHELL do arquivo crontab. Os sinais de porcentagem (%) no comando, a menos que 'escapado' com barra invertida (\), serão alterados para caracteres de nova linha e todos os dados após o primeiro % serão enviados ao comando como entrada padrão. Não há como dividir uma única linha de comando em múltiplas linhas, como com o "\" de final de linha do shell.

Nota: O dia da execução de um comando pode ser especificado por dois campos – 'dia do mês' e 'dia da semana'. Se ambos os campos estiverem especificados restritivamente (ou seja, não forem *), o comando será executado quando qualquer dos dois campos corresponder ao momento atual. Por exemplo, "30 4 1,15 * 5" faria com que um comando fosse executado às 4:30 da manhã no dia 1 e 15 de cada mês, mais todas as sextas-feiras.

Em vez dos cinco primeiros campos, uma das oito sequências de caractere especiais pode aparecer:

Tabela 1: Sequências especiais de momentos

Cadeia Significado
@reboot Executar uma vez, na inicialização.
@yearly Executar uma vez por ano, "0 0 1 1 *".
@annually (O mesmo que @yearly)
@monthly Executar uma vez por mês, "0 0 1 * *".
@weekly Executar uma vez por semana, "0 0 * * 0".
@daily Executar uma vez por dia, "0 0 * * *".
@midnight (Idêntico a @daily)
@hourly Executar uma vez por hora, "0 * * * *".

Fonte: Página do comando man 5 crontab do Ubuntu Linux 16.04 LTS, 2017

Um exemplo de formato crontab com campos comentados é o seguinte:

# Minute Hour Dia do Mês Mês Dia da Semana Comando
# (0-59) (0-23) (1-31) (1-12 ou jan-dez) (0-6 ou Sun-Sat)
  0 2 12 * * /usr/bin/find

Esta linha executa o comando "find" às 2h do dia 12 de cada mês.

EXEMPLOS

Aqui estão alguns exemplos de linhas de crontab. Use o comando "crontab -e" para editar seu arquivo crontab.

Esta linha executa o comando "ping" a cada minuto de cada hora de cada dia de cada mês. A saída padrão é redirecionada para /dev/null, então não receberemos e-mail, mas permitiremos que o erro padrão seja enviado como um e-mail. Se você não quer e-mail algum, altere a linha de comando para "/sbin/ping -c 1 192.168.0.1 > /dev/null 2> & 1".

* * * * * /sbin/ping -c 1 192.168.0.1 > /dev/null

Esta linha executa o comando "ping" e "ls" às 0 e às 12 horas no 1º dia de cada bimestre. Ele também coloca a saída dos comandos no arquivo de log /var/log/cronrun.

0 0,12 1 */2 * /sbin/ping -c 192.168.0.1;  ls -la >> /var/log/cronrun

Esta linha executa o comando de relatório de uso do disco (du) para obter o tamanho do diretório a cada 2 horas do dia 1 ao 10 de cada mês. O e-mail é enviado para os endereços de e-mail especificados com a linha MAILTO. O PATH também está definido para algo diferente do padrão.

PATH = /usr/local/sbin:/usr/local/bin:/home/user1/bin
MAILTO = user1@nowhere.org, user2@somewhere.org
0 2 1-10 * * du -h --max-depth = 1 /

Esta linha exemplifica como executar um trabalho em cron todos os meses às 4h das segundas-feiras além de nos dias entre 15 e 21 (15, 16, 17, 18, 19, 20, e 21). Isso ocorre porque usar os campos do 'dia do mês' e 'dia da semana' com restrição (diferente de *) torna esta, uma condição "or", não uma condição "and". Assim, ambas as restrições serão executadas.

0 4 15-21 * 1 /comando

Executar em cada segundo domingo de cada mês. O comando de verificação (test) deve ser usado devido à característica (ou 'problema') mencionada no exemplo anterior.

0 4 8-14 * * test $(data +\%u) -eq 7 && echo "Segundo Domingo"

PEGADINHAS OU COISAS PARA VERIFICAR

  1. Quando o cronjob é executado a partir do crontab de usuários, ele é executado como esse usuário. No entanto, ele não agrega, considera nenhum arquivo no diretório inicial dos usuários, como .cshrc ou .bashrc ou qualquer outro arquivo. Se precisar do cron carregar (ler), qualquer arquivo de configuração de ambiente adicional para seu script, você deve fazê-lo a partir do próprio script que está sendo chamado. Portanto, para definir caminhos, processar arquivos, configurar variáveis ​​de ambiente, e etc. deve-se tomar as providências devidas.
  2. Se a conta de usuários tiver um crontab, mas nenhum shell padrão utilizável em /etc/passwd, o cronjob não será executado. Você terá que designar à conta um shell para que o crontab seja executado.
  3. Se o cronjob não estiver executando, verifique se o daemon cron está sendo executado. Então lembre-se de verificar os arquivos /etc/cron.allow e /etc/cron.deny. Se existirem, o usuário que deseja executar trabalhos deve estar em /etc/cron.allow. Você também pode querer verificar se o arquivo /etc/security/access.conf existe. Pode ser necessário adicionar o usuário lá.
  4. O crontab não é analisado para substituições ambientais. Você não pode usar coisas como $PATH, $HOME ou ~/sbin. Você pode definir coisas como MAILTO = ou PATH = e outras variáveis ​​de ambiente que o shell /bin/sh utilize.
  5. Cron não lida com segundos, logo você não pode ter tarefas agendadas em qualquer período de tempo lidando com segundos. Como um cronjob disparando a cada 30 segundos.
  6. Você não pode usar % na área de comando (declaração de comando). Ele precisará ser escapado e, se usado ​​com substituição de comando, como o comando date, você pode colocá-lo entre crases. Ex: `date +\%Y-\%m-\%d`. Ou utilize a substituição do comando bash $() (desde que declare SHELL=/bin/bash).
  7. Cuidado com 'dia do mês' e 'dia da semana' juntos. Os campos do 'dia do mês e 'dia da semana' com restrições (não *) tornam esta, uma condição "or" não uma condição "and". Quando qualquer um dos campos for verdadeiro, o cronjob será executado.

SITES CRON ÚTEIS

REFERÊNCIAS

Pantz.org Technical Reference Site. Cron and Crontab use and exeamples. [S.l.]: pantz.org, 2015. Disponível em: <https://www.pantz.org/software/cron/croninfo.html>. Acesso em 23-junho-2017.

NOTAS

[1] Em sistemas operacionais multitarefa, um daemon é um programa de computador que executa como um processo em segundo plano, em vez de estar sob o controle direto de um usuário interativo. Tradicionalmente, o nome de processo de um daemon termina com a letra d, para deixar claro que o processo é, de fato, um daemon. No universo Microsoft é conhecido pela denominação serviço.

[2] Paul Vixie responsável pela implementação do cron na 4ª versão do BSD, adicionou um campo para a conta de usuário.

[3] V7, Versão7 ou UNIX Versão 7. Referência a versão do UNIX lançada em 1979, que é a última versão do UNIX sob responsabilidade do Bell Laboratories. Em 1980 o UNIX foi vendido para a AT&T.

Recentemente, uma questão estranha vem atrapalhando as distribuições do Linux que usam o apt para se atualizar (em geral as derivadas do Debian).

Ao executar o comando sudo apt-get update (ou sudo apt update), o processo fica parado ao se conectar a qualquer dos repositórios padrão ou lento ao rastrear e baixar cabeçalhos durante o processo de atualização.

Depois de muitas tentativas de solução e de perseguir pistas falsas (como problemas de DNS, cache e gateway), finalmente, as buscas pela Internet apontaram para uma solução surpreendente.

Anteriormente a solução era mudar o servidor para baixar as atualizações, alterando sources.list (/etc/apt/source.list). Em circunstâncias normais, isso corrigia os problemas, mas não agora.

O problema

Demorou bastante tempo para descobrir isso, mas o problema está no IPv6.

Com o IPv6 ativado, a nova pilha de rede parece tropeçar, especialmente quando tenta atualizar com o apt.

O contorno

Para bloquear uso de IPv6 para operações de atualização (update) com o apt, podemos fazer uma adequação na configuração do apt, criando um arquivo (usamos chama-lo de 99force-ipv4) com a diretiva que define uso exclusivo do protocolo IP desejado, como mostrado a seguir:

sudoedit /etc/apt/apt.conf.d/99force-ipv4

O arquivo deve conter a linha

Acquire::ForceIPv4 "true";

Se for o caso de inibir o uso de IPv4, altere o nome para 99force-ipv6 e use a linha:

Acquire::ForceIPv6 "true";


Caso queira fazê-lo por apenas uma execução existe a possibilidade de uso da opção no comando apt

-o Acquire::ForceIPv4=true

ou

-o Acquire::ForceIPv6=true

conforme o protocolo a ser forçado, como exemplificado para uso de IPv4 a seguir:

apt-get -o Acquire::ForceIPv4=true update
apt-ger -o Acquire::ForceIPv4=true upgrade

Até a próxima