Installation d’un FreeBSD 10.1 sur une machine raspberry Pi


Où l’on va voir comment installer et configurer FreeBSD 10.1 sur une Raspberry Pi.

  depuis l’écriture de cet article, des images ISO spécifiques pour RaspberryPi ont été créées, facilitant la mise en place.

Pourquoi ?

Pour le fun bien sûr. Sur ce matériel, aucune possibilité d’utiliser ZFS. Pas assez de mémoire et sur une carte SD de 32 Go (ce que je possède), c’est inutile. En revanche pour de la formation on doit pouvoir faire quelque chose.

Récupérer une image installable

Il existe de nombreuse de façon d’installer un système pour une Rapsberry. De la création d’un kernel spécifique à partir des sources jusqu’à l’achat d’une carte SD préinstallé.

Téléchargement de l’image

Nous allons passer à un niveau de complexité intermédiaire en téléchargeant une image toute faite et en la transférant sur notre carte SD.

  une version 11.0 est disponible, mais je préfère me contenter d’une version que je connais plus. Par contre, utiliser une rapsberry pour tester une nouvelle version peut-être un choix judicieux.

Nous allons télécharger la version de l’image qui nous intéresse en nous connectant sur le site FTP. L’image qui correspond à notre matériel est FreeBSD-10.1-STABLE-arm-armv6-RPI-B-20150509-r282689.img.bz2.

Mise à jour : de nouvelles images (de FreeBSD 11.0 entre autres) sont disponible sur le site raspbsd.org

Installation de l’image sur la carte SD

Cette image est compressée (.bz2), nous devons donc commencer par la décompresser :

1
# bunzip FreeBSD-10.1-STABLE-arm-armv6-RPI-B-20150509-r282689.img.bz2

Et on obtient le fichier FreeBSD-10.1-STABLE-arm-armv6-RPI-B-20150509-r282689.img. C’est lui que nous allons transférer sur la carte SD.

  il est bien sûr nécessire d’avoir une machine qui comporte un lecteur de carte SD interne ou externe.

Déterminer le périphérique de la carte SD

Une fois la carte SD branchée sur votre machine (via un connecteur spécifique sur votre machine ou un lecteur de carte USB), il est nécessaire de connaître le nom du périphérique (au sens système d’exploitation). Par exemple, il y a de grandes chances que votre disque dur principal soit /dev/sda.

Avec la commande dmesg nous allons déterminer ce nom :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
usb 1-1.6.3: USB disconnect, device number 49
usb 1-1.6.3: new high speed USB device number 50 using ehci_hcd
usb 1-1.6.3: New USB device found, idVendor=8564, idProduct=4000
usb 1-1.6.3: New USB device strings: Mfr=3, Product=4, SerialNumber=5
usb 1-1.6.3: Product: Transcend
usb 1-1.6.3: Manufacturer: TS-RDF5 
usb 1-1.6.3: SerialNumber: 000000000039
usb 1-1.6.3: configuration #1 chosen from 1 choice
scsi12 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 50
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 12:0:0:0: Direct-Access     TS-RDF5  SD  Transcend    TS37 PQ: 0 ANSI: 6
sd 12:0:0:0: Attached scsi generic sg8 type 0
sd 12:0:0:0: [sdi] 62148608 512-byte logical blocks: (31.8 GB/29.6 GiB)
sd 12:0:0:0: [sdi] Write Protect is off
sd 12:0:0:0: [sdi] Mode Sense: 23 00 00 00
sd 12:0:0:0: [sdi] Assuming drive cache: write through
sd 12:0:0:0: [sdi] Assuming drive cache: write through
 sdi: sdi1 sdi2
 sdi2: <bsd:bad subpartition - ignored
 >
sd 12:0:0:0: [sdi] Assuming drive cache: write through
sd 12:0:0:0: [sdi] Attached SCSI removable disk

Sur machine, le périphérique est sdi (oui, j’ai beaucoup de périphériques de stockage branchés sur ma machine). Il est fort probable que chez vous ce soit /dev/sdb.

 vous pouvez aussi déterminer ce nom en utilisant la commande df -h.

Copie de l’image sur la carte

Nous allons utiliser la commande dd pour faire la copie.

1
2
3
4
# dd if=FreeBSD-10.1-STABLE-arm-armv6-RPI-B-20150509-r282689.img of=/dev/sdi bs=1M
953+1 enregistrements lus
953+1 enregistrements écrits
1000000000 octets (1,0 GB) copiés, 171,722 s, 5,8 MB/s

