(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

330. A Instalação do Red Hat 4.2

Com qualquer coisa relacionada a computadores, algo em 3 meses já está obsoleto e é necessário uma atualização. Eu farei o meu melhor para ao menos atualizá-lo para toda versão nova, visto que nem sempre eu tenho tempo de atualizar este documento toda vez. Como para as outras distribuições, a menos que os autores desej em enviar as atualizações, os documentos permanecem como eles estão.

330.1 Configuração Pessoal

Para a minha instalação, eu tenho e usei:

  • Kernel 2.0.30;
  • dispositivo de disco Iomega ppa;
  • Red Hat 4.2.

330.2 Instalação de Pacotes

Quando eu primeiro decidi tentar instalar o Red Hat no disco ZIP, eu imaginei que seria muito mais fácil que usar somente o disco de inicialização do Red Hat. Então eu acordei. Eu estava muito perto de começar de um disco de inicialização criado, até mesmo consegui ajuda de várias comunidades do Red Hat via e-mail mas finalmente eu comecei a desistir do projeto inteiro quando eu descobri a opção --root com o rpm.

Quais pacotes pegar

Encontrei quais pacotes instalar dando uma olhada em um arquivo que eu encontrei em um dos mirrors do Red Hat. Este arquivo pode ser encontrado em qualquer mirror no:

  redhat/redhat-4.2/i386/RedHat/base/comps

Para esta instalação, queria incluir suporte a rede mas devido a configuração X de rede do Red Hat, eu tenho que configurar manualmente, ou melhor dizendo, tentar configurar manualmente os scripts de configuração de rede encontrados no /etc/sysconfig/ (ver seção 4.3.3.). Eu decidi contra a instalação de quaisquer pacotes de desenvolvimento como o dispositivo ZIP, pelo menos uma versão do kernel não-corrigida, que é muito devagar para obter qualquer coisa para compilar. Também escolhi não instalar o X principalmente para pela questão do espaço em disco. Mais tarde, eu posso tentar montar meu disco rígido e criar um sumlink com o /usr para ver se eu posso obter o X para trabalhar. A seguir está uma lista de quais pacotes eu instalei, listados em ordem de instalação. Aqueles marcados com um * tem atualizações com erros de impressão do Red Hat; em parênteses está o número do pacote atualizado:

 NetKit-B-0.09-6 was updated to NetKit-B-0.09-8 so the entry
    would be: *91) NetKit-B-0.09-6 (-8)


      (Lista criada pelo comando rpm --root /iomega -qa)

       1) setup-1.7-2                   2) pamconfig-0.51-2
       3) filesystem-1.3-1              4) MAKEDEV-2.2-9
       5) adduser-1.7-1                 6) libc-5.3.12-18
       7) SysVinit-2.64-8               8) ash-0.2-8
       9) at-2.9b-2                    10) libtermcap-2.0.8-4
      11) bash-1.14.7-1                12) bc-1.03-6
      13) bdflush-1.5-5                14) cpio-2.4.2-4
      15) cracklib-dicts-2.5-1         16) tmpwatch-1.2-1
      17) crontabs-1.5-1              *18) db-1.85-10 (-11)
      19) dev-2.5.1-1                  20) diffutils-2.7-5
      21) etcskel-1.3-1                22) file-3.22-5
      23) fileutils-3.16-1             24) findutils-4.1-11
      25) grep-2.0-5                   26) groff-1.10-8
     *27) ld.so-1.7.14-4 (-5)          28) getty_ps-2.0.7h-4
      29) gzip-1.2.4-7                 30) mingetty-0.9.4-3
     *31) initscripts-2.92-1 (93-1)    32) ed-0.2-5
      33) info-3.9-1                   34) ncurses-1.9.9e-4
      35) libg++-2.7.1.4-5            *36) pwdb-0.54-3 (-4)
      37) rootfiles-1.5-1             *38) pam-0.57-2 (-4)
      39) redhat-release-4.2-1         40) less-321-3
      41) mount-2.5l-2                 42) zlib-1.0.4-1
      43) rpm-2.3.11-1                 44) e2fsprogs-1.10-0
      45) sysklogd-1.3-15              46) tar-1.11.8-11
      47) passwd-0.50-7                48) gawk-3.0.2-1
      49) gdbm-1.7.3-8                 50) gpm-1.10-8
      51) hdparm-3.1-2                 52) kbd-0.91-9
      53) slang-0.99.37-2              54) newt-0.8-1
      55) kbdconfig-1.4-1              56) ncompress-4.2.4-7
     *57) sh-utils-1.16-4 (-5)         58) procinfo-0.9-1
     *59) logrotate-2.3-3 (4-1)        60) lilo-0.19-1
      61) losetup-2.5l-2               62) linuxthreads-0.5-1
     *63) mkinitrd-1.6-1 (7-1)         64) mailcap-1.0-3
     *65) man-1.4h-5 (j-1)             66) mt-st-0.4-2
      67) modules-2.0.0-5              68) mailx-5.5.kw-6
      69) net-tools-1.32.alpha-2       70) procmail-3.10-10
      71) procps-1.01-11               72) psmisc-11-4
      73) quota-1.55-4                 74) readline-2.0-10
      75) sed-2.05-6                   76) setconsole-1.0-1
      77) sendmail-8.8.5-4             78) shadow-utils-960530-6
      79) stat-1.5-5                   80) tcsh-6.06-10
      81) termcap-9.12.6-5             82) textutils-1.22-1
      83) time-1.7-1                   84) timeconfig-1.8-1
      85) util-linux-2.5-38            86) vim-4.5-2
      87) vixie-cron-3.0.1-14          88) which-1.0-5
      89) zoneinfo-96i-4               90) tcp_wrappers-7.5-1
     *91) NetKit-B-0.09-6 (-8)        *92) lpr-0.18-1 (19-1)
     *93) bind-4.9.5p1-2 (9.6-1)      *94) bind-utils-4.9.5p1-2 (9.6-1)
     *95) wu-ftpd-2.4.2b12-6 (b15-1)   96) anonftp-2.3-3
      97) zip-2.1-1                    98) unzip-5.12-5
      99) statserial-1.1-7            100) minicom-1.75-2
     101) lrzsz-0.12.14-1             102) dip-3.3.7o-9
     103) ppp-2.2.0f-3                104) portmap-4.0-3
     105) perl-5.003-8               *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
    *107) elm-2.4.25-7 (-8)           108) lynx-2.6-2 
     109) ncftp-2.3.0-5               110) pine-3.95-2
     111) rdate-0.960923-1            112) apache-1.1.3-3
    *113) nfs-server-2.2beta16-7     *114) nfs-server-clients-2.2beta16-7
          (2.2beta16-8)                    (2.2beta16-8)

