Linux, par où commencer

Linux kernel map

Débarquer dans le monde de GNU/Linux, c’est un peu comme passer son permis. Le code, les heures de conduites, choses aussi lourdes que d’assimiler un bout de programme obscurcit de l’IOCCC (International Obfuscated C Code Contest). Examen passé, auto-école remerciée, et cette sensation lorsqu’on prend les commandes de la grosse merco du paternel. Voilà, vous l’aurez compris, passer le cap Linux, c’est reprendre le contrôle de son PC et augmenter drastiquement sa productivité, ainsi que sa compréhension de l’informatique en général.

Le problème, c’est que Linux a été très longtemps l’affaire de barbus comme Richard Stallman, 2ème personne la plus influente du monde informatique, devant NyanCat et WTF Guy. Alors forcément, par où commencer?

Le but de ce post n’est pas de faire un enième tutorial sur l’utilisation de cet système d’exploitation, mais plutôt un “guide des guides” existants. De toute façon, la meilleur solution c’est de pratiquer, n’est ce pas?

La théorie

Linux, kézako? http://www.getgnulinux.org/fr/linux/

Pas vraiment un système d’exploitation à proprement parler, Linux c’est avant tout un noyau!

(more…)

Read More

Je viens de tombé sur quelques script assez utile pour les sysadmin, proposé par formation-debian.via.ecp.fr et cyberciti.biz

  • Le premier script n’est rien d’autre qu’un fichier de configuration extrêmement facile à comprendre, permettant de sécuriser très rapidement l’accès au serveur.

Il facilite la configuration de nombreux services tels que SSH, SAMBA, serveur mail avec iptables.

Pour récuperer le script, rien ne vaut un bon petit wget:

wget http://formation-debian.via.ecp.fr/fichiers-config/iptables.up.rules

Je post le script à la fin de ce post.

  • Le second script permet  de faire un reset par défaut du firewall noyau de linux. En effet, lorsque l’on test de nouvelles règles sur iptables, il arrive parfois que l’on bloque l’accès SSH au serveur par erreur. Ainsi, à l’aide de la commande ‘at‘ vu dans ce post, on peut facilement indiquer à notre système que l’on veut un reset des règles dans 5 minutes par exemple!

Voici le script en question, à copier dans un fichier resetfw.sh, par exemple:

(more…)

Read More

Parfois, il peut s’avérer utile d’exécuter un script linux avec un décalage d’1 heure par exemple.

Pour se faire, j’utilise désormais la commande ‘at‘.

Par exemple, pour executer une commande qui m’exécutera un script dans 5 minutes, on procédera comme suit:

at now + 5 minutes -f /etc/monscript.sh

L’attribut now charge le temps actuelle dans la commande. Ainsi, en tapant now +3 days, la commande sera effectuer dans 3 jours à l’heure actuelle.
On peut également utiliser les dates comme suit: 10:00 13/11/2011 

Pour lister tous les jobs qui ont été lancé:

(more…)

Read More

Debian : ecrire sur du NTFS

Sur une distribution Debian 5.0 de base, le format du système de fichier NTFS n’est supporté qu’en lecture. Alors, si vous branchez un disque dur possédant une partition en NTFS, il vous sera impossible d’y déposer le moindre fichier.

La solution? Le paquet ntfs-3g qui apporte un nouveau type de système de fichier permettant l’ecriture. Installons-le!
Mettez vous en root (avec la commande su ou sudo -s sous ubuntu).

luke:/mnt# aptitude install ntfs-3g

Ensuite, on monte notre partition en utilisant le type ntfs-3g.
luke:/mnt# mount /dev/sda1 sda/ -t ntfs-3g

Pou rendre le montage permanent, on se dirige vers le fichier fstab.
luke:/mnt# cd /etc
luke:/etc# nano fstab

On ajoute cette ligne en fin de fichier:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda1 /mnt/sda ntfs-3g defaults 0 0

Le tour est joué!

Read More

Trickle : limiter la bandwidth

Il peut s’averer  utile de limiter la bande passante que consomment certains programme. Après de nombreuses recherches, je suis tombé sur Trickle, un petit logiciel qui se lance sous Linux.
Comme d’habitude, pour l’installer:

aptitude install trickle

Il s’utilise comme ceci:

trickle -d 100 -u 20 NOM_DE_L_APPLICATION

Cette commande limitera alors la téléchargement à 100ko/s et l’envoi à 20ko/s.
Il existe également un petit daemon installé avec qui s’appelle trickled

Site de l’auteur

Read More


Récemment, j’ai eu besoin de donner l’accès à mon serveur à un ami pour qu’il puisse démarrer/redémarrer certains services au cas ou ils seraient éteints ou plantés. Étant donné qu’il était plutôt novice et que je ne voulais pas qu’il accède en lecture aux fichiers de configuration, j’ai décider de le « chrooter » (enfermer) dans un shell limité.
Bien sur, il en existe pas mal, comme rbash… Mais j’en ai déterrer un spécial: PDMenu.

Ce petit shell permet en effet d’afficher un menu au lieu de la traditionnelle li

gne de commande! Après avoir configurer le menu, l’utilisateur ne pourra utiliser que les options disponibles dans le menu. Les possibilités de PDMenu sont vastes:
Création de sous menu
Possibilité de laisser le choix entre plusieurs paramètres
Affichage de la sortie de chaque programme
Possibilité de renseigner/éditer des paramètres

Petit aperçu de ce que cela donne:

(more…)

Read More

