Sunteți pe pagina 1din 50

APT-Proxy

Introdução
apt-proxy é um servidor de cache para o apt que cria uma cópia completa de um repositório remoto
em seu disco rígido. Como o apt-proxy se comporta como um servidor HTTP com um repositório,
você pode acessar os pacotes a partir de qualquer computador em sua rede. Se um pacote não
estiver no cache, o apt-proxy faz o download automaticamente e o coloca em cache. Isso pode
significar uma redução significante na taxa de download e no tempo de instalação se você instalar
alguns pacotes repetidamente (i.e. um upgrade ou dist-upgrade em suas máquinas).

Instalação

O apt-proxy pode ser instalado simplismente utilizando o comando:


$ sudo apt-get install apt-proxy

Configurando um Servidor apt-proxy


A primeira seção no arquivo de configuração do apt-proxy (localizado em /etc/apt-proxy/apt-proxy-
v2.conf) contém as configurações padrão para o programa e seu cache.
O primeiro passo é alterar o parâmetro address para o IP de seu servidor apt-proxy na rede
interna. O parâmetro port especifica a porta em que o apt-proxy receberá as requisições. A porta
padrão é a 9999, que é geralmente um bom valor para utilizar se não estiver em confito com
serviços existentes.
Uma outra opção é alterar o diretório de cache para o repositório, se desejado, para outro local ao
ivés de /var/cache/apt-proxy. Isto pode ser feito alterando o parâmetro cache_dir.
Se você estiver utilizando um proxy de Internet (como o squid), você pode configurar o apt-proxy
avisando-o sobre isso com http_proxy = proxy_server:port.
Se você estiver operando por trás de um firewall, você pode ter alguns problemas com conexões
FTP ativas quando tentar conectar a um backend FTP. passive_ftp = on deve resolver este
problema.
Os outros valores controlam o tempo que um pacote permanece no cache, quão antigo deve ser um
pacote antes que o apt-proxy cheque por novas versões ou quão freqüente o cache é checado por
pacotes antigos. Estas opções podem seguramente ser deixadas em seus valores padrão.
O apt-proxy tem que saber como encontrar os repositórios remotos, chamados de backends. Isto é
feito através das seções backends em /etc/apt-proxy/apt-proxy-v2.conf. Uma entrada backend para o
Ubuntu deve se parecer com isto:
[ubuntu]
;; Ubuntu archive
backends =
http://archive.ubuntu.com/ubuntu
http://de.archive.ubuntu.com/ubuntu

Como você pode ver, é possível especificar mais de um servidor, separados por espaços em branco.
Se o primeiro servidor estiver fora do ar, o apt-proxy tenta recuperar os dados a partir do segundo
servidor, e assim por diante.
Você pode também sobrescrever os valores configurados na seção [default]. Por exemplo, se
você sabe que um servidor em especial leva muito tempo para responder uma requisição, você pode
aumentar o valor tempo de expiração:
[ubuntu-lento]
timout = 60 ;espera 1 minuto
backends = prot://algum.servidor.muito.lento.net/ubuntu-lento

Um exemplo completo para apt-proxy-v2.conf pode ser visto aqui:


[DEFAULT]
;; Todos os tempos em segundos, mas você pode acrescentar um sufixo
;; para minutos(m), horas(h) ou dias(d)

address = 127.0.0.1
port = 9999
cache_dir = /var/cache/apt-proxy

;; Taxa de atualização de arquivos de controle (Packages/Sources/Contents)


min_refresh_delay = 1s
complete_clientless_downloads = 1

;; Configurações de debug.
debug = all:4 db:0

timeout = 30
passive_ftp = on

;;--------------------------------------------------------------
;; Cache housekeeping

cleanup_freq = 1d
max_age = 120d
max_versions = 3

;;---------------------------------------------------------------
;; Servidores (backends)
;;
;; Coloque cada servidor em sua própria [section]

[ubuntu]
; Ubuntu archive
backends =
http://archive.ubuntu.com/ubuntu
http://de.archive.ubuntu.com/ubuntu

[ubuntu-security]
; Ubuntu security updates
backends = http://security.ubuntu.com/ubuntu

[marillat]
backends = ftp://ftp.nerim.net/debian-marillat

[debian]
; Backend servers, in order of preference
backends =
http://ftp.us.debian.org/debian
http://ftp.de.debian.org/debian
http://ftp2.de.debian.org/debian
ftp://ftp.uk.debian.org/debian
[debian-non-US]
; Debian debian-non-US archive
backends =
http://ftp.uk.debian.org/debian-non-US
http://ftp.de.debian.org/debian-non-US
ftp://ftp.uk.debian.org/debian

[security]
; Debian security archive
backends =
http://security.debian.org/debian-security
http://ftp2.de.debian.org/debian-security

[openoffice]
; OpenOffice.org packages
backends =
http://ftp.freenet.de/pub/debian-openoffice
http://ftp.sh.cvut.cz/MIRRORS/OpenOffice.deb
http://borft.student.utwente.nl/debian

[apt-proxy]
; Apt-proxy new versions
backends = http://apt-proxy.sourceforge.net/apt-proxy

Inicializando o apt-proxy
Após alterar o arquivo de configuração do apt-proxy, reinicie o apt-proxy e atualize a lista
executando o seguinte:
$ sudo /etc/init.d/apt-proxy restart
$ sudo apt-get update

Todos os comandos apt-* podem agora ser utilizados transparentemente com o apt-proxy.

Importando o Cache do apt


Pacotes já baixados com o apt-get são salvos em /var/cache/apt/archives. Estes pacotes podem ser
importados para o cache do apt-proxy com apt-proxy-import a partir da lista de pacotes atual. apt-
get update deve ser executado antes para que o apt-proxy-import recupere uma lista recente,
como segue:
$ sudo apt-get update
$ sudo apt-proxy-import -r -i /var/cache/apt/archives

Configurando Clientes apt


Os clientes apt necessitam que o arquivo /etc/apt/sources.list seja reconfigurado para apontar para o
novo servidor apt-proxy ao invés do mundo externo. A configuração do sources.list é similar à
configuração normal de repositórios apt, exceto pelo fato de que a seção backend tem que ser
adicionada no final do caminho:
deb http://apt-proxy:port/backend dist component

Exemplo da linha acima:


deb http://localhost:9999/ubuntu dapper main restricted universe multiverse
deb-src http://localhost:9999/ubuntu dapper main restricted universe multiverse
^^^^^^
Esta é a seção backend (i.e. [ubuntu])

O arquivo sources.list completo correspondente ao apt-proxy-v2.conf acima, deve se parecer com


isto:
# entradas apt-proxy para módulos padrão
deb http://localhost:9999/ubuntu hoary main restricted universe multiverse
deb-src http://localhost:9999/ubuntu hoary main restricted universe multiverse

# entradas apt-proxy para correções de segurança


deb http://localhost:9999/ubuntu-security hoary-security main restricted
universe multiverse
deb-src http://localhost:9999/ubuntu-security hoary-security main restricted
universe multiverse

# repositórios adicionais
deb http://localhost:9999/marillat unstable main

# pacotes debian
deb http://localhost:9999/debian unstable main contrib non-free
deb http://localhost:9999/debian-non-US unstable/non-us main contrib non-free
deb http://localhost:9999/security sid main contrib non-free

Introdução
O apt-cacher é um programa para criar repositórios locais de atualizações sob demanda. Ou seja,
você configura o servidor e coloca os clientes de uma rede local apontando para os canais de
software (Repositórios) desse servidor. Assim, quando uma máquina cliente solicita um pacote, o
apt-cacher verifica se ele já existe no servidor, caso sim ele baixa dele, caso não ele baixa o pacote
para o servidor e depois copia para a máquina cliente. Isso evita que diversas máquinas em uma
rede baixem os mesmos pacotes, economizando assim tempo e banda de conexão.

Instalação
Para instalar o apt-cacher escolha a máquina servidora e use seu gerenciador de pacotes favorito.
Para funcionar, o apt-cacher necessita do Apache, logo será necessário instalá-lo também. Uma
maneira de instalar esses pacotes, seria digitar em um terminal:
sudo apt-get install apache2 apt-cacher

Não há necessidade de instalar coisa alguma nas máquinas clientes.

Configurando o apt-cacher no servidor


O arquivo de configuração principal do apt-cacher é o /etc/apt-cacher/apt-cacher.conf. Edite-o
conforme suas necessidades. Em seguida, uma breve descrição das opções. Vale lembrar que se
você tiver algum tipo de firewall será necessário liberar a porta 3142 para UDP e TCP.
cache_dir=/var/cache/ap
Diretório principal onde serão armazenados os arquivos .deb
t-cacher
admin_email=root@localh
e-mail do adminstrador da rede
ost

Lista de IPs, separada por vírgula, que podem acessar o apt-


cacher. Por exemplo: allowed_hosts=10.0.0.1-
allowed_hosts=* 10.0.0.10,10.5.0.1 indica que os IPs permitidos são
todos na faixa de 10.0.0.1 à 10.0.0.10 e mais o IP 10.5.0.1.
Para permitir que qualquer IP possa acessar, use *

Faz o contrário da opção anterior, ou seja, bloqueia os IPs


denied_hosts=
listados de acessarem o apt-cacher

Similar à allowed_hosts, mas os IPs são dados seguindo o


allowed_hosts_6=
padrão IPv6 (::ffff:w.x.y.z)

Similar à denied_hosts, mas os IPs são dados seguindo o


denied_hosts_6=
padrão IPv6 (::ffff:w.x.y.z)

Permite que apenas os domínios passados sejam válidos nos


allowed_locations=ftp.d
Canais de Software do Repositório. Essa opção vem
ominio.com.br
desabilitada padrão.

Gera relatórios diários de acesso do apt-cacher. Pode ser


visualizado abrindo em um navegador o endereço
generate_reports=1
http://IP.DO.SERVIDOR:3142/apt-cacher/report. Para
desabilitar use 0 (zero).

Limpa diariamente os pacotes que estão no cache, mas que não


clean_cache=1 estão nas listas dos Canais de Software do Repositório atual.
Para desabilitar use 0 (zero).

logdir=/var/log/apt-
Diretório dos logs de acesso ou de erros do apt-cacher
cacher

Tempo em horas para que as listas dos Canais de Software do


Repostiório sejam atualizadas. Caso seja 0 (zero) o apt-cacher
expire_hours=0
irá comparar o pacote requisitado com a versão presente no
servidor, daí irá atualizar se necessário.

http_proxy=dominio.prox Faz com que o apt-cacher passe os dados requisitados por um


y.com.br:8080 proxy externo. Essa opção vem desabilitada por padrão.

Habilita (1) ou desabilita (0) o proxy externo configurado na


use_proxy=0
opção anterior

Limitar a quantidade de bytes por segundo permitida para uso.


limit=0
Deixe em 0 (zero) para não fixar limite.

debug=0 Adiciona mais informações aos logs de erro. Habilite com 1 e


desabilite com 0.

Nesse momento, há dois caches em seu servidor. Um deles é o do apt-get e o outro é o do apt-
cacher. Você pode importar o cache do primeiro para o segundo executando em um terminal:
sudo /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives

Agora, reinicie o serviço do apt-cacher:


# /etc/init.d/apt-cacher restart

Se desejar iniciar o apt-cacher automaticamente junto com o sistema, edite o arquivo


/etc/default/apt-cacher e modifique o valor do campo AUTOSTART para 1.
Para testar suas configurações, abra um navegador e digite o endereço:
http://IP.DO.SEU.SERVIDOR:3142/apt-cacher. Sendo que IP.DO.SEU.SERVIDOR é, óbvio, o IP
da máquina usada como servidora e 3142 é a porta padrão usada pelo apt-cacher (a não ser que você
tenha modificado-a na sua configuração). Se aparecer uma página de informações do apt-cacher,
então o servidor está configurado. Caso contrário, reveja suas configurações. Há relatos de
problemas na instalação em máquinas com o Apache já instalado.

Configurando o apt-cacher no cliente


Há duas maneiras de configurar o cliente.
1. Editando o arquivo /etc/apt/sources.list Modifique cada linha do arquivo
/etc/apt/sources.list da seguinte maneira: onde houver, por exemplo,
deb http://br.archive.ubuntu.com/ubuntu/ dapper main restricted

modifique para:
deb http://IP.DO.SEU.SERVIDOR:3142/apt-
cacher/br.archive.ubuntu.com/ubuntu/ dapper main restricted

Nota: Não há quebra na linha. Se aparecer em seu navegador a linha quebrada é devido a
resolução de sua tela.
2. Criando um proxy para o apt-get. Crie (ou edite) o arquivo /etc/apt/apt.conf.d/01proxy
adicioando a linha:
Acquire::http::Proxy "http://IP.DO.SEU.SERVIDOR:3142";

