Archives de la catégorie ‘Non classé’

Commentaires fermés

Installation complète d’un home serveur sous FreeBSD 9


2013
17.08

1/ install de freebsd

#!/bin/sh
 
echo '#5 Create ZFS Pool sys_tank'
mkdir /boot/zfs
zpool create sys_tank /dev/gpt/ssd-intel
zfs set checksum=fletcher4 sys_tank
zfs set dedup=on sys_tank
zfs set compression=off sys_tank
#zfs set mountpoint=/mnt sys_tank
 
echo '#6 At this point export and import the pool while preserving zroot.cache in /tmp.'
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
echo '#7 Create ZFS filesystem hierarchy'
zfs create                                                      sys_tank/root
zfs create                                                      sys_tank/usr
zfs create -o compression=lzjb                  -o setuid=off   sys_tank/usr/ports
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/distfiles
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/packages
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/usr/src
zfs create                                                      sys_tank/var
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/crash
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/db
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/db/pkg
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/empty
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/log
zfs create -o compression=gzip  -o exec=off     -o setuid=off   sys_tank/var/mail
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/run
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/tmp
zfs create -o compression=on    -o exec=on      -o setuid=off   sys_tank/tmp
 
zpool set bootfs=sys_tank/root sys_tank
 
echo '# Make /var/empty readonly'
zfs set readonly=on sys_tank/var/empty
 
echo '#8 Add swap space and disable checksums.'
zfs create -V 10G sys_tank/swap
zfs set org.freebsd:swap=on sys_tank/swap
zfs set checksum=off sys_tank/swap
zfs set dedup=off sys_tank/swap
 
zfs umount -a
zfs set mountpoint=none sys_tank
zfs set mountpoint=/ sys_tank/root
zfs set mountpoint=/tmp sys_tank/tmp
zfs set mountpoint=/usr sys_tank/usr
zfs set mountpoint=/var sys_tank/var
 
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
chmod 1777 /mnt/tmp
#cd /mnt ; ln -s usr/home home
chmod 1777 /mnt/var/tmp
 
echo '# Install FreeBSD to sys_tank'
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz;
do (cat $file | tar --unlink -xpvJf - -C ${DESTDIR:-/}); done
 
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
 
echo '# Installe fstab, rc.conf et loader.conf and some cool stuff'
# copy rc.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/rc.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/sysctl.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/make.conf
# copy fstab
touch /mnt/etc/fstab
# copy loader.conf
cd /mnt/boot/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/loader.conf
 
# Install du script post_install
mkdir /mnt/usr/scripts
mkdir /mnt/usr/scripts/userland
cd /mnt/usr/scripts
fetch http://192.168.1.96/zurp_fs/scripts/update_scripts.sh
chmod +x update_script.sh
 
shutdown -r now

2/ post install et clean

3/ services natifs :

4/ ez_jail
5/ services en jail :
-0 netatalk/samba.nfs
-1 SubSonic
-2 RetroShare & transmission
-3 un bureau Gnome (debian ?)
-4 serveur web public
-5 serveur web privé (administration, webmin …)
-6 virtualbox

Commentaires fermés

Installation de FreeBSD avec ZFS


2013
17.08

Avant de commencer, il faut préparer le disque système pour recevoir une partition ZFS.
pensez bien à corriger le chemin de votre disque en fonction de votre machine :)
comme d’hab, direction les pages de man pour le detail des options.

gpart -s gpt ada0
gpart add -b 34 -s 512 -t freebsd-boot ada0
gpart add -t freebsd-zfs -l ssd ada0

une fois ceci fait, on peut créer les datasets ZFS et installer le système :

#!/bin/sh
 
echo '#5 Create ZFS Pool sys_tank'
mkdir /boot/zfs
zpool create sys_tank /dev/gpt/ssd-intel
zfs set checksum=fletcher4 sys_tank
zfs set dedup=on sys_tank
zfs set compression=off sys_tank
#zfs set mountpoint=/mnt sys_tank
 
