Logo carnetderootxzz@carnetderoot.net"La simplification est la sophistication suprême" - Léonard De Vinci
mercredi 13 septembre 2017

:: Archlinux en Français ::

/etc/rc.conf

LOCALE="fr_FR.UTF-8"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Paris"
KEYMAP="fr-latin9"
CONSOLEFONT="lat9w-16"
CONSOLEMAP="8859-15"
USECOLOR="yes"
CONSOLETRANSLATION="8859-15_to_uni"

/etc/profile

export LESSCHARSET="utf-8"
export G_FILENAME_ENCODING="@locale,UTF-8,ISO-8859-15"
export LC_ALL="fr_FR.UTF-8"

/etc/X11/xorg.conf.d/10-keyboard-layout.conf

Section "InputClass"
    Identifier         "Keyboard Layout"
    MatchIsKeyboard    "yes"
    Option             "XkbLayout"  "fr"
    Option             "XkbVariant" "latin9"
EndSection

Locale

/etc/locale.gen

Décommenter la ligne suivante :

fr_FR.UTF-8     UTF-8

Puis lancer la commande suivante:

locale-gen

/etc/locale.conf

Définir la variable LANG :

LANG="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8"

/etc/vconsole.conf

KEYMAP=fr-latin9

Timezone

Définir la time zone

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Lancer hwclock pour générer /etc/adjtime:

hwclock --systohc

Liens intéressants


mercredi 22 juin 2016

:: Nokia MCE Tools sur Sailfish OS ::

Présentation

MCE, pour Mode Control Entity, est un service système supervisant divers modes et états incluant senseurs et entrées utilisateurs.

Plus spécifiquement les entrées tactiles, les boutons, l'état d'activation et la mémoire.

Installation de Fingerterm

  • Aller dans Réglages > Mode développeur
  • Activer le mode développeur et la connexion distante
  • Indiquer un mot de passe de connexion

Dorénavant une nouvelle application nommée Terminal est disponible dans la liste des applications installées, il s'agit de l'application Fingerterm.

Note : pour la connexion distante via SSH, s'authentifier avec l'utilisateur nemo et le mot de passe renseigné précédemment.

Installation de mce-tools

  • Exécuter les commandes suivantes :

    $ devel-su
  • Indiquer le mot de passe pour passer en mode "superuser", puis installer les outils mce en tapant les commandes suivantes :

    # pkcon refresh
    # pkcon install mce-tools
  • Quitter le mode "superuser" :

    # exit

Commandes mce-tools

Gestion du "Double Tap"

  • Définir le double tap pour aller à l'accueil (Attention, le code de verrouillage doit être désactivé dans ce cas)

    $ mcetool --set-doubletap-mode=unlock
  • Définir le double tap pour aller à l'écran de verrouillage (défaut)

    $ mcetool --set-doubletap-mode=show-unlock-screen

Ecran d'aperçu (Glance Screen)

Permet de faire apparaître l'heure lorsque le téléphone se retrouve à la lumière

  • Activation de l'écran d'aperçu

    $ mcetool --set-low-power-mode=enabled
  • Désactivation de l'écran d'aperçu (défaut)

    $ mcetool --set-low-power-mode=disabled

Gestion du bouton "Power"

  • Lorsque l'écran est éteint, un seul appui sur le bouton affiche l'écran et fait vibrer le téléphone

    $ mcetool --set-display-off-single-powerkey-press-actions=unblank,vibrate
  • Lorsque l'écran est allumé, ne fait rien lors d'une double activation

    $ mcetool --set-display-on-double-powerkey-press-actions=
  • Lorsque l'écran est allumé, une longue activation éteint le périphérique (défaut)

    $ mcetool --set-display-off-long-powerkey-press-actions=shutdown

Gestion des connexions et du mode Avion

  • Désactivation

    $ mcetool --disable-radio=[master|cellular|wlan|bluetooth]
  • Activation

    $ mcetool --enable-radio=[master|cellular|wlan|bluetooth]

Note : master correspond à cellular + wlan

  • Activation du mode Avion

    $ mcetool --disable-radio=master

Encore plus de commandes !

$ mcetool --help

Liens intéressants


dimanche 30 août 2015

