Skip to content

Blog Net-Expression

Four-tout informatique !

Archive

Tag: debian

Installer les paquets pré-requis

A partir de la version Sid, Node.js fait partie des paquets supportés officiellement, vous pouvez donc installer directement le paquet voulu en exécutant la commande suivante :

# aptitude install nodejs

Si vous avez une version stable de la distribution Debian, Node.js n’est pas encore dans le dépôt officiel. Il faut donc télécharger les sources et le compiler


# aptitude update
# aptitude install git-core curl build-essential openssl libssl-dev

Télécharger les sources à partir du dépôt GIT


git clone https://github.com/joyent/node.git
cd node

Choisir la version voulue

Si vous ne connaissez pas la dernière version stable, vous pouvez aller faire un tour sur la page de chargement du site officiel qui indique “current version” actuellement la v0.10.28 stable.
Il est possible d’utiliser la commande git tag pour lister les versions existantes.


# git checkout v0.10.28

Compiler


# make
# make install

Tester

Pour vérifier que node.js et NPM sont correctemment installés et prets à fonctionner, vous pouvez taper les commandes suivantes :


$ node -v
$ npm -v

Installer une librairie node.js

Vous pourriez avoir besoin d’installer une librairie supplémentaire comme socket.io

$ npm install socket.io

Attention la commande précédente installera la librairie uniquement dans le répertoire courant.

Si vous souhaitez installer cette librairie de facon globale, il faudra utiliser l’option g avec les droit administrateur.


# npm install -g socket.io

En fin de vie, les disques durs ont tendance à faire de plus en plus d’erreurs de lecture / écriture.
Parfois, ils ne donnent aucun signe de fatigue, et lache d’un seul coup.

Utiliser ddrescue

Un disque dur pourrait en simplifiant beaucoup être une énorme liste d’octets. En fin de vie, une partie de cette liste devient difficilement accessible. Le système se bloque, devient lent…

Dans l’univers Unix, la commande dd permet de copier les octets d’un device vers un autre. Mais elle ne gère pas les eventuelles erreurs qui se produisent lorsqu’un disque dur est en fin de vie. Au contraire la commande ddrescue est concue pour travailler dans ce contexte particulier, et fournie un ensemble d’outils permettant d’insister la ou ca fait mal !. Par exemple, en re-essayant de lire plusieurs fois les secteurs illisibles, de facon aléatoire, en essayant de lire des blocs de données de plus en plus petits…

Faire l’état des lieux

Pour commencer, il faut identifier les disques durs via la commande suivante :

# fdisk -l

Disk /dev/sdb: 3000.6 GB, 3000591900160 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2681f139

Device Boot Start End Blocks Id System
/dev/sdb1 1 243201 1953512001 7 HPFS/NTFS

Disk /dev/sdc: 2000.4 GB, 2000397852160 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2681f139

Device Boot Start End Blocks Id System
/dev/sdc1 1 243201 1953512001 7 HPFS/NTFS

Disk /dev/sda: 203.9 GB, 203927027200 bytes
255 heads, 63 sectors/track, 24792 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004fc5d

Device Boot Start End Blocks Id System
/dev/sda1 1 973 7811072 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 973 1459 3906560 82 Linux swap / Solaris
/dev/sda3 1459 24793 187427840 83 Linux

La première passe

Le but de la première passe est de récupérer un maximum de données en un minimum de temps tout en se faisant une idée des dégats (difficulté de récupérer les données, zones endommagées plus ou moins grandes, situées à des endroits plus ou moins critiques).

Ici, on lit le disque sdc et on copie son contenu sur sdb en commencant au début du disque. Il va de soit que le disque cible “sdc” doit être sain pour s’assurer le maximum de chance ! A chaque passe ou tentative, le résultat de la lecture est inscrit dans le fichier “ddrescue.media.log”; si bien que les blocs illisibles ne seront pas relus (si les zones endommagées sont nombreuses, le fichier peut vite enfler, mieux vaut s’assurer qu’il y aura suffisament de place dès le début !).

# ddrescue -n -i 0 /dev/sdc /dev/sdb ddrescue.media.log

Souvent c’est le début du disque qui pose problème, afin de gagner du temps si vous remarquez que seul le début du disque est vraiment très endommagé, vous pouvez sauter certaines zones.

