Archives de la catégorie ◊ Du code ◊

Auteur :
• 26 mai 2012

Je viens tout juste de passer à LinuxMint Maya et la technique que j’avais publié en octobre 2011 afin d’installer Antidote RX v8 pour Ubuntu 11.10 est également valide pour Maya (et probablement aussi pour Ubuntu 12.04, mais je n’ai pas testé).

Voici donc un gigantesque copié/collé……..

Antidote n’est certainement pas un logiciel libre, mais je me permet quand même de publier dans le Planet Libre puisque le message est destiné aux utilisateurs d’un système d’exploitation libre…..

Alors, voici ce que j’ai appliqué afin de pouvoir utiliser ma version d’Antidote RX v8 (la H60).

Les manipulations qui suivent nécessitent des manipulations à effectuer avec des droits superutilisateurs (root) dont le mauvais usage peut engendrer des effets néfastes pour votre système. Je ne suis donc pas responsable de vos erreurs.

Tout d’abord, j’ai installé normalement Antidote v7 et ensuite j’ai appliqué le patch pour la v8. Jusqu’à 10.10 c’était terminé, un sudo antidote et on pouvait utiliser la chose.

LinuxMint Maya

Sous LinuxMint Maya on obtient le message d’erreur suivant:

antidote: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

La librairie libssl.so.6 semble avoir été remplacée par la libssl.so.1.0.0, pour y remédier j’ai crée le lien symbolique suivant dans les dossiers d’Antidote:

sudo ln -s /lib/i386-linux-gnu/libssl.so.1.0.0 /usr/local/Druide/Antidote/lib/libssl.so.6

Mais un problème semblable existe aussi pour le fichier libcrypto.so.6 puisqu’on obtient le message d’erreur suivant:

antidote: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory

La librairie libcrypto.so.6 semble aussi avoir été remplacée par la libcrypto.so.1.0.0, pour y remédier j’ai également crée le lien symbolique suivant dans les dossiers d’Antidote:

sudo ln -s /lib/i386-linux-gnu/libcrypto.so.1.0.0 /usr/local/Druide/Antidote/lib/libcrypto.so.6

Il faut maintenant remédier à l’erreur suivante:

antidote: symbol lookup error: /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2: undefined symbol: dbus_watch_get_unix_fd

Nous aurons besoin d’une version de libdbus-glib datant de l’époque de la sortie d’Antidote. Il faudra télécharger cette version (ne pas l’installer), la décompresser et ensuite copier les fichiers vétustes dans les répertoires d’Antidote.