:: GRUB - GRand Unified Bootloader ::

Liens intéressants

Générer le fichier de configuration principal

Note: grub.cfg doit être regénéré à chaque modification de /etc/default/grub ou d'un fichier sous /etc/grub.d/.

# grub-mkconfig -o /boot/grub/grub.cfg

lundi 24 août 2015

:: SSH brute force banning script ::

Références

Installation et configuration

Note : Ce script est une version modifiée de celui fourni par robzr sur le forum OpenWrt.

Créer le fichier /usr/sbin/dropBrute.sh et copier le contenu suivant :

#!/bin/sh
# ------------------------------------------------------------------------------
# dropBrute.sh : minimalist OpenWRT/dropbear ssh brute force attack banning script
# ------------------------------------------------------------------------------
# initial release by robzr
# ------------------------------------------------------------------------------
# Installation steps:
# 1) Edit the variables in the header of this script to customise for your environment.
# 2) Insert a reference for this rule in your firewall script before you accept ssh.
#    This will block the brute force attack until the IP is banned by the script.
#      iptables -N logndrop
#      iptables -N dropBrute
#      iptables -A logndrop -j LOG
#      iptables -A logndrop -j DROP
#      iptables -A input_rule -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --set
#      iptables -A input_rule -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j logndrop
#      iptables -A input_rule -p tcp --dport 22 -j dropBrute
# 3) Run the script periodically out of cron:
#      echo '*/10 * * * * /usr/sbin/dropBrute.sh 2>&1 >> /tmp/dropBrute.log' >> /etc/crontabs/root
# 4) If cron is not enabled, you'll also need to run the following:
#      /etc/init.d/cron enable && /etc/init.d/cron start
# ------------------------------------------------------------------------------
# To whitelist hosts or networks, simply add a manual entry to the lease
# file with a leasetime of -1.  This can be done with the following syntax:
#    echo -1 192.168.1.0/24 >> /tmp/dropBrute.leases
# A static, or non-expiring blacklist of a host or network can also be
# added, just use a lease time of 0.  This can be done with the following syntax:
#    echo 0 1.2.3.0/24 >> /tmp/dropBrute.leases
# ------------------------------------------------------------------------------

# =========================== CUSTOMIZABLE VARIABLES =========================== 
# Debug mode (let empty to disable, debug = '')
debug='1'
# How many bad attempts before banning.
allowedAttempts=3
# How long IPs are banned for (in seconds)
secondsToBan=86400
# the "lease" file - defaults to /tmp which does not persist across reboots
# Note: here, USB key is mounted on /tmp/cache. This way, leases file persists across reboots
leaseFile=/tmp/cache/dropBrute.leases
# Iptables chain that drop commands will go into.
iptChain=dropBrute
# IP Tables drop & whitelist rules
iptDropRule='-j DROP'
iptWhiteRule='-j RETURN'
# Default leasefile entries
[ -f $leaseFile ] || cat <<__EOF__>>$leaseFile
-1 192.168.1.0/24
__EOF__
# Path to iptables command
ipt='/usr/sbin/iptables'
# ======================= END OF CUSTOMIZABLE VARIABLES ========================

# ------------------------------------------------------------------------------
[ `date +'%s'` -lt 1320000000 ] && echo System date not set, aborting. && exit -1
$ipt -N $iptChain >&/dev/null
now=`date +'%s'`
nowPlus=$((now + secondsToBan))
echo ------ Starting dropBrute on `date` \($now\)

# find new badIPs (method 1)
[ "$debug" ] && echo Looking for bad IPs \(method 1\)
for badIP in `logread | fgrep dropbear | egrep -i 'login attempt for nonexistent user'\|'bad password attempt for'| sed 's/^.*from //' | sed 's/:.*$//' | sort -u` ; do
  [ "$debug" ] && echo  - Working on $badIP
  n=`logread | fgrep dropbear | egrep -i 'login attempt for nonexistent user'\|'bad password attempt for'|sed 's/^.*from //'|sed 's/:.*$//' | fgrep $badIP | wc -l`
  if [ $n -ge $allowedAttempts ] ; then
    [ "$debug" ] && echo ... KO \($n occurences\)
    # if there is not a lease, add it
    if [ $(egrep -c $badIP$ $leaseFile) -eq 0 ] ; then
      echo $nowPlus $badIP >> $leaseFile
      [ "$debug" ] && echo ... Adding new lease for $badIP
    else
      [ "$debug" ] && echo ... Lease for $badIP already exists
    fi
  else
    [ "$debug" ] && echo ... Ok \($n occurences\)
  fi
