Discussão:Diskless - Debian 6.0 Squeeze
O projeto artigo é baseado no Diskless, feito para rodar em Ubuntu Hardy (8.04) e agora estou fazendo um teste para Debian Squeeze. Por enquanto os testes consiste em instalar os aplicativos e copiar os arquivos com as configurações já customizados para o sistema (servidor e cliente), e no caso do não funcionamento das máquinas clientes fazer uma auditoria em cade serviço e procurar o erro.
servidor
Primeiramente foi realizado o particionamento do hd, partições: barra
barra home
barra export
swap
apt-get update apt-get install:
dhcp3-server
tftpd-hpa
debootstrap
nfs-common nfs-kernel-server
portmap nis
Isso não está na documentação
inetutils-inetd wget nkosi.org/~banto/confs.tar tar xvf confs.tar -C /tmp
Aqui segue 1-passo
cd /export mkdir -p squeeze state tftpboot/boot tftpboot/pxe
rm /etc/mtab ln -s /proc/mounts /etc/mtab
ln -s squeeze diskless cd /export/diskless
aqui está diferente porque banto optou por utilizar os arquivos existentes na diskless
mv /tmp/confs/server/interfaces /etc/network/
mv /tmp/confs/server/generic.script /export/tftpboot/boot/
mv /tmp/confs/server/rc.local /etc/
mv /tmp/confs/server/sysctl.conf /etc/
mv /tmp/confs/server/hosts* /etc/
/etc/init.d/networking restart /etc/rc.local
sysctl -p
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf-original nomenclatura diferente debian e ubuntu dhcp e dhcp3
mv /tmp/confs/server/dhcpd.conf /etc/dhcp/ mv /tmp/confs/server/isc-dhcp-server /etc/default/
cp /tmp/confs/server/gpxe-1.0.1+-gpxe.pxe /export/tftpboot/pxe/gpxe-git-b44.pxe
/etc/init.d/isc-dhcp-server restart
mv /tmp/confs/server/inetd.conf /etc/ service inetutils-inetd restart
mv /tmp/confs/server/nis /etc/default/
cd /export/tftpboot/boot
ln -s ../../diskless/vmlinuz vmlinuz
ln -s ../../diskless/initrd.img initrd.img
mv /tmp/confs/server/exports /etc/ /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart
mv /tmp/confs/server/yp* /etc/ /etc/init.d/nis restart /usr/lib/yp/ypinit -m debootstrap squeeze /export/squeeze
no cliente
primeiro preparo - na jaula
chroot /export/diskless mount none /proc -t proc apt-get update apt-get install
-y locales-all
linux-image-$(uname -r) nis
sudo
copiando confs - fora da jaula
exit mv /tmp/confs/client/initramfs.conf etc/initramfs-tools/ mv /tmp/confs/client/hosts etc/ mv /tmp/confs/client/hosts.allow etc/ mv /tmp/confs/client/interfaces etc/network/ mv /tmp/confs/client/yp.conf etc/ mv /tmp/confs/client/fstab etc/ mv /tmp/confs/client/mountnfs-diskless.sh etc/init.d/ mv /tmp/confs/client/nfs-common-diskless etc/init.d/ mv /tmp/confs/client/sudoers etc/
um esquema para não ter que baixar 400M de pacotes
mount /media/cdrom cd /media/cdrom mkdir /export/squeeze/opt/packages find -name *.deb -exec cp {} /export/squeeze/opt/packages \; apt-get install dpkg-dev cd /export/squeeze/opt/packages touch arquivo dpkg-scanpackages packages arquivo | gzip > packages/Packages.gz echo deb file:///opt packages/ > /export/squeeze/etc/apt/sources.list
segundo prepara - dentro da jaula
chroot /export/diskless echo "+::::::" >> etc/passwd echo "+::::::::" >> etc/shadow echo "+:::" >> etc/group rm /etc/hostname touch /etc/hostname mkdir /var/run/network update-rc.d -f nis remove ln -s /etc/init.d/nis /etc/rcS.d/S70nis update-initramfs -u chmod +x etc/init.d/mountnfs-diskless.sh chmod +x etc/init.d/nfs-common-diskless ln -s /etc/init.d/mountnfs-diskless.sh etc/rcS.d/S45mountnfs-diskless
Falta um link simbólico Diferença
apt-get install gnome-core xorg iceweasel openssh-server
rascunho
- . Quando instala o tftp o diretório padrão que aparece no dialog é /srv/tftp e eu alterei para /export . O arquivo de configuração fica em /etc/default/tftpd-hpa
- . Alterei o arquivo /etc/default/nis em NISSERVER= de false para true, ao invés de master, como orienta o artigo que este se baseia, por que dava erro e por seguir outros artigos, mas não é certo que essa outra opção resolveu, pois a mensagem de log que cita o artigo referência não aconteceu. E em NISCLIENT= eu mudei de true para false. ref [1]
- . com o comando rpcinfo -p é possível ver o status dos daemon
- . talvez seja necessário remover apt-get remove bind9-host
- . necessário indicar qual é a placa usada para o servidor de dhcp interno, acrescentar eth0 na linha INTERFACES="" no arquivo /etc/default/isc-dhcp-server,
- em /etc/sysctl.conf ao invés de ser net.ipv6.ip_forward=1 é net.ipv6.conf.all.forwarding=1
- no arquivo /etc/inetd.conf do servidor gaia em funcionamento está "tftp dgram udp wait root /usr/sbin/in.tftpd -s /export/ -r blksize -vvvvvv", diferente do citado no artigo base
- o nis usa o arquivo /etc/domainname e é precisa ter algo como teia.org.br, um dominio para rede. ref [2]
reinicinando os serviços
/etc/init.d/networking restart /etc/init.d/isc-dhcp-server restart service inetutils-inetd restart /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart /etc/init.d/nis restart
é necessário um ajuste no arquivo nfs-common-diskless, pois volta o erro:
insserv: Script nfs-common-diskless is broken: incomplete LSB comment. insserv: missing `Required-Stop:' entry: please add even if empty.
backup do arquivo importantes
do servidor
cp /export/tftpboot/boot/generic.script . cp /etc/network/interfaces . cp /etc/rc.local . cp /etc/sysctl.conf . cp /etc/default/isc-dhcp-server . cp /etc/hosts . cp /etc/hosts.allow . cp /etc/inetd.conf . cp /etc/exports . cp /etc/default/nis . cp /etc/yp.conf . cp /etc/ypserv.securenets . cp /export/tftpboot/pxe/gpxe-1.0.1+-gpxe.pxe . /etc/passwd /etc/group /etc/shadow /etc/initramfs-tools/initramfs.conf /etc/fstab /etc/init.d/mountnfs-diskless.sh /etc/init.d/nfs-common-diskless /etc/sudoers /export/tftpboot/pxe/gpxe-git-b44.pxe
do cliente
cp /export/diskless/etc/hosts . cp /export/diskless/etc/hosts.allow . cp /export/diskless/etc/network/interfaces . cp /export/diskless/etc/yp.conf . cp /export/diskless/etc/passwd . cp /export/diskless/etc/group . cp /export/diskless/etc/shadow . cp /export/diskless/etc/initramfs-tools/initramfs.conf . cp /export/diskless/etc/fstab . cp /export/diskless/etc/init.d/mountnfs-diskless.sh . cp /export/diskless/etc/init.d/nfs-common-diskless . cp /export/diskless/etc/sudoers .