Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

samedi 25 mai 2019

Les versions d'OpenJDK du dépôt Debian

Dans les versions précédentes de Debian, Debian Jessie, Debian fournissait l'OpenJDK en version 6 et 7.

Maintenant qu'on est passé à Debian Stretch et que les versions 9 et 10 du JDK sont "remplacées" par les versions 11 et 12, Debian fournit les versions 8 et 11 de l'OpenJDK.

Donc, pourvu que l'on crée le fichier suivant:

root@324a074e5614:/# cat /etc/apt/sources.list.d/backports.list 
deb http://deb.debian.org/debian stretch-backports main

On dispose des paquets suivants:

root@324a074e5614:/# apt-cache search ^openjdk-
openjdk-8-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-8-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-8-doc - OpenJDK Development Kit (JDK) documentation
openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-8-source - OpenJDK Development Kit (JDK) source files
openjdk-8-jre-dcevm - Alternative VM for OpenJDK 8 with enhanced class redefinition
openjdk-11-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-11-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-11-doc - OpenJDK Development Kit (JDK) documentation
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-11-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-11-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-11-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-11-source - OpenJDK Development Kit (JDK) source files
openjdk-11-jre-dcevm - Alternative VM for OpenJDK 11 with enhanced class redefinition

à savoir l'OpenJDK en version 8 et 11, décliné en JDK et JRE et pour chaque paquet, une version normale et une headless (sans GUI) ainsi que la doc et les paquets sources.

On peut donc installer l'OpenJDK avec une commande apt-get install .. et pourvu qu'on ait installé le paquet java-package on peut passer d'un JDK à l'autre avec la commande update-java-alternatives dont on a déjà parlé.

Pour ceux qui douteraient de la version que l'on peut installer:

root@8351575db5f2:/# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)

C'est donc bien la dernière version du JDK 8.

root@8351575db5f2:/# java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Debian-1bpo92)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Debian-1bpo92, mixed mode, sharing)

Et il en est de même pour la version 11.

Je trouve que c'est un peu dommage de ne pas pouvoir installer le JDK 9 et 10, dans la mesure où Oracle précise bien que c'est plus compliqué de passer de Java 8 à Java 9 que de Java 9 aux versions 10, 11 et 12.

Et malheureusement, la version 12 n'est pas présente dans les dépots puisque sortie le 18 avril 2019.

On verra bien ce que ça donnera avec Debian Buster qui doit sortir prochainement, mais apparemment on n'aura "que" les versions 11 et 12. De quoi nous faire comprendre que si on est encore en Java 8 en 2019, on est à la traîne, comme si on ne le savait pas déjà !

dimanche 28 octobre 2018

Utiliser VirtualBox 5.2 sur Debian Jessie

Si vous utilisez Debian 8 (Jessie) et VirtualBox, vous avez sans doute remarqué que la version de VirtualBox du dépôt Debian date un peu, puisque c'est une version 4.3.40 qui date de l'été 2016.

On souhaitera donc installer la version maintenue de VirtualBox, la 5.2, comme indiqué sur le Wiki de VirtualBox.

Une fois cette version installée, si vous créez une machine virtuelle, par exemple avec Vagrant, vous obtiendrez certainement l'erreur suivante:

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "b81392d9-6f90-4c80-87e0-91bd0d95ef56", "--type", "headless"]

Stderr: VBoxManage: error: The virtual machine 'test_vbox_52_default_1540707024933_47897' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine

La machine virtuelle ne démarre pas !

La cause est la suivante: VirtualBox 5.2 essaie d'utiliser les "kernels modules" de la version 4.3 de VirtualBox et ce même si on a supprimé tous les paquets correspondants à cette version :-(

Il nous faut donc reconstruire ces modules par:

# sudo rcvboxdrv setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.

Comme indiqué à la fin du paragraphe suivant.

Et la VM va maintenant démarrer.

D'ailleurs, si vous regardez bien, VirtualBox 5.2 ne comporte pas de paquet virtualbox-dkms comme c'était le cas auparavant. Un seul paquet est installé:

# dpkg --list | grep virtualbox
ii  virtualbox-5.2                        5.2.20-125813~Debian~jessie                amd64        Oracle VM VirtualBox

Voilà, vous pouvez utiliser la dernière version de VirtualBox et la version la plus récente de Vagrant sur Debian Jessie.

dimanche 25 février 2018

10 commandes nmap pour mieux connaître votre réseau

nmap est un outil d'exploration réseau permettant de découvir les machines présentes ainsi que les services qu'elles utilisent.

On va donc voir quelles sont les commandes dont on peut avoir besoin au quotidien en la matière.

1. Lister les machines à explorer

Cette commande va se contenter de lister les machines que nmap explorerait sur le réseau en question. La valeur 24 indique que les trois premières valeurs sont fixes et que seule la dernière va varier.

nmap -sL 192.168.0.1/24

La fin de cette commande affiche donc:

Nmap scan report for 192.168.0.249
Nmap scan report for 192.168.0.250
Nmap scan report for 192.168.0.251
Nmap scan report for 192.168.0.252
Nmap scan report for 192.168.0.253
Nmap scan report for 192.168.0.254
Nmap scan report for 192.168.0.255
Nmap done: 256 IP addresses (0 hosts up) scanned in 0.10 seconds

