Planet Fedora-Fr

fedora-fr fedora-fr

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, mai 1 2008

Ce billet est la traduction de celui de KageSenshi, que je remercie de m'avoir autorisé à le traduire.

YUM est le gestionnaire de paquets par défaut dans Fedora et ses petites sœurs. Il est écrit en Python et possède des tonnes de fonctionnalités que le quidam ne connait pas forcément. Ces fonctionnalités sont très pratiques pour la maintenance du système. C'est également l'occasion d'améliorer vos connaissances sur votre gestionnaire de paquet préféré et également de devenir plus productif :). Bien que la résolution des dépendances et les requêtes envoyées par yum sont plus lentes que pour apt, la flexibilité et la puissance de yum en font néanmoins un outil incontournable (ndt : cette dernière assertive n'engage que son auteur, et que je n'ai rien à faire là dedans. SI vous souhaitez troller sur le sujet, passez votre chemin, ou rendez-vous sur le blog de l'auteur).

Astuce n°1 : Fastest Mirror

Il s'agit du tout premier plugin que j'installe pour yum sur toute Fedora fraîchement installée. Mais que fait-il ? Pour les anglophones, son nom parle de lui-même. Le plugin va mesurer le temps de réponse des serveurs présents dans une liste de miroir depuis mirrors.fedoraproject.org et choisir celui qui est le plus rapide pour vous. Tout est fait automatiquement, et comme qu'il s'agit d'un plugin influençant le fonctionnement par défaut de yum, il fonctionne quelque soit l'interface graphique pour yum que vous pouvez utiliser.

Pour l'installer, exécutez la commande ci-dessous :

yum install yum-fastestmirror

À la différence d'APT qui attend de vous que vous choisissiez le miroir le plus rapide comme un grand, yum agit plus élégamment.

Le plugin, après qu'il a vérifié le serveur le plus rapide, va stocker un fichier de méta-données : /var/cache/yum/timedhosts.txt. Ces méta-données expireront automatiquement après un certain moment. Cependant, si vous trouvez que yum n'est pas aussi rapide qu'il le devrait lors du téléchargement, vous pouvez le forcer à re-vérifier les miroirs les plus rapides en supprimant ce même fichier.

Astuce n°2 : Ne téléchargez que les mises à jour de sécurité

Cette astuce est très pratique pour de nombreux utilisateurs qui n'arrivent pas à suivre les mises à jour de Fedora. Fedora est connue pour ces mises à jour très fréquentes. En effet, les logiciels prennent rapidement un coup de vieux dans Fedora. Certaines personnes, donc, sont un peu rétissantes à mettre leur système à jour avec les dernières versions des paquets, souvent parce que ces mises à jour peuvent casser des choses dans Fedora. La raison est simple : les mises à jour ne sont pas seulement un simple portage des nouveautés dans une version antérieure d'un paquet, mais une mise à jour vers la nouvelle version du dit paquet. Un moyen de contourner ce comportement est de ne faire que les mises à jour de sécurité du système. Un plugin existe pour vous faciliter la tâche, vous pouvez l'installer avec la commande suivante :

yum install yum-security

Pour utiliser ce plugin pour mettre à jour votre système simplement avec les mises à jour de sécurité, utilisez la commande :

yum --security update

J'ai expliqué son fonctionnement dans un autre billet ici

Astuce n°3 : Presto

Si vous avez une connexion internet avec une bande passante limitée, yum-presto est fait pour vous. Le plugin télécharge des rpm delta (deltarpm), qui contiennent uniquement les modifications entre la version installée sur votre système et la nouvelle disponible sur internet. Vous allez voir la taille de vos téléchargements se réduire comme peau de chagrin et vous ferez vos mises à jour plus rapidement.

Actuellement, un gros travail est fait pour intégrer Presto dans le dépôt de base de Fedora. Cependant, les développeurs rencontrent des problèmes pour intégrer Presto à Koji and Bodhi, le système de construction et de mise à disposition des mises à jour de Fedora. Vous devrez donc le configurer après l'installation en suivant les informations disponibles là : http://fedorahosted.org/presto/

Pour installer le plugin, utilisez la commande :

yum install yum-presto

Astuce n°4 : Ne pas mélangez les dépôts !

Mélanger les dépôt... c'est le mal ! Le choix des dépôts pour Fedora est assez conséquent pour peu que vous passiez un peu de temps sur Google. Mais tous ces dépôts ne sont pas forcément compatibles avec le dépôt de base de Fedora ou même entre eux. Je recommanderai donc aux utilisateurs de n'installer QUE le dépôt Livna et d'autres petits dépôts ne contenant qu'un faible nombre de paquets, comme celui d'Adobe pour Flash ou celui de Google. Livna est tout bonnement le meilleur, car il suit à la lettre les recommandations de construction de paquets du Projet Fedora. Vous pouvez donc vous attendre à ce que leurs paquets soient d'aussi bonne qualité que ceux du Projet lui-même.

La bonne nouvelle est que Livna, Freshrpms et Dribble sont en train de fusionner pour former RPMFusion. Tant que RPMFusion n'est pas disponible, contentez-vous simplement de Livna.