Há o relato de erro para essa forma quando um cliente solicita atualização de um pacote.
Veja em https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/113658.
Agora basta atualizar o repositório do cliente. Isso pode ser feito através de seu gerenciador de
pacotes favorito ou usando em um terminal:
# apt-get update

Vale lembrar que quando você for baixar um pacote em uma máquina cliente os valores que
aparecem como velocidade de conexão e tempo de transferência não são tão reais, já que ela está
baixando do servidor local e não do externo. Apenas nos casos em que o pacote não esteja no
servidor local é que será necessário um tempo um pouco maior, já que o apt-chacer irá baixar esse
pacote para o servidor e ao mesmo tempo tranferir para a máquina cliente.
Fontes
Mais informações sobre o apt-cacher podem ser obtidas em sua página de manual no sistema:
$ man apt-cacher

Wireless
Contents

Contents

1. Wireless
1. Introdução
2. Configurando Rede Sem Fio com o Network Manager
1. Configurando suas Senhas e Chaves de Criptografia
2. Instalação
3. Usando Drivers de Rede Sem Fio do Windows
1. Obter o ''driver'' Windows
2. Instalando o Ndiswrapper
3. Instalando o Driver
4. Identificando sua Placa de Rede Sem Fio
4. Resolvendo Problemas
5. Créditos

Este documento é baseado no Centro de Ajuda Ubuntu, disponível a alguns cliques a partir do
menu Sistema > Ajuda e suporte. Diferentemente deste, algumas instruções foram acrescentadas
tornando-o ainda mais fácil e abrangente.
NOTA: Vale lembrar que antes de realizar qualquer sugestão dessa página wiki, você
precisa se certificar que sua placa de rede sem fio está ligada. Em alguns notebooks, por
exemplo, existem teclas que quando pressionadas ligam a placa.

Introdução
Muitas placas de rede sem fios são automaticamente detectadas pelo Ubuntu. Nesses casos, você
apenas precisa configurar sua conexão. Para isso, veja a seção Configurando Rede Sem Fio com o
Network Manager desse wiki.
Se a sua placa de rede sem fios não for detectada automaticamente, você precisará instalar o driver
da mesma. Alguns drivers proprietários, são suportados pelo Ubuntu. Para verificar se esse é seu
caso, acesse o menu Sistema > Administração > Drivers de hardware. Se ainda assim você não
tiver sorte, uma boa alternativa é usar a ferramenta ndiswrapper, que permite que o Ubuntu utilize
o driver disponível para o Microsoft Windows. Nesse caso, veja os passos na seção Usando Drivers
de Rede Sem Fio do Windows desse wiki.

DICA: Nas versões do Ubuntu anteriores à 8.04, você pode ver se a sua placa foi
reconhecida automaticamente através do menu Sistema > Administração > Rede.
Configurando Rede Sem Fio com o Network Manager
O network-manager-gnome procura automaticamente por redes disponíveis e para conectar-se é
muito simples.
1. Clique com o botão direito do mouse sobre o ícone do aplicativo (ele fica ao lado do relógio
do sistema) e verifique se a opção Habilitar rede sem fio esta selecionada.
2. Clique com o botão esquerdo do mouse e selecione uma das redes sem fio disponíveis.
Informe a senha que será solicitada, caso a rede esteja protegida (WEP ou WPA).
Após conectado, detalhes sobre a conexão e potência do sinal também são exibidos no ícone do
aplicativo.

Configurando suas Senhas e Chaves de Criptografia


Pode ser necessário configurar suas Senhas e Chaves de Criptografia para automaticamente
conectar em redes sem fio que estejam protegidas. Uma vez que você já configurou sua rede sem
fios como explicado na seção anterior, siga os passos abaixo.
• Abra o aplicativo Aplicativos > Acessórios > Senhas e chaves de criptografia.
• Clique no menu Arquivo > Novo...
• Na janela Criar nova... escolha a opção Senha do chaveiro e clique no botão Continuar.
• Escolha um nome para o chaveiro. Nesse exemplo, Chaveiro Rede Sem Fio. Clique no
botão Adicionar.
• Deixe os campos Senha e Confirmar Senha em branco. Clique no botão Criar. Na caixa
de mensagem "Armazenar senhas sem criptografia?" clique no botão Usar
armazenamento não seguro.
NOTA: Deixar o campo de senha em branco não significa que você deixará sua rede sem
fio insegura. Isso apenas é feito para que você não precise digitar uma senha para permitir
que a rede sem fio seja habilitada após cada inicialização do sistema.

• De volta ao aplicativo Senhas e chaves de criptografia, clique na aba Senhas. Clique com
o botão direito do mouse sobre o chaveiro que você acabou de criar. Selecione a opção
Definir como padrão.
Abaixo, estão algumas janelas que você deve ver durante o processo.
Instalação
Em versões do Ubuntu anteriores à 8.04, o Network Manager pode não vir instalado por padrão.
Para instalá-lo, siga os passos:
1. Execute o Synaptic através do menu Sistema > Administração > Gerenciador de Pacotes
Synaptic.
2. Navegue pela lista de pacotes disponíveis e dê clique duplo sobre o pacote network-
manager-gnome. Uma janela com a mensagem "Marcar mudanças adicionais
requeridas?" deve aparecer. Clique no botão Marcar.
3. Clique no botão Aplicar, na barra de ferramentas do Synaptic. Uma janela de resumo deve
aparecer. Clique no botão Aplicar dessa janela. Aguarde o pacote ser baixado e instalado.

DICA: Para mais informações sobre como usar o Synaptic, clique aqui.

Para aqueles que se sentem confortáveis com o uso do terminal, também é possível instalar
executando:
sudo apt-get install network-manager-gnome

Usando Drivers de Rede Sem Fio do Windows


Obter o ''driver'' Windows
Geralmente, ao comprar um computador, o mesmo vem com um CD contendo todos os drivers de
seu equipamento. Portanto, basta você copiar os arquivos referentes ao driver de sua placa de rede
sem fio. Caso você não tenha esse CD, procure na página do fabricante de seu equipamento por
uma seção de Suporte ou Drivers. Nessas seções, tipicamente, você pode baixar o driver desejado.
Caso você não saiba qual é o modelo de sua placa de rede sem fios, veja a seção Identificando sua
Placa de Rede Sem Fio desse wiki.
Instalando o Ndiswrapper
Mesmo que a sua placa de rede sem fios não tenha um driver nativo para o Linux, você poderá
conseguir que esta funcione usando o ndiswrapper. O ndiswrapper é um módulo do Linux que
permite que o Ubuntu utilize o driver da placa de rede sem fios para o Windows (na maioria dos
casos).

NOTA: Estas instruções aplicam-se somente às versões do Ubuntu x86 e AMD64, e não
funcionam para o Ubuntu Power PC (PPC).

DICA: Se você tem acesso à internet, você pode verificar se a sua placa de rede sem fios
está na lista de placas suportadas no site do ndiswrapper.

Para instalar o ndiswrapper, siga os passos:


1. Execute o Synaptic através do menu Sistema > Administração > Gerenciador de Pacotes
Synaptic.
2. Navegue pela lista de pacotes disponíveis e dê clique duplo sobre o pacote ndisgtk. Uma
janela com a mensagem "Marcar mudanças adicionais requeridas?" deve aparecer.
Clique no botão Marcar.
3. Clique no botão Aplicar, na barra de ferramentas do Synaptic. Uma janela de resumo deve
aparecer. Clique no botão Aplicar dessa janela. Aguarde o pacote ser baixado e instalado.
DICA: Caso você não tenha acesso a internet, você pode instalar o pacote ndiswrapper-
utils que é fornecido no CD do Ubuntu. Adicione o CD do Ubuntu como repositório e
instale esse pacote. Para informações de como adicionar repositórios, acesse a página wiki
Adicionando Repositórios).

Instalando o Driver
Copie para um mesmo diretório todos os arquivos do driver Windows de a sua placa de rede sem
fios. Geralmente, esses arquivos terminam com a extensão .SYS e com a extensão .INF. Se você
encontrar arquivos cujo os nomes terminem com .BIN, copie estes também.
Se você não conseguir encontrar os arquivos corretos e possuir acesso alternativo à internet, você
poderá encontrar mais ajuda na página do ndiswrapper.
Se você já instalou o ndisgtk, siga os passos:
1. Selecione o menu Sistema > Administração > Drivers Windows para Placas de Rede
Sem Fios. A janela "Drivers de rede wireless" deve aparecer.
2. Clique no botão Instalar Novo Driver.
3. Selecione a Localização (ou seja, o diretório) onde você copiou os arquivos do driver.
Clique sobre o arquivo com a extensão .INF para selecioná-lo.
4. Clique no botão Instalar.
Se você não instalou o ndisgtk, use este procedimento:
1. Abra o terminal (Aplicativos > Acessórios > Terminal) e digite o comando:
sudo ndiswrapper -i ~/Desktop/drivername.inf
NOTA: O comando acima assume que o seu arquivo .INF tem o nome drivername.inf e
que foi copiado para o seu Desktop. Substitua estes valores se necessário.

2. Para verificar se está funcionando corretamente, digite:


ndiswrapper -l

Se estiver funcionando corretamente, você deve visualizar:


Installed ndis drivers:
{name of driver} driver present, hardware present

3. Para o ndiswrapper funcionar, você necessita carregar um módulo. Para fazer isto, digite:
sudo depmod -a
sudo modprobe ndiswrapper

4. Para assegurar que o módulo seja carregado cada vez o computador for inicializado, digite:
sudo ndiswrapper -m

Pronto! Agora deve ser possível configurar uma conexão com a internet.

Identificando sua Placa de Rede Sem Fio


Para identificar sua placa de rede sem fios, acesse um terminal (Aplicativos > Acessórios >
Terminal) e execute o comando:
sudo lshw -C network

Você deve receber algo parecido com:


*-network
description: Ethernet interface
product: 191 Gigabit Ethernet Adapter
vendor: Silicon Integrated Systems [SiS]
physical id: 4
bus info: pci@0000:00:04.0
logical name: eth0
version: 02
serial: 00:90:f5:71:9d:96
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical
configuration: broadcast=yes driver=sis190 driverversion=1.2
ip=10.0.0.1 latency=0 module=sis190 multicast=yes
*-network:1
description: Wireless interface
physical id: 2
logical name: wlan0
serial: 00:15:af:cd:5a:b9
capabilities: ethernet physical wireless
configuration: broadcast=yes multicast=yes wireless=IEEE 802.11bg

Conduto, note que para essa placa de rede sem fio em particular, a saída não mostra informações
sobre o modelo. Nesses casos, podemos tentar mais duas opções:
• Se sua placa estiver conectada em uma porta PCI:
lspci
• Se sua placa estiver conectada em uma porta usb:
lsusb

Por exemplo, se sua placa estiver conectada em uma porta usb, a saída do lsusb pode ser algo como:
Bus 001 Device 002: ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless
802.11g 54Mbps Network Adapter

Agora sim, descobrimos que a placa é uma Realtek, modelo RTL8187B. Na verdade, essa placa é
reconhecida pelo Ubuntu desde a versão 8.04. Além do modelo, você também pode usar o campo
ID, nesse exemplo 0bda:8189, para procurar pelo driver de sua placa.

Resolvendo Problemas
Algumas placas podem não funcionar automaticamente no Ubuntu. Se este for o caso, por favor
veja o Guia de Redes Sem Fios, o qual é uma excelente fonte para resolver problemas com placas
de rede sem fios.
Uma lista completa das placas de rede sem fios que funcionam no Ubuntu pode ser encontrada no
wiki internacional. Por favor, adicione a sua placa à lista se ela funcionar.
Todas as informações relacionadas à redes sem fios no Ubuntu é colecionada na Central de Redes
Sem Fios no wiki internacional.
2. Instalando e configurando o restante do sistema.
• Habilitando o usuário root:
Agora iremos fazer login no sistema com o usuário administrator e o password escolhido durante a
instalação. Iremos habilitar o usuário root primeiro para facilitar o restante da instalação. Se desejar,
depois você pode desabilitá-lo.
sudo passwd root
su

Agora estamos logados no sistema como usuário root.


Observação: Este procedimento é opcional e se você não deseja habilitar o usuário root por razões
de segurança, por favor execute o comando abaixo para alternar para o usuário root sem habilitar o
mesmo para poder efetuar login diretamente.
sudo su

• Configurando a rede:
Como o instalador do Ubuntu configurou o sistema para utilizar as configurações de rede via
DHCP, nós devemos alterar agora esta configuração pois o servidor deve possuir um endereço ip
estático. Edite o arquivo /etc/network/interfaces e ajuste a configuração da maneira que você
precisar. Neste exemplo, iremos utilizar o endereço ip 192.168.0.100.
vi /etc/network/interfaces

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).

