#Recuperation du RPM source
yumdownloader --source anaconda
#installation des dépendances
yum-builddep ../srpms/anaconda-11.1.2.209-1.el5.centos.src.rpm
Construction en deux étapes :
#Recuperation du RPM source
yumdownloader --source nmap
#on desarchive le contenur du rpm source
rpm -ivh nmap-4.11-1.1.src.rpm
#on installe les dependances
yum-builddep ../srpms/nmap-4.11-1.1.src.rpm
#on reconstruit le rpm binaire
cd rpmbuild/specs
rpmbuild -ba nmap.spec
Construction à partir du srpm et d'un tarball :
#Recuperation du RPM source
yumdownloader --source nmap
#on desarchive le contenur du rpm source
rpm -ivh nmap-4.11-1.1.src.rpm
#on installe les dependances
yum-builddep ../srpms/nmap-4.11-1.1.src.rpm
#on telecharge le tarball suivant :
wget http://nmap.org/download/nmap-5.0-1.1.tzr.gz
#on copie le tar dans rpmbuild/sources
cp nmap-5.0-1.1.tzr.gz /home/builder/rpmbuild/sources
#après avoir fait une sv du fichier spec (nmap.spec.orig) et fait les modif
# dans le nouveau spec (version, release, changelog, ect...)
diff -uN nmap.spec.orig nmap.spec
#on teste la qualité du nouveau spec
rpmlint nmap.spec
#on reconstruit le rpm binaire
cd rpmbuild/specs
rpmbuild -ba nmap.spec
Utilisation des commandes "diff" et "patch" :
- faire une copie du fichier origine et modifié la copie
- realiser le patch
diff -u fichier_org fichier_new > ficier.patch
- appliquer le patch
patch -pX < fichier.patch
le X permet de tronquer X repertoires dans les noms de fichiers
ex :
- le patch est sous /tmp
- on est positionné dans /tmp
- dans le fichier patch, première ligne "--/tmp/truc/fic_org" :
patch -p2 < fichier.patch (1 : pour tmp et 2 pour truc
Le répertoire /dev contient des entrées pour les périphériques physiques, qu'ils soient ou non matériellement présents
Lors de l'exécution d'une commande sur le fichier pseudo-périphérique /dev/tcp/$host/$port, Bash ouvre une connexion TCP vers la socket associée.
Un socket est un noeud de communications associé à un port d'entrée/sortie spécifique (ceci est équivalent à un socket matériel ou à un réceptacle, pour un câble).
Il permet le transfert de données entre les périphériques matériels sur la même machine, entre machines du même réseau, entre machines de différents réseaux
et bien sûr entre différents emplacements sur Internet.
#obtenir l'heure de nist.gov
cat </dev/tcp/time.nist.gov/13
#telecharger une url
exec 5<>/dev/tcp/www.net.cn/80echo -e "GET / HTTP/1.0\n" >&5cat <&5
#arreter Tomcat7
echo SHUTDOWN > /dev/tcp/127.0.0.1/8005
#scan de ports
for PORT in {1..65535}; do
echo >/dev/tcp/google.com/$port&&echo"port $port is open"||echo"port $port is closed"done
#plus simple (avec un timeout de 1s)
port=80
host=127.0.0.1
timeout 1 bash -c "echo >/dev/tcp/$host/$port" &&echo "port $port is open" ||echo "port $port is closed"
- installation de livecd-tools
sur une fedora : #yum install livecd-tools
- telechargement de la Fedora-Live-Workstation
- installation de l'iso sur la clé usb démontée (sdd pour ma pomme...) #livecd-iso-to-disk --format --reset-mbr --overlay-size-mb 1024 Fedora-Live-Workstation-x86_64-22-3.iso /dev/sdd
(avec 1 Gigo de donnée persistente)
Quelques commandes en vrac si probleme de clavier :
- clavier en azerty :
. si pas de serveur X : #loadkeys fr # loqdkeys fr en qwerty
. si serveur X : #setxkbmap fr
Montage automagique d'un repertoire avec autofs:
.
Pour rappel, "autofs" ne monte le filesystem que lors du premier accés au point de montage (cd /media/samba par ex...).
Concrétement, le serveur ne "bourriquera" pas des heures (voir plus...) pendant le boot si la ressource demandée n'est pas disponible (serveur distant en rade, problème rezo,ect..).
A l'inverse de la ligne classique de la "fstab".
- Installation "trop complexe" des paquets nécessaires (sur une RedHat like):
yum install autofs cifs-utils
- création de 2 fichiers :
. /etc./auto.master.d/samba.autofs
/media /etc/auto.samba --ghost
l'option --ghost permet de montrer les repertoires accessibles même si non encore accedé
. /etc/auto.samba
linux -fstype=cifs,rw,noperm,credentials=/home/paulo/.credentials ://samba/Linux
- on redémarre tout ça :
systemctl start autofs.service
systemctl status autofs.service
systemctl enable autofs.service
Ps :
- attention à selinux
- le fichier auto.samba doit etre en 644
- connaissez vous la commande "findmnt" : trop de la balle :)
- test :
#cd /media/linux
Montage automagique du repertoire samba Linux dans le repertoire local /media/linux
Trop facile