E com tudo acima instalado, eu ainda tenho 32MB!

Atualizações; erros de impressão

Como muitos usuários do Red Hat conhecem, eu espero, alguns pacotes podem ser encontrados para se ter alguns fragmentos de segurança ou qualquer outra coisa que possa fazer com que surjam problemas. Por esta razão, as distribuições do Red Hat atualizam tais pacotes. Eu atualizei os pacotes que queria e podiam ser atualizados, e estão marcados na lista acima. Por favor, dirija-se á pagina na Internet da Red Hat que diz respeito a pacotes atualizados em:

http://www.redhat.com/support/docs/rhl/rh42-errata-general.html.


   NOTA: Antes de você atualizar os pacotes, terá de executar o ldconfig como descrito na seção 3.3.1.1.

Como instalar pacotes com o rpm, sem o glint

Com o rpm, use a opção --root para especificar o diretório montado como o de root para a instalação. Descobri que muitos pacotes falharam ao instalar por causa dos scripts de pré-instalação ou pós-instalação que não foram executando corretamente devido a um diretório root diferente; assim, use a opção --noscripts:

==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm

Como eu tenho certeza de que muitos pacotes avisarão, você deve obter uma mensagem de erro como:


  failed to open /iomega/var/lib/rpm/packages.rpm

  error: cannot open /iomega/var/lib/rpm/packages.rpm

Daí, só crie o diretório var/lib/rpm :)

==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm

O que vem primeiro, pamconfig ou pam?

Se qualquer um tentar instalar o pamconfig, ele se queixará de dependência falha do pam; e quando você tentar instalar o pam, ele se queixará de dependência falha do pamconfig! Esta questão do ovo ou a galinha, está embaraçada para mim há algum tempo, mas agradeço ao sinal --nodeps, que pode forçar a instalação do pamconfig; o pam adicionalmente possui mais dependências falhas do que só o pamconfig.

==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2

330.3 Problemas depois da instalação dos pacotes

Uma vez que tudo está instalado corretamente, infelizmente, o disco não está inteiramente funcional. O que significa é que, se você tentar inicializar agora como disquete, você não o conseguirá muito rapidamente. Assim que o init tentar iniciar, você verá dois amáveis erros; ambos queixam-se de alguns arquivos que não estão sendo encontrados que executariam os scripts construídos.