echo '#6 At this point export and import the pool while preserving zroot.cache in /tmp.'
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
echo '#7 Create ZFS filesystem hierarchy'
zfs create                                                      sys_tank/root
zfs create                                                      sys_tank/usr
zfs create -o compression=lzjb                  -o setuid=off   sys_tank/usr/ports
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/distfiles
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/packages
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/usr/src
zfs create                                                      sys_tank/var
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/crash
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/db
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/db/pkg
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/empty
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/log
zfs create -o compression=gzip  -o exec=off     -o setuid=off   sys_tank/var/mail
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/run
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/tmp
zfs create -o compression=on    -o exec=on      -o setuid=off   sys_tank/tmp
 
zpool set bootfs=sys_tank/root sys_tank
 
echo '# Make /var/empty readonly'
zfs set readonly=on sys_tank/var/empty
 
echo '#8 Add swap space and disable checksums.'
zfs create -V 10G sys_tank/swap
zfs set org.freebsd:swap=on sys_tank/swap
zfs set checksum=off sys_tank/swap
zfs set dedup=off sys_tank/swap
 
zfs umount -a
zfs set mountpoint=none sys_tank
zfs set mountpoint=/ sys_tank/root
zfs set mountpoint=/tmp sys_tank/tmp
zfs set mountpoint=/usr sys_tank/usr
zfs set mountpoint=/var sys_tank/var
 
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
chmod 1777 /mnt/tmp
chmod 1777 /mnt/var/tmp
 
echo '# Install FreeBSD to sys_tank'
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz;
do (cat $file | tar --unlink -xpvJf - -C ${DESTDIR:-/}); done
 
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
Commentaires fermés

Mise à jour kernel et monde


2012
30.01
#!/bin/sh
 
# Clean
cd /usr/src
make clean
 
# Récuperer les sources à jour
cvsup stable-supfile
 
# Compile le nouveau monde
make buildworld -j4
# Compile le nouveau noyau
make buildkernel -j4 KERNCONF=zurpatator2
make installkernel KERNCONF=zurpatator2
 
# reboot
echo ""
echo ""
echo "reboot necessaire (shutdown -r now) !!"
echo ""
echo ""
 
#!/bin/sh
 
cd /usr/src
#mergemaster -p
make installworld
make delete-old
make delete-old-libs
#mergemaster -U -i
make delete-old-libs
 
portsnap fetch update
 
# retype root passwd
passwd
 
# reconfigure sshd
#cd /etc/ssh/
#mv sshd_config sshd_config.dist
#sed '/^$/d; /^#/d' sshd_config.dist > sshd_config
#cat >> sshd_config <<EOF9
#Port 22
#ListenAddress 0.0.0.0
#Protocol 2
#AllowGroups wheel
#PermitRootLogin yes
#EOF9
 
# reboot
echo "reboot necessaire (shutdown -r now) !!"
Commentaires fermés

post config


2012
30.01
 
#!/bin/sh
 
############################
### Configuration du système
############################
 
# set root password
passwd root
 
# Mail
cd /etc/mail
make aliases
 
# Time Zone
cd /etc/
ln -s /usr/share/zoneinfo/Europe/Paris localtime
 
# cvsup
cp /usr/share/examples/cvsup/stable-supfile /usr/src/
cp /usr/share/examples/cvsup/ports-supfile /usr/src/
echo 'Edit du fichier /usr/src/stable-supfile'
echo 'modifier la ligne :'
echo 'default host=cvsup1.fr.FreeBSD.org'
read -p "Appuyer sur une touche pour continuer ..."
ee /usr/src/stable-supfile
ee /usr/src/ports-supfile
 
################################
### Copie des fichiers de config
################################
cp /etc/rc.conf /etc/rc.conf.dist
cp /etc/sysctl.conf /etc/sysctl.conf.dist
cp /boot/loader.conf /boot/loader.conf.dist
# Kernel
cd /usr/src/sys/amd64/conf/
cp GENERIC zurpatator2
 
########################
### Config système
########################
 
###################
### Security Tweaks
###################
chmod 640 /var/log/messages
 
 
############
### Ports ###
############
# met à jour les ports
portsnap fetch extract update
 
# Ports management
cd /usr/ports/ports-mgmt/portupgrade && make config-recursive && make install clean
 
# fail lors de l'install de gcc, donc install à part
cd /usr/ports/archivers/unzip && make config-recursive && make install clean
 
# Compile tools
portinstall gcc
 