done

# find new badIPs (Method 2)
[ "$debug" ] && echo Looking for bad IPs \(method 2\)
for fuzzyIP in `logread | fgrep dropbear | egrep -i 'Child connection from' | sed 's/^.*from //' | sed 's/:.*$//' | sort -u` ; do
  n=0
  [ "$debug" ] && echo - Working on $fuzzyIP
  for fuzzyPs in `logread | fgrep dropbear | egrep -i 'Child connection from' | fgrep  $fuzzyIP | sed 's/^.*dropbear\[//' | sed 's/\]:.*$//' | sort -u` ; do
    nbPs=`logread | egrep -i 'Exit before auth' | fgrep $fuzzyPs | wc -l`
    n=$((n+nbPs))
  done
  if [ $n -ge $allowedAttempts ] ; then
    [ "$debug" ] && echo ... KO \($n occurences\)
    # if there is not a lease, add it
    if [ $(egrep -c $fuzzyIP $leaseFile) -eq 0 ] ; then
      echo $nowPlus $fuzzyIP >> $leaseFile
      [ "$debug" ] && echo ... Adding new lease for $fuzzyIP
    else
      [ "$debug" ] && echo ... Lease for $fuzzyIP already exists
    fi
  else
    [ "$debug" ] && echo ... Ok \($n occurences\)
  fi
done

# now parse the leaseFile
[ "$debug" ] && echo Parsing the leasefile
cat $leaseFile | while read lease ; do
  leaseTime=`echo $lease|cut -f1 -d\ `
  leaseIP=`echo $lease|cut -f2 -d\ `
  # when used with the iptables example on the top a return rule is not needed
  if [ $leaseTime -lt 0 ] ; then
    if [ `$ipt -S $leaseChain|egrep \ $leaseIP/32\ \|\ $leaseIP\ |fgrep -- "$iptWhiteRule"| wc -l` -lt 1 ] ; then
      #[ "$debug" ] && echo Adding new whitelist rule for $leaseIP
      #$ipt -I $iptChain -s $leaseIP $iptWhiteRule
      true
    fi
  elif [ $leaseTime -ge 1 -a $now -gt $leaseTime ] ; then
    [ "$debug" ] && echo  - Expiring lease for $leaseIP
    $ipt -D $iptChain -s $leaseIP $iptDropRule
    $ipt -D $iptChain -s $leaseIP -j LOG --log-prefix "dropBrute "
    sed -i /$leaseIP/d $leaseFile
  elif [ $leaseTime -ge 0 -a `$ipt -S $leaseChain|egrep \ $leaseIP/32\ \|\ $leaseIP\ |wc -l` -lt 1 ] ; then
    [ "$debug" ] && echo  - Adding new rule for $leaseIP
    $ipt -I $iptChain -s $leaseIP $iptDropRule
    $ipt -I $iptChain -s $leaseIP -j LOG --log-prefix "dropBrute "
  fi
done < $leaseFile

echo ------ Ending dropBrute on `date` \(`date +'%s'`\)

jeudi 23 juillet 2015

:: Gestion des volumes logiques sous Debian ::

Installation

# apt-get update && apt-get install lvm2
# dpkg-query -l lvm2
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom                                        Version                    Architecture               Description
+++-==========================================-==========================-==========================-=========================================================================================
ii  lvm2                                       2.02.95-8                  amd64                      Linux Logical Volume Manager

Configuration

Volume physique

# pvcreate /dev/md0
# pvdisplay
# pvs

Groupe de volume

# vgcreate <nom_du_volume> /dev/md0
# vgdisplay
# vgs

Volume logique

# lvcreate
# lvdisplay
# lvs

Préparation des volumes logiques

# mkfs.ext4
# mkdir
# mount

mercredi 22 juillet 2015

:: Procédure de mise à jour Debian ::

