pawelko.net

  1. Accueil
  2. Linux

Astuces Debian

Le 20-11-10 à 21:04 , par Cyril PawelkoPermalien.
dans Linux.

Définir le hostname du client DHCP :

Contrairement à Windows ou à une Fedora Core, un client DHCP Debian n'indique pas son nom d'hôte au serveur DHCP, qui ne peut donc pas créer l'enregistrement DNS correspondant.
Pour y remédier, ajouter la ligne suivante dans le fichier /etc/dhclient.conf ou /etc/dhcp3/dhclient.conf pour une ubuntu
send host-name "monpc";

Relancer le réseau pour prendre en compte les changements:
/etc/init.d/networking restart

Adresses IP multiples:

Pour affecter plusieurs adresses IP à une même interface, il suffit de déclarer les adresses supplémentaires dans /etc/network/interfaces, en utilisant le nom de l'interface, suivi de ":0" (ou ":1", ":2", etc...)
Exemple:

auto eth0
iface eth0 inet static
address 192.168.3.90
netmask 255.255.255.0
gateway 192.168.3.1

auto eth0:0
iface eth0:0 inet static
address 192.168.3.91
netmask 255.255.255.0
gateway 192.168.3.1

Redémarrer ensuite le réseau avec la commande /etc/init.d/networking restart
Source

Compiler un paquet à partir du fichier .dsc

Télécharger le fichier .dsc
dget http://mentors.debian.net/debian/pool/main/s/spice-protocol/spice-protocol_0.6.3-1.dsc
Extraire le fichier téléchargé
dpkg-source -x celt051_0.5.1.3-1.dsc
cd celt051-0.5.1.3/
Vérifier les dépendances
dpkg-checkbuilddeps
Compiler si toutes les dépendances sont résolues
dpkg-buildpackage
Compiler en ignorant les dépendances non résolues
dpkg-buildpackage -d
Installer les packages compilés
cd..
dpkg -i libcelt051-0_0.5.1.3-1_amd64.deb libcelt051-dev_0.5.1.3-1_amd64.deb

Astuces Exim

Le 18-02-09 à 21:27 , par Cyril PawelkoPermalien.
dans Linux.

Simuler le routage d'un mail :

exim -bt cyril@domain.com


Voir la file d'attente

exim -bp


Supprimer un mail donné:

exim -Mrm id_mail


Débloquer un mail donné:

exim -M id_mail


Utiliser un smarthost:

Certaines listes de spam (notamment spamhaus) considèrent les IP résidentielles comme source de spam, et blacklistent donc ces adresses IP : "This IP range has been identified by Spamhaus as not meeting our policy for IPs which should deliver 'direct-to-mx' mail to PBL users."

La solution la plus simple consiste à renvoyer les mails à destination des domaines concernés vers le smtp du FAI, ce dernier n'étant pas (toujours) blacklisté

Ajouter dans exim4.conf, au début de la section "begin routers"

send_to_smarthost:
       driver = manualroute
       domains = gmail.com : netcourrier.com
       transport = remote_smtp
       route_list = * smtp.free.fr

Astuces Ubuntu

Le 13-10-06 à 19:13 , par Cyril PawelkoPermalien.
dans Linux.

La plupart des astuces debian sont aussi valables pour Ubuntu

Activer le compte root :

passwd root

Byte order is not compatible

Le 11-04-10 à 18:43 , par Cyril PawelkoPermalien.
dans Linux.

After migrating awstats data from debian i386 to debian amd64, awstat gives me the following error:

/usr/lib/cgi-bin/awstats.pl -config=awstats -update
Update for config "/etc/awstats/awstats.conf"
With data in log file "/var/log/apache2/access.log"...
Warning: Error while retrieving hashfile: Byte order is not compatible at 
../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) 
line 331, at (eval 5) line 1

Explanation is here : hashes are not stored in the same way by Perl Storable on debian 32 bit and 64 bit. The workaround is pretty simple: delete all hashes files, awstats will rebuild them