# tools
portinstall wget sudo nano gzip logrotate
 
portinstall ezjail
echo 'security.jail.allow_raw_sockets=1' >> /etc/sysctl.conf
echo 'ezjail_enable="YES"' >> /etc/rc.conf
 
 
# Shells
portinstall bash
cd /bin/
ln -s /usr/local/bin/bash
echo '/bin/bash' >> /etc/shells
Commentaires fermés

Installation de FreeBSD sur un pool ZFS


2012
30.01
#!/bin/sh
 
# création de la table GPT sur le disque ada0 (1er disque sata de la machine, à adapter chez vous)
#gpart -s gpt ada0
# création d'une partition de boot, début au secteur 34, taille 512 secteurs
#gpart add -s 34 -b 512 -t freebsd-boot ada0
# création de la partition système, début au secteur 2048 (4k ready), sur tout le disque restant, label "ssd-intel"
#gpart add -s 2048 -t freebsd-zfs -l ssd-intel ada0
 
# utile ...
mkdir /boot/zfs
# on crée un dataset ZFS nomée sys_tank sur la partition gpt/ssd-intel
zpool create sys_tank /dev/gpt/ssd-intel
# on change le checksum
zfs set checksum=fletcher4 sys_tank
# on active la deduplication
zfs set dedup=on sys_tank
# on desactive la compression par défaut
zfs set compression=off sys_tank
 
# on export et réimporte le pool dans /mnt, en préservant zroot.cache dans /tmp
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
# on crée l'arboréscence ZFS
# on installe le système dans sys_tank/root, ça permet de changer le /root si besoin (upgrade ...)
zfs create                                                      sys_tank/root
zfs create                                                      sys_tank/usr
zfs create -o compression=lzjb                  -o setuid=off   sys_tank/usr/ports
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/distfiles
zfs create -o compression=off   -o exec=off     -o setuid=off   sys_tank/usr/ports/packages
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/usr/src
zfs create                                                      sys_tank/var
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/crash
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/db
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/db/pkg
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/empty
zfs create -o compression=lzjb  -o exec=off     -o setuid=off   sys_tank/var/log
zfs create -o compression=gzip  -o exec=off     -o setuid=off   sys_tank/var/mail
zfs create                      -o exec=off     -o setuid=off   sys_tank/var/run
zfs create -o compression=lzjb  -o exec=on      -o setuid=off   sys_tank/var/tmp
zfs create -o compression=on    -o exec=on      -o setuid=off   sys_tank/tmp
 
# on définit l'emplacement de la racine pour le boot
zpool set bootfs=sys_tank/root sys_tank
 
# /var/empty en lecture seule
zfs set readonly=on sys_tank/var/empty
 
# swap de 10Go, sans dedup ni checksum
zfs create -V 10G sys_tank/swap
zfs set org.freebsd:swap=on sys_tank/swap
zfs set checksum=off sys_tank/swap
zfs set dedup=off sys_tank/swap
 
# on umount le tout et on refait les points de montage propres
zfs umount -a
zfs set mountpoint=none sys_tank
zfs set mountpoint=/ sys_tank/root
zfs set mountpoint=/tmp sys_tank/tmp
zfs set mountpoint=/usr sys_tank/usr
zfs set mountpoint=/var sys_tank/var
 
# on export et importe le pool
zpool export sys_tank
zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt sys_tank
 
chmod 1777 /mnt/tmp
chmod 1777 /mnt/var/tmp
 
# Install de FreeBSD dans sys_tank/root, monté sur /mnt
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz;
do (cat $file | tar --unlink -xpvJf - -C ${DESTDIR:-/}); done
 
# on remet le cache zfs
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
 
# Installe fstab, rc.conf sysctl.conf, make.conf et loader.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/rc.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/sysctl.conf
cd /mnt/etc/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/make.conf
cd /mnt/boot/ ; fetch http://192.168.1.96/zurp_fs/sys_conf/loader.conf
touch /mnt/etc/fstab
 
# Install du script post_install
mkdir /mnt/usr/scripts
mkdir /mnt/usr/scripts/userland
cd /mnt/usr/scripts
fetch http://192.168.1.96/zurp_fs/scripts/update_scripts.sh
chmod +x update_script.sh
 
shutdown -r now