# The loopback network interface


auto lo
iface lo inet loopback

# This is a list of hotpluggable network interfaces.


# They will be activated automatically by the hotplug subsystem.
mapping hotplug
script grep
map eth0

# The primary network interface


auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

Agora de um restart no serviço de rede:


/etc/init.d/networking restart

Edite o arquivo /etc/hosts e adicione o seu endereço ip:


vi /etc/hosts

127.0.0.1 localhost.localdomain localhost server1


192.168.0.100 server1.example.com server1

# The following lines are desirable for IPv6 capable hosts


::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

• Configurando o Hostname:
echo server1.example.com > /etc/hostname
/bin/hostname -F /etc/hostname

• Edite o arquivo /etc/apt/sources.list e atualize a sua instalação do Linux: ( Neste momento


precisaremos da sua conexão com à Internet )
Agora nós editaremos o arquivo /etc/apt/sources.list para habilitar o repositório universe do Ubuntu.
vi /etc/apt/sources.list

Ele deverá ficar assim:


#
# deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy
main restricted

#deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy


main restricted

deb http://de.archive.ubuntu.com/ubuntu/ edgy main restricted


deb-src http://de.archive.ubuntu.com/ubuntu/ edgy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://de.archive.ubuntu.com/ubuntu/ edgy universe
deb-src http://de.archive.ubuntu.com/ubuntu/ edgy universe

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted
universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted
universe multiverse

deb http://security.ubuntu.com/ubuntu edgy-security main restricted


deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted
deb http://security.ubuntu.com/ubuntu edgy-security universe
deb-src http://security.ubuntu.com/ubuntu edgy-security universe

Agora nós carregaremos as novas fontes e atualizaremos o nosso sistema:


apt-get update
apt-get upgrade

• Instalando o Daemon SSH:


apt-get install ssh openssh-server

• Os próximos passos:
Agora você pode efetuar o login no seu servidor à partir de uma máquina Windows cliente, com o
Putty ( software cliente ssh ) (http://www.chiark.greenend.org.uk/~sgtatham/putty/). Esta é uma
maneira fácil de você se conectar ao seu servidor SSH, e usar o Putty para copiar e colar os
comandos. Mas se você desejar editar os arquivos de configuração no servidor, você pode usar os
editores de linha de comando como vi, pico ou o joe, ou usar o programa WinSCP
(http://winscp.net/eng/docs/lang:en) para editar os arquivos usando sua conexão SSH em um cliente
Windows.
• Quota:
apt-get install quota

Edite o arquivo /etc/fstab conforme mostrado abaixo. Note que foi adicionado usrquota,grpquota
para as partições com o mount point: /
vi /etc/fstab

# /etc/fstab: static file system information.


#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda1
UUID=226d9304-88ca-44c0-a3e3-d1ad26cfc084 / ext3
defaults,errors=remount-ro,usrquota,grpquota 0 1
# /dev/sda5
UUID=d824ce36-04b8-4870-83f4-f1a5037c2de4 none swap sw
0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0

E execute:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

Você verá a mensagem de erro abaixo quando rodar o comando quotacheck –avugm pela primeira
vez:
quotacheck: WARNING - Quotafile //quota.user was probably truncated. Cannot save
quota settings...
quotacheck: WARNING - Quotafile //quota.group was probably truncated. Cannot
save quota settings...

Isto é normal, não se preocupe.


• SAMBA Server:
apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53
winbind smbclient

Edite o arquivo /etc/samba/smb.conf conforme mostrado abaixo:


[global]
workgroup = MYWORKGROUP
netbios name = SERVER1
server string = %h server (Samba, Ubuntu)

passdb backend = tdbsam


security = user
username map = /etc/samba/smbusers
name resolve order = wins bcast hosts
domain logons = yes
preferred master = yes
wins support = yes

# Set CUPS for printing


load printers = yes
printcap name = CUPS
printing = CUPS
printer admin = @lpadmin

# Default logon
logon drive = H:
logon script = scripts/logon.bat
logon path = \\server1\profile\%U

# Useradd scripts
add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/usernod -G %g %u
add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
idmap uid = 15000-20000
idmap gid = 15000-20000
template shell = /bin/bash

# sync smb passwords woth linux passwords


passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n
*Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd chat debug = yes
unix password sync = yes

# set the loglevel


log level = 3

[public]
browseable = yes
public = yes

[homes]
comment = Home
valid users = %S
read only = no
browsable = no

[printers]
comment = All Printers
path = /var/spool/samba
printable = yes
public = no
writable = no
create mode = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
write list = root, @smbadmin

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
guest ok = yes
writable = no
share modes = no

[profile]
comment = User profiles
path = /home/samba/profiles
valid users = %U
create mode = 0600
directory mode = 0700
writable = yes
browsable = no
guest ok = no

Crie os diretórios para os logons de domínio e os perfis:


mkdir /home/samba
mkdir /home/samba/netlogon
mkdir /home/samba/profiles
mkdir /var/spool/samba
chmod 777 /var/spool/samba/
chown -R root:users /home/samba/
chmod -R 771 /home/samba/

Agora reinicie o serviço do Samba:


/etc/init.d/samba restart

Edite o arquivo /etc/nsswitch.conf e altere a linha:


vi /etc/nsswitch.conf

hosts: files dns

para
hosts: files wins dns

Agora adicione todos os computadores do seu grupo de trabalho no arquivo /etc/hosts do servidor:
vi /etc/hosts

[...]
192.168.0.100 server1
192.168.0.110 workstation1
192.168.0.111 workstation2
192.168.0.112 workstation3
192.168.0.113 workstation4
[...]

Adicione o usuário root ao banco de dados de senhas do SAMBA. O usuário root (alias:
Administrator) também será o administrador do domínio. Esta conta de usuário será necessária para
adicionar novos computadores no domínio SAMBA
smbpasswd -a root

Crie o arquivo /etc/samba/smbusers e adicione a linha "root = Administrator" com este comando:
echo "root = Administrator" > /etc/samba/smbusers

Isto permitirá usar o usuário Administrator do Windows como um alias para o usuário root do
Linux.
Agora iremos testar se a configuração está correta:
smbclient -L localhost -U%

A saída deste comando, deverá ser vista como algo similar a isto:
Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]

Sharename Type Comment


--------- ---- -------
public Disk
print$ Disk Printer Drivers
netlogon Disk Network Logon Service
IPC$ IPC IPC Service (server1 server (Samba, Ubuntu))
ADMIN$ IPC IPC Service (server1 server (Samba, Ubuntu))

Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]

Server Comment
--------- -------
SERVER1 server1 server (Samba, Ubuntu)

Workgroup Master
--------- -------
MYWORKGROUP SERVER1

Configure os grupos de domínios padrão para o windows: (Obs.: Execute estas linhas de comando
no Prompt do Dos nas estações windows)
net groupmap modify ntgroup="Domain Admins" unixgroup=root
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup

• Adicionando usuários ao seu domínio samba:


Agora iremos adicionar um usuário, chamado Tom, ao seu domínio Samba. Você deverá criar esta
conta, para que o usuário possa efetuar login no domínio do seu servidor Samba.
1. Adicionando o usuário Tom no Linux:
useradd tom -m -G users

2. Adicionando o usuário Tom do Linux ao banco de dados de senhas do Samba.


smbpasswd -a tom

• Adicionando compartilhamentos:
Agora iremos adicionar compartilhamentos que estarão disponíveis para todos os usuários:
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/

No final do arquivo /etc/samba/smb.conf adicionamos as seguintes linhas:


[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes

E reiniciamos o serviço do Samba:


/etc/init.d/samba restart
• Instalando o Cups:
apt-get install cupsys cupsys-client cupsys-driver-gimpprint defoma fontconfig
foomatic-db foomatic-filters libcupsimage2 libexpat1 libfontconfig1 libfreetype6
libjpeg62 libpaper1 libpng12-0 libslp1 libtiff4 patch perl perl-modules ttf-
bitstream-vera ucf

Para a acessar a interface web à partir da minha estação (192.168.0.70), eu preciso configurar o
cups para passar a escutar requisições dos ips desejados no servidor e permitir acessos da máquina
com o IP 192.168.0.70.
vi /etc/cups/cupsd.conf

O arquivo cupsd.conf depois de modificado deverá estar assim:


#
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler. See "man cupsd.conf" for a complete description of this
# file.
#

# Log general information in error_log - change "info" to "debug" for


# troubleshooting...
LogLevel info

# Administrator user group...


SystemGroup lpadmin

# Only listen for connections from the local machine.


Listen localhost:631
Listen 192.168.0.100:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.


Browsing Yes
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowseAddress @LOCAL

# Default authentication type, when authentication is required...


DefaultAuthType Basic

# Restrict access to the server...


<Location />
Order allow,deny
Allow localhost
Allow @LOCAL
Allow 192.168.0.70
</Location>

# Restrict access to the admin pages...


#<Location /admin>
# Order allow,deny
# Allow localhost
#</Location>

<Location /admin>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.0.70
</Location>

# Restrict access to configuration files...


<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.0.70
</Location>

# Set the default printer/job policies...


<Policy default>
# Job-related operations must be done by the owner or an adminstrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-
Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription
Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-
Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

# All administration operations require an adminstrator to authenticate...


<Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer
Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-
Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer
Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-
Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-
Set-Default>
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>

# Only the owner or an administrator can cancel or authenticate a job...


<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit All>
Order deny,allow
</Limit>
</Policy>

Adicione o usuário cupsys ao grupo shadow:


adduser cupsys shadow

E dê um restart no daemon do Cups:


/etc/init.d/cupsys restart

Agora, o interface web do cups estará acessível de qualquer web browser na minha máquina:
http://192.168.0.100:631/
Agora eu posso efetuar login na interface web do cups com o usuário root e minha senha de root.
Notas: Se não houver um driver para Linux disponível para sua impressora e você precisa usar esta
impressora à partir de qualquer estação Windows através do Samba, você pode contactar o
fabricante do RAW da sua impressora e instalar o driver correto para sua estação Windows.
Se você criou uma nova impressora no Cups, você deve adicioná-la ao samba com o comando:
cupsaddsmb -a

• Links:
- http://www.ubuntu.com
- http://www.samba.org
- http://www.cups.org

Como instalar o Java usando apt-get


Conteúdo

Contents

1. Como instalar o Java usando apt-get


1. Introdução
2. Instalando o Java (JRE)
3. Instalando o plugin Java (para seu navegador)
4. Instalando o Java para programadores
2. Instalando o Java pelo site da Sun
1. Instalando a última versão do Java + NetBeans
2. Colocando o Java no $PATH padrão
3. Criando a variável de ambiente $JAVA_HOME
4. Créditos

Introdução
Esse tutorial irá mostrar a maneira atual mais simples de se instalar o Java para seu computador.
Não é mais preciso baixar nenhum pacote do site da Sun pois agora o Java está no repositório
multiverse do Ubuntu. Para instalá-lo é preciso primeiro ter o repositório multiverse habilitado no
seu Ubuntu (para habilitar veja aqui).

Instalando o Java (JRE)


JRE é o Ambiente de Execução Java que permite que aplicações Java sejam executadas.
Vamos ao comando:
sudo apt-get install sun-java6-jre

Após isso, configure o Ubuntu para usá-lo:


sudo update-alternatives --config java

O sistema irá prover algumas opções, digite o número correspondente a


• /usr/lib/jvm/java-6-sun/jre/bin/java
Instalando o plugin Java (para seu navegador)
O plugin do Java não é nada mais que um JRE embutido em seu navegador. Ele possibilita que sites
de bancos,e outros, funcionem corretamente porque os mesmos usam "applets" que são aplicativos
em Java.
Para instalá-lo digite:
sudo apt-get install sun-java6-plugin

Após isso, configure o Ubuntu para usá-lo:


sudo update-alternatives --config javap

Obs.: o comando correto tem javap, pois configura o plugin do java e não o java como um todo.
O sistema irá prover algumas opções, digite o número correspondente a
• /usr/lib/jvm/java-6-sun/bin/javap
Pronto. Se você deseja apenas usar o Java, já está tudo configurado. Se você deseja fazer programas
em Java, siga em frente pois será preciso instalar o JDK.

Instalando o Java para programadores


O JDK é o Kit de Desenvolvimento Java, ele permite que programas em Java sejam compilados
para bytecodes, que são executáveis em qualquer computador com JRE instalado.
Para instalar também é bem simples. No Terminal digite:
sudo apt-get install sun-java5-jdk

Após isso, configure o Ubuntu para usá-lo:


sudo update-alternatives --config javac

O sistema irá prover algumas opções, digite o número correspondente a


• /usr/lib/jvm/java-1.5.0-sun/bin/javac
Pronto, agora você já pode programar em Java com sua IDE ou editor de texto preferido.

Instalando o Java pelo site da Sun


Instalando a última versão do Java + NetBeans
Muitas vezes os programadores precisam da "última versão" ou até mesmo de alguma versão antiga
específica, e o apt-get nem sempre disponibiliza imediatamente a última versão lançada pela Sun ou
não mantém versões antigas. Os passos anteriores ensinam a instalar a versão 6 para usuários e 5
para programadores, mas as últimas versões podem ser encontradas em:
http://java.sun.com/javase/downloads/index.jsp (Java SE, versão padrão do Java).
Nota: para o Java ME (Micro Edition - versão "leve" do Java para celulares ou pequenos
aparelhos) consulte: http://java.sun.com/javame/downloads/index.jsp e para o Java EE (versão
"pesada", para servidores e soluções empresariais) veja:
http://java.sun.com/javaee/downloads/index.jsp.
Agora, procure a seção que deseja fazer download. Recomenda-se a "JDK 6 with NetBeans 5.5",
pois o NetBeans é uma poderosa IDE livre feita pela própria Sun; mas você pode escolher entre
"JDK 6", "JDK 6 with Java EE" ou qualquer outra que estiver disponível.
Depois de clicar no botão "Download", clique em "Accept License Agreement" na tela que surgiu;
isso se você aceitar os termos do contrato, claro. Em seguida, clique num link que tem o nome da
versão toda (algo como "Java SE Development Kit and NetBeans IDE Cobundle (JDK 6 / NB
5.5)") seguido por "for Linux". Depois de baixá-lo em qualquer pasta, vá a um terminal e
transforme-o em executável:
sudo chmod 770 jdk-6-nb-5_5-linux.bin