Debian 7 Wheezy vers Debian 8 Jessie

Mise à jour du système en dernière version mineure.

$ sudo apt-get update && sudo apt-get upgrade -y

Vérification de l'état des paquets

  • Liste des paquets "Half-installed" ou "Failed-Config"

    $ sudo dpkg --audit
  • Liste des paquets bloqués ("On hold")

    $ sudo dpkg --get-selections | grep 'hold$'

Note : Il est préférable de résoudre les problèmes avec ces paquets avant de procéder à la mise à niveau du système, sous peine de risquer quelques surprises.

Modification des sources de paquets

  • Modifier le fichier /etc/apt/sources.list

    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
    $ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list
  • Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :

    $ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list.d/<fichier>

Mise à niveau du système

  • Facultatif : vérification de l'espace disque avant d'effectuer la mise à niveau

    $ sudo apt-get update && sudo apt-get -o APT::Get::Trivial-Only=true dist-upgrade
    [...]
    543 mis à jour, 305 nouvellement installés, 10 à enlever et 0 non mis à jour.
    Il est nécessaire de prendre 382 Mo dans les archives.
    Après cette opération, 503 Mo d'espace disque supplémentaires seront utilisés.

    Si il y a un problème d'espace disque, la commande retourne un avertissement :

    E: Vous n'avez pas assez d'espace disponible dans /var/cache/apt/archives/.
  • Mise à niveau

    $ sudo apt-get update && sudo apt-get dist-upgrade
    $ sudo apt-get upgrade
    $ sudo shutdown -r now

Références


dimanche 08 février 2015

:: Installation d'Archlinux avec Openbox ::

Liens intéressants

Arch Linux

Openbox

Installation d'Arch Linux

Caractéristiques du portable

Asus Zenbook UX 303 LN
Ecran 13.3 pouces, résolution 3200x1800px, IPS, tactile
Processeur Intel Haswell Core i7-4510U CPU
Chipset Intel HM87
Video Intel 4400 HD intégré + Nvidia GeForce GT840M 2Go
Memory 8Go DDR3
Stockage 256Go SSD
Connectivity Wireless AC, Bluetooth, Lan (avec adapteur USB-Ethernet)
Ports 3 x USB3.0, lecteur de carte SD, HDMI, mini-DisplayPort
Batterie 50 Wh
Dimensions Epaisseur 21mm avec les pieds (18mm sans)
Poids 1.5 kg (3.3 pounds)
Extras Clavier retro-éclairé, haut-parleurs Bang and Olufsen

Préparation de l'installation

  1. Télécharger la dernière iso sur le site de téléchargement Arch Linux et vérifier son intégrité à l'aide des sommes de contrôle MD5 ou SHA1 :

    $ md5sum archlinux-2015.01.01-dual.iso

    ou

    $ sha1sum archlinux-2015.01.01-dual.iso

    puis comparer la somme de contrôle obtenue à celle présente sur la page de téléchargement.

  2. Créer la clé USB

    $ sudo dd if=archlinux.iso of=/dev/sdx bs=512k

    où /dev/sdx correspond au périphérique USB (Attention à ne pas se tromper !!)

  3. Démarrer sur la clé et sélectionner "Arch Linux archiso x86_64 UEFI" dans le menu de démarrage. On arrive sur la ligne de commande avec un prompt root.

  4. Avant toute chose, modifier l'agencement du clavier (par défaut US-qwerty) :

    # loadkeys fr

    Pour lister les agencements disponibles :

    # find /usr/share/kbd/keymaps/ -type f
  5. Vérifier que l'on est en mode EFI. Si c'est bien le cas, la commande ci-dessous doit afficher les variables EFI :

    # efivar -l 
  6. Etablir une connexion internet. N'ayant pas de port ethernet, ni de câble USB-Ethernet, j'ai configuré le wifi :

    # iw dev                    ---> Récupérer le nom de l'interface (ici, wlp2s0)
    # ip link set wlp2s0 up     ---> Activation de l'interface
    # wifi-menu wlp2s0          ---> Connexion au point d'accès
    # ping www.google.com       ---> Test de la connexion
  7. Partitionner l'espace disque. N'ayant pas l'utilité d'un Windows 8.1, j'ai supprimé l'intégralité du disque. Pour cela, utiliser j'utilise gdisk, un équivalent de fdisk pour GPT (GUID Partition Table), nécessaire pour le mode EFI.

    # gdisk /dev/sda

    Schéma de partitionnement cible :

    Périphérique Point de montage Taille Type
    /dev/sda1 / 20 GiB 8300
    /dev/sda2 /boot 1024 MiB EF00
    /dev/sda3 /home le reste de l'espace disque 8300
  8. Formater les partitions

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda3
    # mkfs.fat -F32 /dev/sda2
  9. Monter les partitions

    # mount /dev/sda1 /mnt
    # mkdir /mnt/home && mount /dev/sda3 /mnt/home
    # mkdir /mnt/boot && mount /dev/sda2 /mnt/boot