# ddrescue -n -i 200G /dev/sdc /dev/sdb ddrescue.media.log

Par exemple, ici nous commencons une passe à partir des 200Go (soit au 1/10 des 2To). En pratiquant de la sorte et par itérations, il sera possible de récupérer un maximum de données, en convergeant très rapidement vers les blocs de données qui posent vraiment problèmes.

Grace au fichier “ddrescue.media.log”, il est possible d’arreter et de reprendre et de travailler par étape.

A la fin de la premiere passe voici ce qu’on peut obtenir…

# ddrescue -n -i 0 /dev/sdc /dev/sdb ddrescue.media.log
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 2 TB, errsize: 65536 B, errors: 6
Current status
rescued: 2 TB, errsize: 65536 B, current rate: 0 B/s
ipos: 0 B, errors: 6, average rate: 0 B/s
opos: 0 B, time from last successful read: 0 s
Finished

  • rescued 2 TB : nous indique que nous avons récupéré environ 2To de données ! (Youhou)
  • errors 6 : sur la totalité du disque 6 blocs de données non pas pu être lu dès la première tentative…
  • errsize 65536 B : au total il manque pour le moment 65536B soit 65Ko sur les 2To ! Une paille !

Récupérer le reste !

Dans le but de récupérer les données “oubliées” lors de la première passe, nous allons demander à ddrescue de lire des blocs plus petits, et de réessayer plusieurs fois. Ici il re-essaye 2 fois, et tente de récupérer 16 secteurs à la fois…

# ddrescue -i 0 -c 16 -r 2 /dev/sdc /dev/sdb ddrescue.media.log

Dans notre cas précis, le disque dur ayant très peu de données illisibles, nous allons aller directement droit au but :

# ddrescue -i 0 -c 1 -r 5 /dev/sdc /dev/sdb ddrescue.media.log

Dans mon cas cela n’aura servi à presque rien, en insistant un peu, j’ai réussi à récupérer encore 15Ko !…

Automatiser la récupération

Il existe un script particulierement efficace dd_rhelp, il permet d’automatiser ces différentes passes avec ddrescue, en commencant la ou il peut lire, puis en insistant sur les blocs difficiles. Tant qu’il y a des données à récupérer il continuera inlassablement à parcourir le disque dans l’espoir de récupérer encore des données (certains n’hesite pas à le laisser tourner plusieurs semaines !)…

Que faire ensuite ?

Reprendre une vie normale

J’ai eu de la chance cette fois, à l’aire du tout numérique, perdre des données c’est parfois terrible… La vidéo de la naissance du petit dernier, la photo de votre première conquète amoureuse, ou vos fiches de paye que vous aviez soigneusement scannées une à une… Meme si mettre en place une redondance est souvent cher, long à mettre en place, fastidieux… Je vous engage vivement à le faire… Certaines données n’ont simplement pas de prix…

Installer les paquets nécessaires

# aptitude install dhcp3-server

Si des messages d’erreurs ou avertissements surviennent lorsque le serveur est démarré pour la première fois, c’est normal !

Configurer les étendues de votre réseau (plages d’adresses IP)

# Ce serveur DHCP fait autorite sur ce reseau
authoritative;

# Réglage e la duree des baux
default-lease-time 600;
max-lease-time 7200;

# Options globales (par defaut sur toutes les etendues
option domain-name "domain.tld";
option domain-name-servers dns1.domain.tld, dns2.otherdomain.tld;

# Parametrage d une etendue
subnet 192.168.88.0 netmask 255.255.255.0 {
        range 192.168.88.10 192.168.88.50;
        option routers 192.168.88.1;
}

Configurer les interfaces d’écoute du serveur

Editez le fichier “/etc/default/isc-dhcp-server”

INTERFACES="eth0"

Mettre à jour une zone DNS via le serveur DHCP

Générer la clef de mise à jour DNS

rndc-confgen > /etc/bind/rndc.key

Ajouter l’autorisation de mise à jour du serveur DNS

Editez le fichier “/etc/bind/named.conf.local” en ajoutant les ligne suivantes :
N’oubliez pas de remplacer la clef “MA_CLEF_SECRETE” par celle indiquée dans le fichier : “/etc/bind/rndc.key”


key "rndc-key" {
       algorithm hmac-md5;
       secret "MA_CLEF_SECRETE";
};