Nota: trocando se necessário, é claro, o nome do executável acima pelo nome do que você baixou.
Não esqueça do "tab" que auto-completa.
Após isso, execute-o:
sudo ./jdk-6-nb-5_5-linux.bin

e siga as instruções da tela, que são fáceis de entender.

Colocando o Java no $PATH padrão


Depois de instalar, o seu sistema está pronto para executar a última versão do Java. Mas, para ter
certeza que seu sistema esteja usando a última versão, você deve executar os seguintes passos:
Vá a um terminal e digite:
java -version

Isso exibirá a versão do Java que está no $PATH. Se aparecer a versão que você acabou de instalar,
no meu caso: java version "1.6.0" é porque tudo já está OK. Se aparecer algo como: "java version
1.5", "java version 1.4.2" ou ainda "Command not found", é porque você precisa definir a versão do
Java correto no $PATH.
Para consultar o conteúdo do $PATH, vá num terminal e digite:
echo $PATH

O Java que o sistema está pegando por padrão pode estar em um desses diretórios que apareceram
após esse comando, separados por ":". No Ubuntu provavelmente o sistema estará usando uma
ligação (link) do Java que está em /usr/bin. Sendo assim, vá até esse diretório:
cd /usr/bin

Para verificar se há algum Java aí, digite:


ls -lath java

Ele mostrará algo como:


lrwxrwxrwx 1 root root 22 2007-01-25 20:35 java -> /XXX/YYY/bin/java

sendo XXX e YYY o local onde a versão incorreta do Java está instalada. Você deve fazer esse link
apontar para o lugar correto, então primeiro apague o link e depois crie-o apontando para a versão
do java correto (que, se você fez a instalação padrão do Java, estará em /opt/jdk1.6.0/bin/java; ou ao
invés de jdk1.6.0 a versão que você instalou):
sudo rm java
sudo ln -s /opt/jdk1.6.0/bin/java java
lembrando de trocar o "jdk1.6.0" pela versão instalada. Use o tab para auto-completar.
Teste novamente e veja se sua versão está agora OK:
cd /
java -version

Criando a variável de ambiente $JAVA_HOME


Não é fundamental, mas é desejável que se defina a variável de ambiente chamada JAVA_HOME,
pois alguns programas a utilizam para saber a localização exata da última versão do Java instalado.
Primeiro verifique se essa variável já não está definida, abra um terminal e digite o seguinte:
echo $JAVA_HOME

Se aparecer o local correto da última versão do Java instalado, pare por aqui e está tudo OK! Caso
contrário, se nada aparecer faça o seguinte no terminal:
sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
sudo gedit /etc/bash.bashrc

Adicione o seguinte no final do arquivo:


JAVA_HOME=/opt/jdk1.6.0/bin/java
export JAVA_HOME

Lembrando de trocar "/opt/jdk1.6.0/bin/java" pelo local correto da sua instalação. No próximo


login, lembre-se de verificar se ela está definida corretamente:
echo $JAVA_HOME

Caso o JAVA_HOME esteja sendo definido de forma errada, você precisará encontrar onde é que
ele está sendo definido para fazer a mudança. Comece procurando pelo arquivo de /etc/bash.bashrc
e continue nos demais arquivos de inicialização do Linux.

Instalando aMSN
Instalando pacotes necessários
É necessário instalar o tcl e o tk. Para isso, abra o terminal e digite:
sudo apt-get install tcl8.4 tk8.4

Baixando o arquivo
Faça o download da última versão do aMSN:
amsn-0.97RC1-1.tcl84.x86.package

Dando Permissão
Clique com o botão direito do mouse no pacote baixado e vá em Propriedades, na janela que abrir,
clique na aba Permissões e marque as opção que permite a execução do arquivo. Clique em Fechar.
Instalando
Dê dois clique no arquivo baixado, sigas as instruções na tela e pronto! O aMSN estará disponível
através de:
Aplicações > Internet > aMSN

Instalando Skins para aMSN


Mais skins podem ser encontradas em: http://amsn-project.net/skins.php

aMSN Live!
Screenshot Abra o terminal e digite:
cd /usr/share/amsn/skins
wget http://heanet.dl.sourceforge.net/sourceforge/amsn/aMSN_Live-1.0.tar.gz
tar xzf aMSN_Live-1.0.tar.gz
rm aMSN_Live-1.0.tar.gz

Depois abra o aMSN e selecione a skin baixada através do menu:


Contas > Skin Selecionada

Skype
O Skype é uma aplicação de messaging com suporte de voz (voice over ip - VoIP). Existe para
Linux, Windows, Mac OS, etc... É uma aplicação gratuita que permite conversas em tempo real
utilizando o texto e a voz

Instalando o Skype
Modo Manual
Clique aqui para ir à pagina de downloads do skype (escolha pelo pacote Debian Package). Como é
um pacote do tipo "deb, bastar clicar duas vezes e seguir os passos da janela que se abrirá para
instalar. Você também pode instalar pelo terminal, digitando:
$ sudo dpkg -i skype*.deb

Via Repositório
Para instalar o Skype usando o apt-get você terá que adicionar o Medibuntu, que nada mais é que
um repositório com software gratuito para ubuntu, do qual a canonical não disponibiliza nos
repositórios oficiais por motivos legais.
Primeiramente abra o terminal e adicione a Public Key do Medibuntu:
$sudo wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key
add -

Então no terminal abra o arquivo de configuração dos repositórios:


$sudo gedit /etc/apt/sources.list

e adicione as seguintes linhas no final do arquivo:


## Medibuntu - Ubuntu 9.04 “Jaunty Jackalope”
## Por favor reporte bugs para https://bugs.launchpad.net/medibuntu/
deb http://packages.medibuntu.org/ jaunty free non-free
# deb-src http://packages.medibuntu.org/ jaunty free non-free

Salve e feche o arquivo, depois digite no terminal para pergar a lista de programas do novo
repositório:
$sudo apt-get update

Pronto, agora você já pode instalar seu Skype pelo apt-get digitando no terminal:
$sudo apt-get install skype

Pronto, agora seu Skype está instalado, e o repositório adicionado para você poder pegar outros
vários pacotes interessantes.
OBS.: Para adicionar o Medibuntu em outras versões do Ubuntu, basta substituir o codinome
intrepid pelo primeiro nome do codinome de sua versão, como por exemplo o Hardy Heron,
basta colocar hardy no lugar do intrepid.
A partir daí o skype deverá estar disponível. Para iniciar o skype você pode digitar no próprio
terminal o comando:
$ skype

Ou então ir até Aplicações > Internet> Skype


Squid
O Squid é um Servidor proxy cache de alto desempenho que suporta os protocolos HTTP,
HTTPS,FTP, TLS, SSL. Reduz o uso da banda e melhora os tempos de resposta de páginas
solicitadas que estão em cache. O Squid tem um grande controle de ACLS sendo muito flexível. Ele
aumenta a velocidade de entrega da página solicitada ao cliente. Funciona em Linux, Unix e
Windows, é licenciado sob o GNU GPL.
Um servidor proxy é uma ferramenta importante em uma rede interna que tenha contato com outra
pública como a internet, pois implementa uma série de facilidades e controles, de modo a
possibilitar que máquinas de uma rede privada possam acessar uma rede pública sem que para isso
tenham uma ligação direta.
Ao final deste documento saberemos como instalar e configurar basicamente um servidor proxy
Squid, e como faze-lo funcionar como proxy transparente.

Instalando e Configurando
Instalando o Squid
Instalando os pacotes necessários
sudo aptitude install squid squid-common

verificando se o pacote foi instalado corretamente


sudo dpkg -l |grep squid

sudo dpkg -l |grep squid


squid-common 2.6.5-4ubuntu2 Internet Object Cache (WWW proxy cache)

Configuração básica do Squid


cd /etc/squid

sudo cp squid.conf squid.conf.sample

Editando o arquivo de configuração:


sudo vim /etc/squid/squid.conf

descomente as seguintes opções:


Porta padrão onde o squid vai escutar as solicitações http_port 3128.
Nome do host em rede, para exibição em possíveis erros nas solicitações dos clientes.
visible_hostname nomedohost.
ex: visible_hostname serverproxy.
"Isso vai fará com que quando o Squid ler o arquivo squid.conf ele apresente o nome do servidor
definido na opção visible_hostname"
agora salve o arquivo
" esc"
:wq!
Iniciando o Squid
Isso vai criar a estrutura do cache do Squid de acordo com as definiçoes da 'opção cache_dir' no
arquivo squid.conf.
sudo squid -z

Iniciando o Daemon do Squid


sudo /etc/init.d/squid start
* Starting Squid HTTP proxy squid [ OK ]

verificando se a porta 3128 esta aberta e escutando:


sudo netstat -nlt

Conexões Internet Ativas (sem os servidores)


Proto Recv-Q Send-Q Endereço Local Endereço Remoto Estado

tcp 0 0 0.0.0.0:3128 0.0.0.0:* OUÇA

A saida deve ser algo como isso, dependendo dos serviços que estão rodando em sua máquina.
Pronto nosso servidor já esta funcionando!!! =)
Agora é so configurar o navegador das estações.
ex: 10.0.0.1:3128
onde 10.0.0.1 é o ip do servidor proxy e 3128 a porta do squid.

Proxy Transparente
Agora precisamos adicionar a seguinte regra no Iptables, isso ira redirecionar o tráfego da porta 80
para a porta 3128
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-
port 3128

Entendendo os LOGS e estrutura do cache


• O diretorio onde se encontram os arquivos são gerados: /var/log/squid
• Registra toda atividade como URLS acessadas falha na autenticação:
/var/log/squid/access.log
• Registra informações do cache: /var/log/squid/cache.log
• Registra atividade dos objetos gravados e retirados do cache: /var/log/store.log

Dica do dia
Monitoramento o acesso dos usuários de forma simples e tempo real
sudo tail -f /var/log/access.log | grep " IP da máquina que se quer monitorar"

Ex:
sudo tail -f /var/log/access.log | grep " 10.0.0.1"

Obs: Existem outras ferramentas mais complexas que geram relatórios detalhados, como o SARG
(squid analysis report generator), projeto de um Brasileiro chamado Pedro Orso. Mais informações
em http://sarg.sourceforge.net .

Estrutura do cache
O cache do squid é o local onde se armazena os objetos.
Observando a opção "cache_dir" no arquivo de configuração /etc/squid.conf podemos ver o
diretorio default é o /var/log/squid.
como no exemplo : /var/spool/squid 100 16 256
• 100 = numero de Megas 16 = Diretórios 256 = Subdiretórios

Para saber mais


• Squid Web Proxy Cache

Ubuntu Linux autenticando no Active


Directory
Informações
fja.br DOMINIO do Active Directory

fjadc01.fja.br Controlador de dominio

10.1.0.1 IP do controlador de dominio

FJA.BR Kerberos Realm

gert Estação de Trabalho Ubuntu