Ce qui signifie :

  • dd→ c’est la commande, disk dump ;
  • if=→ c’est le fichier en entrée, ici notre image (input file) ;
  • of=→ c’est le fichier en sortie, notre périphérique usb (ouput file) ;
  • bs=1M→ c’est la taille du bloc de données qui est transférée. Ici, 1Mo. La valeur par défaut est 512Ko. Une fois le transfert terminé, vous pouvez retirer la carte SD de votre machine et la mettre dans votre Raspberry.

Branchement de la Raspberry

Par défaut, l’utilisateur root de notre FreeBSD n’a pas de mot de passe. Ce qui est loin d’être sûr. Toutefois, il n’est pas possible de se connecter avec cet utilisateur que depuis la console. C’est-à-dire depuis le couple clavier/écran directement connecté à l’ordinateur (la Raspberry en l’espèce). Il est donc nécessaire de connecter la Raspberry sur un écran (par le connecteur HDMI). Branchez également un clavier sur l’un des ports usb (nous n’aurons pas besoin de souris).

Première connexion

À la première connexion, vous devez passer par l’utilisateur root :

1
login: root

À la demande de mot de passe, tapez directement ↵ Vous voilà connecté à votre FreeBSD !

Changement du mot de passe

Nous allons immédiatement changer (ou plus exactement mettre) le mot de passe de root :

1
2
3
4
# passwd
Changing local password for root
New Password:
Retype New Password:

Création d’un nouvel utilisateur

Afin d’éviter de modifier la configuration de sshd et autoriser les connexions via le réseau de root nous allons créer un utilisateur qui aura les mêmes privilèges que root1.

La commande de gestion des utilisateurs est pw, mais nous allons plutôt utiliser la commande adduser qui va nous poser des questions.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# adduser 
Username: jacques
Full name: jacques foucry    
Uid (Leave empty for default): 
Login group [jacques]: 
Login group is jacques. Invite jacques into other groups? []: wheel
Login class [default]: 
Shell (sh csh tcsh nologin) [sh]: sh
Home directory [/home/jacques]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password ? (yes/no) [no]: 
Enter password: 
Enter password again: 
Lock out the account after creation? [no]: 
Username   : jacques
Password   : *****
Full Name  : jacques foucry
Uid        : 1002
Class      : 
Groups     : jacques wheel
Home       : /home/jacques
Home Mode  : 
Shell      : /bin/sh
Locked     : no
OK ? (yes/no): y
adduser: INFO: Successfully added (jacques) to the user database.
Add another user? (yes/no): n 
Goodbye

Vérifier la connexion réseau

Nous devons connaître l’adresse IP de la machine pour nous connecter dessus par le réseau :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=80001<RXCSUM,LINKSTATE>
    ether b8:27:eb:47:8a:41
    inet 192.168.1.186 netmask 0xffff0000 broadcast 192.168.1.255 
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

Nous allons vérifier que nous pouvons nous connecter avec l’utilisateur jacques sur la machine en passant par ssh. Depuis une autre machine, tenter la commande suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ ssh jacques@192.168.1.186
Password for jacques@raspberry-pi:
Last login: Sun May 10 12:38:34 2015 from turing.example.com
FreeBSD 10.1-STABLE (RPI-B) #0 r282689: Sun May 10 07:19:57 UTC 2015

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

Edit /etc/motd to change this login announcement.
To see the MAC addresses of the NICs on your system, type

    ifconfig -a
        -- Dru <genesis@istar.ca>
$ 

Et nous allons immédiatement vérifier notre capacité à devenir root :

1
2
$ su - root
Password: 

Le mot de passe que vous devez donner ici est le mot de passe de root2.

Agrandir le système de fichier

La carte SD que j’utilise a une taille de 32Go. Seuls 120Mo sont utilisés pour l’instant. C’est suffisant pour faire booter le système, mais trop petit pour le faire tourner au quotidien. Nous allons donc agrandir le système de fichier.

Repérer la bonne partition

Notre carte est découpée en deux partitions. La première (/boot), au format ntfs est utilisée, comme vous l’imaginez, pour démarrer. La seconde au format ufs est utilisée par le système lui-même, c’est elle que nous allons agrandir.

1
2
3
4
5
6
7
8
# df -h
Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0s2a    907M    395M    440M    47%    /
devfs             1.0K    1.0K      0B   100%    /dev
/dev/mmcsd0s1      17M    3.6M     13M    21%    /boot/msdos
/dev/md0           29M     24K     26M     0%    /tmp
/dev/md1           14M     60K     13M     0%    /var/log
/dev/md2          4.4M     12K    4.0M     0%    /var/tmp