controls {
       inet 127.0.0.1 port 953
       allow { 127.0.0.1; } keys { "rndc-key"; };
};

Installer les paquets nécessaires à la compilation

# aptitude install build-essential linux-headers-`uname -r`
# aptitude install make
# aptitude install gcc
# aptitude install psmisc // Evite le message concernant "killall"

Adapter la version de gcc

ln -sf /usr/bin/gcc-4.3 /usr/bin/gcc  // Evite un message concernant la version de gcc lors de la compilation du noyau

Téléchargez, décompressez, et lancer l’installation

Vous devez vous rendre sur le site de vmware pour télécharger l’archive d’installation de vmware server 2…

Personnellement, j’ai choisi “VMware Server 2 for Linux Operating Systems 64-bit version” (environ 452 Mo).
Attention, vous devez créer un compte Vmware pour obtenir une licence d’utilisation de VMware server; c’est gratuit !

# wget ftp://host/VMware-server-2.0.2-203138.x86_64.gz
# tar -zxvf VMware-server-2.0.2-203138.x86_64.gz
# cd vmware-server-distrib
# ./vmware-install.pl

Le jeu des questions / réponses !

Creating a new VMware Server installer database using the tar4 format.

Installing VMware Server.

In which directory do you want to install the binary files?
[/usr/bin]

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc]

What is the directory that contains the init scripts?
[/etc/init.d]

In which directory do you want to install the daemon files?
[/usr/sbin]

In which directory do you want to install the library files?
[/usr/lib/vmware]

The path "/usr/lib/vmware" does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want?
[yes]

In which directory do you want to install the manual files?
[/usr/share/man]

In which directory do you want to install the documentation files?
[/usr/share/doc/vmware]

The path "/usr/share/doc/vmware" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

The installation of VMware Server 2.0.2 build-203138 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall.pl".

Before running VMware Server for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config.pl". Do you want this
program to invoke the command for you now? [yes] no

Enjoy,

--the VMware team

Patch du script de configuration

Avant d’utiliser le script “/usr/bin/vmware-config.pl”, il est fortement recommandé de la patcher

# wget http://www.troublenow.org/files/vmware/vmware2.0.2-on-debian6.0.1.tar.gz
 # tar -zxvf vmware2.0.2-on-debian6.0.1.tar.gz
# cd /usr/bin
# patch vmware-config.pl < /home/user/vmware2/vmware-config.pl.diff

Patch des sources

# cd /usr/lib/vmware/modules/source
# for i in *.tar ; do tar xpf $i ; done
# for i in /home/user/vmware2/00-vmware-2.6.32_functional.diff /home/user/vmware2/01-vmware-2.6.32_cosmetic.diff /home/user/vmware2/02-vmnet-include.diff; do patch -p1 < $i; done
# for i in vmci vmmon vmnet vsock ; do tar cpf $i.tar $i-only ; done

Lancement de la config

# cd /usr/bin/
# ./vmware-config.pl

Et les questions reprennent !

Making sure services for VMware Server are stopped.

Stopping VMware autostart virtual machines:
   Virtual machines                                                   failed
Stopping VMware management services:
   VMware Virtual Infrastructure Web Access
   VMware Server Host Agent                                           failed
Stopping VMware services:
   VMware Authentication Daemon                                        done
   Virtual machine monitor                                             done

You must read and accept the End User License Agreement to continue.
Press enter to display it.

---

Do you accept? (yes/no) yes

Thank you.

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.32-5-amd64/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: entrant dans le répertoire « /tmp/vmware-config3/vmmon-only »
make -C /lib/modules/2.6.32-5-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
  CC [M]  /tmp/vmware-config3/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config3/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/vmware-config3/vmmon-only/linux/hostif.o
/tmp/vmware-config3/vmmon-only/linux/hostif.c:3601:2: warning: #warning current->cred->fsuid = 0;
/tmp/vmware-config3/vmmon-only/linux/hostif.c:3608:2: warning: #warning current->cred->fsuid = fsuid;
/tmp/vmware-config3/vmmon-only/linux/hostif.c:3626:2: warning: #warning cap_lower(current->cred->cap_effective, CAP_SYS_RESOURCE);
  CC [M]  /tmp/vmware-config3/vmmon-only/common/comport.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/task.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/vmx86.o
  CC [M]  /tmp/vmware-config3/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-config3/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-config3/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-config3/vmmon-only/vmmon.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