Astuce n°5 : Ignorer les dépendances cassées

Une fois que vous avez commencé à installer des dépôts tiers, vous risquez d'avoir des problèmes de dépendances sur les paquets. Cela arrive généralement lorsque les paquets des dépôts tiers ne sont pas synchrones avec les paquets du dépôt de base. Un plugin yum existe pour vous aider à ignorer automatiquement ces problèmes de dépendances, ainsi que les paquets sont affectés par ces problèmes. Il s'appelle yum-skipbroken. Dans Fedora 9, skip-broken a été inclus dans yum.

Pour l'utiliser, exécutez l'option --skip-broken dans la ligne de commande.

yum --skip-broken update

Si l'option n'est pas disponible, installez le paquets à l'aide de la commande suivante :

yum install yum-skipbroken

Astuce n°6 : Verrouiller les paquets de Xorg et du kernel

Ce plugin est très pratique pour les utilisateurs qui ont fait le choix d'installer des pilotes propriétaires, des modules kernel ou qui souhaitent simplement que certains paquets ne soient pas mis à jour pour éviter de gêner l'utilisation du pilote. Je trouve cela très pratique quand j'installe Fedora sur l'ordinateur d'un ami et qu'il/elle a besoin d'installer des pilotes propriétaires. Je bloque donc leurs paquets xorg et kernel pour qu'ils ne soient pas mis à jour (oui, cela peut paraitre un peu barbare comme technique, mais cela à vraiment le mérite d'éviter de tout casser lorsqu'une mise à jour se présente).

Pour l'installer, entrez la commande :

yum install yum-versionlock

La documentation complète pour l'utiliser est disponible dans /usr/share/doc/yum-versionlock-%{version}/README

Astuce n° 7 : Conserver le cache pour une future utilisation

Par défaut, yum ne conserve pas ses téléchargements dans le cache. Vous pouvez modifier ce comportement en éditant le fichier /etc/yum.conf et en changeant la valeur keepcache sur 1 au lieu de 0.

Le dossier de cache de yum, /var/cache/yum, peut être utile si vous bidouillez tellement votre Fedora au point d'avoir besoin de la réinstaller fréquemment. Cela permet de gagner du temps sur les téléchargements de tous ces paquets. Copiez simplement ces paquets dans un autres dossier, et vous pourrez les réutiliser ailleurs. Vous pouvez également un dépôt local en utilisant createrepo.

Astuce n° 8 : De l'organisation ! Créez des dépôts locaux !

Il n'y a rien de compliquer à créer un dépôt local pour yum. Plusieurs méthodes sont possibles - Rsync, ou reposync (fournis par le paquet yum-utils). En situation normal, je vous recommanderai d'utiliser rsync, mais pour les petits malheureux qui comme moi sont dans une université qui bloque rsync, j'utilise reposync. Reposync utilise le protocole http mais il est un peu plus compliqué à utiliser pour mettre en place un dépôt utilisable.

Une documentation sur la manière de contribuer en créant un miroir est disponible là : http://fedoraproject.org/wiki/Infrastructure/Mirroring.

Une fois que votre miroir est synchronisé, créez-vous un compte Fedora et enregistrez-vous avec le gestionnaire de miroirs Fedora (MirrorManager). Tout l'intérêt réside ici : depuis MirrorManager, vous pouvez demander, par exemple, à ce que toute requête vers mirrorlist depuis votre IP publique, renverra vers le miroir de votre LAN. Vos utilisateurs ne se rendront même pas compte qu'ils utilisent un miroir local ! C'est bien une chose qu'APT ne vous offrira pas ! Vous pouvez également configurer votre miroir pour ne le rendre accessible qu'à certaines plages d'IP/ ou de pays.

Astuce n°9 : Détectez les problèmes avant qu'ils ne surviennent

Parfois, il peut arriver que votre installation s'interrompe ou que votre base de données de paquets vous fasse le pire misères du monde, en dupliquant les paquets ou en cassant les dépendances. Un outil très pratique pour trouver les problèmes.existe : package-cleanup. Cet outil est présent dans la paquet yum-utils, donc pour l'obtenir :

yum install yum-utils

Voici quelques commandes que j'utilise régulièrement :

package-cleanup --dupes # list out duplicates
package-cleanup --cleandupes # clean up duplicates
package-cleanup --problems # list out packages with broken dependencies

Besoin de plus d'option ? ... invoquez le paramètre --help

Astuce n°10 : Téléchargez des paquets pour les utiliser plus tard, avec leurs dépendances

Pafois, vous pouvez avoir besoin de télécharger des paquets et leurs dépendances mais sans rien installer et vous voulez pouvoir les copier facilement sur un autre ordinateur avec exactement la même liste de paquets que sur votre ordinateur. yumdownloader (fourni par le paquet yum-utils) est idéal pour ça. Vous pouvez l'utiliser, par exemple, pour construire des packs réutilisables pour une série d'ordinateurs identiques et les distribuer. Vous pouvez également l'utiliser pour récupérer les sources d'un paquet, au cas où vous voudriez modifier le contenu du paquet.