wget http://security.ubuntu.com/ubuntu/pool/main/d/dbus-glib/libdbus-glib-1-2_0.74-2ubuntu0.1_i386.deb
dpkg -x libdbus-glib-1-2_0.74-2ubuntu0.1_i386.deb .
sudo cp usr/lib/* /usr/local/Druide/Antidote/lib/.

Et pour terminer, nous aurons à gérer l’erreur suivante:
D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/usr/local/var/lib/dbus/machine-id": Aucun fichier ou dossier de ce type

Le fichier machine-id existe dans /var/lib/dbus/. Il nous faudra donc créer un lien, mais d’abord assurons-nous que l’arborescence existe.

cd /usr/local/
sudo mkdir var
cd var/
sudo mkdir lib
cd lib/
sudo mkdir dbus
sudo ln -s /var/lib/dbus/machine-id /usr/local/var/lib/dbus/machine-id

Et voilà, ça devrait fonctionner…..

Bonne erreur de grammaire…

Auteur :
• 9 octobre 2011

Le correcteur d’orthographe Antidote dans sa version huit n’est officiellement supporté que pour Ubuntu 8.04. Mais jusqu’à la version 10.10, je n’ai eu aucun souci avec l’installation de celui-ci. Je n’avais même pas remarqué le problème avec 11.04 (ma 11.04 était une 10.10 mises à jour), mais lors d’une nouvelle installation de 11.04, pas possible d’y arriver sans bidouiller un brin.

Antidote n’est pas un logiciel libre, j’aurais pu aussi intituler ce billet : « c’est compliqué quand ce n’est pas libre », mais puisque que ça se passe dans Ubuntu, je publie.

Alors, voici ce que j’ai appliqué afin de pouvoir utiliser ma version d’Antidote RX v8 (la H60).

Les manipulations qui suivent nécessitent des manipulations à effectuer avec des droits superutilisateurs (root) dont le mauvais usage peut engendrer des effets néfastes pour votre système. Je ne suis donc pas responsable de vos erreurs.

Tout d’abord, j’ai installé normalement Antidote v7 et ensuite j’ai appliqué le patch pour la v8. Jusqu’à 10.10 c’était terminé, un sudo antidote et on pouvait utiliser la chose.

Depuis Ubuntu 11.10

Sous 11.10 on obtient le message d’erreur suivant:

antidote: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

La librairie libssl.so.6 semble avoir été remplacée par la libssl.so.1.0.0, pour y remédier j’ai crée le lien symbolique suivant dans les dossiers d’Antidote:

sudo ln -s /lib/i386-linux-gnu/libssl.so.1.0.0 /usr/local/Druide/Antidote/lib/libssl.so.6

Mais un problème semblable existe aussi pour le fichier libcrypto.so.6 puisqu’on obtient le message d’erreur suivant:

antidote: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory

La librairie libcrypto.so.6 semble aussi avoir été remplacée par la libcrypto.so.1.0.0, pour y remédier j’ai également crée le lien symbolique suivant dans les dossiers d’Antidote:

sudo ln -s /lib/i386-linux-gnu/libcrypto.so.1.0.0 /usr/local/Druide/Antidote/lib/libcrypto.so.6

Il faut maintenant remédier à l’erreur suivante:

antidote: symbol lookup error: /usr/lib/i386-linux-gnu/libdbus-glib-1.so.2: undefined symbol: dbus_watch_get_unix_fd

Nous aurons besoin d’une version de libdbus-glib datant de l’époque de la sortie d’Antidote. Il faudra télécharger cette version (ne pas l’installer), la décompresser et ensuite copier les fichiers vétustes dans les répertoires d’Antidote.

wget http://security.ubuntu.com/ubuntu/pool/main/d/dbus-glib/libdbus-glib-1-2_0.74-2ubuntu0.1_i386.deb
dpkg -x libdbus-glib-1-2_0.74-2ubuntu0.1_i386.deb .
sudo cp usr/lib/* /usr/local/Druide/Antidote/lib/.

Et pour terminer, nous aurons à gérer l’erreur suivante:
D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/usr/local/var/lib/dbus/machine-id": Aucun fichier ou dossier de ce type

Le fichier machine-id existe dans /var/lib/dbus/. Il nous faudra donc créer un lien, mais d’abord assurons-nous que l’arborescence existe.

cd /usr/local/
sudo mkdir var
cd var/
sudo mkdir lib
cd lib/
sudo mkdir dbus
sudo ln -s /var/lib/dbus/machine-id /usr/local/var/lib/dbus/machine-id

Et voilà, ça devrait fonctionner…..

Bonne erreur de grammaire…

Auteur :
• 20 octobre 2010

Voici un petit hack permettant d’ajouter votre propre réducteur d’URL à la liste déjà présente dans Gwibber. Le but étant seulement d’utiliser votre propre réducteur, ou simplement d’en utiliser un alternatif.

La méthode qui suit a été testée sur le réducteur utilisant lilURL, un clone libre de TinyURL. Personnellement, j’ai installé mon propre réducteur et j’ai choisi Bilbolinks, qui utilise cette même bibliothèque. Ce qui nous intéresse sera d’appeler l’API de notre réducteur à partir de Gwibber. L’API de lilURL et de Bilbolinks est de la forme:

/api.php?longurl=http://www.uneurltrestreslongue.com

Puisque mon réducteur n’est pas encore public, j’ai fait une courte recherche et j’ai trouvé un réducteur qui utilise le Bilbolinks et qui fera l’affaire pour notre exemple http://joo.li.

Les manipulations qui suivent nécessitent des manipulations à effectuer avec des droits superutilisateurs (root) dont le mauvais usage peut engendrer des effets néfastes pour votre système. Je ne suis donc pas responsable de vos erreurs

Nous allons nous déplacer dans le répertoire qui gère les réducteurs.

cd /usr/share/pyshared/gwibber/microblog/urlshorter

Et nous allons créer un fichier de configuration nommé jooli.py

sudo nano jooli.py

Que nous allons renseigner comme suit (remplacer joo.li par votre réducteur (3x)) :

import urllib2

PROTOCOL_INFO = {

  "name": "joo.li",
  "version": 0.1,
  "fqdn" : "http://joo.li",

}

class URLShorter:

  def short(self, text):
    short = urllib2.urlopen("http://joo.li/api.php?longurl=%s" % urllib2.quote(text)).read()
    return short

Ensuite on doit modifier le fichier __init__.py

sudo nano __init__.py

en ajoutant:

@import jooli

Et dans la commande PROTOCOLS

"joo.li": jooli,

Ce qui donnerait au final:

import cligs, isgd, tinyurlcom, ur1ca
#import snipurlcom, zima
import jooli

PROTOCOLS = {
  "cli.gs": cligs,
  "is.gd": isgd,
  #"snipurl.com": snipurlcom,
  "tinyurl.com": tinyurlcom,
  "joo.li": jooli,
  "ur1.ca": ur1ca,
  #"zi.ma": zima,
}

On enregistre et il nous reste plus qu’à créer un lien symbolique vers notre nouveau fichier jooli.py

cd /usr/lib/python2.6/dist-packages/gwibber/microblog/urlshorter
sudo ln -s /usr/share/pyshared/gwibber/microblog/urlshorter/jooli.py

Voilà on redémarre Gwiber, et on choisit notre nouveau réducteur dans les préférences.

Pour info, le hack est le fruit d’une conversation dans #ubuntu-qc entre moi et @deuxpi.

Ma version de Gwibber est 2.32.0.1

Auteur :
• 5 octobre 2010

Juste une petite info au passage. Dernièrement j’ai travaillé avec les droits des fichier d’un site web fonctionnant sous ubuntu-server 10.0.4.1.  En voulant rétablir l’état initial, je voulais donc changer les droit des fichier pour 755 et les droits des fichiers pour 644.

Bien sur, je pouvais dans un terminal faire un:

chmod -R 644 /var/www/profnoel

et ensuite retravailler chaque dossiers individuellement. Mais , bof…

J’ai donc trouvé cette petite astuce:

Pour agir uniquement sur les fichiers

find /var/www/profnoel -type f -exec chmod 644 {} \;

Pour agir sur les dossiers

find /var/www/profnoel -type d -exec chmod 755 {} \;

C’est la façon de faire ou bien il y a plus simple ?

Catégorie : Du code | Tags : , ,  | 5 commentaires
Auteur :
• 25 septembre 2010

Un disque

Plus tôt cette semaine, je publiais un billet concernant l’installation d’un RAID logiciel (RAID 1) dans une Ubuntu 10.04.1 server. Sans vouloir revenir sur la définition d’un RAID 1, rappelons simplement que cette solution permet une redondance des données en disques en miroir et peut tolérer la panne d’un disque.

En fin de billet, je précisais qu’une prochaine étape serait les procédures à suivre dans le cas de la panne d’un disque, ce billet d’aujourd’hui en discutera donc.

Tout d’abord, précisons que la configuration proposée dans le billet précédant comporte une lacune majeure (voir la discussion à la fin du billet) compliquant grandement la récupération des données. En effet, puisque la partition boot (nécessaire au démarrage) n’est présente que sur le premier disque, la perte du second disque est facilement récupérable, le système pouvant quand même démarrer. Alors que la panne du premier disque empercherait le système de démarrer.

Lire ce billet dans son intégralité…

Auteur :
• 23 septembre 2010

Comme je le disais dans un billet précédant, j’ai récemment mis en production mon nouveau serveur. En inspectant l’ancienne machine, je réalise que j’avais un deuxième disque dur identique à celui-ci quelque part. Deux disques identiques, et pourquoi ne pas expérimenter un RAID logiciel?

RAID vous dite?

Pour mieux se situer, voici un extrait de Wikipédia.

En informatique, le mot RAID (Redundant Array of Independent Disks) désigne les techniques permettant de répartir des données sur plusieurs disques durs afin d’améliorer soit la tolérance aux pannes, soit la sécurité, soit les performances de l’ensemble, ou une répartition de tout cela.

Dans le cas du RAID matériel, une carte ou un composant est dédié à la gestion des opérations

En RAID logiciel, le contrôle du RAID est intégralement assuré par une couche logicielle du système d’exploitation. Cette couche s’intercale entre la couche d’abstraction matérielle (pilote) et la couche du système de fichiers.

Lire ce billet dans son intégralité…

Auteur :
• 20 septembre 2010

IconitoPetite découverte de la soirée, que je vais expérimenter prochainement dans mon serveur. Il s’agit d’un espace numérique de travail (cyberapprentissage) qui me semble bien intéressant. Il s’agit d’Iconico école numérique.

C’est tout d’abord une application web (nécessitant un serveur LAMP)  à destination de tous les usagers du système scolaire et de ses partenaires éducatifs de proximité. Sous licence libre LPGL, cette application web offre l’utilisation d’un courriel sécurisé, d’une gestion personnelle de documents, d’un annuaire global, d’un album photo ou encore d’un cahier de textes.
De plus on peut créer afin de favoriser un travail collaboratif, des groupes de travail allant jusqu’à la publication d’un blogue personnalisé accessible depuis internet.

Puisque c’est toujours intéressant de voir, voici un lien vers une page de démonstration.

La page web du projet.

Le téléchargement

Et un guide d’installation.

On s’en reparle.

Auteur :
• 18 septembre 2010

SquidJe travaille depuis quelques jours à remonter mon serveur sous 10.04.1 et voilà que je me bats avec le fichier configuration de Squid. Avec ses 4926 lignes pour un fichier de 164,5 Kio, nous sommes plus près d’un manuel d’utilisation qu’un fichier de configuration. J’ai découvert une astuce afin de se débarrasser des lignes commentées en ligne de commande (puisqu’il n’y a pas d’environnement graphique).

Puisque dans notre exemple les lignes commentées débutent par un dièse:

#    WELCOME TO SQUID 2.7.STABLE3
#    ----------------------------
#

Il suffit donc de balancer tout ce qui suit ce symbole. Dans un terminal, à partir du dossier où se trouve le fichier de configuration (dans mon cas squid.conf), on s’assure d’abord de préserver le fichier d’origine en le renommant.

En mode super-utilisateur:

mv squid.conf squid.conf.bak

Ensuite on épure le fichier.

cat squid.conf.bak | egrep -v -e '^[:blank:]*#|^$' > squid.conf

Voilà, plus que 50 lignes, et un mal de tête en moins.

Note sur Squid 2.7.STABLE3 et Lucid Lynx

Sous Ubuntu 10.04.1, j’ai remarqué que pour arrêter ou démarrer Squid, les commandes suivantes ne semblent plus fonctionner.

sudo /etc/init.d/squid start
sudo /etc/init.d/squid stop

On obtient le message suivant:

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service squid start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start squid

Pour démarrer Squid, je passe en super utilisateur

sudo su

Pour ensuite démarrer la bête.

sudo service squid start

Esct-ce  particulier à la 10.04.1 cette nouvelle façon de faire?

Source

Page 1 sur 41234