cp -f vmmon.ko ./../vmmon.o
make: quittant le répertoire « /tmp/vmware-config3/vmmon-only »
The vmmon module loads perfectly into the running kernel.

None of the pre-built vmci modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmci module for
your system (you need to have a C compiler installed on your system)? [yes]

Extracting the sources of the vmci module.

Building the vmci module.

Using 2.6.x kernel build system.
make: entrant dans le répertoire « /tmp/vmware-config3/vmci-only »
make -C /lib/modules/2.6.32-5-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
  CC [M]  /tmp/vmware-config3/vmci-only/linux/driver.o
  CC [M]  /tmp/vmware-config3/vmci-only/linux/driverLog.o
  CC [M]  /tmp/vmware-config3/vmci-only/linux/vmciKernelIf.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciContext.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciDatagram.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciDriver.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciDs.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciEvent.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciGroup.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciHashtable.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciProcess.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciQueuePair.o
  CC [M]  /tmp/vmware-config3/vmci-only/common/vmciResource.o
  LD [M]  /tmp/vmware-config3/vmci-only/vmci.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-config3/vmci-only/vmci.mod.o
  LD [M]  /tmp/vmware-config3/vmci-only/vmci.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
cp -f vmci.ko ./../vmci.o
make: quittant le répertoire « /tmp/vmware-config3/vmci-only »
The vmci module loads perfectly into the running kernel.

VMWare config patch VMCI!
« /tmp/vmware-config3/vmci-only/Module.symvers » -> « /tmp/vmware-config3/../Module.symvers »
None of the pre-built vsock modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vsock module for
your system (you need to have a C compiler installed on your system)? [yes]

Extracting the sources of the vsock module.

VMWare config patch VSOCK!
« /tmp/vmware-config3/../Module.symvers » -> « /tmp/vmware-config3/vsock-only/Module.symvers »
Building the vsock module.

Using 2.6.x kernel build system.
make: entrant dans le répertoire « /tmp/vmware-config3/vsock-only »
make -C /lib/modules/2.6.32-5-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
  CC [M]  /tmp/vmware-config3/vsock-only/linux/af_vsock.o
  CC [M]  /tmp/vmware-config3/vsock-only/linux/driverLog.o
  CC [M]  /tmp/vmware-config3/vsock-only/linux/util.o
  CC [M]  /tmp/vmware-config3/vsock-only/linux/vsockAddr.o
  LD [M]  /tmp/vmware-config3/vsock-only/vsock.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-config3/vsock-only/vsock.mod.o
  LD [M]  /tmp/vmware-config3/vsock-only/vsock.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
cp -f vsock.ko ./../vsock.o
make: quittant le répertoire « /tmp/vmware-config3/vsock-only »
The vsock module loads perfectly into the running kernel.

Do you want networking for your virtual machines? (yes/no/help) [yes]

Configuring a bridged network for vmnet0.

Please specify a name for this network.
[Bridged]

Your computer has multiple ethernet network interfaces available: eth0, eth1.
Which one do you want to bridge to vmnet0? [eth0]

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

Do you wish to configure another bridged network? (yes/no) [no]

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes]

Configuring a NAT network for vmnet8.

Please specify a name for this network. [NAT]

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes]

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.184.0/255.255.255.0 appears to be unused.

The following NAT networks have been defined:

. vmnet8 is a NAT network on private subnet 192.168.184.0.

Do you wish to configure another NAT network? (yes/no) [no]

Do you want to be able to use host-only networking in your virtual machines?
[yes]

Configuring a host-only network for vmnet1.

Please specify a name for this network.
[HostOnly]

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes]

Probing for an unused private subnet (this can take some time)...

Probing for an unused private subnet (this can take some time)...

The subnet 172.16.198.0/255.255.255.0 appears to be unused.

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 172.16.198.0.

Do you wish to configure another host-only network? (yes/no) [no]