Mon utilisation de yumdownloader :

# télécharger les sources d'un paquet
yumdownloader --source packagename

# télécharger un paquet avec les
# dépendances nécessaires sur mon pc
yumdownloader --resolve packagename

# télécharger un paquet avec les
# dépendances nécessaires sur une
# fedora montée/chrootée
yumdownloader --resolve packagename --root /path/to/chroot

Il y a une autre astuce pour utiliser yumdownloader avec chroot, en copiant le dossier /var/lib/rpm, vous pouvez utiliser le profile rpm pour télécharger des paquets pour l'ordinateur d'un ami et les mettre sur un CD. Cette manière de faire est utilisée dans opuym (un outil similaire à APTonCD) pour construire ce que l'on appelle des YumPacks. Opyum est sympa, mais parfois je trouve plus confortable de créer des packs à la main. Dire un à quelqu'un de me donner le contenu du dossier /var/lib/rpm est bien plus simple et rapide que de lui demander d'installer opyum et de le guider dans la création d'un profile. Mais ce ne sont que mes goûts personnels, opyum est un bon outil pour les utilisateurs qui connaissent peu la ligne de commande.

Astuce n°11 : Videz le cache si yum se comporte bizarrement

Pour une raison ou pour une autre, il se peut que les fichiers du cache de votre ordinateur soit cassés (J'ai ce problème à l'université, avec mon dépôt Fedora bidouillé - donc, les méta-données ont tendance à devenir un peu folles de temps en temps -ndt: ça lui arrive bien qu'à lui !). Essayez de vider le cache dans un premier temps et ré-essayez. Il y a de fortes chances que le problème vienne de là. Pour nettoyer le cache de votre yum, utilisez la commande :

yum clean all

Astuce n°12 : Quand yum plante lamentablement, n'ayez pas peur, APT et Smart sont là pour vous sauver

Fedora aussi a APT !. Les débianneux qui n'arrivent pas à se passer de APT peuvent installer pat-rpm. Ils retrouveront leur gestionnaire de paquets favori. Un autre gestionnaire de paquet pour Fedora est Smart.

Une des belles choses de Fedora est que apt-rpm et Smart utilisent les méta-données génériques de yum. Cela signifie que les dépôts de yum fonctionneront avec apt-rpm et Smart sans vous demander le moindre effort. Joli n'est-ce pas ?

Fin de la liste

Voilà, c'était toutes les astuces dont je me souviens à l'écriture de ce billet. J'aurai peut-être d'autres astuces mais je ne m'en rappelle pas à cet instant. Le prochaine fois que je m'en rappellerai, ce sera lorsque que j'aurai un problème et que je devrai le résoudre.

Amusez-vous bien avec yum, c'est un gestionnaire de paquets très sympa quand vous en avez l'habitude. Une dernière astuce, pas utilie pour les utilisateurs, mais plus pour les développeurs en python, les plugins yum sont faciles à écrire, et n'importe quel bibliothèque python peut être utilisées. Si vous avez besoin d'une fonctionnalité bien spécifique, vous trouverez plus d'informations sur comment créer un plugin ici : http://wiki.linux.duke.edu/WritingYumPlugins. J'écris moi-même des plugins pour que les gens à mon université puissent récupérer des paquets depuis mon dépôt. La structure du réseau de mon université et ses plantent souvent, donc je dois écrire quelque chose pour créer un tunnel automatiquement vers mon dépôt et laisser les utilisateurs utiliser yum à travers un tunnel - sans qu'ils ne s'en rendont compte. Ils n'ont même pas besoin de savoir ce qu'est un tunnel, ça fonctionne :)

Billet original sur MrTomLinux

 
 

mardi, mars 11 2008

Il y a 1 an, lors de la sortie du live CD Fedora Core 6 francisé par trasher, j'avais mis en place un serveur Bittorrent sur Borsalino. 1 an plus tard, trasher récidive avec le live CD de Fedora 8 francisé. Afin de partager cet ISO et suite au crash du serveur, j'ai du réinstaller le service Bittorrent...

Heureusement, le paquet Bittorrent a su évoluer au fil des versions de Fedora et il est maintenant très simple d'installer et configurer un serveur Bitto.

yum install bittorrent

Ensuite on place l'ISO et le torrent dans le répertoire /srv/bittorrent/data/, comme je voulais un compte ftp associé à mon répertoire bittorrent, et que je ne voulais pas encombrer la racine, j'ai déplacé ce répertoire :

cd /srv/ ; mv bittorrent /home/ ; ln -s /home/bittorrent ./

Ensuite on lance le service de tracker et celui de seeder (partage) :

/etc/init.d/btseed start ; /etc/init.d/bttrack start

Pour finir une petite configuration du firewall (system-config-securitylevel-tui) pour ouvrir le 6969 (tracker) et le 6881 (seed).

Voila donc Borsalinio équipé d'un tracker Bittorrent qui se lance au démarrage de la machine :

chkconfig btseed on ; chkconfig bttrack on