gert.fja.br FQDN da estação de trabalho

fjadc01 Servidor NTP

Instalando os pacotes necessários


sudo aptitude install krb5-user libpam-krb5 winbind samba smbfs smbclient krb5-
config libkrb53 libkadm55

Sicronizando a hora
Use o comando ntpdate para sincronizar a hora
sudo ntpdate 10.2.0.1

Edite o arquivo /etc/hosts adicionando o ip e o nome do DC de sua rede


vi /etc/hosts
127.0.0.1 gert.fja.br localhost gert
127.0.1.1 gert

# The following lines are desirable for IPv6 capable hosts


::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

10.2.0.1 fjadc01
10.2.0.2 fjadc02

Configurando o Kerberos
Edite o arquivo /etc/krb5.conf adicionando as seguintes linhas
[libdefaults]
default_realm = FJA.BR
[realms]
FJA.BR = {
kdc = fjadc01.fja.br
default_domain = FJA.BR
kpasswd_server = fjadc01.fja.br
admin_server = fjadc01.fja.br
}

[domain_realm]
.fja.br = FJA.BR

Testando a conexão com o AD


kinit <ENTER>
Password for alex@FJA.BR: ****

klist <ENTER>
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: alex@FJA.BR

Valid starting Expires Service principal


07/16/07 15:48:35 07/17/07 01:49:08 krbtgt/FJA.BR@FJA.BR
renew until 07/17/07 15:48:35

Kerberos 4 ticket cache: /tmp/tkt1000


klist: You have no tickets cached

Se o resultado for este o Kerberos está funcionando corretamente

Acessando o Dominio
Edite o arquivo /etc/samba/smb.conf adicionando as seguintes linhas
[global]
security = ads
realm = FJA.BR
password server = 10.2.0.1
workgroup = ADMINISTRATIVO
# winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2
# to avoid the workstation from
# trying to become a master browser
# on your windows network add the
# following lines
domain master = no
local master = no
preferred master = no
os level = 0

Reinicie os serviços
sudo /etc/init.d/winbind stop

sudo /etc/init.d/samba restart

sudo /etc/init.d/winbind start

Adicione a conta ao dominio


sudo net ads join

Using short domain name – GERT


Joined 'GERT' to realm 'FJA.BR'

Configure a Autenticação
Edite o arquivo /etc/nsswitch.conf
sudo vi /etc/nsswitch.conf

passwd: compat winbind


group: compat winbind
shadow: compat

Teste o winbind
getent passwd

quiosque:*:10018:10000:Quiosque:/home/ADMINISTRATIVO/quiosque:/bin/bash
estagioweb:*:10019:10000:Karen Suellen Machado Cavalcante
Sampaio:/home/ADMINISTRATIVO/estagioweb:/bin/bash
egonzales:*:10020:10000:Érica Gonzales
Bitencourt:/home/ADMINISTRATIVO/egonzales:/bin/bash

getent group

__coordenação de enfermagem:x:10046:coordenf
__coordenação de design:x:10047:smarino,coorddes

Configure o PAM
Edite o arquivo /etc/pam.d/common-account adicionando as seguintes linhas
sudo vi /etc/pam.d/common-account

account sufficient pam_winbind.so


account required pam_unix.so

Edite o arquivo /etc/pam.d/common-auth adicionando as seguintes linhas


sudo vi /etc/pam.d/common-auth

auth sufficient pam_winbind.so


auth sufficient pam_unix.so nullok_secure use_first_pass
auth required pam_deny.so

Edite o arquivo /etc/pam.d/common-session adicionando as seguintes linhas


sudo vi /etc/pam.d/common-session

session required pam_unix.so


session required pam_mkhomedir.so umask=0022 skel=/etc/skel

Edite o arquivo /etc/pam.d/sudo adicionando as seguintes linhas


sudo vi /etc/pam.d/sudo

auth sufficient pam_winbind.so


auth sufficient pam_unix.so use_first_pass
auth required pam_deny.so

@include common-account

Criando o HOMEDIR do dominio


sudo mkdir /home/ADMINISTRATIVO

Reinicie os serviços
sudo /etc/init.d/winbind stop

sudo /etc/init.d/samba restart

sudo /etc/init.d/winbind start

Logando no dominio
Vá para a console usando o comando CTRL+ALT+F1 e logue no sistema com o login e senha do
dominio
login: alex
Password: *****

alex@gert:~$
Troubleshooting
Erros conhecidos
Erro kinit(v5): Clock skew too great while getting initial credentials
Solução O relógio não está sincronizado com o controlador de domínio.
Erro kinit(v5): KDC reply did not match expectations while getting initial credentials
Solução O domínio foi digitado com letras minúsculas.

Links
ActiveDirectoryWinbindHowto -
https://help.ubuntu.com/community/ActiveDirectoryWinbindHowto

Os Comandos do Linux
Como já descrito anteriormente, não temos a pretensão de ser um guia completo de comandos, mais
uma fonte de referência que irá abranger os principais comandos separados por categorias de acordo
com as tarefas que executam.
Um comando do Linux é uma palavra especial que representa uma ou mais ações. Um interpretador
de comandos também é conhecido como shell ou modo texto. Ele é o programa responsável por
interpretar essas instruções enviadas pelo usuário e seus programas para o kernel. No Linux, você
poderá ter vários interpretadores de comandos (ao contrário do que acontece no Windows que só
tem o command.com).
O interpretador de comandos é que executa comandos lidos do teclado ou de um arquivo
executável. É a principal ligação entre o usuário. Entre os programas interpretadores de comandos
podemos destacar o bash, csh e sh entre outros.
Entre eles o mais usado é o Bash (Bourne Again Shell), criado por S.R. Bourne. Os comandos
podem ser enviados de duas maneiras para o interpretador:
• Interativa - Os comandos são digitados no teclado pelo usuário e passados ao interpretador
de comandos um a um. Neste modo o computador depende do usuário para executar uma
tarefa ou o próximo comando.
• Não-interativa - São usados arquivos de comandos (scripts) criados pelo usuário para o
computador executar os comandos na ordem encontrada no arquivo. Neste modo, o
computador executa os comandos do arquivo um por um, e dependendo do término do
comando, o script pode verificar qual será próximo comando que será executado e dar
continuidade ou não ao processamento.
Esse sistema é muito útil quando temos que digitar por várias vezes seguidas um mesmo comando
ou para compilar algum programa complexo.
Uma característica interessante do bash é que ele possui a função de auto-completar os nomes de
comandos que foram digitados via entrada padrão. Isso é feito pressionando-se a tecla TAB; o
comando é completado e acrescentando um espaço.
Isso funciona sem problemas para comandos internos; caso o comando não seja encontrado, o bash
emite um beep. Por exemplo, na sua pasta raiz tente digitar cd pro (aperte TAB)+as( aperte TAB)
+os( aperte TAB)+d(aperte TAB) e veja como foi fácil digitar um caminho para entrar no local:
/proc/asound/oss/devices.
Outro recurso muito interessante do bash, é que você pode repetir um comando executado sem ter
que digitá-lo novamente. Isso é possível utilizando o caractere "!" na frente do comando que você
deseja repetir. O bash vai buscar aquele comando no histórico e se lá tiver algo parecido o comando
será executado. Veja o exemplo abaixo com esta seqüência de comandos:
tail -f /var/log/squid/access.log
cd /etc/
ls -hl
!tail

O comando "!tail" irá informar ao shell (bash) para executar o último comando tail executado, no
caso, "tail -f /var/log/squid/access.log", e você passara a ver novamente os LOG's do Squid em
tempo real.
Para execução de muitos comandos é necessário ter privilégios de administrador, então como no
Ubuntu o usuário root por questões de segurança se encontra desabilitado, será necessário o uso do
"sudo". Assim sendo sempre que um comando necessitar deste privilégio, o mesmo estará
precedido do sudo.
Adicione também o comando sudo na frente de todos os comandos, caso esteja trabalhando em um
diretório ou em arquivos que não lhe pertencem (arquivos do sistema, por exemplo). Veja RootSudo
para maiores informações sobre o sudo.

Documentação
• man - Formata e exibe uma página man (man page) O comando man é usado para mostrar o
manual de outros comandos. Tente "man man" para ver a página do manual do próprio
man. Veja a seção "Man & Getting Help" para mais informações.
• help - Exibe informações sobre os comandos internos do Bash. Ex.: ”help logout”
• info - Exibe documentação no formato Info, sendo que a navegação pelo documento é feito
por meio de comandos internos do Info. Ex.: ”info emacs”

Data e Hora
• date - Exibe e edita a data e a hora atuais do sistema.
• ”date” para exibir a data e hora atual.
• ”sudo date 032914502007” para alterar a data e hora para 14:50 h de 29/03/2007.
• cal - Exibe um simples calendário.
• hwclock - Consulta ou define o relógio do hardware (Hardware Clock).
• "sudo hwclock -s" para atribuir ao sistema a data e hora do hardware (BIOS).
• "sudo hwclock --set --date=032914502007" para definir a data e hora do hardware
como 14:50 h de 29/03/2007.

Informações do Sistema (Hardware e Processos)


• df – Mostra o espaço em disco do sistema de arquivos usado por todas as partições. "df -h" é
provavelmente o mais útil - usa megabytes (M) e gigabytes (G) em vez de blocos para
relatar o tamanhos. (-h significa "human-readable").
• du – Exibe o tamanho de arquivos e/ou diretórios. Se nenhum arquivo ou diretório for
passado como argumento, será assumido o diretório atual. O uso da opção du -h tornará a
apresentação mais simples de ser interpretada.
• Para verificar o tamanho dos subdiretórios ao invés dos arquivos, utilize o comando
abaixo.
"du -k -h --max-depth=1"
• free – Este comando exibe a quantidade de memória livre e usada no sistema. "free -m"
fornece a informação usando megabytes, que é provavelmente mais útil para computadores
atuais.
• arch – Exibe a arquitetura do computador. Equivale ao comando ”uname -m”.
• lsdev – Lista o hardware instalado no computador, especificando os endereços de E/S
(Entrada/Saída), IRQ e canais DMA que cada dispositivo esta utilizando.
• lspci - Exibe informações sobre os barramentos PCI do computador e sobre os dispositivos a
ele conectados.
• lsusb - Lista informações sobre os barramentos USB do computador e sobre os dispositivos
a eles conectados.
• uname - Este comando exibe várias informações sobre o sistema, incluindo o nome da
maquina, nome e versão do Kernel e alguns outros detalhes. É muito útil para verificar qual
é o Kernel usado por você.
• ”uname -a” para exibir todas as informações.
• ”uname -m” para exibir a arquitetura da maquina. (Equivale ao ”arch”).
• ”uname -r” para exibir o release do sistema operacional.
• lsb_release – Este comando fornece informações básicas do sistema operacional (LSB –
Linux Standard Base) e sua distribuição.
• ”lsb_release -a” para exibir as informações completas do sistema conforme abaixo
exemplificado.
user@computer:~$ lsb_release -a
LSB Version: n/a
Distributor ID: Ubuntu
Description: Ubuntu (The Edgy Eft Release)
Release: 6.10
Codename: edgy

• top - Este comando exibe em tempo real informações sobre seu sistema Linux, processos em
andamento e recursos do sistema, incluídos CPU, memória RAM e uso do swap, além do
número total de tarefas sendo executadas.
• O ”top” também nos permite a manipulação dos processos por meio de comandos
interativos. Veja abaixo alguns dos comandos interativos mais importantes do ”top”.
• ”k” - Finaliza, ou seja, “mata” um processo.
• ”m” - Ativa/Desativa a exibição de informações da memória.
• ”M” - Ordena os processos pelo uso da memória residente.
• ”N” - Ordena os processos pelos seus PIDs.
• ”P” - Ordena os processos pelo uso da CPU (este é o padrão).
• ”ESPAÇO” - Atualiza imediatamente a visualização do quadro de processos.
• ”h” - Exibe a ajuda dos comandos interativos do ”top”.
• ”q” - Abandona o comando ”top”.
• ps – Apresenta um quadro atual, porém estático dos processos que estão sendo executados
no sistema.
• ”ps aux” para apresentar todos processos sendo executados, de todos usuários,
incluído o nome do usuário a qual o processo pertence, mesmo os desvinculados de
TTYs.
• kill – Finaliza, ou no popular, “mata” processos sendo executados pelo seu PID, lhes
enviando um sinal.
• ”kill -9 1345” para finalizar o processo de PID número 1345. Para saber qual PID de
determinado processo que esta sendo executado pode ser utilizado o comando ps.
• killall – Finaliza processos pelo nome ao invés do PID como faz o comando kill. Também
assim como o comando kill, o killall envia um sinal para o processo.
• ”killall mozilla-firefox” para finalizar o processo mozilla-firefox, fechando com isso
o navegador web Mozilla Firefox. O nome dos processos ativos pode ser observado
com uso do comando ps.