/dev/mmcsd0s2a 907M 395M 440M 47% / ← c’est elle. Son nom peut varier chez vous.

Agrandir la partition

Commençons par obtenir des informations sur la partition :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# gpart show
=>      63  62148545  mmcsd0  MBR  (30G)
        63     34776       1  !12  [active]  (17M)
     34839   1918224       2  freebsd  (937M)
   1953063  60195545          - free -  (29G)

=>      0  1918224  mmcsd0s2  BSD  (937M)
        0      105            - free -  (53K)
      105  1918080         1  freebsd-ufs  (937M)
  1918185       39            - free -  (20K)

Nous avons confirmation que la carte dispose de 29Go de libre. Nous allons agrandir la partition de manière a prendre toute la place disponible :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# gpart resize -i 2 mmcsd0
mmcsd0s2 resized

# gpart show
=>      63  62148545  mmcsd0  MBR  (30G)
        63     34776       1  !12  [active]  (17M)
     34839  62109621       2  freebsd  (30G)
  62144460      4148          - free -  (2.0M)

=>       0  62109621  mmcsd0s2  BSD  (30G)
         0       105            - free -  (53K)
       105   1918080         1  freebsd-ufs  (937M)
   1918185  60191436            - free -  (29G)

Les 29Go libres ont été “transférés” de mmcsd0 à mmcsd0s2. Nous redémarrons la raspberry pour que les changements soient complètement pris en compte :

1
# reboot

Après le redémarrage, nous allons “transférer” cette place libre sur la partition mmcsd0s2 celle qui est au format freebsd-ufs :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# gpart show
=>      63  62148545  mmcsd0  MBR  (30G)
        63     34776       1  !12  [active]  (17M)
     34839  62109621       2  freebsd  (30G)
  62144460      4148          - free -  (2.0M)

=>       0  62109621  mmcsd0s2  BSD  (30G)
         0       105            - free -  (53K)
       105   1918080         1  freebsd-ufs  (937M)
   1918185  60191436            - free -  (29G)

# gpart resize -i 1 mmcsd0s2
mmcsd0s2a resized
# gpart show
=>      63  62148545  mmcsd0  MBR  (30G)
        63     34776       1  !12  [active]  (17M)
     34839  62109621       2  freebsd  (30G)
  62144460      4148          - free -  (2.0M)

=>       0  62109621  mmcsd0s2  BSD  (30G)
         0       105            - free -  (53K)
       105  62101376         1  freebsd-ufs  (30G)
  62101481      8140            - free -  (4.0M)

