Archives pour la catégorie ‘Debian’

Linux : les magic keys avec un clavier bépo TypeMatrix 2030

L’équivalent des magic keys en bépo pour la séquence «R E I S U B » est :

  • FN + ALT + F10 + O
  • FN + ALT + F10 + P
  • FN + ALT + F10 + D
  • FN + ALT + F10 + U
  • FN + ALT + F10 + V
  • FN + ALT + F10 + K

Il s’agit comme toujours d’un mapping mental en qwerty …

Debian : configuration du scheduler I/O

root@debian:~# apt-get install sysfsutils
root@debian:~# cat /etc/sysfs.conf
block/sda/queue/scheduler = deadline
block/sdb/queue/scheduler = deadline
root@debian:~# service sysfsutils restart

Debian : flashback avec dpkg

root@debian:~# dpkg --get-selections > packages.dpkg
root@debian:~# apt-get install gnome-session
root@debian:~# dpkg --clear-selections
root@debian:~# dpkg --set-selections < packages.dpkg
root@debian:~# apt-get deselect-upgrade

Debian : autoriser l’installation des librairies 32 bits

bhuisgen@wheezy:~# sudo dpkg --add-architecture i386
bhuisgen@wheezy:~# sudo apt-get install ia32-libs

Debian : construire un paquet .deb

bhuisgen@dev:~$ sudo apt-get install build-essential devscripts dh-make autoconf libtool diff patch debhelper cdbs quilt gnupg fakeroot lintian pbuilder piuparts
bhuisgen@dev:~$ tar xzf software-1.0.0.tar.gz
bhuisgen@dev:~$ cd software-1.0.0
bhuisgen@dev:~/software-1.0.0$ dh_make -f ../software-1.0.0.tar.gz -s -b
bhuisgen@dev:~/software-1.0.0$ cd debian/
bhuisgen@dev:~/software-1.0.0/debian$ rm *.ex *.EX README.Debian
bhuisgen@dev:~/software-1.0.0/debian$ nano control 
#!/usr/bin/make -f
include /usr/share/cdbs/1/class/autotools.mk   
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/makefile.mk
# Add here any variable or target overrides you need.
makebuilddir/software-1.0.0::
    autoreconf --install
bhuisgen@dev:~/software-1.0.0/debian$ nano rules 
bhuisgen@dev:~/software-1.0.0/debian$ dch -e
bhuisgen@dev:~/software-1.0.0/debian$ nano copyright 
bhuisgen@dev:~/software-1.0.0/debian$ cd ..
bhuisgen@dev:~/software-1.0.0$ debuild -us -uc
bhuisgen@dev:~/software-1.0.0$ cd ..
bhuisgen@dev:~$ ls *.deb

Debian : installation de wheezy sur poste Mac

Cet article détaille l’installation d’une Debian Wheezy sur un Mac Mini en OS X 10.8. Pour pouvoir démarrer un OS non Apple, il faut installer un boot manager non bridé tel que refind (celui d’Apple ne présente que les partitions Apple). Concernant Linux, l’installation de GRUB EFI est obligatoire, ce qui nécessite en plus la copie d’un fichier sur la partition EFI (partition 1) du disque dur. Ces deux points étant effectués, un système Linux peut être installé et lancé sur un poste Mac.

Vérification du firmware EFI

Je n’ai pas eu de problème avec mon poste mais il est bon de savoir quel type de firmware EFI vous possèdez : 32 ou 64 bits. Pour ce faire, la commande à utiliser est la suivante :

$ ioreg -l -p IODeviceTree|grep firmware
| |   "firmware-revision" = <0a000100>
| |   "firmware-abi" = <"EFI64">
| |   "firmware-vendor" = <4100700070006c0065000000>

Redimensionnement de la partition Mac OS X

La partition de Mac OS X doit être redimensionnée avant de pouvoir installer un nouveau sytème. Le redimensionnent s’effectue à chaud avec l’utilitaire de disque. Ne touchez pas au schéma de partitionnement sous risque de perte de données !

Pour information, voici mon partitionnement final.

Utilitaire disque : partition Mac redimensionnée

Installation de refind

Le boot manager est disponible ici : http://www.rodsbooks.com/refind/.

Toute l’installation est automatisée et aucune configuration n’est nécessaire :

# ./install.sh
Installing rEFInd on Linux....
ESP was found at /boot/efi using vfat
Copied rEFInd binary file refind_x64.efi

Copying sample configuration file as refind.conf; edit this file to configure
rEFInd.

Installation has completed successfully.

On peut ensuite passer au partitionnement du disque dur.

Création des partitions GPT pour Linux

Le partitionnement est effectué avec gptfdisk : http://sourceforge.net/projects/gptfdisk/

On initialise au préalable la table MBR. Aucune partition MBR n’est à ajouter :

$ sudo gdisk /dev/disk0
> x
> n
> o

Disk size is 625142448 sectors (298.1 GiB)
MBR disk identifier: 0x00000000
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
1                     1    625142447   primary     0xEE

> w

Le partitionnement GPT peut débuter : je crée ici une partition pour /boot et une partition LVM (si vous ne souhaitez pas de LVM, créez autant de partitions nécessaires). Attention, il faut laisser un espace libre de 128 Mo entre la partition Mac et la partition Linux /boot. Ceci est obligatoire sous peine de planter votre système OS X lors d’une mise à jour.

$ sudo gdisk /dev/disk0
> p
> n (first sector: +128M, size: +256M, type 8300)
> n (all remaining, type 8E00)
> p