rm /var/lib/awstats/*.hash

Choisir un serveur ntp

Le 06-11-06 à 15:15 , par Cyril PawelkoPermalien.
dans Linux.

Pour être sûr que son ordinateur reste à l'heure, la méthode universelle consiste à le synchroniser à un serveur de temps en utilisant le protocole ntp. De nombreux serveurs ntp publics existent, une liste est disponible ici, mais les règles d'utilisation sont assez strictes.

La solution, car elle existe, est apportée par le projet pool.ntp.org : elle consiste à utiliser le nom dns pool.ntp.org, qui est un enregistrement renvoyant sur un des serveurs ntp enregistrés auprès du projet. Il est possible d'utiliser d'autres enregistrements dns qui ne renverront que des serveurs présents dans une zone géographique donnée, par exemple europe.pool.ntp.org ou fr.pool.ntp.org.

Quand on monte son propre serveur ntp, il est conseillé d'utiliser 3 serveurs différents, il suffit donc de choisir par exemple 0.pool.ntp.org, 1.pool.ntp.org et 2.pool.ntp.org. Facile !

Compiling rpcapd for linux

Le 08-12-10 à 23:13 , par Cyril PawelkoPermalien.
dans Linux.

Several years ago, I compiled rpcapd for linux. To achieve it, I had to comment the win32 specific code, so it compiled on linux.

I recently tried to compile the latest version, and it doesn't need modifications anymore to successfully compile.

Here is a quick howto, based on debian 5:

Install the required tools

 apt-get install bison flex

Download and unzip winpcap

 wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
 unzip WpcapSrc_4_1_2.zip
 cd winpcap/wpcap/libpcap
 chmod +x configure runlex.sh

Configure libpcap to compile statically...

 CFLAGS=-static ./configure

...and compile

 make
 cd rpcapd/

edit the Makefile and add -static to CFLAGS, and finally

 make

Downloads:

amd64: rpcapd-4.1.2-amd64.gz i386: rpcapd-4.1.2-i386.gz

Configuration mpd sur debian pour écoute sur iphone

Le 13-09-11 à 22:35 , par Cyril PawelkoPermalien.
dans Linux.

Objectif : Pouvoir écouter sur mon iPhone 3G la musique stockée sur mon serveur linux, sans devoir passer par l'ignoble iTunes, et sans dupliquer les données. La solution existe, il s'agit de mpd (music player daemon) pour la partie serveur, et MPoD pour la partie cliente. L'installation sur une debian squeeze et le manque de doc m'ont incité à partager cette expérience. Configuration validée:

  • iPhone 3G
  • iOS 4
  • MPoD 1.6
  • Debian Squeeze amd64
  • mpd 0.15.12

Avertissement

Ces manipulations ont été réalisées sur une squeeze installée originellement il y a plus de 7 ans, il manque donc peut-être certaines opérations. Afin de bien montrer que ce n'est pas parfait, toutes les opérations seront réalisées en tant que root ;-)

Recompilation mpd

La version debian de mpod n'inclut pas le support lame, il faut donc recompiler le paquet. Tout d'abord, activer le dépôt Debian Multimédia comme indiqué ici Installer lame

# apt-get install libmp3lame
# apt-get install build-essentials
# cd /usr/local/src/

Télécharger les sources du paquet, et installer les dépendances nécessaires

# apt-get source mpd
# apt-get build-dep mpd

Se rendre dans le répertoire, et activer le support lame

# cd mpd-0.15.12/
# vi debian/rules

Sur la ligne DEB_CONFIGURE_USER_FLAGS, remplacer --disable-lame par --enable-lame Puis lancer la compilation

# dpkg-buildpackage

Une fois terminé, remonter au répertoire parent puis installer le fichier deb ainsi créé

# dpkg -i mpd_0.15.12-1.1_amd64.deb

Configuration de mpd

Editer le fichier /etc/mpd.conf et définir les paramètres suivants:

music_directory         "/mnt/data/musique/"
bind_to_address         "0.0.0.0"
audio_output {
        type            "httpd"
        name            "My HTTP Stream"
        encoder         "lame"          # optional, vorbis or lame
        port            "8000" 
#       quality         "5.0"                   # do not define if bitrate is defined
        bitrate         "128"                   # do not define if quality is defined
        format          "44100:16:1"
}

Enregistrer et démarrer le service mpd

La partie iPhone

Installer MPoD Aller dans les réglages de l'application et ajouter manuellement un serveur:

  • Connection mode: On the go
  • Serveur: IP/nom du serveur
  • Port: 6600
  • Stream: http://(serveur):8000

Une fois connecté (Status: Connected), retourner dans le menu préférences. Sélectionner "Update database" pour demander à mpd de lister les fichiers disponibles Vérifier dans la partie "Outputs" que "My HTTP Stream" soit bien sélectionné

Et si ça ne fonctionne pas

Quelques pistes...

  • Vérifier que mpd fonctionne, en utilisant un autre client que l'iPhone
  • Essayer d'écouter le flux http://(serveur):8000 avec vlc ou un navigateur web
  • Vérifier les connexions réseaux, en lançant la commande
# watch -n 1 "netstat -apn | grep /mpd"
tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      14046/mpd
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      14046/mpd
tcp        0  15334 192.168.3.9:8000        192.168.3.64:49954      ESTABLISHED 14046/mpd

On voit ici:

  • Que mdp fonctionne bien et écoute bien sur le port 6600 (le service est lancé)
  • Que mdp écoute sur le port 8000 (uniquement lorsqu'une lecture est en cours)
  • Que l'iphone est connecté sur le port 8000 et "reçoit" le flux audio

Bonus

Profitez maintenand de MPoD, qui a en plus la bonne idée d'aller chercher tout seul les pochettes chez Amazon

Ben quoi ?

Copie de disque via un fifo

Le 07-03-07 à 22:33 , par Cyril PawelkoPermalien.
dans Linux.

Voici la copie d'un message que j'ai posté sur gentoo-user-fr il y a quelques années :

>J ai deux serveurs avec le meme materiel (exactement)
>sur l un il y a gentoo sur l autre rien
>
>comment puis-je au mieux repliquer, l installation, de l un vers l autre
>
>Merci d avance
>
>bernhard@... 
>
>--
>gentoo-user-fr@g.o mailing list
>
Salut,
La procédure que j'utilise est la suivante :
Je mets les deux disques durs dans le même PC.
Soit hda le disque avec la gentoo et hdb le disque vide.
Je monte le disque vide dans /mnt/vide
Je créée un fifo :
mkfifo /tmp/fifo
Je lance un en arrière plan "tar" de la gentoo existante vers le fifo, 
en lui disant de conserver les permissions et d'omettre /mnt/vide :
tar cvp / -X /mnt/vide > /tmp/fifo&
Je vais dans /mnt/vide :
cd /mnt/vide
Je détarre le contenu de fifo :
tar xvp < /tmp/fifo
A la fin, je supprime /tmp/fifo
Ainsi j'ai exactement la même chose sur les deux disques.
L'option -X de tar permet d'exclure des répertoires, comme /tmp , 
/var/log, /var/tmp
Comme il est préférable qu'il n'y ait pas de fichiers ouverts, il est 
possible d'effectuer cette opération en bootant sur un livecd (celui de 
la gentoo ou une knoppix).
Il faut ensuite penser à changer au moins le hostname sur la seconde  
machine.

Enabling Wake on Lan on DLink DFE-538TX

Le 30-12-07 à 13:23 , par Cyril PawelkoPermalien.
dans Linux.

I've installed a D-Link DFE 538 TX network card (via rhine chipset) in my computer but wake on lan didn't seem to work. I discovered that I could (and I had) to enable it at each reboot, using ethtool

root@ale:~# ethtool eth1
Settings for eth1:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 8
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: pumbg
       Wake-on: d
       Current message level: 0x00000001 (1)
       Link detected: yes

According to ethtool's man page :

      wol p|u|m|b|a|g|s|d...
             Set  Wake-on-LAN  options.  Not all devices support this.  
             The argument to this option is a string of characters specifying
             which options to enable.
             p  Wake on phy activity
             u  Wake on unicast messages
             m  Wake on multicast messages
             b  Wake on broadcast messages
             a  Wake on ARP
             g  Wake on MagicPacket(tm)
             s  Enable SecureOn(tm) password for MagicPacket(tm)
             d  Disable (wake on nothing).  This option clears all previous options.

So wake on lan is disabled each time I turn on my computer. To enable all wake-on-lan options:

ethtool -s eth1 wol pumbg

And to enable them at each system startup :

echo "/usr/sbin/ethtool -s eth1 wol pumbg" | tee -a /etc/rc.local 

I can now use wakeonlan to wake up my computer... And it's written in dmesg :

via-rhine: Woke system up. Reason: Magic packet.

Grub error 15 when adding new hard disk

Le 08-03-08 à 00:18 , par Cyril PawelkoPermalien.
dans Linux.

I have a Asus M2N-MX motherboard, with an single SATA disk, and grub correctly configured:

/boot/grub/device.map (hd0) /dev/sda

When I tried adding an IDE disk, grub refused to boot with "error 15", which means "file not found".

Obviously, grub was detecting disks in a wrong order, and was trying to load stage 1.5 from the IDE disk. To be clear, since the boot disk defined in the BIOS was the SATA, it had to be presented to grub as the first disk. So it's a buggy BIOS.

This seems to be a common behavior when mixing IDE and SATA disks. I googled about this error, but founded nothing really helpful. Changing boot order or activating onboard RAID didn't solve this error.

Then I upgraded from bios 0701 to 0903, and the problem was gone.

TIP: To upgrade Asus motherboard bios on a linux-only computer, you don't need to create a DOS bootable floppy. Recent Asus motherboard include a feature called "EZ-Flash", which is an BIOS upgrade utility included ... in the BIOS.

  • Download BIOS update from Asus Website
  • Unzip it and extract the .ROM file (for me M2NX0907.ROM)
  • Rename this file with the motherboard model name (for me M2N-MX.ROM)
  • Install mtools on your distro
  • Insert a blank floppy
  • Format the floppy mformat a:
  • Copy the rom on the floppy mcopy M2N-MX.ROM a:
  • Reboot
  • During POST, press Alt-F2 to launch EZ-Update
  • The BIOS upgrade procedure will start

Page suivante