Installation d'Arch Linux et configuration de base

  1. Choix du miroir de téléchargement. Préférer un miroir géographiquement proche (vérifier sur http://archlinux.org/mirrorlist/).

    # nano /etc/pacman.d/mirrorlist
  2. Installer le système de base Arch Linux.

    # pacstrap -i /mnt base base-devel
  3. Créer le fichier fstab.

    # genfstab -U -p /mnt >> /mnt/etc/fstab
  4. Faire un chroot pour accéder au système nouvellement installé.

    # arch-root /mnt
  5. Définir le nom d'hôte

    # echo computer_name > /etc/hostname
  6. Configurer la time zone

    # ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
  7. Configurer les locales Editer le fichier /etc/locale.gen et décommenter la ligne fr_FR.UTF-8 UTF-8 Générer les locales :

    # locale-gen

    Créer le fichier /etc/locale.conf et modifier la valeur LANG

    # echo LANG=fr_FR.UTF-8 > /etc/locale.conf
    # export LANG=fr_FR.UTF-8
  8. Démonter les systèmes de fichiers

    # umount /mnt/boot /mnt/home /mnt
  9. Redémarrer

    # reboot

Configuration post-installation

  1. Créer un utilisateur

    # useradd -g users -m -s /bin/bash utilisateur
    # passwd utilisateur

    [à compléter]

Gestion d'écran HiDPI (High Dots Per Inch)

L'écran de l'UX303LN est un écran 13.3" avec une résolution QuadHD+ de 3200x1800 pixels. Les éléments affichés apparaissent donc trés petits (boutons, polices, etc.), à la limite du lisible.

Vous trouverez ci-dessous une liste (non exhaustive) de modifications permettant de profiter pleinement d'une haute résolution sans avoir besoin d'une loupe :-)

Paramètres X

En l'absence d'un environnement de bureau manipulant les paramètres X (Gnome, KDE, Xfce, etc.), il faut définir ces paramètres manuellement dans le fichier ~/.Xresources :

# Gestion HiDPI
Xft.dpi: 192
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

Note : Adaptez le paramètre Xft.dpi à votre définition d'écran (ici 192dpi).

XTerm

Ici aussi on modifie le fichier ~/.Xresources pour préciser la police désirée, sa taille et sa résolution :

# Police XTerm
xterm*faceName:DejaVu Sans Mono:size=11:antialias=false
xterm*font: 7x13

Note : Modifiez ces paramètres selon vos desideratas.

Firefox et Thunderbird

Dans Firefox, aller dans les préférences avancées (about:config) et modifier le paramètre layout.css.devPixelsPerPx à 2 (défaut : -1). Dans le cas d'une utilisation multi-écran, il est possible d'utiliser le module Firefox AutoHiDPI (Non testé).

Dans Thunderbird, les paramètres avancés sont disponibles sous Edition / Préférences / Avancé / Editeur de configuration.

Installation de yaourt (Yet AnOther User Repository Tool)

Important : Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser yaourt, ainsi que ABS et makepkg.

Méthode 1 - Installation depuis AUR

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..
curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si
cd ..

Méthode 2 - Installation depuis le dépôt archlinux.fr

Editer le fichier /etc/pacman.conf et ajouter les lignes suivantes :

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Puis, installer le paquet yaourt :

pacman -Sy yaourt

[à suivre]


vendredi 23 janvier 2015