Nous pouvons maintenant agrandir le système de fichier qui se trouve sur cette partition :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# growfs /
Device is mounted read-write; resizing will result in temporary write suspension for /.
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/mmcsd0s2a, mounted on /, from 937MB to 30GB? [Yes/No] Yes
super-block backups (for fsck_ffs -b #) at:
 1918400, 2397952, 2877504, 3357056, 3836608, 4316160, 4795712, 5275264, 5754816, 6234368, 6713920, 7193472, 7673024, 8152576, 8632128,
 9111680, 9591232, 10070784, 10550336, 11029888, 11509440, 11988992, 12468544, 12948096, 13427648, 13907200, 14386752, 14866304, 15345856,
 15825408, 16304960, 16784512, 17264064, 17743616, 18223168, 18702720, 19182272, 19661824, 20141376, 20620928, 21100480, 21580032,
 22059584, 22539136, 23018688, 23498240, 23977792, 24457344, 24936896, 25416448, 25896000, 26375552, 26855104, 27334656, 27814208,
 28293760, 28773312, 29252864, 29732416, 30211968, 30691520, 31171072, 31650624, 32130176, 32609728, 33089280, 33568832, 34048384,
 34527936, 35007488, 35487040, 35966592, 36446144, 36925696, 37405248, 37884800, 38364352, 38843904, 39323456, 39803008, 40282560,
 40762112, 41241664, 41721216, 42200768, 42680320, 43159872, 43639424, 44118976, 44598528, 45078080, 45557632, 46037184, 46516736,
 46996288, 47475840, 47955392, 48434944, 48914496, 49394048, 49873600, 50353152, 50832704, 51312256, 51791808, 52271360, 52750912,
 53230464, 53710016, 54189568, 54669120, 55148672, 55628224, 56107776, 56587328, 57066880, 57546432, 58025984, 58505536, 58985088,
 59464640, 59944192, 60423744, 60903296, 61382848, 61862400

Et une fois de plus, nous redémarrons la machine pour avoir beaucoup de place :

1
2
3
4
5
6
7
8
$ df -h
Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0s2a     29G    395M     26G     1%    /
devfs             1.0K    1.0K      0B   100%    /dev
/dev/mmcsd0s1      17M    3.6M     13M    21%    /boot/msdos
/dev/md0           29M     24K     26M     0%    /tmp
/dev/md1           14M     56K     13M     0%    /var/log
/dev/md2          4.4M    8.0K    4.0M     0%    /var/tmp

Mise à jour du système et installation de logiciel

Maintenant que nous avons de la place sur notre partition, nous allons pouvoir installer un arbre de paquet à installer.

Récupérer et installer un arbre de paquet

Nous allons télécharger et installer une arborescence décrivant les paquets que nous pourrons installer par la suite.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Fetching snapshot generated at Wed May 27 00:04:21 UTC 2015:
c85bcce40986c3d6b0527149349855bb797070a934082f100% of   75 MB 1455 kBps 00m53s
Extracting snapshot... done.
Verifying snapshot integrity... done.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Wed May 27 00:04:21 UTC 2015 to Wed May 27 15:09:33 UTC 2015.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 125 patches. 
(125/125) 100.00%  done.                                    
done.
Applying patches... 
done.
Fetching 8 new ports or files... done.
# portsnap extract
.../...
/usr/ports/x11/xwud/
/usr/ports/x11/xxkb/
/usr/ports/x11/xzoom/
/usr/ports/x11/yad/
/usr/ports/x11/yakuake-kde4/
/usr/ports/x11/yalias/
/usr/ports/x11/yeahconsole/
/usr/ports/x11/yelp/
/usr/ports/x11/zenity/
Building new INDEX files... done.

Nous avons installé dans /usr/ports une arborescence de paquets. Ce sont les descriptions des logiciels, avec les URL de téléchargement des sources, des dépendances, où l’installer et comment.

Example d’utilisation

Nous n’allons pas utiliser poudriere la Raspberry, mais directement les ports. Il y a des tas d’outils dont je ne saurais me passer, mais deux en particulier sont essentiels : sudo et tmux. Nous allons voir comment installer ces deux logiciels en passant par les ports.

Installation de sudo

sudo est un élément important de la sécurité de votre système. Il permet d’avoir, pour un temps (par défaut 5 minutes) des privilèges supérieur à ceux que l’on à d’ordinaire. Le plus souvent on « devient root », mais il est possible de devenir postgres pour utiliser une base de données PostgreSQL. Il aussi possible d’accorder des droits root pour une petite série de commandes seulement. Reportez-vous au manuel de la commande pour plus d’information. Nous allons essayer d’installer sudo à partir d’un paquet binaire, déjà préparé que nous n’aurons qu’à télécharger et installer.

1
2
3
4
5
6
# pkg update
Updating FreeBSD repository catalogue...
pkg: http://pkg.FreeBSD.org/FreeBSD:10:armv6/latest/meta.txz: Not Found
repository FreeBSD has no meta file, using default settings
pkg: http://pkg.FreeBSD.org/FreeBSD:10:armv6/latest/packagesite.txz: Not Found
Unable to update repository FreeBSD

Malheureusement, cela ne fonctionne pas. En allant voir sur le site des gestions des paquets binaires, on apprend que seuls les paquets pour les architectures x86_32 et x86_64 (processeurs Intel 32 et 64 bits de la famille des x86) sont proposés.

Rappel : les raspberryPi sont animés de processeurs ARM.

Nous allons donc devoir compiler notre propre version de sudo.

Compiler notre version de sudo

Nous allons nous rendre dans le répertoire /usr/ports/security/sudo. Dans ce répertoire se trouve divers fichiers :

  • Makefile → c’est le fichier qui contient les instructions pour compiler le logiciel. Quels sont les dépendances, les besoins, etc. C’est le cœur du système de compilation ;
  • distinfo → un fichier au contenu un peu obscur. Il s’agit simplement du nom du fichier de source à télécharger (sudo-1.8.13.tar.gz«/code> et de la somme de contrôle de ce même fichier). On trouve également la taille que doit faire ce fichier. Lorsque nous allons demander la compilation de sudo, le fichier qui contient les sources sera téléchargé et ces éléments seront vérifiés 
  • files → est un répertoire qui contient des fichiers de configuration du logiciel. Ils seront installés au moment opportun 
  • pkg-desc → comme son nom semble l’indiquer, ce fichier contient une description du logiciel 
  • pkg-plist → contient une liste des fichiers qui seront installés, où le seront-ils.

Ces explications étant posées, nous allons maintenant pouvoir nous lancer dans la compilation et l’installation de sudo.

1
2
3
4
5
6
7
8
# make
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/bin/sudoreplay
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/sbin/visudo
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/libexec/sudo/group_file.so
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/libexec/sudo/libsudo_util.so
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/libexec/sudo/sudoers.so
/usr/bin/strip /usr/ports/security/sudo/work/stage/usr/local/libexec/sudo/system_group.so
====> Compressing man pages (compress-man)

Et une fois la compilation terminée, nous pouvons installer sudo :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# make install
===>  Installing for sudo-1.8.13
===>   sudo-1.8.13 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>   sudo-1.8.13 depends on shared library: libldap-2.4.so.2 - found (/usr/local/lib/libldap-2.4.so.2)
===>  Checking if sudo already installed
===>   Registering installation for sudo-1.8.13
Installing sudo-1.8.13...
===> SECURITY REPORT:
      This port has installed the following binaries which execute with
      increased privileges.
/usr/local/bin/sudo

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.sudo.ws/

Je vous laisse lire la documentation pour savoir comment le configurer et vous en servir. Mais, souvenez-vous, l’utilisateur supplémentaire que nous avons créé au début de l’installation fait partie du groupe wheel, tout comme root.

Installation de tmux

Les fichiers de descriptions de tmux se trouvent dans /usr/ports/sysutils/tmux. Dans ce répertoire, on trouve les mêmes fichiers que vous sudo.

Nous allons faire cette installation en une seule commande.

1
# make install clean

Voilà, tmux est installé dans /usr/local/bin.

Vous pouvez (devez) faire de même pour sudo (qui se trouve dans /usr/ports/security).

Mises à jour des paquets

Les logiciels que nous utilisons et installons évoluent très vite. Certains nécessitent des mises à jour régulières (souvent des mises à jour de sécurité). Nous avons déjà utilisé la commande portsnap pour récupérer l’arborescence des paquets. Nous allons utiliser à nouveau cette commande pour mettre à jour notre arbre.

1
# portsnap fetch update

Pour éviter d’oublier de faire cette mise à jour, nous allons demander au logiciel cron (qui fait partie du système de base) de faire cette commande régulièrement3. Nous allons éditer le fichier /etc/crontab et y ajouter la ligne suivante&^nbsp;:

1
22 4 * * * root portsnap -I cron update && pkg_version -vIL=

Ce qui signifie qu’à 4 heures 22 minutes, tous les jours, l’utilisateur root va lancer la commande portsnap -I cron update && pkg_versin -vIL=. Cette commande va réaliser la mise à jour de l’arborescence et envoyer un courrier électronique si l’un des logiciels installés nécessite une mise à jour.

Sécurisation du système

Vous pouvez sécuriser votre système avec des actions simples :

  • vous assurez que vous avez toujours une version à jour de openssl ;
  • changer le port d’écoute de SSH (dans le fichier /usr/local/etc/ssh/sshd_config) ;
  • n’autoriser les connexions ssh qu’avec échange de clef…
  • installer et configurer le firewall pf. Pour cela, vous pouvez allez voir l’article que j’ai écris à ce sujet.

Conclusion

Vous avez maintenant un FreeBSD sur RaspberryPi fonctionnel. Il vous reste à l’explorer, à voire comment il fonctionne, et qu’en faire. Vous trouverez sur ce blog une série d’articles sur la gestion d’une machine FreeBSD. Même si celle que je décris n’est pas une RaspberryPi, les instructions pour nginx, redmine ou owncloud restent sensiblement les mêmes. Pour ma part je vais me servir de cette petite machine pour mettre en place le système des jails de FreeBSD que je n’ai pas encore bien compris. Soyez sûr que je vous en parlerais ici.


  1. pour cela notre utilisateur aura pour groupe secondaire wheel↩︎

  2. cette façon de faire est maintenant obsolète, il est préférable de passer par sudo. Il n’est pas encore installé, nous allons faire le nécessaire rapidement. ↩︎

  3. lisez la documentation de cron, c’est un outil extrêmement utile dans l’administration système Unix. ↩︎

powered by FreeBSD