O caso da perda da /etc/ld.so.cache e da libc.so.5

Se você tentou inicializar, você obteria duas mensagens de erro, a primeira seria ausência do arquivo /etc/ld.so.cache, e a segunda sobre a perta da libc.so.5.

/etc/ld.so.cache

Como mencionado por muitos leitores, minha instruções anteriores não trabalharam completamente como explicado. A fim de conseguir este arquivo criado, você terá que executar o ldconfig enquanto o disco ZIP ainda é montado:

==> chroot /iomega /sbin/ldconfig

Agradecimentos a Javier Rodriguez por esta solução.

libc.so.5

Para resolver o caso da perda da lib, você terá que criar um symlink que seria criado pelos scripts de instalação.

==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5

Agradecimentos Darcy Boese por esta solução.

Ajustando a senha do root

Justamente como ldconfig foi executado no 4.3.1.1, você deve mudar/criar uma senha de root para este novo sistema:

==> chroot /iomega passwd root

O que foi criado


       NOTA: Isto é só uma breve configuração, que eu não estou habilitado a testar para ver se ele funciona; na teoria ele deve, mas por favor não mande-me reclamações dizendo que ele não funcionou.

Enquanto explorava o meu CD-ROM Red Had 4.2, eu encontrei alguma coisa muito interessante; o código fonte do programa de instalação, em /misc/src/install e alguma coisa no arquivo net.c. Nestes, eu encontrei o que outros arquivos que seria, criados executariam no programa de instalação. A maioria destes só tem suporte rede (daí o nome net.c) mas mesmo se você não tem uma placa de rede, você ainda pode usar a máquina local para a rede (mais o apache reclaramará pois não está sendo capaz de determinar o nome da máquina). Estes arquivos incluem:

      /etc/hosts
      /etc/HOSTNAME
      /etc/resolv.conf
      /etc/sysconfig/network
      /etc/sysconfig/network-scripts/ifcfg-eth0
      (ou qualquer outro dispositivo de rede que você pode ter).

Configuração da rede

Para este documento, eu queria suporte a rede para minha placa fast-Ethernet 3Com 3c595 (que nos últimos meses foi usada em outra máquina).

Primeiramente eu precisei de um nome, e visto que eu estava executando o meu próprio servidor de nomes (que é outra longa história) eu dei o meu próprio nome: dash-dot.wig.org. Ter um nome sem um IP é sem graça, então eu usei um 192.168.10.0 da rede sem Internet reservada que o meu servidor de nomes também usa. Mesmo que tipicamente o nome da máquina seja armazenado no /etc/HOSTNAME, O Red Hat checa o /etc/sysconfig/network para este nome; então vamos começar lá. Exemplo do meu /etc/sysconfig/network:


  NETWORKING=yes
  HOSTNAME=dash-dot
  DOMAINNAME=wig.org
  GATEWAY=
  GATEWAYDEV=eth0
  NS1=192.168.10.7

A seguir, a mesma informação duplicada para o /etc/HOSTNAME, o /etc/resolv.conf, e o /etc/hosts:

/etc/HOSTNAME:


dash-dot.wig.org

/etc/resolv.conf:


search wig.org
nameserver ns.wig.org

/etc/hosts:


127.0.0.1 localhost
192.168.10.99 dash-dot.wig.org dash-dot
192.168.10.7  ns.wig.org ns

O Red Hat configura todos os dispositivos da rede dos scripts encontrados em /etc/sysconfig/network-scripts. A configuração de qualquer dispositivo de rede é geralmente primeiro criada via programa de instalação e deste modo eu tive que criar estes arquivos de configuração manualmente. Todos eles começam com o ifcfg-XXX onde XXX é a interface de rede que o ifconfig constrói; por exemplo, ppp0, eth0, etc.. Para este exemplo, eu tive que criar um arquivo chamado ifcfg-eth0 que contém o seguinte:

  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=none
  BROADCAST=192.168.10.255
  NETWORK=192.168.10.0
  NETMASK=255.255.255.0
  IPADDR=192.168.10.99

E por último mas não menos, a fim de começar isto agora mesmo, quando no diretório /etc/sysconfig/network-scripts, só execute:

==> ./ifup ifcfg-eth0 boot

Isto iniciará o script que configura a interface de rede se aquela interface foi ajustada para começar na hora da 'inicialização'. Para informações adicionais, dirija-se ao documento COMO FAZER NET-3.


Página seguinte Página anterior Índice