:: Installation d'Ubuntu 14.04 sur un Asus UX303LN ::

Infos

Asus UX303LN-DQ162H

  • Processeur : Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
  • Mémoire Totale : DDR3 8Go (8063432ko)
  • Disque SSD : SanDisk SD6SB1M256G1002 (256Go)
  • VGA compatible controller : Intel Corporation Haswell-ULT Integrated Graphics Controller
  • 3D controller : NVIDIA Corporation GM108M [GeForce 840M]

Installation Ubuntu 14.04 LTS

Création de la clé usb

$ sudo dd if=ubuntu.iso of=/dev/sdx bs=512k

Attention à ne pas se tromper de disque !!

Démarrer le portable et entrer dans le menu de configuration (touche F2)

Paramétrer le démarrage sur la clé USB, normalement cette dernière est détecté automatiquement comme partition de boot EFI et est proposé dans la liste des options de boot. Si ce n'est pas le cas, créer une nouvelle option de boot et indiquer le chemin vers le fichier bootx64.efi

A noter qu'Ubuntu supporte le boot EFI, on peut donc conserver ce mode et profiter de ses avantages en terme de sécurité.

Booter sur la clé et installer Ubuntu.

Installation des pilotes NVidia

$ sudo add-apt-repository ppa:xorg-edgers/ppa 
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install nvidia-346 nvidia-prime

Installation de Wicd en remplacement de Network-Manager

Dans mon cas, Network-Manager ne se connecte pas au point d'accès présent au boulot (un WPA2 Personal un peu spécial)... A l'opposé Wicd fonctionne trés bien, je l'ai donc installé en remplacement de Network-Manager.

Installation de Wicd

En premier lieu, on réinstalle network-manager. Ceci pour l'avoir dans le cache apt si jamais Wicd venait à ne pas fonctionner.

$ sudo apt-get install -d --reinstall network-manager network-manager-gnome

Ensuite, on installe Wicd et on supprime proprement Network-Manager :

$ sudo apt-get install wicd-gtk
$ sudo apt-get remove --purge network-manager network-manager-gnome

Maintenant, vous pouvez paramétrer votre connexion WiFi via l'application "Wicd Network Manager".

Activation de l'icône Wicd dans la barre des tâches

Depuis la version Ubuntu 13.04, le paramètre 'whitelist' de la zone de notification Unity n'existe plus... Pour pallier à ce manque, voici la marche à suivre :

$ sudo add-apt-repository ppa:gurqn/systray-trusty
$ sudo apt-get update
$ sudo apt-get upgrade

Note : Pour désactiver ce ppa, il est indispensable d'utiliser l'utilitaire ppa-purge

$ sudo apt-get install ppa-purge
$ sudo ppa-purge ppa:gurqn/systray-trusty

Installation de themes Unity

Themes Ambiance & Radiance

$ sudo add-apt-repository ppa:ravefinity-project/ppa
$ sudo apt-get update
$ sudo apt-get install ambiance-flat-colors
$ sudo apt-get install radiance-flat-colors

[à suivre...]


mardi 04 novembre 2014

:: Gestion de l'espace disque sous Debian ::

Nettoyage de l'espace disque

Locales

localepurge

localepurge permet de supprimer toutes les locales différentes de celles utilisées par le système.

# apt-get install localepurge
# localepurge
localepurge: Disk space freed in /usr/share/locale: 90972 KiB
localepurge: Disk space freed in /usr/share/man: 5036 KiB

Répertoire personnel

ghostintheshell

Commande de ghostintheshell pour nettoyer son répertoire personnel, à adapter si besoin.