Pour affiner la configuration, vous pouvez éditer le fichier /etc/sysconfig/bittorrent. Dans mon cas, j'ai rajouté les paramètres favicon ainsi qu'allow_get pour rendre le nom du Torrent clicable.

Cas de CentOS

Afin d'aider Borsalino dans son effort de partage, j'ai équipé mon serveur de Bittorrent. Le problème est que Bittorent n'est pas disponible dans les dépôts officiels. Il existe 2 paquets pour CentOS, l'un disponible sur la forge et qui contient le strict minimum et l'autre disponible chez Remi qui lui est complet... Donc évidement :

yum --enablerepo=remi install bittorrent.

PS : Dans mon cas, remi est activé par défaut, j'ai donc juste rajouté "bittorrent" à la directive includepkgs de mon fichier /etc/yum.repo/remi.repo. Ce qui donne :

[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/el5.$basearch/
    http://remi.collet.free.fr/rpms/el5.$basearch/
    http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
includepkgs=php* remi-release sqlite2 bittorrent

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch
baseurl=http://rpms.famillecollet.com/test-el5.$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Billet original sur Le blog de LLaumgui

 
 

lundi, mars 10 2008

en.gifDell provides special repositories for Fedora/RHEL/CentOS to update BIOS. Then ... just YUM it!! :-)
Actually there are also repositories for Ubuntu and Suse.

fr.gifDell met à disposition des dépôts pour Fedora/RHEL/CentOS pour mettre à jour son BIOS depuis Linux.

Instalation :

# wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash
# wget -q -O - http://linux.dell.com/repo/software/bootstrap.cgi | bash
# yum install dell-hw-specific-repository

On peut donc voir maintenant que de nouveaux dépôts sont actifs :

# yum repolist
Loading "dellsysidplugin" plugin
Loading "presto" plugin
repo id              repo name                                 status
dell-hardware-auto   Dell unofficial hardware repository - ha  enabled
dell-hardware-main   Dell unofficial hardware repository - ha  enabled
dell-software        Dell Software                             enabled
fedora               Fedora 8 - x86_64                         enabled
fwupdate             Firmware updates                          enabled
livna                Livna for Fedora Core 8 - x86_64 - Base   enabled
updates              Fedora 8 - x86_64 - Updates               enabled

Utilisation :
Normalement firmware-tools et firmware-addon-dell ont été installés.

Mise à jour du BIOS :

# yum install $(bootstrap_firmware)
# update_firmware --yes

Il faudra ensuite redemarrer l'ordinateur.
Si vous utilisez un ordianteur portable, la batterie doit être branchée.

en.gifRelative docs :

Billet original sur Blog de Pingoomax

 
 
...
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Updating:
 evolution               x86_64     2.12.3-3.fc8     updates            12 M
 evolution-help          x86_64     2.12.3-3.fc8     updates            36 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update       2 Package(s)         
Remove       0 Package(s)         

Total download size: 48 M
Is this ok [y/N]: y
Downloading Packages:
Downloading DeltaRPMs:
(1/2): evolution-2.12.3-1 100% |=========================| 310 kB    00:03     
(2/2): evolution-help-2.1 100% |=========================| 191 kB    00:02     
Rebuilding rpms from deltarpms
...

48Mo de mises à jour, et seulement 501 Ko de téléchargés.

Billet original sur Blog de Pingoomax

 
 

mardi, décembre 18 2007

J'en parlais dans ce billet à propos de mon serveur CentOS 5.1 :

A force de mettre des clauses exclude dans mes fichiers repo, j'en fini par croire qu'il faudrait inventer un clause include...

C'est dans la documentation de CentOS que j'ai trouvé mon bonheur : la clause includepkgs.

Exemple par la pratique, sur ma CentOS 5.1.
Pour ne prendre que php et ses dépendances chez l'ami Remi :

