INFORMAÇÃO SOBRE O SISTEMAuname - Mostra as informações referentes ao sistema. Exemplo:
$ uname -a
Que retorna algo parecido com:
Linux tecnica 2.6.3-7mdk #1 Wed Mar 17 15:56:42 CET 2004 i686 unknown GNU/Linux
lspci Mostra informações sobre as placas PCI instaladas no computador, este comando retorna os nomes das interfaces, e modelo/versão/revisão do dispositivo. Exemplo:
$ lspci -v
Verificando a versão do kernel
O arquivo /proc/version traz a versão do kernel atual além de informações extras.
$ cat /proc/version
NOTA: pode variar para /proc/release de acordo com sua distribuição.
Verificando a distribuição
O arquivo /etc/issue contém a distro que está sendo usada:
$ cat /etc/issue
Mandrake Linux release 10.0 (Official) for i586
Kernel 2.6.3-7mdk on an i686 / \l
Comandos de verificação Utilizado para verificar o diretório atual:
$ pwd
Utilizado para verificar o nome da máquina e o host local:
$ hostname
Utilizado para exibir o usuário logado:
$ whoami
Utilizado para exibir a identificação do usuário (user id ou uid) e o grupo de identificação (group id ou gid):
$ id
Utilizado para exibir a data e hora atual, conforme os dados armazenados no relógio do sistema
$ date
Determina a quantidade de tempo gasto para executar um comando, por exemplo, contar o tempo de execução do comando "cat /etc/issue":
$ time cat /etc/issue
Utilizado para exibir a quantidade de tempo decorrido desde o último boot:
$ uptime
Utilizado para exibir os usuários logados na máquina:
$ who
Utilizado para visualizar quem está logado no sistema. além de determinar o que está sendo feito, o tempo de uso do processador, etc:
$ w
Utilizado para exibir uma lista dos últimos usuários que se logaram no sistema:
$ last
Utilizado para exibir os últimos 1000 comandos executados em modo texto na sessão atual:
$ history
Utilizado para mostrar os processos atuais executados pelo usuário logado:
$ ps -aux
Utilizado para exibir os módulos do kernel que estão sendo carregados na memória naquele momento:
$ lsmod
Utilizado para exibir as mensagens do kernel, o conteúdo do buffering do kernel:
$ dmesg
Utilizado para exibir os limites dos usuários sobre o uso do espaço em disco:
$ quota
VERIFICANDO PROCESSOS COM O PS
As opções mais importantes são os seguintes:
$ ps aux
A seguir, segue a descrição dos campos mostrados anteriormente e alguns que só são mostrados com a combinação lax:
Verificando Serviço e interrompendo.
1. kill - Matar o processo informando o PID
Todos os exemplos abaixo enviam um sinal TERM para o processo especificado pelo PID, ele é o padrão do comando kill. Tanto o nome quanto o número do sinal pode ser usado. É só procurar o PID do processo e usá-lo no exemplo.
kill -SIGTERM pid
$ kill -TERM pid
$ kill -15 pid
Se quiséssemos matar o firefox faríamos:
ps -ef | grep firefox
XXXXXXXXXXXXXXXXXXXXXX??????????????????????
1986 ? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
kill -9 1986
Dicas:
a) Mata todos os processos que sua permissão no sistema permite:
kill -9 -1
b) Lista as opções disponíveis de sinal em uma tabela:
kill -L
Feito. Vamos ver outro método.
Tutorial Yum
Para instalar um pacote, use o comando "yum install", como em:
# yum install mysql-server
Para removê-lo posteriormente, use:
# yum remove mysql-server
O yum possui também um recurso de busca, que é bastante útil quando você está procurando por um pacote, mas não sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relação a outras distribuições. Use o comando "yum search", seguido por alguma palavra ou expressão, que faça parte do nome do pacote ou descrição, como em:
# yum search samba
Ele retorna um relatório contendo todos os pacotes relacionados, incluindo o texto de descrição de cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais restrita, procurando apenas nos nomes dos pacotes, use o parâmetro "list", como em:
# yum list httpd
Ele é bem menos falador, retornando apenas os pacotes que possuem "httpd" no nome, sem pesquisar nas descrições.
Uma terceira opção é a "provides" que mostra pacotes que incluem um determinado arquivo, pesquisando não no nome ou na descrição, mas sim no conteúdo dos pacotes. Ele é bastante útil em casos em que você precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote maior, como em:
# yum provides mcedit
Em caso de dúvida, você pode verificar se um determinado pacote está instalado e qual é a versão usando o comando "rpm -q", como em:
# rpm -q samba
samba-3.0.25b-0.el5.4
Para atualizar um pacote já instalado, use o comando "yum update", como em:
# yum update samba
O comando "yum install" também pode ser usado para atualizar pacotes. A diferença entre o "install" e o "update" é que o "update" se limita a atualizar pacotes já instalados. Ao perceber que o pacote solicitado não está instalado, ele exibe um aviso e aborta a instalação, como no exemplo abaixo. Isso reduz a possibilidade de você acabar instalando um novo serviço por engano:
# yum update mysql-server
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Could not find update match for mysql-server
Outra observação é que, depois de atualizar um serviço, é necessário recarregar o serviço (como em "service smb restart") para que a nova versão passe a ser usada. Esta é mais uma pequena diferença com relação às distribuições derivadas do Debian, onde os serviços são reiniciados de forma automática depois de atualizados.
Para atualizar todo o sistema, comece usando o parâmetro "check-update", que lista as atualizações disponíveis:
# yum check-update
Se usado sem especificar um pacote, o "update" vai atualizar de uma vez só todos os pacotes do sistema, de forma similar ao "apt-get upgrade" do Debian:
# yum update
Existe ainda o comando "yum upgrade", que é um pouco mais incisivo, incluindo também pacotes marcados como obsoletos (que não existem mais na versão atual). Ele é útil em casos em que é necessário atualizar uma versão antiga do sistema:
# yum upgrade
É possível também fazer com que o yum atualize o sistema automaticamente todas as madrugadas. Para isso, basta ativar o serviço "yum" e configurá-lo para ser ativado durante o boot:
# chkconfig yum on
# service yum start
Isso faz com que a atualização seja agendada através do cron e seja (por padrão) executada todos os dias às 4:02 da manhã, como especificado no arquivo "/etc/crontab".
$ uname -a
Que retorna algo parecido com:
Linux tecnica 2.6.3-7mdk #1 Wed Mar 17 15:56:42 CET 2004 i686 unknown GNU/Linux
lspci Mostra informações sobre as placas PCI instaladas no computador, este comando retorna os nomes das interfaces, e modelo/versão/revisão do dispositivo. Exemplo:
$ lspci -v
Verificando a versão do kernel
O arquivo /proc/version traz a versão do kernel atual além de informações extras.
$ cat /proc/version
NOTA: pode variar para /proc/release de acordo com sua distribuição.
Verificando a distribuição
O arquivo /etc/issue contém a distro que está sendo usada:
$ cat /etc/issue
Mandrake Linux release 10.0 (Official) for i586
Kernel 2.6.3-7mdk on an i686 / \l
Comandos de verificação Utilizado para verificar o diretório atual:
$ pwd
Utilizado para verificar o nome da máquina e o host local:
$ hostname
Utilizado para exibir o usuário logado:
$ whoami
Utilizado para exibir a identificação do usuário (user id ou uid) e o grupo de identificação (group id ou gid):
$ id
Utilizado para exibir a data e hora atual, conforme os dados armazenados no relógio do sistema
$ date
Determina a quantidade de tempo gasto para executar um comando, por exemplo, contar o tempo de execução do comando "cat /etc/issue":
$ time cat /etc/issue
Utilizado para exibir a quantidade de tempo decorrido desde o último boot:
$ uptime
Utilizado para exibir os usuários logados na máquina:
$ who
Utilizado para visualizar quem está logado no sistema. além de determinar o que está sendo feito, o tempo de uso do processador, etc:
$ w
Utilizado para exibir uma lista dos últimos usuários que se logaram no sistema:
$ last
Utilizado para exibir os últimos 1000 comandos executados em modo texto na sessão atual:
$ history
Utilizado para mostrar os processos atuais executados pelo usuário logado:
$ ps -aux
Utilizado para exibir os módulos do kernel que estão sendo carregados na memória naquele momento:
$ lsmod
Utilizado para exibir as mensagens do kernel, o conteúdo do buffering do kernel:
$ dmesg
Utilizado para exibir os limites dos usuários sobre o uso do espaço em disco:
$ quota
VERIFICANDO PROCESSOS COM O PS
As opções mais importantes são os seguintes:
- a - mostra todos os processos existentes;
- e - exibe as variáveis de ambiente relacionadas aos processos;
- f - exibe a árvore de execução dos processos;
- l - exibe mais campos no resultado;
- m - mostra a quantidade de memória ocupada por cada processo;
- u - exibe o nome do usuário que iniciou determinado processo e a hora em que isso ocorreu;
- x - exibe os processos que não estão associados a terminais;
- w - se o resultado de processo não couber em uma linha, essa opção faz com que o restante seja exibido na linha seguinte.
$ ps aux
A seguir, segue a descrição dos campos mostrados anteriormente e alguns que só são mostrados com a combinação lax:
- USER - nome do usuário dono do processo;
- UID - número de identificação do usuário dono do processo;
- PID - número de identificação do processo;
- PPID - número de identificação do processo pai;
- %CPU - porcentagem do processamento usado;
- %MEM - porcentagem da memória usada;
- VSZ - indica o tamanho virtual do processo;
- RSS - sigla de Resident Set Size, indica a quantidade de memória usada (em KB);
- TTY - indica o identificador do terminal do processo;
- START - hora em que o processo foi iniciado;
- COMMAND - nome do comando que executa aquele processo;
- PRI - valor da prioridade do processo;
- NI - valor preciso da prioridade (geralmente igual aos valores de PRI);
- WCHAN - mostra a função do kernel onde o processo se encontra em modo suspenso;
- STAT - indica o estado atual do processo, sendo representado por uma letra:
R - executável;
D - em espera no disco;
S - Suspenso;
T - interrompido;
Z - Zumbi.
Essas letras podem ser combinadas e ainda acrescidas de:
W - processo paginado em disco;
< - processo com prioridade maior que o convencional;
N - processo com prioridade menor que o convencional;
L - processo com alguns recursos bloqueados no kernel.
Verificando Serviço e interrompendo.
1. kill - Matar o processo informando o PID
Todos os exemplos abaixo enviam um sinal TERM para o processo especificado pelo PID, ele é o padrão do comando kill. Tanto o nome quanto o número do sinal pode ser usado. É só procurar o PID do processo e usá-lo no exemplo.
kill -SIGTERM pid
$ kill -TERM pid
$ kill -15 pid
Se quiséssemos matar o firefox faríamos:
ps -ef | grep firefox
XXXXXXXXXXXXXXXXXXXXXX??????????????????????
1986 ? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
kill -9 1986
Dicas:
a) Mata todos os processos que sua permissão no sistema permite:
kill -9 -1
b) Lista as opções disponíveis de sinal em uma tabela:
kill -L
Feito. Vamos ver outro método.
Tutorial Yum
Para instalar um pacote, use o comando "yum install", como em:
# yum install mysql-server
Para removê-lo posteriormente, use:
# yum remove mysql-server
O yum possui também um recurso de busca, que é bastante útil quando você está procurando por um pacote, mas não sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relação a outras distribuições. Use o comando "yum search", seguido por alguma palavra ou expressão, que faça parte do nome do pacote ou descrição, como em:
# yum search samba
Ele retorna um relatório contendo todos os pacotes relacionados, incluindo o texto de descrição de cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais restrita, procurando apenas nos nomes dos pacotes, use o parâmetro "list", como em:
# yum list httpd
Ele é bem menos falador, retornando apenas os pacotes que possuem "httpd" no nome, sem pesquisar nas descrições.
Uma terceira opção é a "provides" que mostra pacotes que incluem um determinado arquivo, pesquisando não no nome ou na descrição, mas sim no conteúdo dos pacotes. Ele é bastante útil em casos em que você precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote maior, como em:
# yum provides mcedit
Em caso de dúvida, você pode verificar se um determinado pacote está instalado e qual é a versão usando o comando "rpm -q", como em:
# rpm -q samba
samba-3.0.25b-0.el5.4
Para atualizar um pacote já instalado, use o comando "yum update", como em:
# yum update samba
O comando "yum install" também pode ser usado para atualizar pacotes. A diferença entre o "install" e o "update" é que o "update" se limita a atualizar pacotes já instalados. Ao perceber que o pacote solicitado não está instalado, ele exibe um aviso e aborta a instalação, como no exemplo abaixo. Isso reduz a possibilidade de você acabar instalando um novo serviço por engano:
# yum update mysql-server
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Could not find update match for mysql-server
Outra observação é que, depois de atualizar um serviço, é necessário recarregar o serviço (como em "service smb restart") para que a nova versão passe a ser usada. Esta é mais uma pequena diferença com relação às distribuições derivadas do Debian, onde os serviços são reiniciados de forma automática depois de atualizados.
Para atualizar todo o sistema, comece usando o parâmetro "check-update", que lista as atualizações disponíveis:
# yum check-update
Se usado sem especificar um pacote, o "update" vai atualizar de uma vez só todos os pacotes do sistema, de forma similar ao "apt-get upgrade" do Debian:
# yum update
Existe ainda o comando "yum upgrade", que é um pouco mais incisivo, incluindo também pacotes marcados como obsoletos (que não existem mais na versão atual). Ele é útil em casos em que é necessário atualizar uma versão antiga do sistema:
# yum upgrade
É possível também fazer com que o yum atualize o sistema automaticamente todas as madrugadas. Para isso, basta ativar o serviço "yum" e configurá-lo para ser ativado durante o boot:
# chkconfig yum on
# service yum start
Isso faz com que a atualização seja agendada através do cron e seja (por padrão) executada todos os dias às 4:02 da manhã, como especificado no arquivo "/etc/crontab".