Installer perl en user standalone sur debian et centos

Je me suis vu confronté à devoir séparer des instances de perl par user, apres avoir lu un thread sur servfault je me suis tourné vers cpanminus qui remplit tres bien cette fonction.

wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile

Il reste à vérifier que les variables d’environnement soient bien passées et de se deloguer et à se reloguer.

env

Pour une debian le script est compliant avec le .profile et le .bashrc, mais pour une Centos il est necessaire de rajouter le contenu du .profile dans le .bash_profile .

Pour install un paquet via cpanm :

cpanm File::Tail 

Cli wizard : exemple de unattended en cli sur ldap

Etant entrain de bosser sur ldap je me suis vu confronté a la re configuration du paquet en changement le rootdn et la j’ai eu la flemme de chercher quels fichiers et quelles actions entraient en jeu.

J’ai donc creusé sur le wizard cli qui sort avec un dpkg-reconfigure et je suis tombé sur deb-conf bien sur uniquement pour Debian et ses forks.
Quel merveille !!! En route pour une reconfiguration automatique de slapd.

debconf-show slapd
root@hdr12:~# debconf-show slapd
  slapd/internal/generated_adminpw: (password omitted)
* slapd/password2: (password omitted)
  slapd/internal/adminpw: (password omitted)
* slapd/password1: (password omitted)
* slapd/allow_ldap_v2: false
  slapd/password_mismatch:
  slapd/invalid_config: true
* shared/organization: test.cyklodev.com
  slapd/upgrade_slapcat_failure:
* slapd/no_configuration: false
* slapd/move_old_database: true
  slapd/dump_database_destdir: /var/backups/slapd-VERSION
* slapd/purge_database: false
* slapd/domain: customer.auth
* slapd/backend: HDB
  slapd/dump_database: when needed

On y retrouve les pages du wizard obligatoires avec une * et on peut accéder a chacun des champs avec un

echo "get  slapd/backend" | debconf-communicate
0 HDB

On peut bien sur les modifier

echo "set  slapd/backend HDB" | debconf-communicate
0 value set

Il ne reste plus qu’a lancer la reconfiguration du paquet en specifiant le mode non interactif.

dpkg-reconfigure -f noninteractive slapd

Comme quoi la flemme c’est bien !