Arquivos e Diretórios
• pwd - O comando pwd lhe permite saber em qual diretório você está no momento, onde
pwd significa "print working directory".
• Executando "pwd" no diretório Desktop mostrará "~/Desktop". Observe que o
Terminal do Gnome também mostra esta informação na barra de títulos da janela.
Veja a imagem de exemplo no topo desta página.
• cd - Este comando nos permite se deslocar entre a árvore de diretórios do sistema. Quando
abrimos um terminal ou seção shell, você entra direto no seu diretório pessoal. Para mover-
se pelo sistema de arquivos você deve usar o cd.
• "cd /" para ir ao diretório raiz.
• "cd" para ir ao seu diretório pessoal.
• "cd .." para acessar um diretório de nível acima do atual.
• ”cd -” para voltar ao diretório que se encontrava antes de mudar.
• Para navegar através múltiplos níveis de diretórios em só comando, use por exemplo,
"cd /var/www", que o levará diretamente ao sub-diretório /www do diretório /var.
• cp – Copia arquivos e diretórios.
• "cp file foo" para fazer uma cópia exata do arquivo "file" dando-lhe o nome de
"foo".
• "sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-bkp" para gerar uma cópia de
segurança exata do arquivo "/etc/X11/xorg.conf" dando-lhe o nome de
"/etc/X11/xorg.conf-bkp".
• mv - Este comando move arquivos e diretórios, sendo muito usado também para renomear
um determinado arquivo.
• ”mv arquivo1 arquivo2” para renomear o arquivo “arquivo1” localizado no
diretório pessoal do usuário para “arquivo2” no mesmo local.
• "mv foo ~/Desktop" moverá o arquivo "foo" para seu diretório Desktop sem alterar
seu nome. Você deve especificar um novo nome se quiser renomear um arquivo.
• ls - Comando utilizado para listar o conteúdo de um diretório. Usado com certas opções, é
possível ver o tamanho dos arquivos, quando foram criados, e as permissões de cada um.
• "ls ~" para mostrar os arquivos que estão em seu diretório pessoal.
• ”ls -hal ~” para mostrar os arquivos que estão em seu diretório pessoal, inclusive os
ocultos (-a) em forma de uma listagem (-l) e com as informações de tamanho mais
amigável a nós seres humanos (-h).
• rm - Utilize este comando para remover (deletar) arquivos e opcionalmente diretórios. Por
padrão o comando rm exibe um prompt onde o usuário deve confirmar a exclusão de cada
arquivo, digitando a letra “y” seguido de “Enter”.
• ”rm arquivo1” para remover o arquivo chamado “arquivo1” do diretório corrente
após confirmação no prompt.
• ”rm -f arquivo1” para remover o arquivo chamado “arquivo1” do diretório corrente
sem que lhe seja exibido o prompt de confirmação.
• ”rm -R ~/temp/” para remover de forma recursiva o diretório /temp localizado em
sua pasta pessoal e todo seu conteúdo, seja ele arquivos e outras arvores de sub-
diretórios.
• mkdir - Comando cuja finalidade é permitir a criação de um ou mais diretórios.
• "mkdir musicas" para criar um diretório chamado “musicas” dentro do diretório
corrente.
• chmod – Altera as permissões de acesso de arquivos e diretórios, não alterando estes
atributos de links simbólicos passados na linha de comando, mais sim as permissões dos
arquivos aos quais eles se referem. Para maiores detalhes sobre o sistema de permissões de
arquivos e diretórios no Linux aconselhamos este link aqui do Guia Foca GNU/Linux.
Leitura (r) Escrita (w) Execução (x) Octal

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7
0 (zero) permissão negada
1 permissão de execução
2 permissão de gravação
3 permissão de gravação e execução
4 permissão de leitura
5 permissão de leitura e execução
6 permissão de leitura e gravação
7 soma de todas as permissões

• ”chmod 744 file” para alterar as permissões do arquivo “file” de modo ao Dono ter total
permissão (leitura, execução e escrita) enquanto que os usuários pertencentes ao Grupo e os
Outros terão permissão apenas de leitura.
• ”chmod -R 744 temp/” para alterar as permissões de forma idêntica ao exemplo anterior,
porém do sub-diretório /temp e todo seu conteúdo de forma recursiva.
• chown – Altera o proprietário e o grupo de arquivos e diretórios.
• ”chown fulano:vendas file” para alterar o arquivo “file” para ter como Dono o
usuário “fulano” e o Grupo como “vendas”.
• ”chown -R ciclano:compras temp/” para alterar o sub-diretório /temp e todo seu
conteúdo de forma recursiva para ter como Dono o usuário “ciclano” e o Grupo
como “compras”.
• diff – Usado para comparar o conteúdo de dois arquivos, exibindo a diferença entre eles.
• ”diff file foo” para ver a diferença entre o conteúdo do arquivo “file” e o arquivo
“foo”.
• find – Comando utilizado para procurar por arquivos na arvore de diretórios. Se um caminho
não for passado ao comando find a busca será feita no diretório corrente.
• ”find ~/temp/file” para procurar pela ocorrência de um arquivo chamado “file” no
sub-diretório /temp do diretório pessoal do usuário.
• locate – Pesquisa em uma base de dados de nomes de arquivos por nomes que satisfaçam
um determinado padrão. O comando slocate é a versão segura do locate, pois não exibe
arquivos para os quais o usuário não tenha permissão de acesso. Como a arvore de arquivos
e diretórios esta sempre sendo atualizada é necessário que esta base de dados também o seja,
por tanto é sempre aconselhável antes de executar estes comandos atualizar a base
executando ”updatedb”.
• ”locate ~/file” para pesquisar por um arquivo que corresponda a expressão “file” no
diretório pessoal do usuário. Como este comando pesquisa em um banco de dados, se
não for passado ao comando o caminho desejado ele pesquisará em toda sua base de
dados, correspondente a toda arvore de diretórios do sistema.
• tar Usado para armazenar ou extrair arquivos TAR (Tape ARchive). Estes arquivos TAR são
os chamados “tarfile” ou “tarball”.
• ”tar cvf my_ogg_files.tar *.ogg” para criar um arquivo TAR chamado
“my_ogg_files.tar” contendo todos os arquivos de extensão “.ogg” do diretório
corrente. Notar que a extensão “.tar” não é obrigatória, mais aconselhável para
facilitar a identificação do arquivo.
• ”tar tvf my_ogg_files.tar” para exibir todo o conteúdo do arquivo TAR chamado
“my_ogg_files.tar”.
• ”tar xvf my_ogg_files.tar” para extrair todo conteúdo do arquivo
“my_ogg_files.tar” no diretório corrente.
• ”tar xvf my_ogg_files.tar musica1.ogg” para extrair apenas o arquivo chamado
“musica1.ogg” do tarball “my_ogg_files.tar” no diretório corrente.
• NOTA: Arquivos que possuem a extensão .tar.gz podem ser descompactados e
extraídos com as opções xzvf do comando tar. Isto corresponde a usar o comando
gunzip para descompactar o arquivo TAR e depois usar o comando tar xvf para
extrair os arquivos.
• gzip Compacta e opcionalmente descompacta arquivos regulares. Os arquivos compactados
com o comando são substituídos por outro de menor tamanho com a extensão .gz porém
preservando o dono, as permissões e datas de acesso e modificação.
• ”gzip arq1 arq2” para compactar os arquivos “arq1” e “arq2” gerando os arquivos
“arq1.gz” e “arq2.gz” em substituição aos originais.
• ”gzip -d arq1” para descompactar o arquivo “arq1.gz” trazendo de volta o arquivo
original “arq1”. A presença da opção -d equivale ao uso do comando gunzip.
• bzip2 Compacta e opcionalmente descompacta arquivos regulares. Assim como o gzip, os
arquivos compactados com este comando são substituídos por outro de menor tamanho com
a extensão .bz2 porém preservando o dono, as permissões e datas de acesso e modificação.
O algoritmo empregado por este comando permite uma maior compressão e também
segurança dos arquivos gerados, porém o processo se torna um tanto quanto mais demorado.
• ”bzip2 arq1” para compactar o arquivo “arq1” gerando em substituição o arquivo
“arq1.bz2”.
• ”bzip2 -9 arq2” para compactar o arquivo “arq2” pelo processo de máxima
compressão gerando em substituição o arquivo “arq2.bz2”.
• ”bzip2 -d arquivo.bz2” para descompactar o arquivo “arquivo.bz2” trazendo de
volta o(s) arquivo(s) original(is) que tinham sido previamente compactados.

Sistema de Arquivos
• mount – Monta um sistema de arquivos tornando-o disponível para as operações de E/S
(Entrada/Saída) em arquivos, ou exibe uma lista dos sistemas de arquivos atualmente
montados.
• ”mount” para listar os sistemas de arquivos atualmente montados.
• ”sudo mount -t ext3 /dev/hda3 /media/hda3” para montar a terceira partição
primária do disco hda (IDE1) formatado em EXT3 no diretório /media/hda3. É
necessário que o diretório /media/hda3 tenha sido previamente criado para que o
comando tenha sucesso.
• umount – Desmonta um sistema de arquivos previamente montado que não esteja em uso.
• ”sudo umount /dev/hda3” para desmontar o dispositivo /dev/hda3. Para que o
comando seja executado com sucesso é importante que o dispositivo não esteja em
uso, como por exemplo com arquivos abertos ou mesmo estando dentro do diretório
onde o mesmo se encontra montado.
• fdisk – Gerencia por meio de uma simples interface de texto orientada por menus as
partições de um disco. Ao executar o comando fdisk dispositivo basta pressionar a tecla m
no prompt para ter acesso ao menu de opções que é bastante auto-explicativo, devendo se
usar as setas de direção para movimentar-se pelo mesmo.
• ”sudo fdisk -l” para listar as tabelas de partições para todos dispositivos.
• ”sudo fdisk /dev/hda” para gerenciar a partição (ou partições) do dispositivo
/dev/hda.
• fsck – Verifica e opcionalmente repara um ou mais sistemas de arquivos. O fsck na realidade
é apenas uma espécie de front-end de comandos específicos de acordo com o sistema de
arquivos, que na realidade obedecem em geral ao formato
fsck.nome_do_sistema_de_arquivos.
• ”sudo fsck -t ext3 /dev/hda3” para verificar o sistema de arquivos EXT3 do dispositivo
/dev/hda3. O mesmo resultado poderia ser alcançado executando o comando da seguinte
forma ”fsck.ext3 /dev/hda3”. O dispositivo deve obrigatoriamente estar desmontado para
execução desta operação.
• mkfs – Formata um dispositivo (geralmente uma partição de disco) criando um novo sistema
de arquivos. O mkfs, assim como o fsck é apenas uma espécie de front-end de comandos
específicos de acordo com o sistema de arquivos, que na realidade obedecem em geral ao
formato mkfs.nome_do_sistema_de_arquivos.
• ”sudo mkfs -t ext3 /dev/hda3” para formatar o dispositivo /dev/hda3 em um sistema
de arquivos EXT3. O mesmo resultado poderia ser alcançado executando o comando
da seguinte forma ”mkfs.ext3 /dev/hda3”. O dispositivo deve obrigatoriamente estar
desmontado para execução desta operação.
• badblocks – Procura por blocos ruins em um dispositivo, geralmente uma partição de disco.
• ”sudo badblocks /dev/hda3” para verificar se o dispositivo /dev/hda3 se encontra
com blocos ruins. Normalmente, dependendo do tipo e tamanho do dispositivo este
procedimento é um tanto demorado, sendo que se nenhuma informação for retornada
é porque blocos ruins não foram encontrados. Uma melhor alternativa ao comando
seria ”sudo badblocks -o /tmp/file -n /dev/hda3”, onde o parâmetro -n forçaria um
teste de leitura e escrita não-destrutivo e o -o /tmp/file geraria o arquivo /tmp/file
com todas mensagens de saída do comando.