$ find -P ~/ -regex ".*\(~\|mozilla.*/Cache.*\|/.thumbnails/.*\|/.wine/.*/temp/.*\|/.gnome2/gnome-art/.*\)" -type f -print -delete && rm -vfr ~/.Trash/* ~/.dvdcss/* ~/.recently-used

apt/dpkg

Dépendances orphelines

Lorsqu'un paquet est installé, il vient souvent avec des dépendances qui ne sont pas systématiquements desinstallées lors de la suppression de ce paquet. L'outil deborphan permet de lister ces paquets orphelins et éventuellement de les supprimer.

# apt-get install deborphan
# deborphan
libsysfs2
librpcsecgss3
libgmp3c2
libbind9-60
[...]

Attention : certains de ces paquets peuvent être utiles au système. Bien vérifier avant d'opérer toute suppression.

Si un paquet que l'on souhaite garder apparaît dans la liste, on peut demander à deborphan de ne plus le considérer comme orphelin :

# deborphan --add-keep paquet_a_garder

Une fois bien décidé, on peut lancer la suppression des paquets orphelins :

# apt-get remove --purge `deborphan`

Ou, en élargissant le périmètre de deborphan :

# apt-get remove --purge `deborphan --guess-all`

Fichiers de configuration orphelins

Détection

Lister les paquets supprimés mais non-purgés :

$ aptitude search ~c
c   bluez-audio                                             - Transitional package
[...]

Même résultat avec la commande suivante qui liste les paquets sur une seule ligne :

$ dpkg -l | awk '$1~/^rc$/{print $2}' | xargs echo
bluez-audio [...]

Suppression

Supprimer tous les fichiers de configuration orphelins et leurs dépendances :

# aptitude purge ~c

Suppression des fichiers de configuration associés à des paquets desinstallés

# dpkg --purge `dpkg --get-selections|awk '/deinstall/ {print $1}'`

ou

# dpkg -P $(dpkg -l | awk '$1~/^rc$/{print $2}')

Suppression complète d'un paquet (fichiers et configuration).

# apt-get --purge remove `apt-cache search monpaquet | awk '{print $1}'`

ou

# aptitude purge monpaquet

Cache APT

Suppression des fichiers inutiles du cache (anciennes versions d'un même paquet par exemple).

# apt-get autoclean

Nettoyage total du cache.

# apt-get clean

mercredi 29 octobre 2014

:: Installation de rTorrent sur OpenWRT ::

Références

Introduction

rTorrent est un client bitorrent basé sur libtorrent et que l'on peut lancer en mode daemon à l'aide de screen.
Il existe de nombreuses interfaces (GUi et webUi) disponibles pour Windows, Linux, Mac et Android.

Ici, je l'installe sur un routeur Netgear WNDR3800 sous OpenWRT ATTITUDE ADJUSTMENT (12.09, r36088).

Installation et configuration

Installation de rTorrent et de screen

# opkg install rtorrent screen

Création du fichier de configuration rTorrent

# cd /root
# vi .rtorrent.rc

Ma configuration après modification :

# Nombre de pairs en téléchargement
min_peers = 40
max_peers = 120

# Nombre de pairs en téléversement
min_peers_seed = 2
max_peers_seed = 6
max_uploads = 4

# Limite de bande passante
download_rate = 0
upload_rate = 20

# Répertoires contenant les fichiers téléchargés
directory = /mnt/torrent

# Répertoire de stockage de l'état des sessions
session = /mnt/torrent/session

# Ajout automatique de torrents
schedule = watch_directory,15,15,load_start=/mnt/torrent/torrent_active/*.torrent

# Ports utilisables par rtorrent
port_range = 6881-6999
port_random = no

# Vérification des données à la fin du téléchargement
check_hash = yes

# Activation de DHT pour les torrents sans tracker
dht = auto

# Port UDP pour l'utilisation de DHT.
dht_port = 6880

# Forcer l'utilisation de transactions chiffrées, pour ne recevoir et n'envoyer que des données protégées
encryption = allow_incoming,require,require_rc4

Script d'init

# vi /etc/init.d/rtorrent

Copier le contenu suivant :

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2012 OpenWrt.org

START=99

boot() {
     HOME=/root screen -dmS rtorrent rtorrent
}

start() {
     HOME=/root screen -dmS rtorrent rtorrent
}

stop() {
     killall rtorrent
}

Rendre le script exécutable et l'activer

# chmod 755 /etc/init.d/rtorrent
# /etc/init.d/rtorrent enable
# /etc/init.d/rtorrent start

Utilisation

rTorrent s'exécute dans screen en arrière-plan. Pour le faire revenir au premier plan, on ré-attache la session screen :

# screen -r

et pour le remettre à l'arrière-plan, on s'en détache :

CTRL+A+D