[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://remi.collet.free.fr/rpms/el5.$basearch/
    http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
includepkgs=php* remi-release sqlite2

Du coup j'ai même pu activer ATrpms et rpmforge (Faut quand même faire gaffe à pas trop faire de yum install massifs...)

[atrpms]
name=Red Hat Enterprise Linux 5 - i386 - ATrpms
baseurl=http://dl.atrpms.net/el5-i386/atrpms/stable
failovermethod=priority
enabled=1
includepkgs=atrpms-package-config fail2ban shorewall
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
enabled=1
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck=1
includepkgs=adns apachetop htop rpmforge-release trac

Billet original sur Le blog de LLaumgui

 
 

samedi, octobre 6 2007

Que du beau monde dans un seul billet...

A la lecture du très instructif commentaire de Paul Borgermans laissé à la suite de mon billet sur la première alpha d'eZ Publish 4.0; et l'annonce qu'eZ 4.0 ainsi qu'eZ Components iraient plus vers un compatibilité php 5.2 que 5.1 : j'ai décidé de mettre à jour la version de php de la spb-box.

Pour cela, j'ai fait confiance à l'ami Remi (Attention prononcer Remi et surtout pas Rémi) et à son dépôt. Pour ceux qui ne connaisse pas Remi, surnommé dans le milieu "Serial Builder", il propose les dernières versions php/MySQL pour Fedora mais aussi pour les RHEL 4 & 5.

Une petite ligne de commande :

root@spb-box ~> wget http://remi.collet.free.fr/rpms/el5.i386/remi-release-5-2.el5.remi.noarch.rpm \
rpm -Uvh remi-release-5*.rpm \
yum --enablerepo=remi update php

Et me voila en php 5.

root@spb-box ~> rpm -qa php
php-5.2.4-1.el5.remi

Tenant à activer le dépôt de Remi par défaut (il est très réactif au niveau des mises à jour) mais ne tenant pas à mettre à jour mon serveur MySQL, j'ai configuré le dépôt de la sorte.

[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://remi.collet.free.fr/rpms/el5.$basearch/
    http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
exclude=mysql mysql-server mysql-libs

A force de mettre des clauses exclude dans mes fichiers repo, j'en fini par croire qu'il faudrait inventer un clause include...

Billet original sur Le blog de LLaumgui

 
 

lundi, août 6 2007

Après le passage de Scenario-PaintBall sur un serveur dédié (spb-box), je me suis lancé dans la configuration du serveur mail. Pour rappel, le serveur est une dedibox sous CentOS 5.
Afin de pouvoir gérer plusieurs domaines et plusieurs comptes facilement, postfix est configuré en multi-domaines et virtual-user et afin d'ajouter facilement des comptes, les informations sont stockées en base MySQL via postfix-mysql.

Architecture du serveur mail

Connaissant bien postfix (personnellement et professionnellement, bien que nos derniers serveurs au taf soient sous Exim) et ayant déjà configuré postfix pour l'envoi de mail via php, c'est donc tout naturellement que j'ai retenu cette solution couplée à un Dovecot, un spamassassin et un webmail sous le très prometteur RoundCube.

postfix

Bien que pour le moment il n'y ai qu'un seul domaine géré par le serveur, j'ai choisis de faire une configuration multi-domaines et virtual-user (sans passer par des comptes unix).
Les mails sont donc dans un compte Unix unique : vbox; et ils sont stockés dans un arborescence du type : /home/vbox/domain/compte.

Je mets mon fichier main.cf en annexe.

postfix-mysql et CentOS

Alors là j'ai perdu pas mal de temps. Le postfix de CentOS n'est pas compilé avec l'option MySQL et il n'y a pas de paquet postfix-mysql pour CentOS ! Heureusement Google est mon ami et j'ai trouvé la solution : prendre le postfix de centosplus (présent de base dans CentOS mais pas activé par défaut) :

yum -–enablerepo=centosplus update postfix

Pour éviter de mettre à jour postfix à partir de updates j'ai juste rajouté postfix* dans la liste des paquets exclus (fichier .repo en annexe). Comme j'ai activé centosplus par défaut, j'ai aussi exclus le kernel de centosplus pour privilégier celui d'updates et ainsi éviter les problèmes.

Postfix-mysql

Ce qui est génial avec postfix-mysql, c'est qu'on construit ses requêtes ! On peu donc attaquer n'importe quel structure de base existante ou en faire une soit même. J'ai mis en annexe mes fichiers de conf' ainsi que la structure de ma base.

Dovecot

Maintenant que les mails sont sur le serveur, faudrait pouvoir les lire ! J'ai donc utilisé l'excellent Dovecot pour me faire un serveur IMAP.
Sa configuration est simple, je me suis basé sur ce tutoriel.

Afin de pouvoir attaquer le serveur mail avec un client du type ThunderBird, ne pas oublier d'ouvrir le port IMAP, le 143 (perso, je passe par le tui system-config-securitylevel-tui).

RoundCube

Excellent et très prometteur projet encore au stade de la O.1 RC1 et disponible dans le dépot EPEL. Ça configuration passe comme une lettre à la poste !

Spamassassin

Pour installer spamassassin rien de tel qu'un petit yum install spamassassin (installation), suivi d'un service spamassassin start (démarrage du service) ainsi que d'un chkconfig spamassassin on (lancer au démarrage) et surtout une lecture de la doc.

Script de création de comptes mail

Histoire de créer facilement des comptes mails, je me suis fait 3 petits scripts tout simples que je vous livre en tant que démo.

Remarque : Ces script sont appelés en root et j'ai un fichier /root/.my.cf contenant le mot de passe MySQL du root, ce mot de pase ne m'est donc plus demandé.

Billet original sur Le blog de LLaumgui

 
 

lundi, juin 4 2007

Alors que pour mes 2 machines personnelles, j'ai fait une installation propre de Fedora 7 Test 4 (6.93) puis une update vers la version finale; pour la Fedora Core 6 de mon boulot, je n'avais pas le temps de faire aussi propre, ni même de faire la procédure officiellement supportée : celle à partir du DVD.
J'ai donc utilisé la méthode non-officielle via yum et qui marche parfaitement.

Quelques remarques :

  • La méthode la plus propre passe par le telinit 3, j'avais pas le temps, je l'ai fait directement via un terminal (gnome-terminal).
  • J'ai téléchargé les RPMs dans un premier temps sans les installer. Pour ça il faut utiliser le plugin yum-downloadonly (yum install yum-downloadonly).

Ensuite entre midi et 2 j'ai lancé l'upgrade.

  • Normalement, on passe dans un premier temps par un yum update yum mais comme j'ai continué à travailler pendant le téléchargement des mises à jour, je ne pouvais pas me risquer à rendre mon système instable (dépendance python de yum).

1 Mise à jour des fichiers release

On va télécharger les releases de Fedora et livna (pilote nvidia). C'est ça qui va nous faire pointer l'upgrade vers les dépôts de F7 et non plus de FC6 :

rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch
rpm -uvh http://rpm.livna.org/livna-release-7.rpm

A ce stade :

root@guillaume ~> cat /etc/fedora-release
Fedora release 7 (Moonshine)

Remarque : Si vous venez de la Rawhide (Fedora Core 6.9x a.k.a Fedora 7 Test X), c'est la seule étape à faire pour passer de la version de test vers la version finale.

2 Téléchargement des paquets :

Comme vu en remarque, on fait la mise à jour en 2 temps : téléchargement puis installation :

yum --downloadonly upgrade

3 On lance la mise à jour :

yum upgrade

4 Nettoyage final

Pour ça on utilise package-cleanup du paquet yum-utils (yum install yum-utils) :

root@guillaume ~> package-cleanup --problems
Setting up yum
Reading local RPM database
Processing all local requires
Missing dependencies:
Package epiphany-extensions requires firefox = 2.0.0.3
root@guillaume ~> package-cleanup --cleandupes
Setting up yum
I will remove the following old duplicate packages:
Is this ok [y/N]: y
root@guillaume ~> package-cleanup --orphans
Setting up yum
msttcorefonts-2.0-1.noarch
xchat-2.8.0-1.fc6.remi.i386

Voila, me voici également sous Fedora 7 au travail, ça me permet d'avoir un homogénéité de mon bureau (/Bureau), la dernière version de Gnome mais aussi Filezilla qui semble mieux tourner sous F7 que sous FC6...

Billet original sur Le blog de LLaumgui

 
 

mercredi, février 28 2007

De plus en plus yum subit les critiques :

Je suis pas d'accord avec cette vision, je pense que yum et l'un des gestionnaires de paquet les plus puissants. Il gère le multi-architecture (x86 sur du x86-64), ce qu'apt-get ne fait pas encore. Mais surtout, les fonctionnalités qui lui manquent peuvent être rajoutées via des plugins.

Et c'est justement de plugin que je vais parler dans ce billet, le plugin yum-skip-broken.

Prenons l'exemple d'une mise à jour via yum qui ne peut satisfaire toute les dépendances :

root@enterprise ~> yum update
Setting up Update Process
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
Resolving Dependencies

  for hdr in conduit.getRpmDB().getHdrList():
--> Populating transaction set with selected packages. Please wait.
---> Package crontabs.noarch 0:1.10-12.fc6 set to be updated
---> Package bind-utils.i386 31:9.3.4-3.fc6 set to be updated
---> Package nss-tools.i386 0:3.11.5-0.6.0.fc6 set to be updated
---> Package nspr.i386 0:4.6.5-0.6.0.fc6 set to be updated
---> Package gnome-python2-libegg.i386 0:2.14.2-9.fc6 set to be updated
---> Package yelp.i386 0:2.16.0-12.fc6 set to be updated
---> Package vixie-cron.i386 4:4.1-68.fc6 set to be updated
---> Package gnome-python2-gtkhtml2.i386 0:2.14.2-9.fc6 set to be updated
---> Package epiphany.i386 0:2.16.3-2.fc6 set to be updated
---> Package tzdata.noarch 0:2007c-1.fc6 set to be updated
---> Package audit-libs-python.i386 0:1.4.2-2.fc6 set to be updated
---> Package audit-libs.i386 0:1.4.2-2.fc6 set to be updated
---> Package gnome-python2-extras.i386 0:2.14.2-9.fc6 set to be updated
---> Package xorg-x11-server-Xorg.i386 0:1.1.1-47.6.fc6 set to be updated
---> Downloading header for firefox to pack into transaction set.
ftp://ftp.redhat.ikoula.com/fedora/updates/6/i386/firefox-1.5.0.10-1.fc6.i386.rpm: [Errno 4] IOError: [Errno ftp error]
Trying other mirror.
http://ftp.crihan.fr/mirrors/fedora.redhat.com/fedora/linux/core/updates/6/i386/firefox-1.5.0.10-1.fc6.i386.rpm: [Errno 14] HTTP Error 404: Date: Wed, 28 Feb 2007 08:57:41 GMT
Server: Apache/2.0.55 (Unix) DAV/2 PHP/4.3.8
Content-Length: 381
Content-Type: text/html; charset=iso-8859-1

Trying other mirror.
firefox-1.5.0.10-1.fc6.i3 100% |=========================|  90 kB    00:00     
---> Package firefox.i386 0:1.5.0.10-1.fc6 set to be updated
---> Package nss.i386 0:3.11.5-0.6.0.fc6 set to be updated
---> Package bind-libs.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Finished Dependency Resolution
Error: Missing Dependency: firefox = 1.5.0.9 is needed by package liferea

Deux solution s'offrent à nous :

  • La première étant de jouer avec le flag --exclude
  • La seconde consistant à utiliser le plugin yum-skip-broken.

Installation du plugin :

root@enterprise ~> yum install yum-skip-broken

Mise à jour en utilisant le plugin :

root@enterprise ~> yum update --skip-broken
Loading "skip-broken" plugin
Setting up Update Process
Setting up repositories
Loading mirror speeds from cached hostfile
Reading repository metadata in from local files
Resolving Dependencies

  for hdr in conduit.getRpmDB().getHdrList():
Checking packages for dependency problems
--> Populating transaction set with selected packages. Please wait.
---> Package crontabs.noarch 0:1.10-12.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package bind-utils.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: bind-libs = 31:9.3.4-3.fc6 for package: bind-utils
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package bind-libs.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package nss-tools.i386 0:3.11.5-0.6.0.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: nss = 3.11.5-0.6.0.fc6 for package: nss-tools
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package nss.i386 0:3.11.5-0.6.0.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package nspr.i386 0:4.6.5-0.6.0.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-libegg.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gnome-python2-extras = 2.14.2-9.fc6 for package: gnome-python2-libegg
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-extras.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gnome-python2-extras = 2.14.2-8.fc6 for package: gnome-python2-gtkhtml2
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-gtkhtml2.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package yelp.i386 0:2.16.0-12.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gecko-libs = 1.8.0.10 for package: yelp
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package firefox.i386 0:1.5.0.10-1.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Processing Dependency: gecko-libs = 1.8.0.9 for package: epiphany
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package epiphany.i386 0:2.16.3-2.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Finished Dependency Resolution
--> Populating transaction set with selected packages. Please wait.
---> Package vixie-cron.i386 4:4.1-68.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-gtkhtml2.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gnome-python2-extras = 2.14.2-9.fc6 for package: gnome-python2-gtkhtml2
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-extras.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gnome-python2-extras = 2.14.2-8.fc6 for package: gnome-python2-libegg
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-libegg.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package epiphany.i386 0:2.16.3-2.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gecko-libs = 1.8.0.10 for package: epiphany
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package firefox.i386 0:1.5.0.10-1.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gecko-libs = 1.8.0.9 for package: yelp
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package yelp.i386 0:2.16.0-12.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Finished Dependency Resolution
--> Populating transaction set with selected packages. Please wait.
---> Package tzdata.noarch 0:2007c-1.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package audit-libs-python.i386 0:1.4.2-2.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: audit-libs = 1.4.2-2.fc6 for package: audit-libs-python
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package audit-libs.i386 0:1.4.2-2.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package audit-libs.i386 0:1.4.2-2.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: audit-libs = 1.4.1-1.fc6 for package: audit-libs-python
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package audit-libs-python.i386 0:1.4.2-2.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-extras.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gnome-python2-extras = 2.14.2-8.fc6 for package: gnome-python2-gtkhtml2
--> Processing Dependency: gnome-python2-extras = 2.14.2-8.fc6 for package: gnome-python2-libegg
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package gnome-python2-gtkhtml2.i386 0:2.14.2-9.fc6 set to be updated
---> Package gnome-python2-libegg.i386 0:2.14.2-9.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package xorg-x11-server-Xorg.i386 0:1.1.1-47.6.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package firefox.i386 0:1.5.0.10-1.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: gecko-libs = 1.8.0.9 for package: yelp
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Processing Dependency: gecko-libs = 1.8.0.9 for package: epiphany
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package epiphany.i386 0:2.16.3-2.fc6 set to be updated
---> Package yelp.i386 0:2.16.0-12.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: firefox = 1.5.0.9 for package: liferea
--> Finished Dependency Resolution
--> Populating transaction set with selected packages. Please wait.
---> Package nss.i386 0:3.11.5-0.6.0.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: nss = 3.11.4-0.6.fc6 for package: nss-tools
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package nss-tools.i386 0:3.11.5-0.6.0.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package bind-libs.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: bind-libs = 31:9.3.4-2.fc6 for package: bind-utils
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Package bind-utils.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check
yelp - 2.16.0-12.fc6.i386 failed dependency resolving
Missing Dependency: firefox = 1.5.0.9 is needed by package liferea
epiphany - 2.16.3-2.fc6.i386 failed dependency resolving
Missing Dependency: firefox = 1.5.0.9 is needed by package liferea
firefox - 1.5.0.10-1.fc6.i386 failed dependency resolving
Missing Dependency: firefox = 1.5.0.9 is needed by package liferea
End Checking packages for dependency problems
--> Populating transaction set with selected packages. Please wait.
---> Package crontabs.noarch 0:1.10-12.fc6 set to be updated
---> Package bind-utils.i386 31:9.3.4-3.fc6 set to be updated
---> Package nss-tools.i386 0:3.11.5-0.6.0.fc6 set to be updated
---> Package nspr.i386 0:4.6.5-0.6.0.fc6 set to be updated
---> Package gnome-python2-libegg.i386 0:2.14.2-9.fc6 set to be updated
---> Package vixie-cron.i386 4:4.1-68.fc6 set to be updated
---> Package gnome-python2-gtkhtml2.i386 0:2.14.2-9.fc6 set to be updated
---> Package tzdata.noarch 0:2007c-1.fc6 set to be updated
---> Package audit-libs-python.i386 0:1.4.2-2.fc6 set to be updated
---> Package audit-libs.i386 0:1.4.2-2.fc6 set to be updated
---> Package gnome-python2-extras.i386 0:2.14.2-9.fc6 set to be updated
---> Package xorg-x11-server-Xorg.i386 0:1.1.1-47.6.fc6 set to be updated
---> Package nss.i386 0:3.11.5-0.6.0.fc6 set to be updated
---> Package bind-libs.i386 31:9.3.4-3.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
 audit-libs              i386       1.4.2-2.fc6      updates            57 k
 audit-libs-python       i386       1.4.2-2.fc6      updates            73 k
 bind-libs               i386       31:9.3.4-3.fc6   updates           836 k
 bind-utils              i386       31:9.3.4-3.fc6   updates           162 k
 crontabs                noarch     1.10-12.fc6      updates           6.2 k
 gnome-python2-extras    i386       2.14.2-9.fc6     updates            24 k
 gnome-python2-gtkhtml2  i386       2.14.2-9.fc6     updates            15 k
 gnome-python2-libegg    i386       2.14.2-9.fc6     updates            53 k
 nspr                    i386       4.6.5-0.6.0.fc6  updates           118 k
 nss                     i386       3.11.5-0.6.0.fc6  updates           764 k
 nss-tools               i386       3.11.5-0.6.0.fc6  updates           1.8 M
 tzdata                  noarch     2007c-1.fc6      updates           753 k
 vixie-cron              i386       4:4.1-68.fc6     updates            91 k
 xorg-x11-server-Xorg    i386       1.1.1-47.6.fc6   updates           3.2 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update      14 Package(s)         
Remove       0 Package(s)         

Total download size: 7.9 M
Is this ok [y/N]:

C'est pas plus dur que ça et cela évite d'utiliser --exclude, de faire un essai, de rajouter un autre paquet dans la liste des paquets exclus, refaire un essai, etc...

Billet original sur Le blog de LLaumgui

 
 

jeudi, janvier 18 2007

flash.gif Après une très longue attente la version finale du Flash Player est enfin disponible.

Pour l'installation il suffit de configurer le Dépot Macromedia et de lancer la commande de mise à jour :

yum --enablerepo=macromedia install flash-plugin

Nous allons enfin pouvoir bénéficier des dernières innovations de la technologie Flash lors de nos surfs :-)

Pour plus d'informations sur la mise en place du Dépot Macromedia, reportez vous à l'excellente Documentation Fedora-fr

A+

Billet original sur TitaX[Addictive]

 
 

dimanche, décembre 3 2006

Dans mon précédent billet, j'émettais le souhait de trouver une vidéo dont la seul source que j'avais à disposition était un flux de streaming mms.
Un tel stream est bien sympa, mais ne permet pas l'avance rapide ni le retour en arrière, et dans le cas d'une émission de près de 3 heures c'est très moyen...

Le protocole mms ne permet pas de télécharger des vidéos avec la commande wget. Pour télécharger ces streams, il faut passer par l'utilitaire MMS Ripper disponible chez freshrpms (configuration) :

yum --enablerepo=freshrpms install mmsrip

Ou directement ici (version Fedora Core 6).

Ensuite :

mmsrip mms://mon_flux

Billet original sur Le blog de LLaumgui

 
 

lundi, novembre 13 2006

Après l'attaque de ce week-end et après une lecture des logs d'accès ssh, je me suis décidé à mettre en place une gestion automatique des bannissements d'IPs.

L'idée est simple : bannir les IPs qui tentent de passer le compte root en "Brut de force".
Il est évident que l'accès root n'est pas autorisé en ssh (PermitRootLogin no) tout comme les mots de passe (PasswordAuthentication no), et que de telles attaques ne peuvent pas aboutir, mais c'est pour le principe ;-).

root@borsalino ~> cat /var/log/secure.1 | grep "Failed password for root" --count
1812

Sur les conseils de Titax, je me suis penché sur fail2ban, mais à la différence de la méthode proposée par Thierry, j'ai préféré utiliser le dépôts dries.

Si vous ne l'avais pas installé, vous en trouverez la config ici.

Pour installer fail2ban :

root@borsalino ~> yum --enablerepo=dries install fail2ban

Une fois le service installé, il faut le configurer, ça ce passe dans /etc/fail2ban.conf, le fichier et très bien documenté vous pourrez y régler le nombre de tentative, la durée du bannissement, les services concernés (ssh mais possibilité de le mettre en place pour apache), et l'envoi de mail lors d'un bannissement.

Ensuite, pour activer le service :

root@borsalino ~> /sbin/chkconfig --add fail2ban
root@borsalino ~> /sbin/service fail2ban start

Billet original sur Le blog de LLaumgui