None of the pre-built vmnet modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmnet module for
your system (you need to have a C compiler installed on your system)? [yes]

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: entrant dans le répertoire « /tmp/vmware-config3/vmnet-only »
make -C /lib/modules/2.6.32-5-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/driver.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/hub.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/userif.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/netif.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/bridge.o
/tmp/vmware-config3/vmnet-only/linux/bridge.c:652:2: warning: #warning EHUD gotta figure out what this does and how to fix it: atomic_add(skb->truesize, &sk->sk_wmem_alloc);
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/filter.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/procfs.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/smac_compat.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/smac.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/vnetEvent.o
  CC [M]  /tmp/vmware-config3/vmnet-only/linux/vnetUserListener.o
  LD [M]  /tmp/vmware-config3/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-config3/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-config3/vmnet-only/vmnet.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-5-amd64 »
cp -f vmnet.ko ./../vmnet.o
make: quittant le répertoire « /tmp/vmware-config3/vmnet-only »
The vmnet module loads perfectly into the running kernel.

Please specify a port for remote connections to use [902]

Please specify a port for standard http connections to use [8222]

Please specify a port for secure http (https) connections to use [8333]

The current administrative user for VMware Server  is ''.  Would you like to
specify a different administrator? [no]

Using root as the VMware Server administrator.

insserv: script vmware-autostart: service VMware already provided!
insserv: script vmware-core: service VMware already provided!
insserv: script vmware-mgmt: service VMware already provided!
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines] /var/vmware/machines

The path "/var/vmware/machines" does not exist currently. This program is going
to create it, including needed parent directories. Is this what you want?
[yes]

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:  ----

Creating a new VMware VIX API installer database using the tar4 format.

Installing VMware VIX API.

In which directory do you want to install the VMware VIX API binary files?
[/usr/bin]

In which directory do you want to install the VMware VIX API library files?
[/usr/lib/vmware-vix/lib]

The path "/usr/lib/vmware-vix/lib" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

In which directory do you want to install the VMware VIX API document pages?
[/usr/share/doc/vmware-vix]

The path "/usr/share/doc/vmware-vix" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]

The installation of VMware VIX API 1.6.2 build-203138 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-vix.pl".

Enjoy,

--the VMware team

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family:                           done
   Virtual ethernet                                                    done
   Bridged networking on /dev/vmnet0                                   done
   Host-only networking on /dev/vmnet1 (background)                    done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet8 (background)                    done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   VMware Server Authentication Daemon (background)                    done
   Shared Memory Available                                             done
Starting VMware management services:
   VMware Server Host Agent (background)                               done
   VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
   Virtual machines                                                    done

The configuration of VMware Server 2.0.2 build-203138 for Linux for this
running kernel completed successfully.

Piouff ! C'est installé !

Si vous avez des problèmes, ou si vous êtes un peu perdu, je vous suggère de visiter la page d'aide concernant l'installation de vmware server sur Squeeze

Linux Debian 6 (squeeze) version stable

Depuis Février 2011, une nouvelle version stable de la distribution Linux Debian est sortie. Il s’agit de la version nommée Squeeze.

Pour rappel, Linux est un logiciel libre et gratuit. Ce qui signifie que contrairement à un système d’exploitation propriétaire comme Windows, celui-ci peut être utilisé gratuitement; de plus vous avez accès au code source, ce qui permet de l’adapter, et de le modifier selon vos besoins, et ce, toujours gratuitement. Ce système d’exploitation est utilisé par des milliers de gens; beaucoup de serveurs Internet l’utilisent. Alors qu’attendez-vous pour vous y mettre !?

Vous pouvez télécharger la nouvelle version stable de Linux Debian 6 (squeeze) sur le site officiel Debian.org.

Le N900 de Nokia, la rencontre de l’informatique libre et de la téléphonie mobile !

Nokia N900

Nokia N900

Ayant cassé l’écran de mon ancien téléphone portable lors d’une chute en roller. J’ai donc racheté un nouveau téléphone. Et je vous livre ici mes premières découvertes et impressions du N900 de chez Nokia.

La liberté !

Ici, seul les linuxiens vont me suivre…. mais imaginez le bien que cela peut faire de taper un “apt-get install openssh” sur votre téléphone portable ! Car oui, avec le Nokia N900 c’est possible ! Comme sous Linux votre distribution Maemo accède à des dépôts (vous pouvez en rajouter comme bon vous semble) pour télécharger de nombreuses applications.

Vous êtes enfin libre de décider de ce que vous installez sur votre téléphone !

