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.
Para a minha instalação, eu tenho e usei:
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.
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!
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.
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
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
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.
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.
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.
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.
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
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).
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.