Usuários e Grupos
• useradd - Cria um novo usuário ou atualiza as informações padrão de um usuário no sistema
Linux. O comando useradd cria uma entrada para o usuário no arquivo “/etc/passwd” com
informações do seu login, UID (user identification), GID (group identification), shell e
diretório pessoal, e a senha criptografada deste usuário é armazenada no arquivo
“/etc/shadow”.
• ”sudo useradd fulano” para criar o novo usuário “fulano” no sistema, cujo diretório
pessoal do mesmo será “/home/fulano”.
• ”sudo useradd -d /home/outro_dir fulano” para criar o novo usuário “fulano” no
sistema, porém com seu diretório pessoal se localizando em “/home/outro_dir”.
• ”sudo useradd -s /bin/sh fulano” para criar o usuário “fulano” definindo seu shell
como sendo o sh. O shell padrão do Ubuntu, assim como a maioria das outras
distribuições é o bash. Com esta opção “-s” é possível criar um usuário sem que o
mesmo possa ter acesso a nenhum shell do sistema, bastando executar o seguinte
comando ”useradd -s /bin/false fulano”.
• ”sudo adduser -g 600 -G 500,68 fulano” para criar o usuário “fulano” com grupo
padrão de GID 600 e também pertencente aos grupos GID 500 e GID 68. Para saber
os GID de cada grupo do sistema consulte o arquivo “/etc/group”.
• NOTA: Com a mesma finalidade porém com mais opções informativas sobre o
usuário a ser cadastrado existe o comando adduser. A configuração padrão usada
pelos comandos useradd e adduser é definida em “/etc/default/useradd” e em
“/etc/login.defs”.
• userdel – Usado para remover uma conta de usuário do sistema, deletando todas entradas
deste usuário nos arquivos /etc/passwd, /etc/shadow e /etc/group.
• ”sudo userdel -r fulano” para remover o usuário “fulano” do sistema deletando seu
diretório pessoal e todo seu conteúdo.
• usermod – Altera as informações de um usuário, editando diretamente as informações dos
arquivos /etc/passwd, /etc/shadow e /etc/group.
• ”sudo usermod -d /home/novo_dir fulano” para criar um novo diretório pessoal
para o usuário “fulano” em “/home/novo_dir”. Se quiser que o atual diretório do
usuário seja movido para o novo diretório utilize a opção “-m” desta forma ”sudo
usermod -d /home/novo_dir -m fulano”.
• ”sudo usermod -g 800 fulano” para alterar o grupo padrão do usuário “fulano” para
GID 800.
• ”sudo usermod -s /bin/false fulano” para alterar o shell do usuário “fulano” para
“/bin/false” não mais permitindo que o usuário faça login no sistema.
• ”sudo usermod -e 03/04/2007 fulano” para alterar a data de expiração da conta do
usuário “fulano” para 03/04/2007.
• ”finger” - Exibe informações dos usuários do sistema. Se um usuário não for passado ao
comando o mesmo apresentará informações de todos usuários atualmente logados.
• ”finger fulano” para exibir informações, como login, diretório pessoal, shell entre
outras do usuário “fulano”.
• passwd – Altera a senha de um usuário exibindo um prompt para que a nova senha seja
fornecida, e logo depois repetida para confirmação. O usuário logado pode alterar a própria
senha digitando apenas ”passwd”.
• ”sudo passwd fulano” para alterar a senha do usuário “fulano”.
• ”sudo passwd -l fulano” para bloquear a conta do usuário “fulano”.
• ”sudo passwd -u fulano” para desbloquear a conta do usuário “fulano”.
• ”sudo passwd -d fulano” para desativar a senha do usuário “fulano” deixando-o
sem uma senha de acesso.
• groupadd – Cria um novo grupo no sistema. Deve-se remover os usuários do grupo, antes de
apagar o grupo, pois o Linux não faz nenhum tipo de verificação neste sentido.
• ”sudo groupadd novogrupo” para criar um novo grupo no sistema chamado
“novogrupo”.
• ”sudo groupadd -g 800 novogrupo” para atribuir ao grupo “novogrupo” o GID
800.
• groupdel – Exclui um grupo no sistema.
• ”sudo groupdel novogrupo” para excluir o grupo chamado “novogrupo”.
• groupmod – Altera as informações de um grupo do sistema.
• ”sudo groupmod -n velho_grupo novo_grupo” para alterar o nome do grupo
“velho_grupo” para “novo_grupo”.
• ”sudo groupmod -g 900 novo_grupo” para alterar o identificador do grupo
chamado “novo_grupo” para GID 900.
• id – Exibe os identificadores (IDs) reais e efetivos de usuário e de grupo de um usuário. Se
não for especificado ao comando um usuário será exibido as informações do usuário atual.
• ”id fulano” para exibir os IDs de usuário e grupo do usuário “fulano”.

Utilitários de Texto
• cat – Utilizado para concatenar arquivos exibindo o resultado na tela, sendo também
utilizado para exibir o conteúdo de arquivos.
• ”cat arq” para exibir o conteúdo do arquivo chamado “arq”. Se desejar que as linhas
do arquivo sejam enumeradas use a opção “-n” junto ao comando, desta forma ”cat
-n arq”.
• ”sudo cat /etc/passwd /etc/group” para exibir na tela o conteúdo dos arquivos
“/etc/passwd” e “/etc/group”.
• ”cat file1 file2 |less” para exibir na tela o conteúdo dos arquivos “file1” e “file2”
porém fazendo a paginação das telas. Neste caso a opção “|less”, onde “|” é o
chamado pipe, pode ser substituída também por “|more”, sendo que ambos comandos
serão vistos posteriormente.
• ”cat arq arq1 arq2 > arq_final” para concatenar os arquivos “arq”, “arq1” e “arq2”
e colocar o resultado em outro arquivo chamado “arq_final”. Notar que neste
comando é feito uso do caractere “>” chamado de redirecionador de saída.
• ”cat arq3 >> arq_final” para inserir o conteúdo do arquivo “arq3” ao final do
arquivo “arq_final”.
• NOTA: O comando cat também pode ser usado para criar arquivos quando usado em
conjunto com o “>” redirecionador de saída. Para criar um arquivo execute o
comando ”cat > novo_arq” e digite o conteúdo desejado, usando a tecla “Enter”
como separador de linhas e “Ctrl+D” para finalizar.
• less – Faz a paginação de saídas muito extensas exibindo uma tela por vez.
• ”less arq” para exibir o conteúdo do arquivo “arq” de forma paginada. Para
navegação e gerenciamento do comando use as teclas abaixo:
• Para sair do aplicativo digite q (quit);
• Use as teclas Page-Down, Ctrl+F ou Space para avançar nas páginas;
• Use as teclas Page-Up ou Ctrl+B para voltar as páginas;
• Use Enter para avançar apenas uma linha por vez;
• Digite h para ver a lista das teclas disponíveis para navegação no comando.
• NOTA: Para redirecionar a saída de outro comando para o less efetuar a paginação,
use o “|” (pipe) conforme exemplo ”ls -hl |less”.
• more – Semelhante ao comando less também faz a paginação de uma saída muito grande na
tela. A sintaxe deste comando é semelhante ao do less, inclusive as teclas de navegação e o
redirecionamento com uso do “|” (pipe).
• grep – Usado para procurar por linhas em um arquivo que contenham expressões que
satisfaçam um determinado padrão de busca.
• ”grep termo arq” para procurar por entradas no arquivo “arq” que correspondam a
expressão “termo”.
• ”grep 'termo1 termo2' arq” para procurar por entradas no arquivo “arq” que
correspondam as expressões “termo1” e “termo2”. Notar que quando a expressão é
composta de mais de uma palavra deve ser usado aspas simples.
• NOTA: Este comando comumente é utilizado em conjunto com outros comandos
canalizados com o “|” (pipe) conforme abaixo exemplificado.
• ”sudo cat /etc/passwd |grep fulano” para procurar por uma entrada que
corresponda a expressão “fulano” no arquivo “/etc/passwd”.
• tail – Exibe as últimas linhas da saída de um arquivo. Por padrão se nenhum parâmetro
diferente for passado ao comando será exibido as últimas 10 linhas do arquivo.
• ”tail -50 arq” para exibir as últimas 50 linhas do arquivo chamado “arq”.
• ”sudo tail -f /var/log/messages ” para continuar exibindo indefinidamente as
últimas 10 linhas (padrão) do arquivo “/var/log/messages ”. Conforme o exemplo,
esta opção “-f” é muito usada para verificar arquivos de log do sistema que estão
sendo constantemente atualizados.
• NOTA: Assim como o tail que exibe as últimas linhas de um arquivo, existe o
comando head que faz exibir as primeiras linhas de saída de um arquivo.

Monitoramento de Acesso
• w – Mostra quem esta logado no sistema e o que esta fazendo. Se não for especificado um
usuário ao comando, será exibido informações de todos usuários logados.
• ”w” para exibir todos usuários logados e o que estão executando neste momento.
• ”w fulano” para mostrar informações do usuário “fulano” se o mesmo estiver logado
no sistema.
• who – Semelhante ao comando w mostra quais usuários estão logados no sistema.
• ”who -m” para mostrar o nome do usuário logado no sistema.
• ”who -q” para mostrar a quantidade total e nomes dos usuário conectados ao
sistema.
• whoami - Este comando fornece o mesmo resultado do comando ”who -m”.
• last – Mostra todas informações referente as entradas (login) e saídas (logout) de usuários do
sistema.
• ”last -a” para exibir estas informações mostrando o nome da maquina de onde foi
efetuado os logins.
• ”last -d” para exibir estas informações mostrando o endereço IP da maquina de onde
foi efetuado os logins.
• ”last reboot” para exibir um registro de todas as reinicializações efetuadas no
sistema.
• lastlog – Exibe informações referente ao último login de cada usuário cadastrado no sistema.
Caso nenhum argumento seja passado, o comando lastlog exibe todas as informações
armazenadas no arquivo “/var/log/lastlog” de todos os usuários do sistema.
• ”sudo lastlog -u fulano” para exibir informações referentes apenas ao último login
do usuário “fulano.
• ”sudo lastlog -t 5” para exibir a lista dos usuários que logaram no sistema nos
últimos 5 dias informando o dia e a hora do último acesso de cada um desses
usuários.

Rede
• ifconfig – Permite configurar as interfaces de rede, sendo o comando utilizado na
inicialização do sistema para configuração destas interfaces. Caso nenhum argumento seja
passado junto ao comando, o mesmo apenas irá exibir o estado das interfaces atualmente
definidas.
• ”sudo ifconfig eth0” para exibir o estado e informações da interface de rede eth0.
• ”sudo ifconfig eth1 down” para desativar a interface de rede eth1.
• ”sudo ifconfig eth1 up” para ativar a interface de rede eth1.
• ”sudo ifconfig eth0 192.168.3.1 netmask 255.255.255.0 up” para configurar a
interface de rede eth0 com endereço IP 192.168.3.1 e máscara da rede 255.255.255.0,
ativando-a.
• ”sudo ifconfig eth1 hw ether 00:D0:D0:67:2C:05” para alterar o endereço MAC
(MAC Address) da interface de rede eth1 para “ 00:D0:D0:67:2C:05”. É necessário
que a placa de rede esteja desativada “sudo ifconfig eth1 down” para esta operação.
• ”sudo ifconfig eth0:1 10.0.0.2 netmask 255.255.255.0 up” para adicionar um
segundo endereço de rede, com IP 10.0.0.2 e máscara 255.255.255.0 a interface eth0.
• arp – Manipula o cache ARP (Address Resolution Protocol) do kernel.
• ”sudo arp 192.168.3.1” para exibir as entradas para o host 192.168.3.1. Se um host
não for especificado, será exibido todas as entradas do cache.
• NOTA: Esta ferramenta é muito útil quando se faz necessário descobrir o endereço
MAC de um determinado host da rede.
• ping Envia requisições ICMP para um determinado host. É uma ferramenta largamente
utilizada para testar a conectividade entre uma maquina/rede local e maquinas/redes
remotas.
• ”ping -c 5 200.106.28.125” para verificar se a maquina cujo endereço IP é
200.106.28.125 se encontra conectada e alcançável. É importante ressaltar que
muitos servidores, principalmente de redes empresariais, podem bloquear requisições
de pacotes ICMP em seu firewall, podendo assim parecer que determinada rede não
se encontra alcançável.
• route – Permite exibir a tabela de roteamento (configuração das rotas) IP do kernel, sendo
que com uso das opções add e del permite também modificar esta tabela inserindo ou
deletando registros.
• ”sudo route” para exibir a tabela das rotas atualmente ativas.
• ”sudo route add -net 192.120.10.0 netmask 255.255.255.0 dev eth0” para
adicionar uma rota para rede 192.120.10.0 via interface de rede eth0.
• ”sudo route del -net 192.120.10.0 netmask 255.255.255.0 dev eth0” para remover
a rota anteriormente adicionada.

Módulos carregáveis do Kernel