Quelques spécifications techniques

  • Processeur : ARM Cortex-A8 (600 MHz).
  • Processeur graphique : OpenGL ES 2.0 (oui, il est capable de faire via OpenGL de la 3D en temps réel !).
  • Mémoire : 256 Mo de ram et 768Mo de mémoire virtuelle.
  • Mémoire de masse : Flash 32Go (extensible à 48Go en lui ajoutant une carte microSD).
  • Système d’exploitation : Maemo 5 (dérivé de la distribution Linux Debian), multitâche.
  • Ecran tactile : 3.5 pouces de diagonale (800 x 480 pixels).
  • Clavier : Physique (dépliant sur le coté), et virtuel (tactile sur l’écran)
  • Wifi : Norme 802.11 b/g.
  • Radio FM : oui.
  • GPS : oui.

A retenir

Avantages

  • Libre et gratuit : l’offre logicielle est basée sur les dépôts Maemo, une distribution Linux dérivée de Debian, d’où un large choix d’application, le plus souvent gratuites et peut être plus utiles qu’un i-phone…
  • Performance : rares sont les ralentissement observés, les délais d’attente sont largement supportables.
  • Ecran : 800 x 480 pixels c’est carrément pas mal pour un écran de seulement 3,5 pouces de diagonale et loin d’être négligeable pour le confort d’utilisation.
  • Connectivité : Bluethouth, 3G, wifi, GPS, FM, tout y passe !

Inconvénients

  • Son autonomie : en utilisation très intensive, j’ai réussi à vider la batterie en quelques heures…
  • Son prix : à la rédaction de cet article environ 300€ avec abonnement, 450€ sans, peut-être le prix d’un téléphone d’exception…
  • Son poids : 188 grammes, vous n’oublierez pas que vous l’avez dans votre poche !

Quelques liens

Installer le serveur via les paquets

[php]# aptitude install openssh-server[/php]

Votre serveur est alors prêt à fonctionner, toutefois, il est préférable de jeter un coup d’œil au fichier de configuration pour sécuriser votre installation…

Configurer le serveur SSH

Editer le fichier /etc/ssh/sshd_config


# Port d'écoute
Port 22

# Interdit les mots de passe vides
PermitEmptyPasswords no

# Interdit à l'utilisateur root de se connecter directement
PermitRootLogin yes

# Restreindre les groupes d'utilisateur pouvant se connecter directement
#AllowGroups thisgroup
#DenyGroups anothergroup

# Restreindre des utilisateurs particuliers pouvant se connecter directement
#AllowUsers thisuser
#DenyUsers anotheruser

Pour que les changements soient pris en compte, il faudra redémarrer le service :
# /etc/init.d/ssh restart

Quelques astuces pour sécuriser le service SSH

Le principal risque de ce service est qu’il est possible de trouver le mot de passe d’un utilisateur ayant de forts privilèges sur la machine, et de s’en servir pour installer un logiciel malveillant (par exemple un rootkit, un backdoor, ou encore un serveur de courrier servant à envoyer du spam), ou simplement trouver un moyen d’élever ses privilèges.

  1. Limiter les adresses logiques (Ip) et changer le port d’écoute du serveur.
    => évite d’attirer l’attention des robots qui cherchent des ports SSH en essayant des adresses ip arbitraires.
  2. Désactiver la possibilité de se loguer directement avec l’utilisateur root.
    => si le mot de passe d’un utilisateur est trouvé, mieux vaut que ce dernier ai de faibles privilèges sur la machine. L’attaquant ne sera pas beaucoup plus avancé.
  3. Choisir des mots de passe forts (chiffres, lettres, caractères spéciaux, éviter les mots trouvables facilement), ou utiliser un certificat
    => réduit considérablement la performance d’une attaque brute force, avec dictionnaire.
  4. Mettre en place un logiciel tel que “Fail2ban” .
    => Bloque l’adresse Ip automatiquement de l’attaquant à la suite de trop de tentatives de connexions infructueuses (rend l’attaque par brute force pratiquement inefficace).
  5. Limiter les clients pouvant se connecter à la machine en SSH via le fichier de configuration, et ou via un firewall comme iptables (ce n’est évidemment pas toujours possible).
    => Réduit le nombre d’attaques pouvant être menées à partir d’un ordinateur qui ne vous appartient pas.