Neste artigo, revisaremos como instalar, atualizar e remover pacotes em Red Hat Enterprise Linux 7. Também abordaremos como automatizar tarefas usando crone concluirá este guia explicando como localizar e interpretar arquivos de logs do sistema com o objetivo de ensinar por que todas essas habilidades são essenciais para todo administrador de sistema.
Para instalar um pacote com todas as suas dependências que ainda não estão instaladas, você usará:
# yum -y install package_name (s)
Onde package_name (s) representam pelo menos um nome de pacote real.
Por exemplo, para instalar httpd e mlocate (nessa ordem), digite.
# yum -y install httpd mlocate.
Observação: Essa é a carta y no exemplo acima ignora os prompts de confirmação que o yum apresenta antes de realizar o download e a instalação reais dos programas solicitados. Você pode deixá-lo de fora, se quiser.
Por padrão, yum irá instalar o pacote com a arquitetura que corresponde à arquitetura do sistema operacional, a menos que seja anulado acrescentando a arquitetura do pacote ao seu nome.
Por exemplo, em um 64 bits sistema, yum pacote de instalação irá instalar o x86_64 versão do pacote, enquanto yum install package.x86 (se disponível) irá instalar o 32 bits 1.
Haverá momentos em que você deseja instalar um pacote, mas não sabe seu nome exato. O pesquisar tudo ou procurar options pode pesquisar os repositórios atualmente habilitados para uma determinada palavra-chave no nome do pacote e / ou também em sua descrição, respectivamente.
Por exemplo,
# log de pesquisa yum.
irá pesquisar os repositórios instalados por pacotes com a palavra log em seus nomes e resumos, enquanto
# yum search all log.
irá procurar a mesma palavra-chave na descrição do pacote e url campos também.
Assim que a pesquisa retornar uma lista de pacotes, você pode desejar exibir mais informações sobre alguns deles antes da instalação. É quando o informação opção será útil:
# yum info logwatch.
Você pode verificar regularmente se há atualizações com o seguinte comando:
# yum check-update.
O comando acima retornará todos os pacotes instalados para os quais uma atualização está disponível. No exemplo mostrado na imagem abaixo, apenas rhel-7-server-rpms tem uma atualização disponível:
Você pode então atualizar esse pacote sozinho com,
# yum update rhel-7-server-rpms.
Se houver vários pacotes que podem ser atualizados, yum atualização irá atualizar todos eles de uma vez.
Agora o que acontece quando você sabe o nome de um executável, como ps2pdf, mas não sabe qual pacote fornece isso? Você pode descobrir com yum o que fornece “* / [executável]”
:
# yum whatprovides “* / ps2pdf”
Agora, quando se trata de remover um pacote, você pode fazer isso com yum remova o pacote. Fácil, hein? Isso mostra que o yum é um gerenciador de pacotes completo e poderoso.
# yum remove httpd.
Leia também:20 comandos Yum para gerenciar o gerenciamento de pacotes RHEL 7
RPM (também conhecido como RPM Package Manager, ou originalmente RedHat Package Manager) também pode ser usado para instalar ou atualizar pacotes quando eles vêm na forma autônoma .rpm
pacotes.
É frequentemente utilizado com o -Uvh
sinalizadores para indicar que ele deve instalar o pacote se ainda não estiver presente ou tentar atualizá-lo se estiver instalado (-VOCÊ)
, produzindo uma saída detalhada (-v)
e uma barra de progresso com marcas de hash (-h)
enquanto a operação está sendo realizada. Por exemplo,
# rpm -Uvh package.rpm.
Outro uso típico de rpm é produzir uma lista dos pacotes atualmente instalados com código> rpm -qa (abreviação de query all):
# rpm -qa.
Leia também:20 comandos RPM para instalar pacotes no RHEL 7
Linux e outros sistemas operacionais semelhantes ao Unix incluem uma ferramenta chamada cron que permite que você agende tarefas (ou seja, comandos ou scripts de shell) para executar em uma base periódica. Cron verifica a cada minuto o /var/spool/cron diretório para arquivos que são nomeados após contas em /etc/passwd.
Ao executar comandos, qualquer saída é enviada para o proprietário do crontab (ou para o usuário especificado no MAILTO variável de ambiente no /etc/crontab, se existir).
Arquivos Crontab (que são criados digitando crontab -e e pressionando Digitar) têm o seguinte formato:
Assim, se quisermos atualizar o banco de dados de arquivos local (que é usado por locate para encontrar arquivos por nome ou padrão) a cada dois dias do mês em 2h15, precisamos adicionar o seguinte crontab entrada:
15 02 2 * * / bin / updatedb.
A entrada do crontab acima diz: “Execute / bin / updatedb no segundo dia do mês, todos os meses do ano, independentemente do dia da semana, às 2h15”. Como tenho certeza que você já adivinhou, o símbolo da estrela é usado como um caractere curinga.
Depois de adicionar um cron job, você pode ver que um arquivo chamado root foi adicionado dentro /var/spool/cron, como mencionamos anteriormente. Esse arquivo lista todas as tarefas que o crond daemon deve executar:
# ls -l / var / spool / cron.
Na imagem acima, o crontab do usuário atual pode ser exibido usando cat /var/spool/cron/root ou,
# crontab -l.
Se você precisa executar uma tarefa em uma base mais refinada (por exemplo, duas vezes por dia ou três vezes por mês), o cron também pode ajudá-lo a fazer isso.
Por exemplo, para executar /meu / script no dia 1 e Dia 15 de cada mês e enviar qualquer saída para /dev/null, você pode adicionar dois crontab entradas da seguinte forma:
01 00 1 * * / myscript> / dev / null 2> & 1. 01 00 15 * * / meu / script> / dev / null 2> & 1.
Mas para que a tarefa seja mais fácil de manter, você pode combinar as duas entradas em uma:
01 00 1,15 * * / meu / script> / dev / null 2> & 1.
Seguindo o exemplo anterior, podemos executar /my/other/script no 1h30 no primeiro dia do mês a cada três meses:
30 01 1 1,4,7,10 * / meu / outro / script> / dev / null 2> & 1.
Mas quando você tem que repetir uma determinada tarefa a cada “x”Minutos, horas, dias ou meses, você pode dividir a posição certa pela frequência desejada. Os seguintes crontab entrada tem exatamente o mesmo significado que a anterior:
30 01 1 * / 3 * / meu / outro / script> / dev / null 2> & 1.
Ou talvez você precise executar um determinado trabalho em uma frequência fixa ou após a inicialização do sistema, por exemplo. Você pode usar uma das seguintes strings em vez dos cinco campos para indicar a hora exata em que deseja que seu trabalho seja executado:
@reboot Execute quando o sistema inicializar. @yearly Execute uma vez por ano, igual a 00 00 1 1 *. @monthly Executado uma vez por mês, igual a 00 00 1 * *. @weekly Run uma vez por semana, igual a 00 00 * * 0. @daily Execute uma vez por dia, igual a 00 00 * * *. @hourly Execute uma vez por hora, igual a 00 * * * *.
Leia também:11 Comandos para Agendar Cron Jobs no RHEL 7
Os registros do sistema estão localizados (e girados) dentro do /var/log diretório. De acordo com o Linux Filesystem Hierarchy Standard, este diretório contém diversos arquivos de log, que são gravados nele ou em um subdiretório apropriado (como auditoria, httpd, ou samba na imagem abaixo) pelos daemons correspondentes durante a operação do sistema:
# ls / var / log.
Outros registros interessantes são dmesg (contém todas as mensagens do buffer de anel do kernel), seguro (registra as tentativas de conexão que requerem autenticação do usuário), mensagens (mensagens de todo o sistema) e wtmp (registros de todos os logins e logouts do usuário).
Os logs são muito importantes porque permitem que você tenha uma ideia do que está acontecendo em todos os momentos em seu sistema e do que aconteceu no passado. Eles representam uma ferramenta inestimável para solucionar problemas e monitorar um servidor Linux e, portanto, são frequentemente usados com o comando tail -f
para exibir eventos, em tempo real, à medida que acontecem e são registrados em um log.
Por exemplo, se você deseja exibir relacionado ao kernel eventos, digite o seguinte comando:
# tail -f / var / log / dmesg.
Mesmo se você quiser visualizar o acesso ao seu servidor da web:
# tail -f /var/log/httpd/access.log.
Se você sabe como gerenciar pacotes de forma eficiente, agendar tarefas e onde procurar informações sobre o operação atual e anterior de seu sistema, você pode ter certeza de que não terá surpresas muito frequentemente. Espero que este artigo tenha ajudado você a aprender ou atualizar seus conhecimentos sobre essas habilidades básicas.
Não hesite em contactar-nos através do formulário de contacto abaixo se tiver quaisquer questões ou comentários.