COMO FAZER - Configuração de Sistemas Linux Por Guido Gonzato, guido@ibogfs.cineca.it Traduzido e Revisado por Conectiva Informática, , no dia 30 de Março de 1999. v1.2.2, 10 de abril 1998 Este COMO FAZER visa tornar mais rápida e fácil a sintonia fina de uma máquina Linux recém-instalada. Aqui é possível encontrar um conjunto de configurações para os aplicativos mais comuns, para que se possa iniciar o uso de um sistema Linux de forma bastante prática. ______________________________________________________________________ Índice geral 1. Introdução 1.1 Por que fizemos este COMO FAZER? 1.2 O Que Estaremos Configurando? 2. Configuração do Sistema Geral 2.1 Teclado 2.2 Questões Sobre o Kernel 2.3 Travamento do 2.4 Desempenho do Disco rígido 2.5 Dispositivo Zip de Porta Paralela 2.6 Programa de Controle de Dispositivos 2.7 Mensagens de Inicialização 2.8 Nome da máquina 2.9 Mouse 2.10 Pontos de Montagem 2.11 (TT 2.11.1 Dica de Segurança 2.12 Configuração da Impressora 3. Configuração de Software 3.1 (TT 3.2 (TT 3.3 (TT 3.4 (TT 3.5 (TT 3.6 (TT 3.7 (TT 3.8 TeX e Amigos 3.9 PPP 3.10 Cliente POP 3.11 Sistema X Window 3.12 Fortran 3.13 Configurações dos Usuários 3.14 Atualização 4. Fim 4.1 Retorno 4.2 Aviso Legal ______________________________________________________________________ 11.. IInnttrroodduuççããoo 11..11.. PPoorr qquuee ffiizzeemmooss eessttee CCOOMMOO FFAAZZEERR?? Instalei o Linux em inúmeros PCs e notei que as distribuições atuais são ótimas, mas infelizmente faltam algumas configurações básicas. A maioria dos aplicativos funcionarão assim que forem instalados, mas alguns podem não funcionar adequadamente. Além disso, notei que as mesmas perguntas se repetem sobre a configuração do sistema. Para tentar remediar esta situação e para ter um roteiro para uma nova instalação, escrevi uma lista de "faça isto e aquilo" que mais tarde evoluiu e tornou-se este COMO FAZER. Aqui será possível encontrar uma série de exemplos de configurações para os aplicativos, programas e serviços mais comuns, que devem fazer o usuário economizar tempo e trabalho. Alguns exemplos presentes neste COMO FAZER são de certa forma dependentes de alguma distribuição. Tenho acesso a máquinas com Red Hat e Caldera OpenLinux, por isso as dicas aqui apresentadas podem não ser uma verdade universal, caso se tenha que utilizar uma distribuição Slackware, Debian ou qualquer outra. De qualquer maneira, a leitura da documentação e dos COMO FAZER é sempre válida, assim aconselhamos a fazê-lo. Nota: como o Conectiva Linux é baseado na distribuição Red Hat Linux, as sugestões aqui apresentadas podem ser aplicadas em sua grande maioria também nesta distribuição. 11..22.. OO QQuuee EEssttaarreemmooss CCoonnffiigguurraannddoo?? Podem haver infinitas configurações de hardwares para um PC, mas a experiência aponta uma bastante comum: um PC com um grande HD dividido em três partições (uma para DOS/Windows, uma para o Linux e uma para área de troca), placa de som, modem, dispositivo de CD-ROM, impressora e mouse. Um dispositivo Zip de porta paralela está se tornando também comum. Este é o hardware que eu suponho que se queira configurar, mas é fácil adaptar as orientações a seguir a diferentes configurações. Está implicitamente assumido que deve-se utilizar o superusuário ao se editar/fixar/programar. E agora, companheiros, mãos à obra. 22.. CCoonnffiigguurraaççããoo ddoo SSiisstteemmaa GGeerraall 22..11.. TTeeccllaaddoo Primeiramente vamos configurar o teclado. Caso esta etapa não seja executada durante a instalação ou caso o teclado seja alterado, deve- se: · escolher uma tabela de teclado adequada em /usr/lib/kbd/keytables/, como por exemplo, it.map exclusivo do teclado italiano; · editar o arquivo /etc/sysconfig/keyboard para o seguinte: KEYTABLE="/usr/lib/kbd/keytables/it.map"; · para configurar o teclado deve-se repetir o índice e o tempo de espera, devendo-se acrescentar a seguinte linha ao /etc/rc.d/rc.sysinit ou, caso se utilize a distribuição Caldera, ao arquivo /etc/rc.d/rc.boot: /sbin/kbdrate -s -r 16 -d 500 Na próxima reinicialização do sistema, o teclado deverá funcionar corretamente. Para evitar todo o processo de reinicializar o sistema para carregar somente a tabela de teclado, deve-se ir para /etc/rc.d/init.d e executar o comando ./keytable start. 22..22.. QQuueessttõõeess SSoobbrree oo KKeerrnneell Na minha opinião, a primeira coisa a se fazer na personalização de um sistema Linux é construir um kernel que melhor se adapte ao sistema disponível. É muito simples fazê-lo, mas de qualquer maneira, sugerimos a leitura atenta do arquivo README em /usr/src/linux/ ou do documento COMO FAZER Kernel. Algumas sugestões: · as necessidades devem ser cuidadosamente consideradas. A escolha de uma configuração de kernel, a aplicação das atualizações e a compilação são definitivamente mais produtivas que uma reconfiguração e recompilação a cada mês. Isto é especialmente verdadeiro se a máquina Linux for um servidor. Não se deve esquecer de incluir o suporte para todos os hardwares que possam ser acrescentados futuramente (por exemplo SCSI, Zip, placas de rede, etc.); · se o PC é baseado em uma CPU Cyrix, devem ser aplicadas as atualizações apropriadas para melhorar o seu desempenho. Maiores informações podem ser encontradas em ; · usuários de portáteis podem melhorar o seu sistema de legibilidade da tela LCD aplicando a atualização que faz com que ela não pisque. A versão mais recente é chamada noblink-X.X.tar.gz e está disponível em . O pacote deve ser instalado e acrescentado ao arquivo de /etc/profile, no formato da seguinte linha: /usr/local/bin/cursor bgverde # ou outra cor · os usuários de portáteis que planejem usar um modem/fax PCMCIA _n_ã_o devem compilar o suporte serial como um módulo, e sim compilá-lo no kernel, caso contrário o modem PCMCIA não funcionará; · o Linux não acessará a placa de som a menos que ela seja adequadamente configurada. Na maioria dos casos é simples, mas é preciso habilitar todas as opções (não esquecendo dos arquivos /dev/dsp e /dev/sound); · aquelas incômodas mensagens geradas pelo programa modprobe, indicando que alguns módulos não podem ser localizados, significam que o arquivo /etc/conf.modules necessita de ajustes. Caso não se necessite dos módulos ipx e appletalk, devem ser acrescentadas as seguintes linhas: alias net-pf-4 off alias net-pf-5 off · para economizar tempo da próxima vez que se configurar e recompilar o kernel é uma boa idéia salvar sua configuração num arquivo e guardá-lo num lugar seguro. 22..33.. TTrraavvaammeennttoo ddoo sseennddmmaaiill Em alguns sistemas o sendmail pode travar a máquina durante a inicialização. Ajuste rápido: Certifique-se que o arquivo /etc/hosts contém uma linha com o seguinte conteúdo: 127.0.0.1 localhost Deve ser verificada também a Seção ``Nome da Máquina''. 22..44.. DDeesseemmppeennhhoo ddoo DDiissccoo rrííggiiddoo O desempenho do disco rígido pode ser imensamente incrementado através do uso _c_u_i_d_a_d_o_s_o do hdparm(8). Caso a sua distribuição Linux não o inclua, ele pode ser encontrado em onde se deve procurar por um arquivo chamado hdparm-X.Y.tar.gz. Infelizmente não é possível fornecer uma receita geral, uma vez que muitos detalhes dependem das especificações do disco rígido e de sua controladora. Uma vez que há o risco de se perder o sistema de arquivos, por favor _l_e_i_a _a _p_á_g_i_n_a _d_o _m_a_n_u_a_l _c_u_i_d_a_d_o_s_a_m_e_n_t_e antes de usar algumas das opções daquele programa. A forma mais simples é acrescentar a seguinte linha ao arquivo /etc/rc.d/rc.sysinit: /sbin/hdparm -c1 /dev/hda # assumido o primeiro dispositivo a qual habilita o suporte (E)IDE 32 bits de entrada e saída. Quanto à opção `-m', o autor Mark Lord enviou-nos a seguinte mensagem: (...) se seu sistema usa componentes desenvolvidos nos últimos dois anos (após 1996), tudo bem. Naqueles mais antigos, podem haver alguns problemas (improváveis). Os chips defeituosos são CMD0646 e RZ1000, usados "extensivamente" nos 486 e nas placas mãe dos (primeiros) 586 há cerca de 2 ou 3 anos atrás. 22..55.. DDiissppoossiittiivvoo ZZiipp ddee PPoorrttaa PPaarraalleellaa Para usar a versão de porta paralela do dispositivo Zip, pode-se executar o programa controlador de dispositivos padrão que vem com os kernels mais recentes (2.x.x). Durante a configuração do kernel, certifique-se que o suporte a SCSI e o suporte de disco SCSI estão habilitados (tanto no kernel como via módulo). Deve-se atentar que podem haver conflitos entre a impressora e o dispositivo Zip caso esteja na mesma porta paralela. Os discos Zip são vendidos pré formatados como se fossem a partição /dev/sda4. Para habilitar a unidade Zip, devem ser executados os seguintes comandos: #~ chmod 666 /dev/sda4 # todos podem acessar o dispositivo Zip #~ insmod ppa sendo que o Zip pode ser montado da forma usual (incluindo-se uma linha em /etc/rc.d/rc.sysinit). Pode-se também acessar o dispositivo Zip através do mtools, acrescentando a seguinte linha ao arquivo /etc/mtools.conf: drive z: file="/dev/sda4" exclusive Há ainda um programa de controle ppa melhor que o padrão disponibilizado pelo sistema. Ele pode ser obtido em . 22..66.. PPrrooggrraammaa ddee CCoonnttrroollee ddee DDiissppoossiittiivvooss Dispositivos em /dev (ou melhor, ligações para os programas de controle de dispositivos reais) podem não estar presentes. Verifique quais os dispositivos que correspondem ao mouse, modem e CD-ROM, devendo então serem executados os seguintes comandos: ~# cd /dev /dev# ln -s /dev/cua0 mouse /dev# ln -s /dev/cua1 modem /dev# ln -s /dev/hdb cdrom e, caso se queira compartilhar estes dispositivos entre todos os usuários, deve-se executar o comando chmod 666 para estes dispositivos (não nas ligações, mas sim nos dispositivos reais!). Em alguns portáteis o dispositivo do mouse é /dev/psaux, o que deve ser levado em consideração quando se estiver configurando o X11. Além disso, pode-se tornar a unidade de disquete acessível aos usuários que não tenham privilégios de superusuário através do comando chmod 666 /dev/fd*. Isto pode trazer alguns problemas de segurança em sistemas utilizados por diversos usuários. 22..77.. MMeennssaaggeennss ddee IInniicciiaalliizzaaççããoo Caso se queira personalizar as mensagens de inicialização, deve-se verificar se o programa /etc/rc.d/rc.local atualiza os arquivos /etc/issue e /etc/motd. Caso este seja o caso, basta usar o editor de preferência nestes últimos. 22..88.. NNoommee ddaa mmááqquuiinnaa Somente utilizar o comando hostname novo_nome pode não ser o suficiente. Para evitar o temido travamento do sendmail, devem ser seguidos os seguintes passos: · editar o arquivo /etc/sysconfig/network e mudar o nome da máquina (por exemplo novo_nome.domínio_local); · editar o arquivo /etc/HOSTNAME adequadamente; · anexar o novo nome da máquina na linha /etc/hosts: 127.0.0.1 localhost novo_nome.domínio_local 22..99.. MMoouussee Os serviços de mouse disponibilizados pelo gpm são úteis para desempenhar o corte e a colagem de texto no modo tty e no uso do mouse em certos aplicativos. Deve-se verificar se há um arquivo chamado /etc/sysconfig/mouse onde se lê: MOUSETYPE="Microsoft" XEMU3=yes Além disso, deve-se ter o arquivo /etc/rc.d/init.d/gpm. Claro que é necessário certificar-se que esta configuração está adequada para o tipo de mouse disponível. Note-se que em alguns portáteis o MOUSETYPE é igual a ``PS/2''. Na distribuição Caldera, tudo que se deve fazer é acrescentar a seguinte linha ao arquivo /etc/rc.d/rc.boot: /usr/bin/gpm 22..1100.. PPoonnttooss ddee MMoonnttaaggeemm É conveniente ter à mão os pontos de montagem para a unidade de disquetes e outros dispositivos. Pode-se fazer por exemplo o seguinte: ~# cd /mnt /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip Isto cria pontos de montagem para uma unidade de disquete MS-DOS, uma unidade de disquete ext2, o CD-ROM, a partição DOS e o dispositivo Zip de porta paralela. Agora deve-se editar o arquivo /etc/fstab, acrescentando-se as seguintes entradas: /dev/fd0 /mnt/a: msdos user, noauto 0 1 /dev/fd0 /mnt/floppy ext2 user, noauto 0 1 /dev/cdrom /mnt/cdrom iso9660 ro, user, noauto 0 1 /dev/sda4 /mnt/zip vfat user, noauto 0 1 /dev/hda1 /mnt/win vfat user, noauto 0 1 Obviamente, deve-se usar o dispositivo correto no primeiro campo. Para acessar as partições fat32, há uma atualização do kernel e das informações em . 22..1111.. LLIILLOO ((88)) ee LLOOAADDLLIINN Muitos usuários acessam o Linux e DOS/Windows em seus PCs e querem escolher na hora da inicialização qual sistema deve ser usado. Suponhamos que /dev/hda1 contenha DOS/Windows e que /dev/hda2 contenha Linux. Para tanto deve-se executar o seguinte: ~# fdisk Usando /dev/hda como dispositivo padrão! Comando (m for help): a Número da partição (1-4): 2 Comando (m for help):w ~# Isto torna a partição Linux inicializável. Este passo deve ser feito através do parâmetro activate, quando se estiver executando o comando QuickInst do LILO, porém não funcionou muito bem com o meu Red Hat. Pode-se então utilizar o seguinte arquivo /etc/lilo.conf: boot = /dev/hda2 compact delay = 50 # message = /boot/bootmesg.txt # a ser personalizada root = current image = /boot/vmlinuz # inicializa o linux por padrão label = linux other = /dev/hda1 table = /dev/hda label = dos Deve-se então executar o /sbin/lilo e tudo estará pronto. Sendo o lilo uma parte crucial da instalação, aconselha-se a leitura atenta da sua documentação. Para inicializar o Linux a partir do DOS/Windows sem as alterações acima, deve-se colocar o executável LOADLIN.EXE em um diretório da partição DOS, incluído no caminho padrão do DOS; copiar-se o kernel, digamos, para C:\DOS\VMLINUZ e então o seguinte arquivo .BAT inicializará o Linux: rem linux.bat smartdrv /C loadlin c:\dos\vmlinuz root=/dev/hda2 r Caso se utilize o Windows 95, as propriedades deste .BAT devem ser definidas para que ele seja iniciado no modo MS-DOS. 22..1111..11.. DDiiccaa ddee SSeegguurraannççaa Deve ser feita uma cópia de segurança antes de se instalar o Linux. Pode ser usado o restorrb (incluído no pacote FIPS) antes da instalação, ou pode ser usada a unidade de disquete de salvamento Linux e editado o seguinte comando: rescue:~# dd if=/dev/hda of=MBR bs=512 count=1 devendo serem realizadas pelo menos duas cópias do arquivo MBR para a unidade de disquetes. Caso ocorra algum problema, será possível restaurar o antigo MBR, executando-se: rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1 presumindo-se que a unidade de disquetes contenha o MBR e esteja montada sob /mnt. Alternativamente pode ser usado um disquete de salvamento DOS executando-se FDISK /MBR. 22..1122.. CCoonnffiigguurraaççããoo ddaa IImmpprreessssoorraa As distribuições Red Hat e Caldera têm uma ferramenta de configuração chamada printtool. Caso não se utilize uma destas distribuições, a configuração manual é descrita a seguir. Suponhamos que se tenha uma impressora sem PostScript, e que se queira usá-la para imprimir textos sem tratamento (como por exemplo arquivos de fonte C) e arquivos PostScript via Ghostscript, os quais presume- se, já estejam instalados. A definição de uma impressora requer os seguintes passos: · para descobrir qual é o dispositivo de impressão paralela pode-se tentar: ~# eco "alô, mundo" > /dev/lp0 ~# eco "alô, mundo" > /dev/lp1 anotando-se aquele que funcionar corretamente. · criar dois diretórios de serviços temporários de impressão, com os seguintes comandos : ~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw ; mkdir postscript · caso a impressora apresente o "efeito escada" (a maioria das impressoras de jato de tinta o fazem), será necessário utilizar um filtro. Para verificar se este "efeito" está presente, deve-se imprimir duas linhas utilizando-se os seguintes comandos: ~# eco "primeira linha" > /dev/lp1 ; eco "segunda linha" > /dev/lp1 Caso a saída apresente o seguinte formato: primeira linha segunda linha então o programa a seguir deve ser salvo como /var/spool/lpd/raw/filter: #!/bin/sh # Este filtro elimina o "efeito escada" awk '{print $0, "\r"}' Para torná-lo executável deve ser executado o seguinte comando chmod 755 /var/spool/lpd/raw/filter. · pode-se compor um filtro para a emulação PostScript, através da confecção do seguinte conteúdo a ser salvo como /var/spool/lpd/postprograma/filter: #!/bin/sh DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p- | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi (neste exemplo presume-se o uso de uma impressora jato de tinta HP. Para servir a outras impressoras o filtro deverá ser adequadamente ajustado). · finalmente, devem ser acrescentadas as seguintes entradas em /etc/printcap: # /etc/printcap lp|ps|PS|PostPrograma|djps:\ :sd=/var/spool/lpd/postprograma:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postprograma/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh: Para a impressão com uma configuração mais complexa ou exótica, o COMO FAZER Impressão deve ser lido cuidadosamente. Caso se use o printtool, deve-se estar atento para que o GSDEVICE escolhido pela ferramenta Imprimir funcionará, mas não necessariamente da melhor maneira para a impressora. A idéia de editar um pouco o arquivo postscript.cfg; por exemplo deve ser levada em consideração. Mudamos o GSDEVICE de cdj500 para djet500 e agora a impressora funciona mais rapidamente. 33.. CCoonnffiigguurraaççããoo ddee SSooffttwwaarree Vamos personalizar os seguintes arquivos: /etc/profile /etc/bashrc ,.bashrc, .bash_profile, .inputrc, .less, .lessrc, .xinitrc, .fvwmrc, .fvwm2rc95, .Xmodmap, .Xdefaults, .jedrc., .abbrevs.sl, .joerc e .emacs . Novos usuários não devem ser acrescentados até que se tenha completada a configuração do sistema. Os arquivos dot serão colocados em /etc/skel. 33..11.. bbaasshh ((11)) Para se adaptar o comportamento do interpretador de comandos bash, estes são os principais arquivos a serem editados: · /etc/bashrc: contém um amplo sistema de funções e nomes alternativos; · /etc/profile: contém um sistema amplo de itens de ambiente e programas de inicialização; · $HOME/.bashrc: contém nomes alternativos de usuários e funções; · $HOME/.bash_profile: contém itens de ambiente do usuário e programas de inicialização; · $HOME/.inputrc: contém as chaves de ligações e outros bits. Exemplos destes arquivos são mostrados a seguir. Primeiro e mais importante: /etc/profile. É usado para configurar muitas características de uma máquina Linux, como se pode ver nas seguintes seções: ______________________________________________________________________ # /etc/profile # Ambiente global do sistema e programas de inicialização # Funções e apelidos são definidos em /etc/bashrc # # Este arquivo estabelece as seguintes características: # # o caminho # o indicador da linha de comandos # algumas variáveis de ambiente # as cores do comando ls # o comando less # # Os usuários podem alterar estas configurações e/ou acrescentar outras nos # arquivos $HOME/.bash_perfil # # estabelecendo um caminho adequado echo $PATH | grep X11R6 > /dev/null if [ $? = 1 ] ; then # adicionando entradas ao PATH PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." fi # notificar o usuário: ambiente ou ausência de um nos acessos. Caso haja um # interpretador de comandos, então o indicador será azul; # senão será magenta. O indicador de superusuário será vermelho. USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 else COLOUR=45 fi if [ $USER = 'root' ] ; then COLOUR=41 fi # utilizar um caractere de fuga real ao invés de ^[. Para fazer isto: # emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC # Remover `;1' caso não se queira utilizar "negrito". ESC=^[ PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ ' PS2="Continue> " # por favor, sem arquivos de erro de kernel ulimit -c 0 # configurando a umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # algumas variáveis USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # comando ls em cores eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -s -T 0 --color=tty' # personalizar o less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" VISUAL=jed LESSCHARSET=latin1 export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done ______________________________________________________________________ Este é uma exemplo do arquivo /etc/bashrc: ______________________________________________________________________ # /etc/bashrc # Sistema de funções amplas e nomes alternativos # Itens ambientais entram em /etc/profile alias which="type -path" alias d="ls" alias dir="d" ______________________________________________________________________ Este é um exemplo do arquivo .bashrc: ______________________________________________________________________ # $HOME/.bashrc # Fonte de definições globais if [ -f /etc/bashrc ]; then . /etc/bashrc fi # isto é necessário para notificar o usuário que ele está em um # ambiente de trabalho sem acesso à execução de comandos if [ "$GET_PS1" = "" ] ; then COLOUR=45 # colocar um caracter de saída real ao invés de ^[ ESC=^[ PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ ' export PS1 fi # Nomes alternativos alias cp='cp -i' alias l=less alias lyx='lyx -width 900 -height 700' alias mv='mv -i' alias rm='rm -i' alias x=startx # Algumas funções úteis inst() # Instalar um arquivo .tar.gz no diretório atual. { gzip -dc $1 | tar xvf - } lz() # Listar o conteúdo de um arquivo .zip. { unzip -l $* } lgz() # Listar o conteúdo de um arquivo .tar.gz. { for file in $* ; do gzip -dc ${file} | tar tf - done } tgz() # Criar um arquivo .tgz com zip { name=$1 ; tar -cvf $1 ; shift tar -rf ${name} $* gzip -S .tgz ${name} } ______________________________________________________________________ Este é um exemplo do arquivo .bash_profile: ______________________________________________________________________ # $HOME/.bash_profile # Uso de variáveis específicas e programas de inicialização # Este arquivo contém configurações definidas pelo usuário que alteram # aquelas presentes em /etc/profile # Obtendo os nomes alternativos e as funções if [ -f ~/.bashrc ]; then GET_PS1="NO" # não altera as cores do indicador de linha de comandos . ~/.bashrc fi # estabelecendo alguns diretórios `padrões' # exemplos que devem ser adaptados ao sistema do usuário export CDPATH="$CDPATH:$HOME:$HOME/texto:$HOME/texto/geologia" # arrumando a tecla de retorno do rxvt 2.45 if [ "$COLORTERM" != "" ] ; then stty erase ^? ESC=^[ # usa um caracter real de fuga ao invés de ^[ echo -n "$ESC[36l" fi ______________________________________________________________________ Este é um arquivo de exemplo do .inputrc: ______________________________________________________________________ # $HOME/.inputrc # chaves de ligação "\e[1~": início de linha "\e[3~": apagar caracter "\e[4~": fim de linha # (F1 .. F5) são "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # sem som set meta-flag On # permite entradas de 8-bits (ou seja # caracteres acentuados) set convert-meta Off # não separa caracteres de 8 bits set output-meta On # lista caracteres de 8 bits corretamente set horizontal-scroll-mode On # rola linhas de comandos longos set show-all-if-ambiguous On # após a tecla TAB ser pressionada ______________________________________________________________________ Para fazer as teclas de retorno e apagar funcionarem corretamente em xterm e outros aplicativos X11, faz-se necessária a aplicação do seguinte roteiro: · colocar em .xinitrc: usermodmap=$HOME/.Xmodmap xmodmap $usermodmap · colocar em .Xmodmap: keycode 22 = BackSpace keycode 107 = Delete Isto corrige o console. Para acertar o xterm: · colocar em .Xdefaults: xterm*VT100.Translations: #sobrepõem-se a BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") nxterm*VT100.Translations: # sobrepõem-se a BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") rxvt é um pouco mais complicado, já que algumas das opções em tempo de compilação alteram o seu comportamento. Vide o .bash_profile acima. Mais informações podem ser encontradas nas páginas de manual on-line de bash(1) e readline(3). 33..22.. llss ((11)) O ls pode mostrar uma lista de diretórios usando cores para realçar os diferentes tipos de arquivos. Para capacitar estas características, acrescente as seguintes linhas ao arquivo /etc/profile: eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -T 0 --color=tty' (Caso o arquivo /etc/DIR_COLORS não exista, deve ser removida a referência a ele na primeira linha). Isto estabelece a variável de ambiente LS_COLORS que contém a lista de cores configurada em /etc/DIR_COLORS. Nota: isto não funciona com versões do rxvt anteriores à 2.21. Ao invés disso pode ser usado o xterm . Parece que rxvt tem um problema, que não permite herdar o ambiente corretamente em algumas circunstâncias. O ls da Caldera não tem cores, mas há um equivalente color-ls, que pode ser acrescentado ao arquivo /etc/bashrc: alias ls="color-ls $LS_OPTIONS" 33..33.. lleessss ((11)) Com este excelente paginador é possível folhear não apenas arquivos de texto puro, mas também arquivos compactados no formato gzip, arquivos zip e tar, páginas do manual e o que mais se tiver. Sua configuração envolve alguns passos: · para usá-lo com as teclas de movimento, deve-se ter o seguinte arquivo em formato ASCII puro chamado .lesskey no diretório pessoal do usuário: ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end e executar-se o comando lesskey. Isto criará um arquivo binário .less contendo as construções de teclas. · deve-se escrever o seguinte arquivo como /usr/bin/lesspipe.sh: ___________________________________________________________________ #!/bin/sh # Este é um pré-processador para "less". É usado quando a variável de ambiente # estiver configurada da seguinte forma: LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # verifica o conteúdo de arquivos .tar e .tgz *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # verifica arquivos comprimidos *.zip) unzip -l $1 2>/dev/null ;; # verifica arquivos comprimidos *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -q -p -i -l $1 2>/dev/null ;; *.cpio) cpio --list -F $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) file $1 | grep text > /dev/null ; if [ $? = 1 ] ; then # não é um arquivo texto strings $1 fi ;; esac } lesspipe $1 ___________________________________________________________________ e deve ser tornado executável através do comando chmod 755 lesspipe.sh. · colocar as seguintes linhas em /etc/profile: LESS="-M-Q" # comando longo, silêncio LESSEDIT="%E ?lt+%lt. %f" # editar a linha superior LESSOPEN="| lesspipe.sh %s" # filtro VISUAL=jed # editor padrão---inserir o favorito LESSCHARSET=latin1 # mostrar as letras acentuadas, se necessário export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET A variável LESSCHARSET depende do fato de eu morar na Itália e querer usar o caractere ISO 8859/1. Aos companheiros americanos, japoneses, russos, etc. não aconselho o seu uso. 33..44.. eemmaaccss ((11)) Não uso o emacs, por isso tenho somente um conselho para dar. Algumas distribuições do emacs não vêm pré-configuradas para cores e realce de sintaxe. Deve-se então inserir o seguinte no arquivo .emacs: (global-font-lock-mode t) (setq font-lock-maximum-decoration t) Isto funciona somente no X11. Deixo para o usuário a tarefa de examinar a documentação do emacs para descobrir como adaptá-la às suas necessidades -- potencialmente isso pode levar meses de programação... 33..55.. jjooee ((11)) Algumas pessoas relataram que o editor joe funciona com cores em X11, mas não em terminais tty. Além disso, algumas teclas especiais não funcionam. Até onde eu saiba, ninguém descobriu a solução para o pequeno incômodo anterior. Caso este seja um problema para o leitor, uma solução rápida e deselegante, é a seguinte: ~$ export TERM=vt100 ~$ joe arquivo (edita o arquivo) ~$ export TERM=linux 33..66.. jjeedd ((11)) Este é o meu editor favorito: ele faz o que eu preciso, é mais leve e mais fácil de configurar que o emacs e em minha opinião emula outros editores superiores. Muitos usuários em minha universidade querem jed para emular o EDT, o editor de sistemas VMS. Os arquivos de configuração do jed são chamados .jedrc e /usr/lib/jed/lib/*; o anterior pode ser adaptado de jed.rc. · para fazer com que o jed use as teclas especiais corretamente, deve-se gravar o arquivo /usr/lib/jed/lib/padrões.sl cuja única linha é: () = evalfile("linux"); · editar o arquivo /usr/lib/jed/lib/linux.sl, remover o comentário da linha que diz Info_Directory = "/usr/info"; e acrescentar /bin/mail após UCB_Mailer =; · para fazer com que jed emule o EDT (ou outros editores) há que se editar algumas linhas do .jedrc. Caso se queira utilizar uma plataforma numérica '+' para apagar as palavras, ao invés de um único caractere, o seguinte conteúdo deve ser acrescentado ao .jedrc: unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); depois da linha onde se lê () = evalfile("edt");. · para fazer com que xjed use a plataforma numérica para emulação EDT, deve ser inserido o seguinte em .Xmodmap: keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator Além disso, deve-se estar seguro de que o arquivo /etc/X11/XF86Config contém as seguintes linhas: # ServerNumLock # devem estar comentados XkbInativo Isto se aplica ao XFree 3.2. A menos que se use um teclado de padrão americano, o 'XkbInativo' pode trazer alguns pequenos problemas. · a personalização de cores para xjed é feita pelo acréscimo de linhas como estas em .Xdefaults: xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue · a característica de ``abreviação'' é um economizador de tempo de extremo valor. Para usá-la deve-se escrever um arquivo como o seguinte conteúdo em $HOME/.abbrevs.sl: create_abbrev_table ("Global", ""); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % e assim por diante... e a seguir digitar ESC x abbrev_mode para habilitá-lo. Para se ter a abreviação por padrão, devem ser acrescentadas as seguintes entradas em .jedrc: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % e assim por diante... 33..77.. eeffaaxx ((11)) Este pacote é provavelmente o mais conveniente para o envio e recebimento de faxes. Deve-se adaptar o programa /usr/bin/fax nos seguintes parâmetros: · DIALPREFIX: as chances de se colocar `T' ou `P' e ele não funcionar em diversos países é grande. Ao invés disso deve-se usar 'ATDT' caso a linha telefônica disponível funcione com tom ou 'ATDP' caso ela funcione através de pulsos; · INIT e RESET: estas linhas contêm os inicializadores `-i' e `-k', necessários para o efax. Caso se queira acrescentar o comando AT, isto deve ser feito na linha apropriada, precedendo o restante com `-i' ou com `-k'. Por exemplo: para acrescentar o comando `ATX3' a INIT, deve-se usar `-iX3'. 33..88.. TTeeXX ee AAmmiiggooss Presumindo-se que se tenha acesso à uma distribuição do teTex, nestes casos: · para configurar o padrão de hifenização para o idioma desejado, deve ser editado o arquivo /usr/lib/texmf/texmf/tex/generic/config/language.dat, da seguinte forma: ~# texconfig init ; texconfig hyphen · ao se acrescentar um pacote LaTeX, deve ser executado o comando texhash em /usr/lib/texmf/texmf/tex/latex/, a fim de que o teTex reconheça o novo pacote; · para adaptar o dvips, o arquivo a ser editado é /usr/lib/texmf/texmf/dvips/config/config.ps. Deve-se estar atento ao fato de que os campos relativos à resolução padrão também afetam o comportamento do xdvi. Ao se vivenciar tentativas irritantes de se criar fontes a cada vez que ele seja executado, pode-se acrescentar a seguinte linha: XDvi*mfmode: em .Xdefault. Isto deve resolver o problema. 33..99.. PPPPPP Assumindo-se que o kernel tenha o suporte compilado a PPP + TCP/IP, a interface local de rede esteja habilitada, o pacote pppd esteja disponível e corretamente instalado e que o acesso como superusuário está disponível, pode-se seguir as instruções aqui mencionadas. Obviamente, o PSI - Provedor de Serviços Internet, deverá suportar conexões PPP. Existem duas maneiras para configurar o PPP: a) configuração manual; b) um programa de configuração automática. Qualquer opção escolhida, necessita das seguintes informações: · o número de telefone do PSI; · o nome do servidor do PSI; · o servidor de notícias e correio do PSI; · o domínio do PSI; · o nome de usuário e senha. A configuração manual é um trabalho penoso, pois trata da edição de arquivos e da gravação de programas. Não é muito trabalhosa, mas é fácil cometer-se erros, sendo que iniciantes podem facilmente se intimidar. O COMO FAZER PPP está à disposição para sanar as dúvidas mais comuns. Alternativamente, existem ferramentas que pedem as informações acima e fazem todo o trabalho. Certamente uma saída pode residir em se pedir suporte a quem já esteja conectado ou na utilização de uma das seguintes ferramentas: · uma ferramenta X11 estável é o EzPPP, cuja página está em . Muito fácil de se usar, quase auto explicativa; · para conexões estabelecidas via tty, as ferramentas disponíveis em podem ser uma excelente opção. Uma das melhores é pppsetup-X.XX.tar.gz. · a ferramenta de configuração mais simples para se usar é certamente o wvdial. Informa-se o número de telefone do PSI, o nome de usuário, senha, e pode-se estar conectado. Do arquivo README: "Há uma página na rede para o wvdial em . Uma ferramenta muito boa. 33..1100.. CClliieennttee PPOOPP Para recuperar a correspondência de um servidor POP, pode-se usar um cliente POP como fetchpop ou fetchmail. O último é mais avançado e é provavelmente a única opção caso o servidor PPP do PSI não reconheça o comando "LAST". Eles estão disponíveis em . Para se configurar estes clientes deve-se observar o seguinte: · fetchpop: na primeira vez em que for executado será necessário fornecer algumas informações. Responda às perguntas e o programa poderá ser prontamente utilizado. · fetchmail: deve se adaptar o seguinte exemplo de .fetchmailrc: # $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user didi there with password _Loo%ny is didi here Devem ser configuradas as permissões para este arquivo com o comando chmod 600 .fetchmailrc, senão fetchmail não poderá ser executado. Este exemplo é bastante básico e assume que se tenha um arquivo sendmail disponível. Existem infinitas possibilidades de configuração, que podem ser verificadas em . 33..1111.. SSiisstteemmaa XX WWiinnddooww Uma vez que o X Window esteja funcionando (placa de vídeo certa, etc.), existem infinitas possibilidades de configuração, dependentes do gerente de janelas que se esteja utilizando. De qualquer maneira, a tarefa se resume na edição de um ou mais arquivos ASCII no diretório pessoal. Quanto ao gerente de janelas: · ffvvwwmm: deve-se copiar o arquivo /etc/X11/fvwm/system.fvwmrc para o diretório pessoal com o nome de .fvwmrc, analisar o seu conteúdo e iniciar um processo de experimentação. O arquivo system.fvwmrc é na minha opinião muito simples e não faz justiça a fvwm. · ffvvwwmm9955--22: deve-se copiar o arquivo /etc/X11/fvwm95-2/fvwm2rc95 para o diretório pessoal com o nome de .fvwm2rc95, o qual deve ser editado a seguir. O exemplo padrão é uma contribuição muito boa. · TThheeNNeexxttLLeevveell: este é um gerenciador de janelas bem mais difícil de configurar. Deve-se copiar o arquivo /etc/X11/TheNextLevel/.* para o diretório pessoal, observar-se o seu conteúdo e personalizá-lo. O primeiro item é denominado .fvwm2rc.defines. Além disso, certifique-se que há um arquivo .xinitrc próprio. Por exemplo: #!/bin/sh # $HOME/.xinitrc # estabelecendo algumas teclas corretamente usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # desliga o salvador de tela xset s 300 2 # salvador de tela inicia depois de 5 minutos xsetroot -solid "medium blue" & # o rxvt salva muita memória, mas versões anteriores a 2.21 têm problemas # que afetam as teclas e a maneira pela qual o ambiente é herdado. Deve ser # atualizada ou substituída pelo xterm. xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \ -title "Color xterm" -geometry 80x25+150+0 & fvwm95-2 33..1122.. FFoorrttrraann Na minha experiência, caso se precise de Fortran, uma boa alternativa para g77 é o tradutor Fortran para C f2c e a interface yaf77. Pode-se obter yaf77-X.Y.tgz a partir de . 33..1133.. CCoonnffiigguurraaççõõeess ddooss UUssuuáárriiooss É aconselhável que novos usuários tenham alguns arquivos de configuração prontos quando eles forem criados no sistema. Devem ser colocados os seguintes arquivos no diretório /etc/skel: .bashrc .bash_profile .bash_logout .inputrc .less .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl. joerc .emacs Note-se que o .pinerc não pode ser completamente adaptado. Certifique- se que pelo menos os campos user-domain, smtp-server e nntp-server estejam propriamente configurados. 33..1144.. AAttuuaalliizzaaççããoo Ao se atualizar uma máquina, lembre-se de salvar antes alguns arquivos adicionais. Alguns deles são: /etc/X11/XF86Config, /usr/bin/fax, ... 44.. FFiimm 44..11.. RReettoorrnnoo Talvez muito mais que quaisquer outros COMO FAZER, este precisa e acolhe suas sugestões, críticas e contribuições. O retorno não é somente bem vindo, como é necessário. Caso alguma coisa esteja faltando ou esteja errada, por favor envie-nos um email. Caso se tenha uma distribuição diferente do Conectiva Linux, Red Hat e Caldera e a configuração de arquivos seja diferente ou residente em outros diretórios, por favor nos avise e a incluiremos. O objetivo aqui é tornar a vida com Linux tão fácil quanto possível. Linux tem um número imenso de pacotes, assim é impossível incluir as instruções para todos eles. Por favor guarde seu pedido/sugestão pertinente aos programas "mais razoáveis" --- deixaremos para seu bom senso. 44..22.. AAvviissoo LLeeggaall `` COMO FAZER - Configuração'' foi escrito por Guido Gonzato, guido@ibogfs.cineca.it. Meus agradecimentos a todos os outros autores de COMO FAZER e escritores/mantedores de páginas man cujo trabalho eu desavergonhadamente surrupiei. Este documento está provido na forma "como se encontra". Eu me esforcei muito para escrevê-lo, mas o uso das informações aqui contidas são de risco único e exclusivo do usuário. De maneira nenhuma eu serei responsabilizado por qualquer dano que resulte do uso deste trabalho. Esperamos que você ache este trabalho útil. A cada vez que eu instalo uma nova máquina Linux, eu realmente acho ... Divirta-se, Guido =8-)