2. Scanner les machines du réseau

On va maintenant passer la même commande en faisant un ping sur chaque machine.

nmap -sP 192.168.0.1/24

Et le résultat est le suivant:

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 09:56 CET
Nmap scan report for 192.168.0.72
Host is up (0.00036s latency).
Nmap scan report for 192.168.0.27
Host is up (0.00049s latency).
Nmap scan report for 192.168.0.254
Host is up (0.0058s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 3.25 seconds

Il y a deux machines sur le réseau, ou une machine connectée à la fois en filaire et en Wi-Fi, en plus de la Box Internet.

3. Scanner une machine

nmap 192.168.0.72

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:14 CET
Nmap scan report for 192.168.0.72
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap done: 1 IP address (1 host up) scanned in 0.44 seconds

La commande nmap nous affiche les ports à l'écoute ainsi que les services correspondants.

4. Scanner une machine plus en détail

On peut en plus activer la détection du système d'exploitation et des versions dans la commande précédente an ajoutant le flag -A:

nmap -A 192.168.0.72

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:24 CET
Nmap scan report for 192.168.0.72
Host is up (0.00016s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
|_ssh-hostkey: ERROR: Script execution failed (use -d to debug)
80/tcp open  http    Apache httpd 2.4.10 ((Debian))
|_http-title: Index of /
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.21 seconds

Ici on a "scanné" la machine sur laquelle on est. Les versions des services ssh et http nous disent que l'OS est Debian.

Si maintenant on scanne la Box Internet:

nmap -A 192.168.0.254

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:25 CET
Nmap scan report for 192.168.0.254
Host is up (0.0059s latency).
Not shown: 990 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         Freebox ftpd
| ssl-cert: Subject: commonName=542vabcn.fbxos.fr/countryName=FR
| Not valid before: 2018-01-04T18:42:00+00:00
|_Not valid after:  2018-04-04T17:47:00+00:00
|_ssl-date: 2089-01-02T17:11:25+00:00; +70y312d7h28m31s from local time.
80/tcp   open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
| http-robots.txt: 1 disallowed entry 
|_/
|_http-title: Freebox OS
139/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
443/tcp  open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 400)
|_http-title: 400 The plain HTTP request was sent to HTTPS port
| ssl-cert: Subject: commonName=542vabcn.fbxos.fr/countryName=FR
| Not valid before: 2018-01-04T18:42:00+00:00
|_Not valid after:  2018-04-04T17:47:00+00:00
|_ssl-date: 2054-09-05T18:09:35+00:00; +36y192d8h26m40s from local time.
| tls-nextprotoneg: 
|   spdy/3.1
|_  http/1.1
445/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
554/tcp  open  rtsp        Freebox rtspd 1.2
| rtsp-methods: 
|_  DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
2020/tcp open  tcpwrapped
5000/tcp open  upnp?
8090/tcp open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
|_http-title: Freebox :: Probl\xC3\xA8me de connexion Internet
9091/tcp open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
|_http-title: 404 Not Found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port5000-TCP:V=6.47%I=7%D=2/25%Time=5A9284F5%P=x86_64-pc-linux-gnu%r(Ge
SF:nericLines,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\
SF:r\n")%r(GetRequest,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x
SF:200\r\n\r\n")%r(RTSPRequest,77,"RTSP/1\.0\x20200\x20OK\r\nPublic:\x20OP
SF:TIONS,\x20ANNOUNCE,\x20SETUP,\x20RECORD,\x20SET_PARAMETER,\x20GET_PARAM
SF:ETER,\x20FLUSH,\x20TEARDOWN,\x20POST,\x20GET\r\n\r\n")%r(HTTPOptions,25
SF:,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\r\n")%r(Help,
SF:25,"RTSP/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\r\n")%r(FourOh
SF:FourRequest,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n
SF:\r\n")%r(LPDString,25,"RTSP/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200
SF:\r\n\r\n")%r(SIPOptions,25,"\0\0\0ept:\x20application/sdp\0\0\0\0\0\0o\
SF:0\0\0\r\n\r\n");
Service Info: Device: media device

Host script results:
|_nbstat: NetBIOS name: FREEBOX, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Unix (Samba 3.0.37)
|   NetBIOS computer name: 
|   Workgroup: WORKGROUP
|_  System time: 2018-02-25T09:41:53+00:00
| smb-security-mode: 
|   Account that was used for smb scripts: guest
|   User-level authentication
|   SMB Security: Challenge/response passwords supported
|_  Message signing disabled (dangerous, but default)
|_smbv2-enabled: Server doesn't support SMBv2 protocol

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1041.61 seconds

On obtiens le même genre d'informations, la Box Internet ayant elle beaucoup plus de ports ouverts.

5. Accélérer le scan de la machine

Le précédent scan ayant duré 17mn, on va essayer d'obtenir un résultat plus rapidement en changeant la politique de temporisation de nmap:

nmap -A -T5 192.168.0.254

Le scan ne nous prends maintenant que 90 secondes en donnant quasiment les même résultats.

On verra dans un prochain billet, 5 autres commandes nmap pour scanner votre réseau.

- page 1 de 36