• lsmod Lista todos módulos do kernel atualmente carregados na memória. Na realidade, o
comando lsmod apenas lista o conteúdo do arquivo “/proc/modules”.
• modinfo – Exibe informações sobre um determinado módulo carregado do kernel.
• ”sudo modinfo ip_tables” para exibir informações do módulo “ip_tables” que se
encontra carregado na memória do sistema.
• modprobe – Usado para gerenciar, ou seja, adicionar e remover módulos carregáveis do
kernel. O modprobe lê o arquivo de dependências de módulos gerado pelo depmod,
portanto devemos sempre antes executar o comando ”sudo depmod -a”.
• ”sudo modprobe iptable_nat” para carregar na memória o módulo “iptable_nat”.
• ”sudo modprobe -r ndiswrapper” para remover da memória o módulo
“ndiswrapper”.

Shell (Bash) e Utilitários de Terminal


• alias Tem como finalidade atribuir um “alias” (em inglês, significa outro nome) a outro
comando, permitindo nomear um conjunto de comandos, a ser executado pelo sistema por
um único nome. Caso nenhum parâmetro seja passado ao comando será listado todos alias
atualmente definidos e ativos no sistema.
• ”alias ls='ls -hal --color'” para definir uma alias ls para o comando ls -hal que irá
mostrar os arquivos que estão no diretório correntel, inclusive os ocultos (-a) em
forma de uma listagem (-l) e com as informações de tamanho mais amigável a nós
seres humanos (-h) e diferenciado por cores.
• ”alias fd='mount /dev/fd0 /mnt/floppy; cd /mnt/floppy && ls'” para criar um
alias chamado fd que montará um disquete, acessando e listando seu conteúdo.
Observe que, neste exemplo, foram usados dois diferentes separadores de comandos:
ponto-e-vírgula e &&. Comandos separados por ; são executados em seqüência.
Comandos separados por && são executados de forma condicional, ou seja, o
comando após o separador só é executado se o comando anterior tiver sido executado
com sucesso.
• ”alias mcdrom='mount /mnt/cdrom'” para criar um alias chamado mcdrom que ao
ser executado monta o CD em uso.
• NOTA: Estes aliases são criados apenas para a sessão ativa do usuário, ou seja, ao
deslogar do sistema os mesmos se perderão. Para criar aliases permanentes ao
sistema edite o arquivo .bashrc de seu diretório pessoal e inclua no mesmo os
comando desejados. Em contrapartida ao comando alias existe o comando unalias
que faz justamente o inverso, removendo os alias criados.
• apropos Pesquisa por um padrão na base de dados do comando whatis que veremos logo
abaixo, informando quais comandos do Linux correspondem a uma determinada expressão.
• ”apropos apropos” (1) - search the whatis database for strings (Procura por
expressões na base de dados whatis), ou seja exibe todos comandos Linux que
tenham alguma correspondência a expressão “apropos”, no caso apenas o comando
apropos.
• login Permite a um usuário efetuar o logon (estabelecer uma conexão) no sistema, bem
como ser utilizado para efetuar o logon com um usuário diferente do atual.
• ”login fulano” para efetuar o login do usuário “fulano”.
• ”login -p fulano” para efetuar o login do usuário “fulano” sem destruir o ambiente
do atual usuário.
• logout Finaliza um login shell no console ou terminal. No modo gráfico, este comando
encerra a sessão do usuário podendo fechar a janela do terminal, e em modo texto encerra a
sessão do usuário levando-o de volta ao prompt de login do sistema.
• ”logout” O mesmo resultado pode ser alcançado executando o comando ”exit”.
• su Permite alternar entre os usuários cadastrados do sistema, alterando o ID de usuário e
grupo do atual usuário para outro usuário especificado.
• ”su fulano” permite alternar para o usuário “fulano” após senha de login correta.
• ”su fulano -c 'vim /home/fulano/arq1'” permite executar o comando vim abrindo o
arquivo “/home/fulano/arq1” como sendo o usuário “fulano”. O uso desta opção -c
não começa um novo shell, apenas executa um comando como sendo o outro usuário
especificado.
• sudo Permite a um usuário autorizado conforme configurado no arquivo “/etc/sudoers”, a
executar comandos como se fosse o super-usuário (root) ou outro usuário qualquer. Veja
RootSudo para maiores detalhes.
• uname Exibe várias informações sobre o sistema. Caso nenhuma opção seja fornecida junto
ao comando, apenas o nome do sistema operacional será exibido, equivalente a opção -s.
• ”uname -a” para exibir todas informações sobre o sistema.
• whatis Pesquisa em uma base de dados que contem uma curta descrição dos comandos do
sistema. Esta base de dados com os comandos do sistema é criada e atualizada com o
comando ”sudo makewhatis”
• ”whatis sudo halt” para obter uma descrição resumida dos comandos sudo e halt.
• whereis Usado para localizar o binário, o arquivos-fonte e a página man (manual) dos
comandos do sistema.
• ”whereis ls” para descobrir onde se encontra o arquivo binário, os fontes e o manual
(man) do comando ls.
• which Exibe o caminho completo na hierarquia de diretórios para os comandos do sistema.
• ”which firefox” para exibir o diretório onde se encontra o programa “firefox”.
• clear Limpa a tela movendo o cursor para primeira linha. Não existem parâmetros passados
junto a este comando.
• echo Permite exibir textos na tela. Este comando também exibe toda estrutura de diretórios e
arquivos em ordem alfabética, porém sem formatar em colunas a listagem.
• ”echo 'Olá mundo!'” envia para saída de tela a expressão “Olá mundo!”.
• ”echo /etc/*” para listar todo conteúdo do diretório “/etc”.
• halt, reboot, shutdown Respectivamente encerra, reinicializa e encerra ou reinicializa o
sistema.
• ”sudo halt” para encerrar o sistema.
• ”sudo reboot” para reiniciar imediatamente o sistema. Este comando equivale aos
comandos ”sudo init 6” e ”sudo shutdown -r now”.
• ”sudo shutdown -h now” para encerra o sistema imediatamente.
• ”sudo shutdown -h +15” para encerrar o sistema daqui a 15 minutos.
• ”sudo shutdown -r 20:30 'O sistema será reiniciado as 20:30 horas!'” para
reiniciar o sistema as 20:30 horas enviando a mensagem "O sistema será reiniciado
as 20:30 horas!" a todos usuários logados.
• NOTA: O comando ”sudo init 0” também pode ser usado para encerramento do
sistema. O comando shutdown é a forma mais segura de reiniciar e finalizar o
sistema, advertindo os usuários logados e bloqueando novos logons.

Opções
O comportamento padrão para um comando pode ser modificado por adicionar uma --opção para o
comando. O comando ls, por exemplo, tem uma opção -s , de forma que "ls -s" incluirá o tamanho
dos arquivos na listagem realizada. Há também uma opção -h para que esses dados estejam em um
formato "legível para humanos".
As opções podem ser agrupadas, sendo possível, por exemplo usar "ls -sh", que funcionará
exatamente da mesma forma que "ls -s -h". Muitas opções têm uma versão longa, prefixadas por
dois traços em vez de um, assim "ls --size --human-readable" é o mesmo comando dado
anteriormente.

Otimizando o desempenho do history com navegação contextual


Como sabemos o ambiente shell do GNU/Linux, no caso o bash, mantém no arquivo .bash_history
uma lista com o histórico dos últimos comandos digitados. Com isso e o uso das teclas direcionais
UP e DOWN nos permitem "navegar" por esta lista, de modo a retornar com um comando já
utilizado e que esteja em nosso histórico armazenado.
Porém por padrão esta navegação será por toda gama de comando já utilizados, o que por vezes faz
com que percamos até mais tempo necessário do que se digitarmos novamente o comando.
Com uma dica simples veremos então como fazer com que esta navegação seja otimizada de forma
a permitir uma filtragem no histórico de comandos bastando inserir alguns caracteres do mesmo
antes de usarmos as setas de navegação.
Agora as setas farão uma procura por contexto. Se você não digitar nada, o efeito será o mesmo que
antes, mas se você digitar um caractere e pressionar a seta, ele só irá mostrar os comandos que
comecem com aquele caractere. Portanto com este ajuste, se você digitar "ls" e pressionar a seta ele
vai navegar apenas nos comandos que começam com "ls".
Para que isso funcione desta forma primeiramente iremos criar no diretório $HOME do usuário
desejado o arquivo oculto de nome .inputrc com o seguinte conteúdo abaixo:
“\e[A”: history-search-backward
“\e[B”: history-search-forward

Agora basta fechar a seção atual e abrir uma nova para que a navegação no histórico dos comandos
passe a funcionar desta forma mais otimizada.
Notas:
• Por padrão o Linux armazena no .bash_history os últimos 500 comandos utilizados, mais
este número pode ser modificado editando o seu arquivo .bashrc e adicionado as seguintes
linhas:
export HISTFILESIZE=XXXX
export HISTSIZE=XXXX

Onde, XXXX deve ser substituído pela quantidade desejada.


• Como configuração padrão do sistema como um todo existe o arquivo /etc/inputrc, ou seja,
caso se deseje que estas novas configurações passem a valer para todos usuários do sistema
basta adicionar aquelas 2 linhas do .inputrc neste arquivo.

Usando "grep" com resultados coloridos


Quem costuma usar o grep para fazer filtragens, pode se beneficiar desta pequena e simples dica,
fazendo a saída dos resultados ficarem coloridas em destaque.
grep --color=auto

Vamos a um exemplo pratico para entender melhor:


ps aux |grep --color=auto tty

Nota:
Quem gostar do resultado e desejar deixar como padrão, basta editar seu arquivo ~/.bashrc criando
um alias para o comando grep conforme abaixo demonstrado.
1. Abra o arquivo em seu editor de texto favorito.
vim ~/.bashrc

2. Adicione a linha baixo no mesmo, e salve o arquivo.


alias grep='grep --color=auto'

3. Agora, basta executar o comando abaixo que este recurso será padrão para este seu usuário.
source ~/.bashrc

Obtendo ajuda
Nosso maior aliado
Os comandos --help e man podem ser consideradas as duas ferramentas mais importantes em uma
linha de comando.
Praticamente todos os comando entendem a opção -h (ou --help), a qual produzirá uma descrição
breve e útil do comando e suas opções, e então volta para o terminal. Tente "man -h" ou "man
--help" para ver isso em ação.
Todo comando e quase toda aplicação em Linux terá um arquivo man (manual), e encontrá-lo será
muito simples. Basta digitar ”man comando” para surgir um manual extenso para o comando
especificado. Por exemplo, "man mv" mostrará o manual de mv (Move).
Mova para cima ou para baixo no arquivo man utilizando as teclas Page UP e Page Down ou as
setas no teclado, e retorne para a linha de comando teclando q.
"man man" mostrará a entrada do manual para o comando man, e este é um bom lugar para
começar!
"man intro" é especialmente útil, pois mostrará a "Introdução para comandos do usuário" que é
uma introdução breve e bem escrita sobre a linha de comando.
Além disso, há as páginas de info, que geralmente serão mais detalhados, se aprofundando mais do
que as páginas man. Tente "info info" para uma introdução às páginas info.
Procurando por arquivos "man"
Se você não está certo de qual comando ou aplicação você precisa usar, você pode tentar
procurando os manuais (arquivos "man").
• "man -k foo" irá procurar manuais para foo. Tente "man -k nautilus" para ver como isso
funciona.
• Observe que isso é o mesmo que o comando apropos.
• "man -f foo" procura apenas os títulos dos manuais do seu sistema. Tente "man -f gnome",
por exemplo.
• Isso é o mesmo que o comando whatis.

Outras fontes de consulta


Para maiores informações e detalhes sobre os comandos aqui apresentados, além da consulta as
páginas de manuais do seu sistema recomendamos uma visita aos sites abaixo, que também
serviram de poderosa fonte de pesquisa para desenvolvimento desta página.
• Guia Foca GNU/Linux.
• Man pages, tutoriais básicos de BASH, e shell script.
• Guia de Referência do Linux.
• Wikipédia-PT.

Linha de comando
Para adicionar um usuário você deve usar o comando sudo (para uma explicação do que isto
significa, veja RootSudo).
É assim que se adiciona um usuário.
sudo adduser <nomedousuario>

Exemplo:
sudo adduser joao

Para ver as opções para adicionar um usuário, dê uma olhada na documentação do adduser.
man adduser

Você também pode querer criar um novo grupo para seus usuários.
sudo addgroup <nomedogrupo>

Para adicionar um novo usuário para um grupo existente você deve fazer isto:
sudo adduser <nomedousuario> audio

Isto adicionará <username> para o grupo audio.


---
É importante frisar que ao adicionar um usuário assim, ele não terá permissões para acessar a placa
de som, não poderá executar comandos de administrador, entre outras coisas. Por isso, você deve
adicionar o usuário a certos grupos. Para isso, você pode ver os grupos que o usuário padrão já está
inserido. Na interface gráfica, é só você clicar no usuário, depois em Propriedades, e então, marcar
os privilégios de cada um.

S-ar putea să vă placă și