Number  Start (sector)    End (sector)  Size       Code  Name
1              40          409639   200.0 MiB   EF00  EFI system partition
2          409640       314726519   149.9 GiB   AF00  Customer
3       314988664       315512951   256.0 MiB   8300  Linux filesystem
4       315512952       625142414   147.6 GiB   8E00  Linux filesystem

> w

Le partitionnement EFI étant terminée, l’installation Linux peut débuter

Installation de Wheezy

L’installation Debian est faite à partir du CD en mode expert (touche C au boot).

A l’étape de partitionnement, il faut utiliser la partition 4 pour /boot et la partition 5 pour LVM. Je crée ensuite un VG de 3 LV : swap, / et /home. Pour la sélection des packages, j’ai pour habitude faire une clean install donc seule l’installation du serveur SSH est activée. L’étape cruciale est au niveau du bootloader : il ne faut pas l’installer car il s’agit de GRUB pour système MBR.

L’installation étant finalisée, il reste à installer GRUB pour EFI.

Installation de GRUB EFI

On redémarre à nouveau sur le CD Debian mais en mode rescue.

On lance un chroot sur la partition racine du système Linux (partition 5), puis les commandes suivantes dans le shell :

# mount /dev/sda4 /boot
# mkdir /boot/efi
# mkdir /dev/sda1 /boot/efi
# apt-get install grub-efi
# grub-install /dev/sda4
# ls /boot/efi/EFI/
APPLE  debian
# update-grub

La partition /boot est montée, puis la partition EFI dans /boot/efi. Le package GRUB est installé.  J’installe ensuite GRUB sur la partition /boot (/dev/sda4). Le bootloader de GRUB est alors copié sur la partition EFI afin qu’il puisse lancer son stage2 présent sur /boot et au final Linux. Je finalise en mettant à jour le menu GRUB.

Le système Linux est maintenant démarrable. En cas de non démarrage du système par GRUB, les commandes précédentes sont à effectuer de nouveau à partir d’un boot en mode rescue, en chrootant sur la partition racine.

Sous Linux, les packages suivants seront nécessaires pour la prise en charge du matériel :

# apt-get install cpufrequtils firmware-b43-installer

Debian : réinstaller un système rapidement

Une petite astuce avec dpkg pour réinstaller à l’identique les packages d’un système ou encore reproduire une installation sur un autre serveur :

root@old:~# dpkg --get-selections > packages.dpkg
root@new:~# dpkg --set-selections < packages.dpkg

Debian : regénérer la configuration GRUB 2

Pour mémoire :

# grub-install /dev/sda
# update-grub2

Debian : configuration du bridge réseau pour Xen

Les packages Xen de Debian ne touche en rien la configuration réseau du système, ceci légitimement pour éviter une perte d’accès. Dans le cas d’une configuration en bridge, le script network-bridge de Xen permet de créer un pont réseau nommé eth0, ce qui n’est pas très standard. Ayant eu quelques problèmes avec ce script (erreurs de configuration au démarrage + la non prise en charge d’IPv6), la solution la plus sûre et stable consiste à le désactiver. Le bridge réseau peut dans ce cas être configuré de cette façon :

root@manjula:/etc/xen# cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.100.5
        netmask 255.255.255.0
        network 192.168.100.0
        broadcast 192.168.100.255
        gateway 192.168.100.254
        up ip -6 addr add fdcb:9921:3552:afd6::5/64 dev br0
        up ip -6 route add default via fdcb:9921:3552:afd6::1
        down ip -6 addr del fdcb:9921:3552:afd6::5/64 dev br0
        down ip -6 route del default via fdcb:9921:3552:afd6::1
        bridge_maxwait 5
        bridge_ports noregex eth0 regex vif.*
        bridge_stp off
        bridge_fd 0

Au niveau de Xen, le script réseau se désactive de cette façon :

root@manjula:/etc/xen# cat /etc/xen/xend-config.sxp
#(network-script 'network-bridge bridge=xenbr0 antispoof=yes')
(vif-script vif-bridge)

Au niveau de chaque domU, il faut évidemment spécifier le nom du bridge à utiliser :

root@manjula:~# cat /etc/xen/sandeep

 

name = 'sandeep'
kernel = '/usr/lib/xen-4.0/boot/hvmloader'
builder = 'hvm'
device_model = '/usr/lib/xen-4.0/bin/qemu-dm'

memory = 2048
shadow_memory = 8
vcpus = 1
pae = 1
acpi = 1
apic = 1

vif = [ 'bridge=br0,type=paravirtualised' ]

disk = [ 'phy:/dev/vg/xen_sandeep,xvda,w' ]

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

vnc = 1
usbdevice = 'tablet'

stdvga = 0
serial = 'pty'
ne2000 = "0"

Debian : se protéger des attaques bruteforce par SSH avec DenyHosts

Si votre serveur n’assure pas de filtrage réseau, denyhosts est la solution pour limiter les attaques par bruteforce SSH. Ce dernier s’appuie sur les tcp wrappers – les fichiers historiques /etc/hosts.allow et /etc/hosts.deny – afin d’autoriser / bloquer l’accès aux services réseaux, dont SSH. Encore une fois iptables n’est pas nécessaire pour que la protection soit effective.

L’installation est aisée :

root@skinner:~# apt-get install denyhosts

Reste à éditer le fichier de configuration /etc/denyhosts.conf pour spécifier la période de purge des hosts bloqués, les paramètres de messagerie pour l’envoi des notifications… Bref rien de très compliqué.

Par exemple, si l’hôte 192.168.0.1 effectue un trop grand nombre de connexions SSH erronées, denyhosts va ajouter la ligne suivante dans le fichier /etc/hosts.deny :

sshd:      192.168.0.1

A la prochaine tentative, le démon SSH refusera directement la connexion.

Haut de page