Dicas Indispensáveis www.webaula.com.br digitação. Completamento de comando: pressionar quando da emissão de um comando completará a linha para você. Exemplo: se você quer executar gcc este_e_um_nome_longo.c;, basta digitar gcc est (se você tiver outros arquivos que comecem com os mesmos caracteres, forneça caracteres suficientes para resolver qualquer ambiguidade). ************************************************************************************* Rolagem de tela: pressionar (a tecla cinza) lhe permite rolar a tela algumas páginas para trás, dependendo de quanta memória de vídeo você tiver. ************************************************************************************* Inicializando a tela: se acontecer de você executar more ou cat em um arquivo binário, sua tela pode ficar cheia de lixo. Para consertar, digite reset, ou esta seqüência de caracteres: echo CTRL-V ESC c RETURN. ************************************************************************************* Colando texto: no console, veja abaixo; no X, clique e arraste para selecionar o texto um janela xterm, e depois clique o botão do meio (ou os dois botões juntos se você tiver um mouse de 2 botões) para colar. Há também o xclipboard (aliás, somente para texto); não se confunda pela demora da resposta. ************************************************************************************* ************************************************************************************* ************************************************************************************* Onde Encontrar Aplicativos Se você está pensando se existem aplicativos para substituir os seus antigos do DOS/Win, eu sugiro que você consulte os principais repositórios de software para Linux: ftp://sunsite.unc.edu/pub/Linux , ftp://tsx-11.mit.edu/pub/linux , e ftp://ftp.funet.fi/pub/Linux . Outro excelente lugar é a "Linux Applications and Utilities Page" em http://www.xnet.com/~blatura/linapps.shtml . ************************************************************************************* ************************************************************************************* uname -a dá informações sobre o seu sistema; Os seguintes comandos freqüentemente são úteis: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. LPM. ************************************************************************************* Extensões Comuns e Programas Relacionados Você pode se deparar com várias extensões de arquivos. Excluindo as mais exóticas (i.e. fontes, etc.), aqui está uma lista de quem é o que: 1 ... 8: man pages. No caso improvável de você ainda não ter, pegue o man. arj: pacote feito com o arj. dvi: arquivo de saída produzido pelo TeX (veja abaixo). xdvi para visualizá-lo; dvips para transformá-lo em arquivo PostScript .ps. gz: pacote feito com gzip. info: arquivo info (tipo de alternativa às páginas de manual). Pegue o info. lsm: arquivo do Linux Software Map. É um arquivo ASCII contendo a descrição de um pacote. ps: arquivo PostScript. Para visualizá-lo ou imprimi-lo pegue gs e, opcionalmente, ghostview ou gv. rpm: pacote Red Hat. Você pode instalá-lo em qualquer sistema usando o gerenciador de pacotes rpm. taz, tar.Z: pacote feito com o tar e compactado com compress. tgz, tar.gz: pacote feito com o tar e compactado com gzip. tex: arquivo texto a ser submetido ao TeX, um poderoso sistema de composição. Pegue o pacote tex, disponível em várias distribuições; mas cuidado com o NTeX, que tem fontes corrompidas e é incluído em algumas versões do Slackware. texi: arquivo texinfo, que pode produzir tanto arquivos TeX como info (qv. info). Pegue o texinfo. xbm, xpm, xwd: arquivo gráfico. Pegue o xpaint. Z: pacote feito com compress. ************************************************************************************* > Alguém conhece algum programa para bloquear a console do linux? Tenho um servidor RH 7.1 que não tem ambiente gráfico,ele fica logado direto como root e gostaria de saber se existe algum programa para bloquear a console e quando alguém for usar ele peça a senha do root. Procure pelo vlock. Na distribuição da Conectiva tem um RPM. ************************************************************************************* ************************************************************************************* ************************************************************************************* ************************************************************************************* ************************************************************************************* Será que Linux é bom para você? O Linux é um bom sistema, você está migrando pra ele do DOS? Bom, mas será que você gostará dele como seu sistema? Alguns provedores adoram o Linux por ser um sistema operacional Ótimo para a Internet/Intranet. Mas e se você usa o Linux num computador caseiro? Realmente, o Linux (Para quem está migrando do DOS/Windows) é um sistema operacional "difícil". Mas para quem quer se aventurar REALMENTE nesse mundo, o Linux é uma boa para você. Se você for um cara que só quer coisinha na boquinha, recomendo não usar o linux, pois você não usará o sistema realmente. Se você pretende ou já usa Linux, mesmo que seja a pouco tempo, prepare-se para se tornar um Hacker, não um hacker mal, que enche o saco dos Administradores de Sistemas, mas sim, um hacker que possui conhecimento. Instalei o Linux Você acaba de instalar o Linux, com os pacotes que quis, programas legais, coisas interessantes, criou um usuário pra você (se não, crie agora!), se logou como esse usuário, deu o password e agora esta no prompt olhando para a tela neste exato momento, se perguntando: "O que faço agora?" Calma, vamos agora fazer um "teste", vamos fazer tarefas que você faria no DOS, vamos comparar os dois sistemas, vamos começar vendo o básico de tudo. Lembre-se que está seção é um apanhamento geral do resto do manual. Você pode encontrar coisas aqui que não encontrara em outras seções. Aqui você vai encontrar o básico de tudo, se quiser mais detalhes, veja também as outras seções deste manual. Com certeza você sairá com muito conhecimento. Vamos agora aprender coisas simples: - Como sair do Linux. Se você estiver no modo texto (terminal), é só digitar CTRL+ALT+DEL, se você estiver no X-Window, você terá primeiro que digitar CTRL+ALT+BACKSPACE, depois você digita CTRL+ALT+DEL. Nunca dê Reset na "tora", pois isso pode danificar seu sistema de arquivos, e algumas coisas você fez não vão ser salvas. - O Linux tem uma coisa que o DOS não tem, permissões, acessos. Você está logado como um usuário normal, e de repente quer executar algum programa ou editar algum arquivo mas quando tenta, dá "Permisson Denied". Quer dizer o que você está tentando não é possível fazer por você como esse usuário. O usuário que pode fazer tudo, eu disse TUDO no sistema, é o root, ou seja, o administrador do sistema. - Você agora está no prompt. Se o prompt terminar em $ você estará como usuário normal, e quando estiver terminando em #, você está como root. Você agora quer obter ajuda, tente o bom e velho: $ help Este comando lhe dá ajuda sobre o bash (uma shell), se você quiser ajuda sobre um determinado comando, tente os manuais online: $ man comando Isso invoca o manual do comando. Você pode tentar também: $ apropos comando $ whatis comando e pressione 'q' para sair. - Quando você vê a sintaxe do comando, você terá que saber que: Na sintaxe do comando: $ tar -tf < file.tar > [> redir_file] o < ... > significa uma coisa essencial ao comando o ( ... ) significa uma coisa opcional No exemplo acima, "file.tar" tem que ser identificado, e "> redir_file" é opcional. Comparando os comandos Veja a tabela a seguir: DOS Linux Notas --------------------------------------------------------------------------------- BACKUP tar -Mcvf device dir/ completamente diferente CD dirname\ cd dirname/ quase a mesma sintaxe COPY file1 file2 cp file1 file2 igual DEL file rm file igual DELTREE dirname rm -R dirname/ igual DIR ls não é exatamente a mesma sintaxe EDIT file vi file eu acho que você não vai gostar emacs file este é melhor jstar file este é tipo o edit do DOS FORMAT fdformat, mount, umount sintaxe um pouco diferente HELP command man command a mesma filosofia MD dirname mkdir dirname/ quase a mesma sintaxe MOVE file1 file2 mv file1 file2 igual NUL /dev/null igual PRINT file lpr file igual PRN /dev/lp0, /dev/lp1 igual RD dirname rmdir dirname/ quase a mesma sintaxe REN file1 file2 mv file1 file2 não é pra arquivos múltiplos RESTORE tar -Mxpvf device sintaxe diferente TYPE file less file MUITO melhor WIN startx poles apart! --------------------------------------------------------------------------------- Arquivos A estrutura de arquivos do Linux é similar ao do DOS, são estocados em diretórios, alguns executáveis outros não... Aqui vai alguns conceitos básicos: - No DOS, os arquivos são de forma 8.3, ou seja, não podem passar de 8digitos.3digitos. Um exemplo: NOTENOUG.TXT. No Linux, se você instalou o Linux usando uma partição ext2 ou umsdos, você pode fazer melhor, pode colocar nomes de arquivos longos (no máximo 255 caracteres)., um exemplo de arquivo que o Linux pode fazer e o DOS não pode: Este_eh.um.arquivo.MUITO_grande - No DOS, os caracteres MAIÚSCULOS e minúsculos são tratados da mesma forma. No Linux, eles são completamente diferentes, exemplo: ARQUIVO.tar.gz e arquivo.tar.gz são dois arquivos diferentes, ls é um comando e LS é um erro. - No Linux não existe extensões .EXE, .COM especial para programas como o DOS, Os programas executáveis no Linux são marcados com um asterisco no final do arquivo. Por exemplo: $ ls -F letter_to_Joe cindy.jpg cjpg* I_am_a_dir/ my_1st_script* old~ - Os arquivos cjpg* e my_1st_script* são executáveis. No DOS, arquivos de backup terminam com extensão .BAK, no linux, eles terminam com um ~ (tio). No Linux, os arquivos que começam com um ponto são considerados ocultos. Por exemplo: o arquivo .eu.sou.um.arquivo.oculto não é mostrado com um comando ls normal; Links Simbólicos No Unix, existe um tipo de arquivo que não existe no DOS: O link simbólico. Ele pode funcionar como um redirecionador para um arquivo ou um diretório, e pode ser usado em arquivos ou diretórios também; É similar com os atalhos do rWindows95. Exemplo de links simbólicos: /usr/X11, que redireciona para /usr/X11R6; /dev/modem, que redireciona para /dev/cua0 ou /dev/cua1 Para criar um link simbólico: $ ln -s < file_or_dir > < linkname > Exemplo: $ ln -s /usr/doc/g77/DOC g77manual.txt Agora você pode referir para g77manual.txt ao invés de /usr/doc/g77/DOC. Permissões Todas as informações sobre Permissões que você precisa você encontra na seção 2.11. Permissões. Traduzindo comandos do DOS para o Linux Na esquerda, os comandos do DOS; na direita, os comandos do Linux: COPY: cp DEL: rm MOVE: mv REN: mv TYPE: more, less, cat Operadores de Redireção e Direção: < > >> | Wildcards: * ? nul: /dev/null prn, lpt1: /dev/lp0 or /dev/lp1; lpr - EXAMPLES - DOS Linux --------------------------------------------------------------------- C:\HUGO>copy joe.txt joe.doc $ cp joe.txt joe.doc C:\HUGO>copy *.* total $ cat * > total C:\HUGO>copy fractals.doc prn $ lpr fractals.doc C:\HUGO>del temp $ rm temp C:\HUGO>del *.bak $ rm *~ C:\HUGO>move paper.txt tmp\ $ mv paper.txt tmp/ C:\HUGO>ren paper.txt paper.asc $ mv paper.txt paper.asc C:\HUGO>print letter.txt $ lpr letter.txt C:\HUGO>type letter.txt $ more letter.txt C:\HUGO>type letter.txt $ less letter.txt C:\HUGO>type letter.txt > nul $ cat letter.txt > /dev/null n/a $ more *.txt *.asc n/a $ cat section*.txt | less Notas: - * é melhor no Linux: * mostra todos os arquivos exceto os ocultos .* mostra todos os arquivos ocultos; *.* mostra somente os que tiverem um "." (sem aspas) no meio, seguido de caracteres; p*r mostra tudo que começar com p e terminar com r; *c* mostra todos os arquivos que tiverem um c no meio. - Quando usado more, pressione SPACE para ler o arquivo, q ou CTRL-C para sair, less é melhor e deixa que você use as setas do teclado. - Não há UNDELETE, então pense duas vezes antes de apagar alguma coisa; - Adicionando aos < > >> do DOS, o Linux tem 2> para redirecionar mensagens de erro (stderr); 2>&1 redireciona srderr para stdout, enquanto 1>&2 redireciona stdout para stderr; - O Linux tem mais um wildcardL o []. Use [abc]* mostra arquivos começando com a, b, c; *[I-N,1,2,3] mostra arquivos terminando com I,J,K,L,M,N,1,2,3; - Não existe um DOS RENAME; para isso se utiliza mv *.xxx *.yyy; - Use cp -i e mv -i para ser avisado quando um arquivo está para ser sobrescrito. Multi-tarefa O Linux é um sistema multi-tarefa, por isso, ele pode ser acessado por vários consoles ao mesmo tempo, assim como pode ser rodado vários programas ao mesmo tempo. Para mudar o console do 1 a 6, utilize: ALT+N (Onde N é o número do console) Exemplo: ALT+1, ALT+2, ALT+3, ALT+4, ALT+5, ALT+6 Agora você pode ir para o próximo console e o antecedente com: ALT+RIGHT (Vai pra 1 console A FRENTE) ALT+LEFT (Vai pra 1 console ATRÁS) Se você quiser ir para outra sessão em sair do console, utilize o comando su: su < usuário > Exemplo: su root Para sair da sessão: $ exit Cada programa executado, seja pelo boot ou a manualmente mesmo, fica identificado com um PID. Para vizualizar estes PIDs, use o comando: $ ps -a E para terminar esses processos (fechar o programa), use: $ kill < PID > Quando algo é suspendido, ou seja, deixado temporariamente (A Maioria dos programas são suspendidos com CTRL+Z). Depois de suspendido, você pode retornar a eles através do comando: fg < job > Onda job é o programa que você quer retornar. Para saber quais programas estão suspendidos, tente o comando: jobs Para killar, ou seja, terminar algum programa suspendido: kill < %job > Diretórios A estrutura de diretórios do Linux é similar ao do DOS, mas existem algumas diferenças entre o do DOS e o do Linux. Agora vou mostrar um exemplo de diferença: DOS: C:\DOCS\LINUX\LINUXMAN.TEX Linux: /home/hugo/docs/linuxmanual.tex Permissões de diretórios Todas as informações sobre Permissões que você precisa você encontra na seção 2.11. Permissões. Traduzindo comandos do DOS para o Linux (Parte 2) DIR: ls, find, du CD: cd, pwd MD: mkdir RD: rmdir DELTREE: rm -R MOVE: mv - EXAMPLES - DOS Linux --------------------------------------------------------------------- C:\GUIDO>dir $ ls C:\GUIDO>dir file.txt $ ls file.txt C:\GUIDO>dir *.h *.c $ ls *.h *.c C:\GUIDO>dir/p $ ls | more C:\GUIDO>dir/a $ ls -l C:\GUIDO>dir *.tmp /s $ find / -name "*.tmp" C:\GUIDO>cd $ pwd n/a - veja nota $ cd igual $ cd ~ igual $ cd ~/temp C:\GUIDO>cd \other $ cd /other C:\GUIDO>cd ..\temp\trash $ cd ../temp/trash C:\GUIDO>md newprogs $ mkdir newprogs C:\GUIDO>move prog .. $ mv prog .. C:\GUIDO>md \progs\turbo $ mkdir /progs/turbo C:\GUIDO>deltree temp\trash $ rm -R temp/trash C:\GUIDO>rd newprogs $ rmdir newprogs C:\GUIDO>rd \progs\turbo $ rmdir /progs/turbo Notas: 1. Quando usando rmdir, o diretório para remover tem que estar vazio. Para deletar o diretório com o que contêm dentro, use rm -R (em seu risco) 2. O caractere '~' é um atalho para o nome do seu diretório home. Os comandos cd ou cd ~ fazem você ir para seu home de onde você estiver. o comando cd ~/tmp leva você para /home/voce/tmp. 3. cd - um undo para o último cd. ************************************************************************************* 3.1 Compartilhando partições de troca entre o Linux e o Windows. Tony Acero, ace3@midway.uchicago.edu Formatar a partição como uma partição DOS, e criar o arquivos de troca Windows nela, mas sem rodar o Windows ainda (deve-se manter o arquivo de troca completamente vazio por enquanto, assim ele pode ser compactado com eficiência). Inicie o Linux e salve a partição em um arquivo. Por exemplo, se a partição é /dev/hda8: dd if=/dev/hda8 of=/etc/dosswap Compacte o arquivo de troca; uma vez que tudo que ele contém são zeros, a compressão terá um excelente resultado. gzip -9 /etc/dosswap Adicione a seguinte linha ao arquivo /etc/rc para preparar e instalar a área de troca sob o Linux: XXXXX é o número de blocos da partição de troca mkswap /dev/hda8 XXXXX swapon -av Esteja seguro de adicionar uma linha de definição da área de troca no arquivo /etc/fstab. Caso o pacote init/reboot suporte /etc/brc ou /sbin/brc adicione o seguinte ao arquivo /etc/brc, ou faça manualmente ao iniciar o DOS | OS/2 para converter de volta a partição em uma versão do DOS/Windows: swapoff -av zcat /etc/dosswap.gz | dd of=/dev/hda8 bs=1k count=100 # Note que este comando grava somente os primeiros 100 blocos da partição. Eu encontrei empiricamente este número como suficiente. >> Quais os prós e contras de se utilizar essa sistemática? Prós: pode-se economizar uma quantidade substancial de disco. Contras: caso o passo 5 não seja realizado de forma automática, deve-se lembrar de executá-lo manualmente, e isso pode atrasar a inicialização em nanosegundos. :-) 3.2 Recuperação de arquivos apagados. Michael Hamilton, michael@actrix.gen.nz Segue aqui uma dica, usada por mim algumas vezes. Recuperação de arquivos texto pessoais. Caso acidentalmente um arquivo texto tenha sido apagado, por exemplo, algum email ou os resultados da última noite de programação, há uma chance de recuperá-los. Caso o arquivo tenha sido gravado em disco, isto é se não foi gravado há mais de 30 segundos, seu conteúdo pode ainda estar na partição em disco. Pode-se usar o comando grep para procurar o conteúdo do arquivo diretamente na partição em disco. Por exemplo, recentemente, eu acidentalmente apaguei um email. Então imediatamente cesse qualquer atividade que possa modificar a partição: Neste caso basta suspender qualquer atividade de salvamento de arquivos ou executar compilações, etc.. Em algumas situações eu na verdade desliguei o sistema e o inicializei em modo monousuário, sem montar os sistemas de arquivos. Após eu utilizei o comando egrep na partição do disco: no meu caso uma mensagem eletrônica em /usr/local/home/walter/. Inicialmente pode-se ver que o diretório está localizado em /dev/hdb5, utilizando-se o comando df: sputnik3:~ % df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda3 18621 9759 7901 55% / /dev/hdb3 308852 258443 34458 88% /usr /dev/hdb5 466896 407062 35720 92% /usr/local sputnik3:~ % su Password: [michael@sputnik3 michael]# egrep -50 'ftp.+COL' /dev/hdb5 > /tmp/x Agora deve-se ser extremamente cuidadoso ao lidar com partições de discos, devendo-se verificar cuidadosamente o comando a ser aplicado antes de pressionar Enter. Neste caso procuro o email contendo a palavra ftp seguido de algum texto que contenha a palavra COL. A mensagem continha aproximadamente 20 linhas, tendo então usado -50 para recuperar todas as linhas no entorno da mensagem. No passado eu cheguei a usar -3000 para ter certeza de recuperar todas as linhas de algum código fonte. A saída do comando egrep foi direcionada para uma partição diferente do disco - prevenindo-se assim alguma gravação sobre a área que contém as informações desejadas. Após, utilizei o comando strings para auxiliar na avaliação da saída anterior: strings /tmp/x | less Seguro o suficiente para garantir que o email estava lá. Este método não é totalmente seguro, pois parte ou toda a área utilizada pelo arquivo anteriormente já pode ter sido utilizada. Esta dica é provavelmente útil somente em sistemas monousuários. Em sistemas multiusuários com alto nível de atividade em disco, o espaço liberado pode já ter sido utilizado. Em meu sistema doméstico esta dica pode ser utilizada com sucesso em pelo menos três ocasiões nos últimos anos - principalmente quando acidentalmente eu apaguei o resultado de dias de trabalho. E caso a tarefa na qual eu esteja trabalhando chegue a um ponto onde eu sinta um progresso significativo, é aconselhável copiá-lo em um ou mais disquetes, não sendo necessário usar esta dica com muita freqüência. 3.3 Como utilizar um indicador imutável. Jim Dennis, jadestar@rahul.net Uso de Um Sistema Imutável Imediatamente após a instalação e configuração de um sistema, vá aos diretórios /bin, /sbin/, /usr/bin, /usr/sbin e /usr/lib (e alguns outros prováveis candidatos) e utilize livremente o comando 'chattr +i'. Adicione também os arquivos do kernel no raiz. Após execute 'mkdir /etc/.dist/' e copie todo o conteúdo de /etc/ nele (eu normalmente faço isto em dois passos usando /tmp/etcdist.tar para evitar a recursividade) no diretório (opcionalmente pode-se simplesmente criar /etc/.dist.tar.gz) - e indicá-lo como imutável. A razão para tudo isso é limitar eventuais danos que podem ser feitos pelo usuário que acessa o sistema como superusuário root. Assim não se apagará arquivos importantes com um redirecionamento ou com um comando acidental 'rm -fr' (apesar destes comandos ainda poderem causar um grande estrago no sistema - ao menos as bibliotecas e executáveis estarão a salvo). Isso torna o sistema ainda mais seguro pois evita serviços de busca de falhas de segurança, tornando mais difícil ou praticamente impossível o seu uso (uma vez que muitos deles fundamentam-se na regravação de arquivos que executem ações com o programa SUID e tenham acesso a ambientes de trabalho). O único incoveniente deste procedimento aparece ao se executar 'make install' em diversos binários do sistema. Caso se esqueça de executar o comando chattr -i nos arquivos a serem regravados e nos diretórios onde eles estão localizados, o comando make falhará. Basta executar o comando e executar novamente make. Pode-se ainda mover os binários antigos, bibliotecas, e tudo o mais para um diretório .old/ ou renomeá-los ou ainda aplicar o comando tar, etc.. 3.4 Sugestão de onde colocar novos programas. Jim Dennis, jadestar@rahul.net Todos os arquivos e comandos novos podem estar em /usr/local! ou /usr/local/`nome_da_máquina`. Caso a sua distribuição deixe vazio o diretório /usr/local , então simplesmente crie os diretórios /usr/local/src, /usr/local/bin, etc. e utilize-os. Caso a sua distribuição coloque arquivos em /usr/local, então pode-se criar um diretório com o comando 'mkdir /usr/local/`hostname`' e atribuir a permissão de grupo +w para ele (eu ainda faço uso de SUID e SGID para garantir que cada membro do grupo w possa somente lidar com arquivos que a eles pertencem, e que assim todos os arquivos criados pertencerão ao grupo w). Após, adquira o hábito de sempre colocar novos pacotes em /usr/local/src/.from/$NOME_DO_PACOTE/ (para arquivos .tar ou qualquer outro) e construa-os em /usr/local/src (ou .../$NOME_DA_MÁQUINA/src). Esteja seguro que ele seja instalado sob a hierarquia de diretórios local. Caso ele necessariamente deva ser instalado em /bin ou /usr/bin ou algum outro local, crie uma ligação simbólica da hierarquia local com cada elemento que deva ser colocado em outro local. A razão para isto - mesmo que dê um pouco mais de trabalho - reside na capacidade de isolar o que deve ser copiado e restaurado ou reinstalado no caso de uma reinstalação completa a partir de uma mídia da distribuição (normalmente um CD). Usando um diretório /usr/local/.from pode-se ainda manter-se um histórico informal da origem dos fontes -- o que auxilia na hora de buscar atualizações - o que pode ser crítico ao se monitorar a lista de questões de segurança. Por exemplo, todos os sistemas que eu configurei no trabalho (quando eu era encarregado da administração do sistema) e que foram administrados por muitos contratados e outras pessoas, e tiveram um grande número de atualizações, mantiveram uma idéia precisa dos elementos que foram adicionados ao sistema após a instalação e configuração iniciais. 3.5 Convertendo os nomes de todos os arquivos de um diretório para letras minúsculas. Justin Dossey, dossey@ou.edu Eu reparei em uma dificuldade desnecessária nos procedimentos recomendados na seção 2c das dicas, edição 12 da LG. Neste caso estou enviando uma alteração para facilitar o processo: -------------------------------------------------------------------------------- #!/bin/sh # lowerit # converte os nomes de todos os arquivos do diretório atual para letras # minúsculas. Funciona somente em arquivo - não muda nomes de diretórios # e solicitará confirmação antes de regravar um arquivo já existente. for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo $x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done -------------------------------------------------------------------------------- Bem, é um programa longo. Ao invés de usar tudo isso pode-se usar o seguinte comando: for i in * ; do [ -f $i ] && mv -i $i `echo $i | tr '[A-Z]' '[a-z]'`; done; 3.6 Encerrando os processos de um usuário. Justin Dossey, dossey@ou.edu Na próxima dica pode-se encerrar todo os processos de um determinado usuário com o seguinte comando. kill -9 `ps -aux |grep ^ |tr -s " " |cut -d " " -f2` Por exemplo, caso o usuário se chame paloma: kill -9 `ps -aux |grep ^paloma |tr -s " " |cut -d " " -f2` 3.7 Senha de superusuário perdida. Agora com cuidado, vamos falar de senhas do superusuário que foram esquecidas ou perdidas. A solução dada na Linux Gazette é a mais universal, mas não a mais simples. Tanto com o LILO como com o loadlin, pode-se incluir o parâmetro "single" para se iniciar diretamente no ambiente de trabalho padrão, sem a necessidade de informar senhas. A partir daqui, pode-se mudar ou remover quaisquer senhas, antes de digitar "init 3" para iniciar o sistema em modo multiusuário. Justin Dossey 3.8 Como atualizar o Sendmail Paul Anderson, paul@geeky1.ebtech.net Começaremos do princípio, dos fontes do programa. Inicialmente deve-se obter os fontes do sendmail. Eu estou utilizando a versão 8.9.0, a qual é, no momento em que escrevo este artigo, o que há de mais recente. Eu o obtive em ftp.sendmail.org:/pub/sendmail/sendmail.8.9.0.tar.gz Tem o tamanho de aproximadamente 1 Mb e considerando que se esteja executando a versão 8.7.6, eu creio que o esforço vale a pena. Caso funcione, certamente você saberá prontamente, de outra forma não há como receber as novas versões dos COMO FAZER :-) Agora que já se tem os fontes, deve-se descomprimi-los. Pode-se criar um diretório chamado sendmail-8.9.0 dentro do diretório atual. Vá para o diretório (com o comando cd), e leia os arquivos README e RELEASE_NOTES (e esteja ciente das atualizações que foram feitas). Agora pode-se ir para o diretório src. Aqui é onde a maior parte do trabalho será executada. Nota: O sendmail é um pequeno, poderoso e bem escrito programa. O binário é compilado em menos de 5 minutos em uma máquina 5x86 133 com 32Mb de RAM! A compilação completa e a instalação (configuração) levam menos de 15 minutos. Eu normalmente não executo o BIND em meu sistema, então encontrei as seguintes linhas: -------------------------------------------------------------------------------- # ifndef NAMED_BIND # define NAMED_BIND 1 /* usando Servidor de Domínios Berkeley */ # endif -------------------------------------------------------------------------------- e mudando 1 para 0: -------------------------------------------------------------------------------- # ifndef NAMED_BIND # define NAMED_BIND 0 /* usando Servidor de Domínios Berkeley */ # endif -------------------------------------------------------------------------------- No Debian 1.3.1, db.h é por padrão instalado em /usr/include/db, ao invés de /usr/include, onde sendmail espera encontrá-lo. Vá para os diretórios src, mailstats, makemap, praliases, rmail e smrsh e execute o seguinte comando: ./Build -I/usr/include/db Uma vez feito isso, execute `cd ..' e digite make install. Voilá! Sendmail versão 8.9.0 deve estar instalado. Isso claro, assumindo que a configuração original já foi realizada. Para que tudo funcione corretamente, uma vez que eu hospedo listas de mensagens usando majordomo, é necessário adicionar o seguinte no início de /etc/sendmail.cf: -------------------------------------------------------------------------------- O DontBlameSendmail=forwardfileinunsafedirpath, forwardfileinunsafedirpathsafe -------------------------------------------------------------------------------- Sendmail 8.9.0 é desagradável sobre permissões de arquivos e diretórios, e irá reclamar sobre arquivos e diretórios em aliases ou .forward que tenham permissões de escrita para todos os usuários ou para o grupo. Uma vez que não é uma boa idéia desabilitar estes avisos, como sou o único que utiliza o sistema, sinto-me à vontade para fazê-lo. YMMV. 3.9 Algumas dicas para novos administradores de sistemas. Jim Dennis, jadestar@rahul.net Criar e manter um arquivo /LEIAME.`nome_máquina` e/ou um /etc/LEIAME.`nome_máquina` [Ou possivelmente /usr/local/etc/LEIAME.`nome_máquina` -Maint. ] Desde o primeiro dia da administração do sistema, tome notas neste arquivo como um histórico on-line. Pode-se incluir a linha "vi /LEIAME.$(nome_máquina)" no arquivo /bash_logout do superusuário. Uma outra forma de fazer isso é criar um programa su ou sudo que faça mais o menos o seguinte: function exit \ { unset exit; exit; \ cat ~/tmp/session.$(date +%y%m%d) \ >> /LEIAME.$(nome_máquina) && \ vi /LEIAME.$(nome_máquina) } script -a ~/tmp/session.$(date +%y%m%d) /bin/su.org - (use o comando typescript para criar um histórico da sessão e criar uma função para automatizar a inclusão e atualização do histórico). Eu admito que não utilizei essa política de automação, confiando sempre na minha disciplina. De qualquer forma a idéia está formatada. Minha última sugestão é manter o caminho para o superusuário com o seguinte formato 'PATH= /bin'. Somente isso e nada mais. Assim tudo o que o superusuário fizer pode ser provido por uma ligação simbólica com /bin ou por um nome alternativo ou por uma função de ambiente de trabalho, ou ainda pela digitação explícita do caminho. Isso torna qualquer usuário acessando o sistema como superusuário ciente de que binários estão sendo utilizados. O administrador inteligente de um sistema multiusuário irá periodicamente observar os arquivos /bin e /.*history procurando padrões ou mensagens freqüentes. O administrador realmente interessado irá buscar seqüências que podem ser automatizadas, colocar checagens em pontos necessários, e verificar quais privilégios do "superusuário" podem ser revistos (uso de editores, MTA e outros programas interativos com funcionalidades elaboradas que podem agregar informações em arquivos de dados - como o famoso vi ./.exrc e emacs ./.emacs e mesmo o $EXINIT e as macros header/footer). Naturalmente estes comandos podem ser executados da seguinte forma: cp $data $algum_diretório_usuário/tmp su -c $comando_origem $mudanças cp $algum_diretório_usuário/tmp $data onde os dados variam de comando para comando. Muitas destas precauções podem ser consideradas exageradas em estações de trabalho domésticas ou de usuários individuais, mas são altamente recomendadas como política de administração de sistemas multiusuários, particularmente em um sistema exposto ao público. 3.10 Como configurar o seletor de servidor do xdm. Arrigo Triulzi, a.triulzi@ic.ac.uk Edite o arquivo que inicializa o xdm, (possivelmente /etc/rc/rc.6 ou /etc/rc.local) e que contenha as seguintes linhas na seção de início do xdm. /usr/bin/X11/xdm exec /usr/bin/X11/X -indirect servidor Edite o arquivo /usr/lib/X11/xdm/Xservers, comentando a linha que inicia o servidor na máquina local (por exemplo starting 0:) Ao reinicializar o computador, você estará em casa e além. Eu inclui isso quando eu estava desesperadamente tentando configurar minha própria sub-rede a partir de uma máquina e levei mais de uma semana para corrigir todos os problemas. Adicional: com o velho SLS (1.1.1) por alguma razão pode-se utilizar o parâmetro -nodaemon após a linha do xdm - porém isso NÃO funciona para versões mais recentes. ************************************************************************************* De: Djames Suhanko Para: Ricardo Castanho de O. Freitas Cc: linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) Letra Verde (D) 'piscando' no console! Data: 09 Jul 2002 14:52:36 -0300 Use estes comandos: file D Se isso nao exclarecer sua duvida, entao: ls -l Se nao ajudar tambe, entao: mkdir teste && mv D teste/ Reinicie e, se nao lhe fizer falta, apague. ;-) Abraços ! Em Mon, 8 Jul 2002 21:44:37 -0300 (BRT) "Ricardo Castanho de O. Freitas" escreveu: > Sem mais nem menos, aleatóriamente, tenho uma letra verde (letra 'D') > piscando no meu console!!! ************************************************************************************* De: dicas-l-owner@unicamp.br Assunto: [Dicas-L] Apostilas Unix, LaTeX, MatLab ... Data: 01 May 2002 00:12:39 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20020501.shtml -------------------------------------------------------------------- EduLinks: Links de interesse para o ensino médio e fundamental Química, Física, Português, Matemática, Biologia http://edulinks.valedofuturo.unicamp.br -------------------------------------------------------------------- Apostilas Unix, LaTeX, MatLab ... Colaboração: Luis Marcelo de Mattos Zeri Estão disponíveis para download diversas apostilas criadas por alunos da pós-graduação em Meteorologia do INPE. Estas apostilas cobrem os seguintes assuntos: - Unix - Latex - Fortran - Matlab - Grads Este trabalho foi desenvolvido com o objetivo de como uma introdução a esses softwares e linguagens, que são os mais utilizados pelos alunos do INPE mas que podem ser úteis a outras pessoas também. As apostilas podem ser obtidas, via FTP anônimo (login: anonymous; password: seu_email), no endereço: ftp://fractal.cptec.inpe.br/pub/software/apostila Um endereço alternativo é http://geocities.yahoo.com.br/daisuke_oyama/ ************************************************************************************* De: dicas-l-owner@unicamp.br Assunto: [Dicas-L] Verificação de Links em Sites Data: 03 Jul 2002 00:13:04 -0300 -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20020703.shtml -------------------------------------------------------------------- Edulinks Links para Ensino médio e fundamental http://edulinks.valedofuturo.unicamp.br -------------------------------------------------------------------- Verificação de Links em Sites Quando eu preciso fazer uma verificação da integridade dos links nos websites que mantenho, eu uso o software LinkChecker. O software é muito bom, gera relatórios de diversos tipos e tem sido uma mão na roda. Para ambientes GNU/Linux e derivados. Fica em http://linkchecker.sourceforge.net/ Para quem usa Windows, uma alternativa gratuita é o Xenu Link Checker, que fica em http://home.snafu.de/tilman/xenulink.html ************************************************************************************* De: dicas-l-owner@unicamp.br Assunto: [Dicas-L] Como Construir o seu Próprio Canhão de Projeção Data: 20 May 2002 00:19:38 -0300 Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -------------------------------------------------------------------- Endereço: http://www.Dicas-l.com.br/dicas-l/20020520.shtml -------------------------------------------------------------------- Software Livre na Unicamp http://www.softwarelivre.unicamp.br -------------------------------------------------------------------- Como Construir o seu Próprio Canhão de Projeção Parece loucura, mas no endereço http://www.audiovisualizers.com/madlab/lcd_proj.htm você encontra diversas receitas e diagramas para construir um projetor de slides, ou canhão de projeção. Estes equipamentos são muito caros, variando de U$ 5.000,00 até o infinito. Os autores dos projetos ensinam como construir projetores com valores começando em U$ 300,00, adquirindo peças usadas em sites de leilão de equipamentos, como eBay e outros. É claro que eu não testei, mas é uma aventura que vale a pena para quem tem disposição e habilidade para a empreitada. ************************************************************************************* ************************************************************************************* De: Manoel Pinho Para: Marcio de Araujo Benedito Cc: linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) infravermelho no linux Data: 22 Aug 2002 18:21:12 -0300 Marcio de Araujo Benedito escreveu: Pessoas, Alguem tem experiencia com infravermelho no linux? Pode me passar as dicas? Linux Infrared HOWTO http://mobilix.org/Infrared-HOWTO/Infrared-HOWTO.html Linux-IrDA quick tutorial http://www.hpl.hp.com/personal/Jean_Tourrilhes/IrDA/IrDA.html http://irda.sourceforge.net/ ************************************************************************************* De: Claudio Matsuoka Para: Anderson Lizardo Cc: Bruno Ferreti , linux-br@bazar.conectiva.com.br Assunto: Re: (linux-br) Aplicativo Data: 16 Nov 2002 12:34:07 -0200 On Sat, 16 Nov 2002, Anderson Lizardo wrote: > Em Sábado, 16 de Novembro de 2002 09:22, Bruno Ferreti escreveu: > > Tenho um HD com uma partição Windows e uma Linux, gostaria de saber se > > existe algum aplicativo q emulasse o ambiente Linux no Windows. > > Tem o Cygwin: http://www.cygwin.com/ E o line: http://line.sf.net LINE executes unmodified Linux applications on Windows by intercepting Linux system calls. The Linux applications themselves are not emulated. They run directly on the CPU just like all other Windows applications. ************************************************************************************* CALCULADORA K->Utilities->KCalc (Scientific Calculator) Tem certeza de que você procurou? Me dei ao trabalho de entrar no KDE só para ver se estava realmente tão difícil de achar... No GNOME Pé->Utilities->Simple Calculator Se você quiser chamar através de um xterm: xcalc (vem com o X) gcalc (a do GNOME) kcalc (a do KDE) ************************************************************************************* De:  Joerlei P. Lima Para:  anderson.linuxsp@ig.com.br, linux-br@bazar2.conectiva.com.br Cc:  andersonmsp@yahoo.com.br Assunto:  Re: (linux-br)Como vou fazer isso no linux Data:  Sat, 26 Jul 2003 08:30:06 -0400 Em Sáb 26 Jul 2003 00:31, anderson.linuxsp@ig.com.br escreveu: > Olá a todos. > Bom gostaria de saber como posso fazer isso no linux que o seguinte. > No windows eu consigo capturar a imagem de qualquer progrma e colar no word > com a tecla print Screem Sysrq,na verdade nao e novidade mais isso ajuda um > monte pricipalment para fazer uns tutoriais.So que eu queria fazer isso em > linux ja tentei fazer a mesma coisa mais nao funcionou.Quero fazer uns > toturiais com imagens,dentro dos meus conhecimentos e ajuda de voces. > Um abraço a todos > anderson.linuxsp > Tem um monte de jeito de fazer isso. Desde linha de comando até um simples "print screen" no Red Hat (8 ou superior). Se você usa o kde, use o ksnapshot, vem em qualquer distro. No gnome, no menu padrão tem um item "capturar tela". Não lembro o nome do programa, já que eu só uso o gimp pra fazer isso. O gimp também está presente em qualquer distro linux, pode capturar telas com atraso e tudo mais. Clique em "arquivo", capturar -> telas. Boa sorte. -- Joerlei P. Lima Entele Telecomunicações e Informática Ltda. joerlei2000@yahoo.com.br ICQ: 118148230 ************************************************************************************* De:  Fabio Guerrazzi Para:  Maycon , linux-br@bazar2.conectiva.com.br Assunto:  Re: (linux-br) Dúvida atualização Data:  Wed, 29 Sep 2004 16:53:17 -0300 Os motivos mais comuns para se atualizar o linux é aumento de segurança e correção de bugs. Isto principalmente se a máquina estiver acessível para a internet. Se você não tem conhecimento técnico, vejo duas saídas. Uma é contratar alguém para fazer o serviço. A outra é fazer você mesmo usando uma outra máquina. Quando esta estiver pronta, faz-se a troca. Esta segunda opção é boa porque fará você adquirir experiência em linux sem colocar em risco o serviço. Fábio. On Wed, 29 Sep 2004 13:37:49 -0300, "Maycon" escreveu: >     Possuo em minha empresa um servidor de dados conectiva linux 6.0 rodando > samba, gostaria de atualizar para uma versão mais recente, porém não tenho > conhecimentos técnicos para justificar essa atualização. Gostaria de saber  se alguém conhece alguns itens que justifiquem essa atualização, por ex. > ganho de performance, estabilidade, mais recursos .... e se realmente é > viável. >     Tenho também um banco que roda em interbase no servidor ************************************************************************************* ************************************************************************************* ************************************************************************************* ************************************************************************************* ************************************************************************************* ************************************************************************************* *************************************************************************************