Je suis confronté à un problème de taille: j’essaie désespérément d’installer un paquet (deluge, un client torrent) sur une version de debian qui ne possède pas le paquet.
Actuellement, mon serveur est sous la version 5 de Debian (“lenny”) et les paquets que je cherche à installer sont présents sur la future version de debian, (“squeeze”). Le but de ce petit how-to sera donc d’expliquer comment installer des paquets de la version “squeeze” sur la version “lenny”.

Après quelques recherches, je suis tombé sur un site qui explique très bien comment faire. Je vais donc honteusement copier le tutorial (en citant l’auteur bien sur!), car si un jour le site en question vient à disparaître, l’astuce n’existera plus! 🙁

Vu sur Naeh! : http://naeh.net/utiliser-des-paquets-de-differentes-versions-de-debian/comment-page-1/#comment-6042
Voila la tutoriel:

Aujourd’hui on va voir comment customiser les fichier source.list de debian afin de pouvoir installer des paquets de versions autres que la stable.

avant de commencer, il faut savoir que la version actuelle de debian (donc la version stable) est : lenny

la version qui nous intéresse est la testing ou bien squeeze (on pourrait s’intéresser à la sid (non stable) mais c’est à éviter)

pour plus d’infos sur ces versions : http://wiki.debian.org/DebianReleases

pour pouvoir installer des paquets de la squeeze sous lenny il faut éditer son fichier /etc/apt/sources.list en ajoutant :

deb http://ftp.fr.debian.org/debian squeeze main deb http://security.debian.org/ squeeze/updates main

en gros dupliquer les lignes existantes en remplaçant lenny (ou stable) par squeeze (on pourrait ajouter non-free après main en cas de besoin ; pour installer jdk par exemple…)

maintenant notre debian est configurée pour aller chercher ces paquets dans la branche squeeze, cool, mais c’est un peu la cata quand même 🙂 en fait, on ne veut prendre dans squeeze que certains paquets, et par défaut on voudrait garder lenny quand même, pour cela il faut tout simplement le dire à la machine :

on édite le fichier /etc/apt/apt.conf (le créer si non existant)
on met dedans la ligne suivante :

APT::Default-Release "stable";

et maintenant un simple apt-get install va aller chercher les paquets au bon endroit (c’est à dire : lenny)

et si on veut installer un paquet de squeeze, on fait :

apt-get install --target-release squeeze MON-SUPPER-PAQUET-DE-SQUEEZE

et le tour est joué 🙂

à l’heure actuelle lenny est la version stable, le jour où la stable change, il suffira d’adapter un peu tout ça.

Read More

Le montage automatique des disques durs externes & clés USB peut devenir assez vite redondant, surtout lorsque le disque en question contient plusieurs partitions, qui ouvrent chacune une fenêtre dans Nautilus.
Deux options existent pour empêcher Nautilus de nous importuner:

  • Désactiver l’ouverture automatique de nautilus lors d’un montage de périphérique
  • Désactiver le montage automatique des disques branchés

Donc dans les deux cas, on ne sera plus ennuyé.

Pour se faire: lancez gconf-editor, avec Alt+F2:

gconf-editor

Ensuite, allez dans /apps/nautilus/preferences/
Ici, il y a les fameuses options à modifier:

  1. media_automount
  2. media_automount_open

Cochez ou décocher alors ces options et le tour est joué!

Read More

Nautilus ‘open in terminal’

Voici une extension très utile pour notre très cher Nautilus (navigateur de fichier par défaut sous Ubuntu). Il permet en effet d’ouvrir un terminal qui pointe vers le dossier dans lequel on navigue en faisant un clique-droit et “Ouvrir dans un terminal”.

Pour l’installer, un simple

aptitude install nautilus-open-terminal

sera suffisant. Ensuite, il faudra redémarrer gnome:

cd /etc/init.d
sudo ./gdm restart

That’s all!

Read More

Figlet & Motd = style

Comme expliqué plus bas,  je me remet doucement à bidouiller sur linux, et plus particulièrement sur la configuration de différents serveurs sous Ubuntu ou Debian.

Désireux de me faire un petit serveur SSH bien sympathique, j’ai décidé de modifier le fichier motd (/etc/motd) qui permet d’afficher un message de bienvenue lorsque l’on se connecte dans un TTY en local ou via le protocole SSH.

Ce qu’il faut savoir sur motd:

  • Pour votre culture personnelle, le fichier motd signifie “Message Of The Day”
  • Le fichier motd qui est localisé dans /etc/ n’est en fait qu’un lien (ln) vers le fichier /var/run/motd
  • Par défaut, le fichier motd est réinitialisé à chaque redémarrage de la machine

Donc dans un premier temps:

cd /etc/
sudo rm motd

Puis on recreer le fichier motd non “linké”

sudo touch motd

Ensuite, on l’édite:

gksudo gedit motd

Et on peut également utiliser figlet qui est un super programme permettant de générer un ASCII Art.

sudo aptitude install figlet
figlet Manzhack

… et voila la sortie:

__ __
| \/ | __ _ _ __ ________
| |\/| |/ _` | ‘_ \|_ /_ /
| | | | (_| | | | |/ / / /
|_| |_|\__,_|_| |_/___/___|

C’est beau non? Il n’y a plus qu’a copier ça dans motd, sauver et essayez de vous connecter en ssh ou en TTY sur votre machine. Sachez que Figlet contient de nombreuses polices d’écritures à l’aide de l’argument “-f NOM_DE_POLICE”. Les noms de polices sont disponibles dans/usr/share/figlet. Ce sont les noms de fichiers qui finissent en *.flf.

Read More