• FreeBSD

    Bienvenue sur la page consacrée à l'univers FreeBSD

    Vous y trouverez :

    Script de configuration global
    Toutes les commandes de base 
    Liste des Paquets (applications) de Base pour la formation 

    Installation de FreeBSD et configuration d'un environnement de bureau : 
    Installer un environnement de bureau sur FreeBSD
    Liste des modules de l'environnement de bureau KDE 
    Liste des modules de l'environnement de bureau XFCE 
    Liste des modules de l'environnement de bureau GNOME
    Installer FreeBSD/Linux : compatibilité du matériel
    - Installer FreeBSD sur un Dell Precision 7560

    Installer FreeBSD avec XFCE/SDDM sur un Lenovo T495
    - Installer FreeBSD avec XFCE/Slim sur Virtualbox
    Installer HardenedBSD avec XFCE/Slim sur un CHUWI Larkbox  
    Installer FreeBSD avec KDE/SDDM sur un Fujitsu Esprimo Q920
    Installer FreeBSD avec KDE/SDDM sur un Lenovo T495 
    Installer FreeBSD avec KDE/SDDM sur un CHUWI Larkbox  
    - Installer FreeBSD avec XFCE/SLIM sur XFCE/slim sur un HP Z440 (i5-1650 v4 et GPU NVS 510) 
    Installer FreeBSD avec CINNAMON/lightdm sur un Fujitsu Esprimo Q920
    - S'identifier automatiquement avec sddm 
    S'identifier automatiquement avec lightdm
    - NomadBSD, un FreeBSD tout en un !
    Réglages du BIOS/UEFI du Dell 7720 pour l'installation de FreeBSD/OI
    Mettre FreeBSD à jour 
    Tous les modules pour XFCE
    - Configurer Slim/SDDM/KDE/XFCE avec le clavier Français
    - Mettre XFCE en Français
    - Configurer SDDM afin que l'affichage soit en Français
    Le cas d'une carte graphique intégrée au CPU, non reconnue
    Changer le thème de Slim
    Exécutez une commande via un raccourci clavier  
    Désactiver le démarrage verbeux de FreeBSD 
    Configurer le client mail Mutt (en CLI) avec les adresses mail Yahoo

    Virtualisation :
    - Créer une VM avec VirtualBox, en ligne de commande !
    - Installer VirtualBox sur FreeBSD 13.2/14
    - Installer Phpvirtualbox sur FreeBSD
    - Qu'est-ce que Bhyve ? 
    - Créer simplement une VM avec Bhyve et ZFS (pour pouvoir faire des snapshots !)
    Créer une machine virtuelle FreeBSD avec Bhyve 
    Créer une machine virtuelle Debian 11.6 avec Bhyve
    - Répliquer des labos d'entraînement pour stagiaires avec Bhyve sous FreeBSD
    - Transformer votre serveur en serveur de virtualisation avec bhyve et BVCP-NetPulse
    - BVCP (bhyve) : Ma VM Debian ne boot pas après l'installation. Que faire ? 
    Régler le problème de boot de Lunar avec BVCP (bhyve)
    - Recommandations pour l'installation de VMs avec BVCP-NetPulse
    Installer Virtualbox sur FreeBSD 13.0 +
    - Installer MacOS Catalin/Ventura sur VirtualBox
    - Faire fonctionner la souris sur une VM FreeBSD avec Kamatera
    - Déployer l'environnement de bureau XFCE/SLIM sur Kamatera
    - Exécuter un .msi en PowerShell (utile pour installer le driver virtio sur un serveur windows Core)
    - Convertir une VM Hyper-V pour VirtualBox

    VMWare :
    - Régler le problème de souris qui ne bouge pas sur VMWare

    Boîte à outils, usage bureautique et avancé
    Comment imprimer sous FreeBSD (cups) 
    - Meilleurs clients Mail sous FreeBSD 
    Meilleure suite Office et traitements de texte pour FreeBSD
    Le Whisker Popup Menu sous XFCE, équivalent du menu Windows sous XFCE
    Créez un stockage en RAIDz sur FreeBSD 
    Configurer une cible iSCSI sur un volume ZFS (avec raidz)
    Encrypter un "dossier" (créer une image encryptée avec geli)
    En cas d'erreur lors du boot (mauvaise syntaxe fstab)
    Formater un disque dur ou une clef USB, en UFS, FAT32, NTFS
    Monter un DVD, un ISO, un périphérique USB en NTFS/exFAT
    Graver un CD/DVD/Blu-ray 
    Graver une image .iso sur une clef USB
    Utilisation du cloud Mega
    Utiliser Netflix sur FreeBSD 
    Installation de Tor
    Compresser/décompresser en zip, bzip2 (.bz2, .tbz2, .tbz, .tar.bz2) 
    Séparer/Fusionner (split/merge) un fichier PDF 
    Installer un serveur de courriels Postfix
    Réglages Son & Luminosité en commandes 
    Utilisation d'une webcam (intégrée au T495 ou C920 HD de Logitech) 
    Activer automatiquement la Webcam pour un utilisateur au démarrage de l'ordinateur
    Convertir un disque dynamic en fixed et réciproquement (VirtualBox) 
    - ffmpeg : x264, x265, AV1 
    Script en BASH sur FreeBSD 
    Exécuter un Script à distance 
    CPU Multi-coeur : Assigner un coeur du CPU à un processus en particulier 
    Découper un fichier en plusieurs et le réassembler (Split et Cat) 
    Empêcher l'affichage des notifications intempestives sur la console 
    Télécharger des vidéos Youtube et autres sites 
    Voir les processus (PID) en cours et les arrêter 
    Musiciens ! l'éditeur de partition MuseScore existe sur FreeBSD !! 
    Incompatibilité du dongle USB Wi-FI MU-MIMO, D-Link DWA-181, AC1300 USB2.0 
    Copier un DVD/Blu-ray (protégé ou non protégé)
    - RDP : se connecter à un serveur FreeBSD depuis Windows, Linux, MacOS 
    - Se connecter en RDP à un bureau à distance (rdesktop)
    Exécutez une tâche au démarrage avec Cron 
    - Aspirer un site web avec wget  
    Configurer NTPD et le fuseau horaire pour régler la date et l'heure 
    Se connecter en VNC à un serveur/bureau OpenIndiana en créant un tunnel SSH avec Putty
    - Faciliter les recherches de fichiers avec "locate" 
    Installer un serveur de logs (Rsyslog) sur FreeBSD 13.2 et configurer un client debian 12
    - Créer une clef/périphérique USB en ZFS 
    Installer VScode (Code OSS) sur FreeBSD 13.2
    - Se connecter à un réseau Wifi en CLI sur FreeBSD 
    Rendre les alias permanents sur FreeBSD 
    qutebrowser, un navigateur web minimaliste mais complet, ultra rapide 
    password-store : un gestionnaire de mots de passe en CLI

    Webmin
    Installation de webmin sur FreeBSD 13.1+ 

    Base SQL : (voir la rubrique MySQL)
    Installer MySQL/MariaDB
    - Installer MySQL 8.0 sur FreeBSD 13.1+

    Configuration d'un serveur Web et outils d'administration
    Configurer un site internet en http sur Nginx (FreeBSD 13.0 STABLE)
    Configurer un site internet en http sur Apache24 (FreeBSD 13.0 STABLE ou HardenedBSD) 
    Configurer un site intranet en https sur Apache24 (AUTO-SIGNE) 
    Configurer un site internet en https sur Apache24 (signé par une autorité distante) 
    Configurer un site internet en https sur apache24 (SCRIPT)

    Mise en place d'un Reverse Proxy sur Nginx
    Installer GLPI 10.0.6 
    - Connectez votre AD à GLPI
    (Merci à Louis et Mathias)
    - Installer Wordpress 
    Installer Wordpress avec SSL (SCRIPT)
    Installer Wordpress avec SSL (certificat auto-signé) 
    Installer Wordpress avec SSL (signé par une autorité distante) 
    Installer TikiWiki 23 
    - Installer TikiWiki 25.0
    Installer Concrete5
    Héberger un site web avec une adresse IP dynamique (NOIP) 
    Rsync 
    - Rediriger les requêtes HTTP vers HTTPS, avec ou sans changement des ports par défaut d'Nginx
    - Rediriger les requêtes HTTP vers HTTPS, avec ou sans changement des ports par défaut d'Apache
    SSL - Comment retrouver les informations entrées dans votre demande de signature .csr


    Sécuriser son serveur et outils d'administration

    Sécuriser l'accès en SSH 
    sshpass, pour facilier la connexion SSH via mots de passes
    Installation de l'antivirus ClamAV avec base de signatures SecuriteInfo/SaneSecurity
    Configurer Fail2ban (blocage IP tentant de se connecter en SSH pour un temps donné) 
    IPFW sur FreeBSD 13/14 
    - PF sur FreeBSD 13/14
    - Faire un scan de ports avec Nmap
    Sécuriser un Serveur FreeBSD 
    Génerer des clefs SSH pour se connecter à un serveur distant 
    Configurer rkhunter sur FreeBSD 
    Installation du VPN OVPN

    Serveur FTP
    - Configurer un serveur SFTP avec OpenSSH
    Installation d'un serveur FTP (ProFTPd)
    Installation d'un serveur FTP (Pure-FTPd) 
    Déployer un serveur sFTP en un seul script, avec stockage externe 
    Afficher un volume SFTP sur le bureau avec XFCE 
    Afficher un volume SFTP sur le bureau avec KDE

    Stockage décentralisé :
    - Connecter un bucket STORJ à FreeBSD grâce à rclone-browser

    Serveur DNS
    - Déployer un serveur DNS local avec Bind918 

    Serveur XMPP :
    Configurer simplement un serveur XMPP (Openfire) avec salons de discussions

  • Voici un exemple de configuration d'un pare-feu avec PF sur FreeBSD
    Considérons que ma machine a 2 cartes réseaux (wlan0 et ue0).
    Par défaut ici, je bloque tout accès entrant depuis le WAN mais permet à ma machine de communiquer sans restrictions avec internet (stateful).

    Adaptez les règles en fonction de vos besoins :

    - Passer en root

    su -

    - Créez le fichier de règles : /etc/pf.conf avec le contenu suivant et adaptez-le à vos besoins.

    #--- Variables pour les interfaces
    wan1="ue0" # Première interface WAN
    wan2="wlan0" # Seconde interface WAN

    #--- Options de normalisation
    set block-policy drop
    set skip on lo0

    #--- Scrub (nettoyage) tout le trafic passant par les interfaces
    scrub in on {$wan1 $wan2} all fragment reassemble

    #--- Règles de blocage et de passage par défaut : autoriser la machine à communiquer avec internet sans restriction (stateful)
    block in all
    pass out on {$wan1 $wan2} inet from any to any keep state


    ##############################################
    # Exemples de règles pour autoriser des flux entrants spécifiques

    #--- Limiter les tentatives de connexion SSH à 5 par minute par IP
    #block in quick on {$wan1 $wan2} all proto tcp from <bruteforce> to any port 22
    #pass in on {$wan1 $wan2} all proto tcp to any port 22 \
    # flags S/SA keep state \
    # (max-src-conn-rate 5/60, overload <bruteforce> flush global)

    #--- Autoriser les pings ICMP entrants (IPv4) et ICMPv6 (IPv6)
    #pass in on {$wan1 $wan2} inet proto icmp all icmp-type echoreq keep state
    #pass in on {$wan1 $wan2} inet6 proto icmp6 all icmp-type echoreq keep state

    #--- Autoriser SSH (port 22) de n'importe quelle adresse IP (IPv4 et IPv6)
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 22 keep state

    #--- Autoriser HTTP (port 80) et HTTPS (port 443) uniquement depuis des plages IP spécifiques (IPv4 et IPv6)
    #pass in on {$wan1 $wan2} all proto tcp from {192.0.2.0/24, 2001:DB8::/32} to any port {80 443} keep state

    #--- Autoriser le trafic FTP (port 21) (IPv4 et IPv6)
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 21 keep state

    #--- Autoriser le trafic vers un serveur DNS spécifique sur le port 53 (TCP et UDP) (IPv4 et IPv6)
    #pass in on {$wan1 $wan2} all proto {tcp udp} from any to {198.51.100.5, 2001:DB8::1} port 53 keep state

    #--- Autoriser les connexions DNS (Domain Name System)
    #pass in on {$wan1 $wan2} all proto {tcp udp} from any to any port 53 keep state

    #--- Autoriser NTP (Network Time Protocol)
    #pass in on {$wan1 $wan2} all proto udp from any to any port 123 keep state

    #--- Autoriser SMTP (Simple Mail Transfer Protocol) pour un serveur de messagerie
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 25 keep state

    #--- Autoriser IMAP (Internet Message Access Protocol) pour un serveur de messagerie
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 143 keep state

    #--- Autoriser POP3 (Post Office Protocol version 3) pour un serveur de messagerie
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 110 keep state

    #--- Autoriser HTTPS (HTTP Secure)
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 443 keep state

    #--- Autoriser les connexions entrantes pour un service de jeu en ligne (ex : port 27015 pour un serveur de jeux)
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 27015 keep state
    #pass in on {$wan1 $wan2} all proto udp from any to any port 27015 keep state

    #--- Autoriser les accès à un serveur de base de données MySQL
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 3306 keep state

    #--- Autoriser les connexions entrantes pour un service VoIP (SIP sur le port 5060)
    #pass in on {$wan1 $wan2} all proto tcp from any to any port 5060 keep state
    #pass in on {$wan1 $wan2} all proto udp from any to any port 5060 keep state

    #--- Autoriser le trafic pour les serveurs VPN (ex : OpenVPN sur le port 1194)
    #pass in on {$wan1 $wan2} all proto udp from any to any port 1194 keep state

    #--- Autoriser les connexions SSH seulement depuis une adresse IP spécifique
    #pass in on {$wan1 $wan2} all proto tcp from {203.0.113.0/24, 2001:DB8:1234::/48} to any port 22 flags S/SA keep state

    #--- Logger et passer le trafic autorisé spécifiquement
    #pass in log on {$wan1 $wan2} all proto tcp from any to any port 80 keep state

    #--- Logs spécifiques pour le trafic entrant non autorisé
    block in log on {$wan1 $wan2} all

    - Activez le pare-feu au démarrage du serveur :

    sysrc pf_enable=YES pf_rules="/etc/pf.conf"

    - Démarrer le pare-feu pf :

    service pf start

    - Voir la liste de règles actives :

    pfctl -s rules

    - Voir l'état et les stats :

    pfctl -s info

    - Arrêter le pare-feu (si besoin)

    service pf stop

     


    votre commentaire
  • Nouvelle version stable : 25-04-2024

    Voici un script graphique pour automatiser l'installation d'un environnement de bureau sur FreeBSD :

    Télécharger « freebsd-desktop.sh »

     

    Pour télécharger et exécuter le script directement depuis votre machine :

    1) Passez en root :

    su -

     2) Télécharger le script :

    fetch https://lstu.fr/freebsd-desktop12 -o /tmp

    3) Exécuter le script :

    cd /tmp
    chmod 740 freebsd-desktop12
    ./freebsd-desktop12

     

    Une version CLI est présente dans le script de configuration global


    votre commentaire
  • Passer en root :

    su -

    Modifier /usr/local/etc/lightdm/lightdm.conf 

    sed -i "" 's/#autologin-user=/autologin-user=VOTRE-UTILISATEUR/' /usr/local/etc/lightdm/lightdm.conf
    sed -i "" 's/#autologin-user-timeout=0/autologin-user-timeout=0/' /usr/local/etc/lightdm/lightdm.conf

    Redémarrez


    votre commentaire
  • Pour démarrer l'ordinateur et attérir directement sur l'environnement de bureau installé (LXQT ici en exemple) :

    Passer en root :

    su -

    Puis créez le fichier /usr/local/etc/sddm.conf avec le contenu suivant :

    [Autologin]
    User=VOTRE-UTILISATEUR
    Session=lxqt.desktop

    ou copiez/collez le bloc suivant dans le terminal après avoir mis votre nom d'utilisateur :

    {
    echo '[Autologin]'

    echo 'User=VOTRE-UTILISATEUR'
    echo 'Session=lxqt.desktop'
    } > /usr/local/etc/sddm.conf

    Redémarrez ensuite l'ordinateur.

    reboot

     


    votre commentaire
  • password-store (ou "pass" pour les intimes) est un gestionnaire de mots de passe en ligne de commande, existant sur tous les sytèmes de type Unix (Linux et BSD).

    Bien qu'en ligne de commandes, il est extrêmement polyvalent, permettant la création d'un git privé et assurant la synchronisation de votre base de mots de passes entre plusieurs machines.

    Nous allons voir les bases :

    1) l'Installer :
    (en root) 

    pkg ins -y password-store

    2) Créer votre clef GPG
    (en tant que votre utilisateur, pas root ici)

    gpg --full-gen-key

    Vous devrez répondre à plusieurs questions.
    Prenez les choix par défaut.
    Remplissez une adresse mail (ce sera plus facile pour la suite).

    A la fin, vous obtiendrez 2 informations :
    - une clef pub (clef publique), série de chiffres et de lettres, qu'il faut impérativement noter
    - un uid, votre email, si vous l'avez rentré.

    3) Initialiser votre password-store

    pass init votre@mail.truc


    Voilà, c'est terminé pour la configuration

    Comment s'en servir à présent :

    #) Créer un mot de passe
    Principalement 2 commandes, mais très vite, vous n'en utiliserez plus qu'une seule, celle-ci :

    pass edit LOGICIELS/MICROSOFT/WINDOWS/LICENCES-WINDOWS/WINDOWS-11PRO

    Cette très longue ligne ci-dessus sert d'exemple pour vous montrer comment vous pouvez organiser l'architecture de votre password-store. Mettez des minuscules et des accents si ça vous chante, personnellement je reste très vieux jeu.
    J'ai créé plusieurs "dossiers" en une seule ligne (appelez ça "catégories" si vous le souhaitez).
    Tout au bout, je veux créer une entrée pour une licence windows 11 pro.
    C'est assez pratique.

    Cette commande vous ouvre directement l'éditeur par défaut de votre système (attention pour FreeBSD, c'est vi ! Vous devrez apprendre à vous servir de vi ou changer l'éditeur par défaut. Une fois vos entrées tappées, on quitte comme on quitte vi :wq ).

    Il y a un ordre précis dans lequel entrer les informations lorsque l'éditeur se lance :

    1) La première ligne sert EXCLUSIVEMENT pour le mot de passe (la clef de license Windows 11 pro dans notre cas ici). Vous ne devez rien mettre d'autre que le mot de passe, sans phrase du style "mot-de-passe : ...."

    2) Mettez ce que vous voulez sur les autres lignes ! 
    Traditionnellement, on mettra :
    Utilisateur: ...
    URL : ...
    Commentaire : ...

     

    Pourquoi est-ce que je dis qu'il y a 2 commandes, parce que la commande de base pour créer une entrée est : 

    pass insert LOGICIELS/MICROSOFT/WINDOWS/LICENCES-WINDOWS/WINDOWS-11PRO

    Sauf que là, vous n'aurez droit qu'à une ligne : le mot de passe. Rien d'autre.
    Pour obtenir une entrée multi-ligne (telle qu'avec la commande plus haut), vous devrez tapper :

    pass insert --multiline LOGICIELS/MICROSOFT/WINDOWS/LICENCES-WINDOWS/WINDOWS-11PRO

    Et vous arriverez alors dans un éditeur de merde où il faut tapper CTRL+D 2 fois pour quitter et où on ne peut pas revenir à la ligne précédente pour faire une modification.
    Donc, passez par la commande pass edit... ce sera beaucoup plus rapide, d'autant que c'est cette commande qu'il faut utiliser pour modifier une entrée..

    #) Voir toute l'architecture de votre password-store

    pass

    C'est là que vous comprendrez l'importance de faire des catégories !

    #) Afficher une entrée
    (mot de passe, utilisateur etc..)

    pass EMAIL/GMAIL

    #) N'afficher que le mot de passe d'une entrée :

    pass show EMAIL/GMAIL

    #) Supprimer une entrée :

    pass rm EMAIL/GMAIL

     

    Je vous laisse approfondir le sujet. Si besoin d'une explication pour la création du git et la synchro, je rajouterai.
    Pour transférer sur une autre machine (autre que par un git), il faut bien garder ~/.password-store


    votre commentaire
  • Configurer une adresse mail avec un client mail en CLI relève de plus en plus de l'exploit, tant il devient compliqué de s'accommoder des mesures de sécurité requises par les géants du web.
    Néanmoins, ce n'est pas difficile avec les adresses Yahoo.. et mutt.

    mutt est un petit client mail en ligne de commandes qui s'installe et se configure très facilement.

     

    Nous allons créer une configuration IMAP avec un stockage du corps et des en-têtes de mails en local.


    Pré-requis :
    - avoir installé mutt... ! ("pkg ins -y mutt" sur FreeBSD, ou "pkgin -y in mutt" sur NetBSD) ainsi, au besoin, d'un module pour l'authentification "plain" demandée par Yahoo. Plusieurs paquets existent selon les BSD. Sur NetBSD, c'est "cy2-plain".
    - obtenir un mot de passe d'application sur le compte yahoo.
    - avoir créé quelques dossiers :

    mkdir -p ~./mutt/cache



    Pour cela, allez dans vos mails sur le site de Yahoo, cliquez sur la bulle avec votre nom en haut à droite, "infos compte", puis l'onglet "Sécurité.
    Vous y trouverez "Autres méthodes de connexion", "Mot de passe d'application".
    Il suffit tout simplement d'en générer un.. ET DE LE NOTER !! Parce que vous ne pourrez pas le revoir ensuite. 

    A savoir, éviter d'en créer/supprimer trop souvent ou cette fonctionnalité se bloque plusieurs jours...
    C'est un peu pénible [...].

    Désormais, avec mutt, ce n'est pas votre mot de passe d'accès à votre interface web de yahoo mail dont vous aurez besoin, mais du mot de passe d'application !


    Pour la configuration :
    1) Créer un fichier .muttrc dans votre répertoire racine (home/marcel/.muttrc) et y mettre les éléments suivants (en changeant selon vos coordonnées bien entendu !)

    # IDENTITE
    set realname = "Marcel Dublog"
    set date_format="%A %d %b %Y à %H:%M:%S (%Z)"
    set attribution="Le %d, %n a écrit :"
    set forward_format="[Fwd: %s]"
    set forward_quote

    # SECURITE
    set ssl_starttls = yes
    set ssl_force_tls = yes

    # [RECEPTION] : IMAP
    set imap_authenticators="gssapi:cram-md5:login:plain"
    set imap_user = "marcel.dublog@yahoo.com"
    set imap_pass = "mot-de-passe-dapplication-yahoo"
    set folder = "imaps://imap.mail.yahoo.com/"
    set spoolfile = "+INBOX"
    set postponed ="+Drafts"
    set record = "+Sent"
    set mail_check_stats=yes

    # [ENVOI] : SMTP
    set smtp_authenticators="gssapi:cram-md5:login:plain"
    set smtp_url = "smtp://marcel.dublog@smtp.mail.yahoo.com:587"
    set smtp_pass = "mot-de-passe-dapplication-yahoo"
    set from = "marcel.dublog@yahoo.com"
    set use_from = yes
    set use_envelope_from = yes

    # [STOCKAGE LOCAL]
    set header_cache=~/.mutt/cache/headers
    set message_cachedir=~/.mutt/cache/bodies

    # [AFFICHAGE] : CONFIGURATION PERSONNALISEE
    message-hook "~N" "tag-new"
    set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %{%f %3n %4.4k %s%}\n"
    set pager_index_lines=7
    set pager_stop
    set date_format="%A %d %b %Y à %H:%M:%S (%Z)"
    set attribution="Le %d, %n a écrit :"
    set forward_format="[Fwd: %s]"
    set forward_quote
    color attachment magenta default
    color body brightred default "(ftp|http)://[^ ]+"
    color body brightcyan default [-a-z_0-9.]+@[-a-z_0-9.]+
    color bold brightblue default
    color error brightwhite red
    color hdrdefault magenta default
    color header brightmagenta default ^(From):
    color header brightwhite default ^(Subject):
    color header brightwhite default ^(Date):
    color header white default ^(In-Reply-To):
    color indicator brightred default
    color markers brightblue default
    color message brightblack green
    color normal default default
    color quoted yellow default
    color quoted1 green default
    color quoted2 brightblue default
    color quoted3 blue default
    color search black yellow
    color signature red default
    color status default blue
    color tilde brightblue default
    color tree green default
    color underline brightgreen default

    2) Ensuite, lancez simplement mutt dans un shell sur votre session... (tappez "mutt")

    Mutt est hautement configurable et léger. Vous pouvez même changer les raccourcis claviers...

    Par contre, il vous faudra des rudiments de vi pour écrire les mails (notamment pour quitter vi !) ou bien, il suffit de changer l'éditeur pour nano avec la ligne suivante, à rajouter dans le fichier ~/.muttrc

    set editor = nano

    votre commentaire
  • qutebrowser est un navigateur web graphique developpé par Florian Bruhin depuis près de 10 ans maintenant.
    Open-source, léger, rapide, basé sur l'utilisation du clavier et de commandes pour fonctionner, il est rapide à prendre en main, hautement configurable. En un mot, je le trouve superbe !!
    Divers scripts sont disponibles sur github pour en améliorer les qualités (importation de bookmarks etc..).


    Voici pour vous aider, quelques raccourcis pour apprendre à le maîtriser plus vite : 

    i       : pour rentrer en mode "insertion" dans un champs de texte sur un site web.

    O ou CTRL+T : créer un nouvel onglet

    CTRL+N : créer une nouvelle page

    gC : dupliquer l'onglet actuel

    gD : faire de l'onglet actuel une nouvelle fenêtre

    d : fermer l'onglet en cours

    u : pour restaurer l'onglet fermé

    /truc : faire une recherche de 'truc' dans la page web

    :q : quitter qutebrowser

    :wq : quitter en sauvegardant les onglets ouverts

     

    :adblock-update : télécharge la liste des pub à bloquer et active adblock

     

    H : revenir à la page précédente

    J : revenir à la page suivante

    (g)J et (g)K : passer d'un onglet à l'autre par le clavier

    gd : télécharger

     

    ESC : arrêter ce qui en cours

    -------------------------------------------------------------------------- 

    :set url.searchengines '{"DEFAULT": "https://www.startpage.com/do/dsearch?query={}"}'

    :set url.default_page https://startpage.com

    :set url.start_pages https://startpage.com

    Pour configurer la recherche par défaut avec startpage ainsi que la page d'accueil de toute nouvelle fenêtre/onglet (et non avec duckduckgo, qui est la valeur par défaut)

     

    qutebrowser, un navigateur web minimaliste mais complet, ultra rapide

     

     

    -------------------------------------------------------------------------- 

    Passer les pubs plus rapidement sur Youtube :
    Un simple petit script pour accélérer les pubs à 3000% et les passer en 1 seconde.
    Ouvrez un terminal, loguez-vous en root :

    su -

    Créer un fichier de configuration pour la session de votre utilisateur (celui qui se sert de qutebrowser)

    touch /home/majekla/.local/share/qutebrowser/greasemonkey/nopub.js

    Copiez/collez le script suivant dedans :

    setInterval(() => {
        const btn = document.querySelector('.videoAdUiSkipButton,.ytp-ad-skip-button')
        if (btn) {
            btn.click()
        }
        const ad = [...document.querySelectorAll('.ad-showing')][0];
        if (ad) {
            document.querySelector('video').playbackRate = 1;
        }
    }, 50)

     

    Lancer qutebrowser puis tapez : 

    :greasemonkey-reload

     

     


    votre commentaire
  • J'ai un peu tardé à m'occuper de ce module, qui permet d'administrer VirtualBox via une console web (donc à distance). Il est intéressant, mais limité (pas de console vraiment fonctionnelle permettant d'accéder aux VMs... juste les lancer/arrêter/configurer).
    J'ai donc décidé de m'y mettre.

    Voici comment faire.

    Pré-requis :
    - un serveur avec FreeBSD 13.2/14 installé
    - une connexion internet configurée.

    1) Installer Virtualbox
    - Passer en root :

    su -

    - Pour l'installation de VirtualBox, je mets tout en blocs pour aller plus vite.
    Faîtes des copiers/collers !

    pkg ins -y virtualbox-ose ; pkg ins -y virtualbox-ose-additions
    sysrc vboxguest_enable=YES vboxservice_enable=YES vboxnet_enable=YES
    echo 'vboxdrv_load="YES"' >> /boot/loader.conf ; echo "[system=10]" >> /etc/devfs.rules ; echo "add path 'usb/*' mode 0660 group operator" >> /etc/devfs.rules ; sysrc devfs_system_ruleset="system"

    - Veuillez remplacer $user par le nom de l'utilisateur de VirtualBox (un utilisateur système que vous avez créé lors de l'installation de FreeBSD.. sur le blog c'est toujours marcel) dans les 2 commandes suivantes :

    pw groupmod vboxusers -m $user 
    pw groupmod operator -m $user

    Derniers petits réglages relatifs aux accès aux CD, cartes réseaux en ponts etc..
    (copier/coller) :

    sysrc hald_enable=YES ; echo "perm cd* 0660" >> /etc/devfs.conf ; echo "perm xpt0 0660" >> /etc/devfs.conf ; echo "perm pass* 0660" >> /etc/devfs.conf ; chown root:vboxusers /dev/vboxnetctl ; chmod 0660 /dev/vboxnetctl ; echo 'own vboxnetctl root:vboxusers' >> /etc/devfs.conf ; echo 'perm vboxnetctl 0660' >> /etc/devfs.conf

    - Redémarrez votre système :

    reboot

     

    2) Installer PhpVirtualBox
    Comme je le disais, un paquet phpvirtualbox existe sur FreeBSD... et il est "presque" parfait.
    Presque, car phpvirtualbox ne peut pas fonctionner sans serveur web [...]
    Nous allons donc également installer apache et le module php pour apache et configurer tout ça.

    Passer en root

    su -

    - Installer :

    pkg ins -y apache24 mod_php81 phpvirtualbox
    service apache24 enable

    - Configurer php pour Apache :
    (copiez/collez)

    echo '<FilesMatch "\.php$">' > /usr/local/etc/apache24/Includes/php.conf ; echo '    SetHandler application/x-httpd-php' >> /usr/local/etc/apache24/Includes/php.conf ; echo '</FilesMatch>' >> /usr/local/etc/apache24/Includes/php.conf ; echo '<FilesMatch "\.phps$">' >> /usr/local/etc/apache24/Includes/php.conf ; echo '    SetHandler application/x-httpd-php-source' >> /usr/local/etc/apache24/Includes/php.conf ; echo '</FilesMatch>' >> /usr/local/etc/apache24/Includes/php.conf

    - Placer le dossier phpvirtualbox (qui est apparu lors de l'installation du paquet) dans le répertoire du site par défaut d'apache :

    mv /usr/local/www/phpvirtualbox /usr/local/www/apache24/data/

    - Modifiez le fichier de configuration config.php dans le dossier phpvirtualbox

    nano /usr/local/www/apache42/data/phpvirtualbox/config.php

    La première chose que nous allons modifier, c'est indiquer à phpvirtualbox le nom et le mot de passe de l'utilisateur système qui va se servir de virtualbox (rappelez-vous, ici c'est toujours marcel, mot de passe marcel)

    ###### Repérer les lignes suivantes ######
    /* Username / Password for system user that runs VirtualBox */
    var $username = 'vbox';
    var $password = 'pass';

    /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
    var $location = 'http://127.0.0.1:18083/';



    ###### Les modifier en ######
    var $username = 'marcel';
    var $password = 'marcel';

    /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
    var $location = 'http://localhost:18083/';

     

    (ne pas oublier de bien remplacer 127.0.0.1 par localhost en bas ! Sinon ça ne fonctionnera pas !)

    - Lancer le service vboxwebsrv

    service vboxwebsrv enable ; service vboxwebsrv start

    malheureusement, ça ne suffit pas... Il faut VRAIMENT le lancer.
    Donc on va le faire en arrière-plan pour ne pas se gâcher un shell :

    nohup vboxwebsrv &

    (tappez sur la touche Entrée après pour revenir au shell, vboxwebsrv travaille en arrière-plan)

    - On relance Apache et le tour est joué :

    service apache24 restart

    - Rendez-vous à présent dans votre navigateur internet et tapez l'adresse IP du serveur FreeBSD :

    http://IP-SRV-FREEBSD/phpvirtualbox


    Un écran d'identification apparaît, par défaut c'est admin / admin
    Vous pourrez le changer plus tard dans "File", "Change password".


    votre commentaire
  • Placer dans le fichier /boot/loader.conf les instructions suivantes :

    verbose_loading="NO"
    autoboot_delay="-1"
    boot_mute="YES"

    Pour de plus amples informations, consulter le fichier /etc/defaults/loader.conf

    Je ne polémiquerai pas sur le fait que rendre le démarrage muet est globalement une mauvaise idée...
    Les informations affichées lors du démarrage permettent de savoir si quelque chose a mal fonctionné...
    C'est assez essentiel sur un serveur.


    votre commentaire
  • Pour rendre les alias de commandes permanents sur FreeBSD, il faut les écrire dans le fichier /etc/profile.
    Ils seront alors disponibles pour tous les utilisateurs (root compris).
    Si vous souhaitez qu'ils ne soient disponibles QUE pour un utilisateur spécifique, il faudra placer ces alias dans le fichier .profile de son répertoire personnel.

    alias "nom-choisi"='commande ou enchaînement de commandes ; commande 2 ; commande 3'

    votre commentaire
  • Si votre matériel Wifi est détecté lors de l'installation du systèùe (si la carte est reconnue par FreeBSD), une ligne viendra automatiquement s'ajouter au fichier /etc/rc.conf

    Toute la question est de savoir comment vous connecter en ligne de commande à un réseau wifi.
    Ce n'est pas si complexe !

    D'abord, regardons la liste de vos cartes réseaux

    ifconfig

    Généralement cette carte se nomme wlan0 (s'il s'agît d'une carte reliée à la carte mère).. le nom peut différer s'il s'agît d'une clef USB.

    Partons du principe que c'est wlan0

    Nous allons activer cette carte :

    sudo ifconfig wlan0 up

    Puis nous allons scanner les réseaux alentours :

    ifconfig wlan0 list scan

    Une fois le SSID du réseau auquel vous souhaitez vous connecter repéré, nous devons rédiger un petit fichier de conf :

    nano /etc/wpa_supplicant.conf

    Voici le contenu minimaliste que vous devez indiquer dans ce fichier :

    network={
    ssid="NOM-DE-VOTRE-RESEAU"
    psk="MOT-DE-PASSE-DU-RESEAU"
    }

     (il y a bien d'autres options, mais c'est le strict minimum)

    A la suite de cela, vous pouvez lancer la commande pour vous connecter au réseau :

    wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

    Attendez un peu, et logiquement vous devriez pouvoir faire un ping.


    votre commentaire
  • Juste pour vous informer que le Dell Precision 7560 fonctionne très bien sur FreeBSD.
    J'ai pu en tester un :

    Voici ses caractéristiques :
    - CPU : Xeon X-11855
    - GPU : Nvidia RTX A4000

    Wifi : ok
    Ethernet : ok
    GUI : ok (avec le driver nvidia-driver. la GPU NVIDIA est sur PCI:1:0:0 - pour le fichier xorg)
    La Webcam intégrée fonctionne
    Le son et le microphone sont ok
    Par contre : pas de bluetooth intégré, ni de mise en veille (comme quasiemment avec tous les portables sur FreeBSD).

    Voici la sortie de la commande pciconf -lv :

    Code:
    hostb0@pci0:0:0:0:      class=0x060000 rev=0x05 hdr=0x00 vendor=0x8086 device=0x9a26 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = '11th Gen Core Processor Host Bridge/DRAM Registers'
        class      = bridge
        subclass   = HOST-PCI
    pcib1@pci0:0:1:0:       class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x9a01 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = '11th Gen Core Processor PCIe Controller'
        class      = bridge
        subclass   = PCI-PCI
    none0@pci0:0:4:0:       class=0x118000 rev=0x05 hdr=0x00 vendor=0x8086 device=0x9a03 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'TigerLake-LP Dynamic Tuning Processor Participant'
        class      = dasp
    pcib2@pci0:0:6:0:       class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x9a0f subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = '11th Gen Core Processor PCIe Controller'
        class      = bridge
        subclass   = PCI-PCI
    pcib3@pci0:0:7:0:       class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x9a2b subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Thunderbolt 4 PCI Express Root Port'
        class      = bridge
        subclass   = PCI-PCI
    pcib4@pci0:0:7:1:       class=0x060400 rev=0x05 hdr=0x01 vendor=0x8086 device=0x9a2d subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Thunderbolt 4 PCI Express Root Port'
        class      = bridge
        subclass   = PCI-PCI
    none1@pci0:0:10:0:      class=0x118000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a0d subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tigerlake Telemetry Aggregator Driver'
        class      = dasp
    xhci0@pci0:0:13:0:      class=0x0c0330 rev=0x05 hdr=0x00 vendor=0x8086 device=0x9a17 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Thunderbolt 4 USB Controller'
        class      = serial bus
        subclass   = USB
    none2@pci0:0:13:2:      class=0x0c0340 rev=0x05 hdr=0x00 vendor=0x8086 device=0x9a1f subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Thunderbolt 4 NHI'
        class      = serial bus
        subclass   = USB
    none3@pci0:0:18:0:      class=0x070000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43fc subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Integrated Sensor Hub'
        class      = simple comms
        subclass   = UART
    xhci1@pci0:0:20:0:      class=0x0c0330 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43ed subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller'
        class      = serial bus
        subclass   = USB
    none4@pci0:0:20:2:      class=0x050000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43ef subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Shared SRAM'
        class      = memory
        subclass   = RAM
    ig4iic0@pci0:0:21:0:    class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e8 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Serial IO I2C Controller'
        class      = serial bus
    ig4iic1@pci0:0:21:1:    class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e9 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Serial IO I2C Controller'
        class      = serial bus
    none5@pci0:0:22:0:      class=0x078000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e0 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H Management Engine Interface'
        class      = simple comms
    none6@pci0:0:22:3:      class=0x070002 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43e3 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        class      = simple comms
        subclass   = UART
    ig4iic2@pci0:0:25:0:    class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43ad subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        class      = serial bus
    pcib5@pci0:0:28:0:      class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43b9 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        class      = bridge
        subclass   = PCI-PCI
    pcib6@pci0:0:28:2:      class=0x060400 rev=0x11 hdr=0x01 vendor=0x8086 device=0x43ba subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H PCIe Root Port'
        class      = bridge
        subclass   = PCI-PCI
    isab0@pci0:0:31:0:      class=0x060100 rev=0x11 hdr=0x00 vendor=0x8086 device=0x4389 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'WM590 LPC/eSPI Controller'
        class      = bridge
        subclass   = PCI-ISA
    hdac1@pci0:0:31:3:      class=0x040380 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43c8 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H HD Audio Controller'
        class      = multimedia
        subclass   = HDA
    ichsmb0@pci0:0:31:4:    class=0x0c0500 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43a3 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H SMBus Controller'
        class      = serial bus
        subclass   = SMBus
    none7@pci0:0:31:5:      class=0x0c8000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x43a4 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Tiger Lake-H SPI Controller'
        class      = serial bus
    em0@pci0:0:31:6:        class=0x020000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x15f9 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Intel Corporation'
        device     = 'Ethernet Connection (14) I219-LM'
        class      = network
        subclass   = ethernet
    vgapci0@pci0:1:0:0:     class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x24b7 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'NVIDIA Corporation'
        device     = 'GA104GLM [RTX A4000 Mobile]'
        class      = display
        subclass   = VGA
    hdac0@pci0:1:0:1:       class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de device=0x228b subvendor=0x10de subdevice=0x0000
        vendor     = 'NVIDIA Corporation'
        device     = 'GA104 High Definition Audio Controller'
        class      = multimedia
        subclass   = HDA
    nvme0@pci0:2:0:0:       class=0x010802 rev=0x01 hdr=0x00 vendor=0x10ec device=0x5765 subvendor=0x10ec subdevice=0x5765
        vendor     = 'Realtek Semiconductor Co., Ltd.'
        device     = 'RTS5765DL NVMe SSD Controller (DRAM-less)'
        class      = mass storage
        subclass   = NVM
    iwlwifi0@pci0:147:0:0:  class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2725 subvendor=0x8086 subdevice=0x4020
        vendor     = 'Intel Corporation'
        device     = 'Wi-Fi 6 AX210/AX211/AX411 160MHz'
        class      = network
    rtsx0@pci0:148:0:0:     class=0xff0000 rev=0x01 hdr=0x00 vendor=0x10ec device=0x5260 subvendor=0x1028 subdevice=0x0a69
        vendor     = 'Realtek Semiconductor Co., Ltd.'
        device     = 'RTS5260 PCI Express Card Reader'


    Et celle de la commande usbconfig

    Code:
    ugen1.1: <Intel XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
    ugen0.1: <Intel XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
    ugen1.2: <CN0V976R8LG00155A5VPA01 IntegratedWebcamHD> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
    ugen1.3: <Compx 2.4G Receiver> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
    ugen1.4: <vendor 0x8087 product 0x0032> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

    Voici le lien vers hw-probe :
    https://bsd-hardware.info/?probe=a0e5297849

     

    Installer FreeBSD sur un Dell Precision 7560

     

    Je rajoute cependant un petit bémol pour le réglage de la luminosité de l'écran.
    Cette fonction n'est pas disponible dans KDE sur cet ordi...

    Voici comment contourner :
    - passer en root

    su -

    - Charger le module acpi_video

    kldload acpi_video

    - redevenir utilisateur

    exit

    - Récupérer le nom de l'écran :

    xrandr --listactivemonitors

    Monitors: 1
    0: +*DP-4 1920/344x1080/194+0+0  DP-4

    Notre écran est le "DP-4"


    - baisser la luminosité à 90%

    xrandr --output DP-4 --brightness 0.9

    - baisser la luminosité à 30%

    xrandr --output DP-4 --brightness 0.3

    - revenir à 100%

    xrandr --output DP-4 --brightness 1

    votre commentaire
  • Je suis obligé de faire un petit article car il y a de l'eau dans le gaz avec ce paquet.
    Il a disparu des dépôts il y a quelques mois à cause d'electron, qui ne se buildait plus, puis est revenu, reparti... chacun y allant de sa petite technique sur le forum FreeBSD pour tenter de réinstaller le logiciel prodigue à partir des ports... 

    C'est aussi une bonne occasion de découvrir des alternatives (certes, pas encore aussi bien..) :
    Codeblocks, Bluefish, Lapce, Geany... 


    Pour l'heure, il n'est plus dans les dépots. Le seul moyen de l'installer, c'est de le builder à partir des ports.

    Donc, on y va.
    Je présuppose que vous avez installé les ports lors de votre installation de FreeBSD... Sinon, il vous faudra les télécharger manuellement.
    Je présuppose aussi que vous êtes sur le dépôt quarterly.

    Petit avertissement, vu la complexité du build, il est probable que vous deviez recommencer au moins une fois...


    2 méthodes : 

    1) Brutale : faîtes chauffer le PC !

    su -
    cd /usr/ports/editors/vscode ; make -DBATCH install clean

    Pour un build avec tous les réglages par défaut.
    Durée : 1h20min environ avec un i9 doppé aux steroïdes.. Faudra donc pas être trop pressé.

    Pour ceux qui ne le savent pas, l'option -DBATCH permet de ne pas avoir à valider chaque demande d'installation des paquets dépendants lors d'un build, et de choisir les options "par défaut" automatiquement.

    Pas toujours utile quand on sait ce qu'on veut précisément dans un build, mais dans notre cas, je ne vais pas faire de détail sur ce paquet !

    2) Pour faire passer la pilule :
    Installer les paquets qui sont disponibles et nécessaires avant le build, histoire d'accélérer un peu.

    su -
    pkg ins -y gmake yarn-node16 yasm gettext-tools libtextstyle bison m4 texinfo help2man ninja cmake-core rhash openh264 nasm git pkgconf c-ares binutils mpfr p5-Locale-libintl xmlto getopt xmlcatmgr w3m boehm-gc libatomic_ops p5-CGI p5-Authen-SASL p5-IO-Socket-SSL
    cd /usr/ports/editors/vscode ; make -DBATCH install clean

    Je précise que la liste des paquets ci-dessus a été testée, et que leurs versions différentes n'entrent pas en conflit avec les versions des paquets nécessaires au build (qui ne sont évidemment pas les mêmes) ! 
    Le fait d'installer ces paquets accélère quand même pas mal le build, puisqu'il ne faut plus que 55 min


    votre commentaire
  • C'est un sujet un peu polémique...
    Je ne vais pas rentrer dedans.

    Quelques observations néanmoins :
    ZFS n'est pas le système le plus tolérant/convénient/respectueux pour les périphériques USB... car on peut aisément endommager le système de fichiers si on ne prend pas garde... par ailleurs, il ne faut jamais arracher un périphérique USB ZFS sans avoir exporté le pool avant !!
    (et l'opération peut durer plusieurs minutes, pas vraiment pratique !)

    Passez en root

    1) Brancher la clef/disque USB à votre machine
    Inutile de l'effacer... ZFS va s'en charger


    2) Identifiez-le

    camcontrol devlist

    (pour l'exemple, nous allons prendre da0)


    3) Créez le pool zfs (nommé CLEFUSB) et une "partition" de données DATA

    zpool create CLEFUSB da0
    zfs create CLEFUSB/DATA

     

    4) Activez la compression sur votre pool
    Contrairement à ce que vous pouvez penser, cela va au contraire accélérer votre périphérique !

    zfs set compression=on CLEFUSB/DATA


    4bis) Créez une "partition" encryptée sur votre périphérique (facultatif)
    Je ne vous conseille vraiment pas de faire cela sur une clef USB 2.0... l'encryption des fichiers est très lente !!

    zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase CLEFUSB/SECURE 

    Entrez la passphrase de votre choix (mais vous avez intérêt à la retenir !)
    Un dataset du nom de SECURE sera alors créé sur votre clef. Les données contenues à l'intérieur seront encryptées.

    Vous pouvez naviguez à l'intérieur et y placer les fichiers à copier et encrypter :

    cd /CLEFUSB/SECURE

     

    5) A présent, déplacez-vous dedans et copiez-y ce que vous voulez :

    cd /CLEFUSB/DATA

    - Créons un simple fichier texte pour l'exemple, avec une phrase test :

    echo "ceci est un test" > /CLEFUSB/DATA/test.txt

     

    6) AVANT de débrancher votre périphérique USB
    Vous devez exporter votre pool afin qu'il ne soit plus reconnu par votre système.
    C'est impératif !!! Si vous ne faîtes pas cela, dîtes adieu à vos données !!

    D'abord, sortez de votre périphérique : (revenez à la racine par exemple)

    cd /

    Puis synchronisez le cache pour être certain que toutes les données qui auraient été copiées sur le pool l'ont bien été :

     

    sync

    Puis exportez le pool :

    zpool export CLEFUSB

    Attendez que l'opération soit terminée avant de débrancher votre périphérique !
    Si votre périphérique a une LED, regardez-là... Elle doit s'arrêter de clignoter.

    Il se peut que votre périphérique fasse tout de même de la résistance, même après avoir attendu un long moment...de la résistance du style "pool is busy"...
    Forcez donc l'export :

    zpool export -f CLEFUSB

     

    7) Rebranchez votre périphérique, attendez quelques secondes et ré-importez votre pool

    zpool import CLEFUSB

     Attendez que l'opération d'importation soit terminée... (ça peut durer plusieurs minutes)

    Il se peut que l'importation ne fonctionne pas.. Vous devez d'abord vous assurer que le périphérique est bien lu par le système (format -e pour vérifier, puis Ctrl+C).

    Vous pouvez désormais retourner dans votre périphérique et récupérer votre formidable fichier texte !

    cd /CLEFUSB/DATA
    ls

    Le fichier va réapparaître...

    Il faudra de nouveau exporter le pool avant de retirer votre clef/périphérique

     


    votre commentaire
  • Voici les modules disponibles sur le dépôt Quarterly pour GNOME

    pkg ins -y chrome-gnome-shell gnome gnome-2048 gnome-autoar gnome-backgrounds gnome-builder gnome-calculator gnome-calendar gnome-characters gnome-chess gnome-clipboard-daemon gnome-clocks gnome-color-manager gnome-common gnome-connections gnome-console gnome-contacts gnome-control-center gnome-desktop gnome-devel-docs gnome-dictionary gnome-font-viewer gnome-games gnome-getting-started-docs gnome-icon-theme gnome-icon-theme-extras gnome-icon-theme-symbolic gnome-icons-elementary gnome-icons-faenza gnome-icons-luv gnome-initial-setup gnome-keyring gnome-keyring-sharp gnome-klotski gnome-latex gnome-lite gnome-mahjongg gnome-maps gnome-menus gnome-metronome gnome-mime-data gnome-mines gnome-mplayer gnome-music gnome-nettool gnome-nibbles gnome-online-accounts gnome-online-miners gnome-photos gnome-pie gnome-planner gnome-podcasts gnome-pomodoro gnome-power-manager gnome-pty-helper gnome-robots gnome-screenshot gnome-session gnome-settings-daemon gnome-shell gnome-shell-extension-audio-output-switcher gnome-shell-extension-coverflow gnome-shell-extension-dashtodock gnome-shell-extension-dashtopanel gnome-shell-extension-filesmenu gnome-shell-extension-hidetopbar gnome-shell-extension-lockkeys gnome-shell-extension-mediaplayer gnome-shell-extension-openweather gnome-shell-extension-panel-osd gnome-shell-extension-recent-items gnome-shell-extension-trash gnome-shell-extension-weather gnome-shell-extension-windowoverlay-icons gnome-shell-extensions gnome-shell-extra-extensions gnome-sound-recorder gnome-ssh-askpass gnome-sudoku gnome-system-monitor gnome-terminal gnome-tetravex gnome-text-editor gnome-themes gnome-themes-extra gnome-todo gnome-tweaks gnome-user-docs gnome-user-share gnome-utils gnome-video-effects gnome-weather gnome_subr guile-gnome-platform-full guile-gnome-platform-lite libgnome-games-support libgnome-keyring libgnomecanvas libgnomecanvasmm libgnomekbd libproxy-gnome3 pinentry-gnome polkit-gnome qgnomeplatform rubygem-gnome gnome-session gnome-settings-daemon gnome-shell gnome-shell-extension-audio-output-switcher gnome-shell-extension-coverflow gnome-shell-extension-dashtodock gnome-shell-extension-dashtopanel gnome-shell-extension-filesmenu gnome-shell-extension-hidetopbar gnome-shell-extension-lockkeys gnome-shell-extension-mediaplayer gnome-shell-extension-openweather gnome-shell-extension-panel-osd gnome-shell-extension-recent-items gnome-shell-extension-trash gnome-shell-extension-weather gnome-shell-extension-windowoverlay-icons gnome-shell-extensions gnome-shell-extra-extensions gnome-sound-recorder gnome-ssh-askpass gnome-sudoku gnome-system-monitor gnome-terminal gnome-tetravex gnome-text-editor gnome-themes gnome-themes-extra gnome-todo gnome-tweaks gnome-user-docs gnome-user-share gnome-utils gnome-video-effects gnome-weather gnome_subr guile-gnome-platform-full guile-gnome-platform-lite libgnome-games-support libgnome-keyring libgnomecanvas libgnomecanvasmm libgnomekbd libproxy-gnome3 pinentry-gnome polkit-gnome qgnomeplatform rubygem-gnome subversion-gnome-keyring xdg-desktop-portal-gnome

     

     

    chrome-gnome-shell-10.1_2      GNOME Shell integration for Chrome
    gnome-42_5                     Metaport for the GNOME integrated X11 desktop
    gnome-2048-3.38.2_2            Move the tiles until you obtain the 2048 tile
    gnome-autoar-0.4.3_1           Glib wrapper around libarchives
    gnome-backgrounds-43           Collection of backgrounds for GNOME
    gnome-builder-42.1_5           IDE for writing software for GNOME
    gnome-calculator-43.0.1_2      GNOME calculator tool
    gnome-calendar-42.2_2          Simple and beautiful calendar application for GNOME
    gnome-characters-43.0_2        Find and insert unusual characters for GNOME
    gnome-chess-43.0_1             Gnome chess
    gnome-clipboard-daemon-1.0_13  Program that keeps the content of your X clipboard in memory
    gnome-clocks-40.0_1,1          Clocks for GNOME
    gnome-color-manager-3.36.0_3   Session framework for the GNOME desktop to manage color profiles
    gnome-common-3.18.0            Common automake macros for GNOME 3
    gnome-connections-42.1.2_2     Remote desktop client for GNOME
    gnome-console-43.0_2           Minimal terminal for GNOME
    gnome-contacts-41.0_3          Contacts manager for gnome
    gnome-control-center-43.2_3    Control center for the GNOME desktop
    gnome-desktop-42.4_1           Additional UI API for GNOME
    gnome-devel-docs-40.3          Documents targeted for GNOME developers
    gnome-dictionary-40.0_3        GNOME dictionary lookup application
    gnome-font-viewer-43.0_1       GNOME font viewer utility
    gnome-games-3.24.0_1           Gnome games meta port
    gnome-getting-started-docs-3.38.1 GNOME 3 getting started guide
    gnome-icon-theme-3.12.0_1      Collection of icons for the GNOME desktop
    gnome-icon-theme-extras-3.12.0_1 Additional collection of icons for the GNOME desktop
    gnome-icon-theme-symbolic-3.12.0 GNOME Symbolic Icons
    gnome-icons-20060914_5         Meta-port for Gnome iconsets
    gnome-icons-elementary-7.3.1   Elementary icon set
    gnome-icons-faenza-1.3.1       Faenza GNOME 2 icon themes
    gnome-icons-luv-0.4.9.12_2     Flat but complex icon theme for freedesktop environments
    gnome-initial-setup-43.2_2     First boot setup tool for GNOME
    gnome-keyring-42.1_1           Program that keeps passwords and other secrets
    gnome-keyring-sharp-1.0.2_8    Fully managed implementation of gnome-keyring
    gnome-klotski-3.38.2_1         Gnome klotski
    gnome-latex-3.44.0_1           Integrated LaTeX environment
    gnome-lite-42_5                The "meta-port" of the GNOME desktop slimmed down for only the basics
    gnome-mahjongg-3.38.3_1        Gnome mahjongg
    gnome-maps-43.5                Map application for GNOME
    gnome-menus-3.36.0             Implementation of the FreeDesktop Desktop Menu Spec
    gnome-metronome-1.3.0_2        Keep the tempo
    gnome-mime-data-2.18.0_5       MIME and Application database for GNOME
    gnome-mines-40.1_1             Gnome minesweeper
    gnome-mplayer-1.0.9_7          GNOME frontend for MPlayer
    gnome-music-42.1_2             GNOME music playing application
    gnome-nettool-42.0_1,1         GNOME utility that provides network information statistics
    gnome-nibbles-3.38.2_2         Gnome nibbles
    gnome-online-accounts-3.44.0_1 Interface provider to access the user's online accounts
    gnome-online-miners-3.34.0_2   Crawls through your online content
    gnome-photos-43.0_3            Photo application for GNOME
    gnome-pie-0.7.3_2              Circular application launcher
    gnome-planner-0.14.6.20220531  Project management tool based on the Work breakdown structure
    gnome-podcasts-0.6.1           Podcast app for GNOME
    gnome-pomodoro-0.22.1,1        Time management utility for GNOME
    gnome-power-manager-3.32.0_1   Power management system for the GNOME Desktop
    gnome-pty-helper-0.40.2        utmp/wtmp/lastlog helper program for the vte Terminal widget
    gnome-robots-40.0_1            Gnome robots
    gnome-screenshot-41.0_1        GNOME utility for making pictures of your screen
    gnome-session-42.0_2           Session component for the GNOME desktop
    gnome-settings-daemon-42.2_6   GNOME settings daemon
    gnome-shell-42.4_7             Next generation GNOME desktop shell
    gnome-shell-extension-audio-output-switcher-0.0.0.20171022_2 Gnome-shell audio output switcher
    gnome-shell-extension-coverflow-0.0.0.20180110_2 Lets you Alt-Tab windows in a cover-flow manner
    gnome-shell-extension-dashtodock-65_2 Convert the dash into a dock
    gnome-shell-extension-dashtopanel-v46 Icon taskbar for the Gnome Shell
    gnome-shell-extension-filesmenu-0.0.0.20171125_2 Quickly navigate your file system
    gnome-shell-extension-hidetopbar-0.0.0.20180511_2 Hide the topbar except in overview mode
    gnome-shell-extension-lockkeys-0.0.0.20180511_2 Gnome-shell Numlock and Capslock indicator
    gnome-shell-extension-mediaplayer-4.0_1 MPRIS2 extension for the GNOME3 shell
    gnome-shell-extension-openweather-119 OpenWeather extension for the GNOME3 shell
    gnome-shell-extension-panel-osd-0.0.0.20220406 OSD extension for the GNOME shell
    gnome-shell-extension-recent-items-40_1 Recent items extensions for the GNOME3 shell
    gnome-shell-extension-trash-0.2.0_1 Gnome-shell trash indicator
    gnome-shell-extension-weather-0.0.0.20180411_2 Weather extension for the GNOME3 shell
    gnome-shell-extension-windowoverlay-icons-36_1 Show application icons on the windows overview
    gnome-shell-extensions-42.3_2  GNOME desktop shell extensions
    gnome-shell-extra-extensions-3.28_2 Gnome shell extra extensions metaport
    gnome-sound-recorder-42.0_2    GNOME sound recorder application
    gnome-ssh-askpass-6.6p1_1      Graphical SSH askpass utility for Gnome2
    gnome-sudoku-42.0_1            Sudoku game for GNOME
    gnome-system-monitor-42.0_1    GNOME system monitor program
    gnome-terminal-3.44.2_2        Terminal component for the GNOME Desktop
    gnome-tetravex-3.38.2_1        Gnome tetravex
    gnome-text-editor-42.2_4       Small but powerful text editor for the GNOME Desktop Environment
    gnome-themes-2.32.1_2          Collection of themes and icons for GNOME2
    gnome-themes-extra-3.28_4      Standard themes for GNOME
    gnome-todo-41.0_3              Small application to manage your personal tasks
    gnome-tweaks-40.10_2           Allows to tweak some hidden settings in GNOME3
    gnome-user-docs-42.0           GNOME desktop users guide
    gnome-user-share-3.14.0_7      Personal file-sharing service for the GNOME Desktop
    gnome-utils-42,1               GNOME support utilities
    gnome-video-effects-0.5.0      Collection of Gstreamer effects
    gnome-weather-42.0_1           Weather application for GNOME
    gnome_subr-1.0                 Common startup and shutdown subroutines used by GNOME scripts
    guile-gnome-platform-full-2.16.5_9 Guile bindings for Gnome libraries
    guile-gnome-platform-lite-2.16.5_9 Guile bindings for Gnome libraries
    libgnome-games-support-1.8.2_1 Small library intended for internal use by GNOME Games
    libgnome-keyring-3.12.0_2      Program that keeps passwords and other secrets
    libgnomecanvas-2.30.3_7        Graphics library for GNOME
    libgnomecanvasmm-2.26.0_15     C++ wrapper for libgnomecanvas library
    libgnomekbd-3.26.1_1           GNOME keyboard shared library
    libproxy-gnome3-0.4.18         GSettings-based configuration plug-in for libproxy
    pinentry-gnome-1.2.1           GNOME version of the GnuPG password dialog
    polkit-gnome-0.105_3           GNOME frontend to the PolicyKit framework
    qgnomeplatform-0.6.1.8_2       Qt 5 Platform Theme designed to fit into GNOME
    rubygem-gnome-4.2.0            Meta port for gems of Ruby-GNOME project
    gnome-session-42.0_2           Session component for the GNOME desktop
    gnome-settings-daemon-42.2_6   GNOME settings daemon
    gnome-shell-42.4_7             Next generation GNOME desktop shell
    gnome-shell-extension-audio-output-switcher-0.0.0.20171022_2 Gnome-shell audio output switcher
    gnome-shell-extension-coverflow-0.0.0.20180110_2 Lets you Alt-Tab windows in a cover-flow manner
    gnome-shell-extension-dashtodock-65_2 Convert the dash into a dock
    gnome-shell-extension-dashtopanel-v46 Icon taskbar for the Gnome Shell
    gnome-shell-extension-filesmenu-0.0.0.20171125_2 Quickly navigate your file system
    gnome-shell-extension-hidetopbar-0.0.0.20180511_2 Hide the topbar except in overview mode
    gnome-shell-extension-lockkeys-0.0.0.20180511_2 Gnome-shell Numlock and Capslock indicator
    gnome-shell-extension-mediaplayer-4.0_1 MPRIS2 extension for the GNOME3 shell
    gnome-shell-extension-openweather-119 OpenWeather extension for the GNOME3 shell
    gnome-shell-extension-panel-osd-0.0.0.20220406 OSD extension for the GNOME shell
    gnome-shell-extension-recent-items-40_1 Recent items extensions for the GNOME3 shell
    gnome-shell-extension-trash-0.2.0_1 Gnome-shell trash indicator
    gnome-shell-extension-weather-0.0.0.20180411_2 Weather extension for the GNOME3 shell
    gnome-shell-extension-windowoverlay-icons-36_1 Show application icons on the windows overview
    gnome-shell-extensions-42.3_2  GNOME desktop shell extensions
    gnome-shell-extra-extensions-3.28_2 Gnome shell extra extensions metaport
    gnome-sound-recorder-42.0_2    GNOME sound recorder application
    gnome-ssh-askpass-6.6p1_1      Graphical SSH askpass utility for Gnome2
    gnome-sudoku-42.0_1            Sudoku game for GNOME
    gnome-system-monitor-42.0_1    GNOME system monitor program
    gnome-terminal-3.44.2_2        Terminal component for the GNOME Desktop
    gnome-tetravex-3.38.2_1        Gnome tetravex
    gnome-text-editor-42.2_4       Small but powerful text editor for the GNOME Desktop Environment
    gnome-themes-2.32.1_2          Collection of themes and icons for GNOME2
    gnome-themes-extra-3.28_4      Standard themes for GNOME
    gnome-todo-41.0_3              Small application to manage your personal tasks
    gnome-tweaks-40.10_2           Allows to tweak some hidden settings in GNOME3
    gnome-user-docs-42.0           GNOME desktop users guide
    gnome-user-share-3.14.0_7      Personal file-sharing service for the GNOME Desktop
    gnome-utils-42,1               GNOME support utilities
    gnome-video-effects-0.5.0      Collection of Gstreamer effects
    gnome-weather-42.0_1           Weather application for GNOME
    gnome_subr-1.0                 Common startup and shutdown subroutines used by GNOME scripts
    guile-gnome-platform-full-2.16.5_9 Guile bindings for Gnome libraries
    guile-gnome-platform-lite-2.16.5_9 Guile bindings for Gnome libraries
    libgnome-games-support-1.8.2_1 Small library intended for internal use by GNOME Games
    libgnome-keyring-3.12.0_2      Program that keeps passwords and other secrets
    libgnomecanvas-2.30.3_7        Graphics library for GNOME
    libgnomecanvasmm-2.26.0_15     C++ wrapper for libgnomecanvas library
    libgnomekbd-3.26.1_1           GNOME keyboard shared library
    libproxy-gnome3-0.4.18         GSettings-based configuration plug-in for libproxy
    pinentry-gnome-1.2.1           GNOME version of the GnuPG password dialog
    polkit-gnome-0.105_3           GNOME frontend to the PolicyKit framework
    qgnomeplatform-0.6.1.8_2       Qt 5 Platform Theme designed to fit into GNOME
    rubygem-gnome-4.2.0            Meta port for gems of Ruby-GNOME project
    subversion-gnome-keyring-1.14.2 Gnome Keyring integration for Version control system
    xdg-desktop-portal-gnome-43.1  Backend implementation for xdg-desktop-portal for GNOME

     


    votre commentaire
  • Voici les modules disponibles sur le dépôt quarterly pour XFCE

    pkg ins -y gtk-xfce-engine libxfce4menu libxfce4util workrave-xfce xfce xfce-icons-elementary xfce4-appfinder xfce4-appmenu-plugin xfce4-battery-plugin xfce4-bsdcpufreq-plugin xfce4-calculator-plugin xfce4-clipman-plugin xfce4-conf xfce4-cpugraph-plugin xfce4-dashboard xfce4-datetime-plugin xfce4-desktop xfce4-dev-tools xfce4-dict-plugin xfce4-diskperf-plugin xfce4-docklike-plugin xfce4-fsguard-plugin xfce4-generic-slider xfce4-genmon-plugin xfce4-goodies xfce4-mailwatch-plugin xfce4-mixer xfce4-mixer-full xfce4-mount-plugin xfce4-mpc-plugin xfce4-netload-plugin xfce4-notes-plugin xfce4-notifyd xfce4-panel xfce4-panel-profiles xfce4-places-plugin xfce4-power-manager xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter-plugin xfce4-session xfce4-settings xfce4-smartbookmark-plugin xfce4-stopwatch-plugin xfce4-systemload-plugin xfce4-taskmanager xfce4-terminal xfce4-time-out-plugin xfce4-timer-plugin xfce4-tumbler xfce4-verve-plugin xfce4-volumed-pulse xfce4-wavelan-plugin xfce4-weather-plugin xfce4-whiskermenu-plugin xfce4-windowck-plugin xfce4-wm xfce4-wm-themes xfce4-xkb-plugin

     

    gtk-xfce-engine-3.2.0_1        Xfce GTK2 theme engine
    libxfce4menu-4.18.4_1          Widgets library for the Xfce desktop environment
    libxfce4util-4.18.1            Extension library for the Xfce desktop environment
    workrave-xfce-1.10.50_3        RSI prevention tool (xfce flavor)
    xfce-4.18_1                    Meta-port for the Xfce Desktop Environment
    xfce-icons-elementary-0.18     Elementary icons, extended and maintained for Xfce
    xfce4-appfinder-4.18.1_1       Application launcher and finder
    xfce4-appmenu-plugin-0.7.6_2   Application Menu plugin for XFCE panel
    xfce4-battery-plugin-1.1.5_1   Battery monitor panel plugin for Xfce4
    xfce4-bsdcpufreq-plugin-0.3.1_3 Displays the current CPU clock frequency in the panel
    xfce4-calculator-plugin-0.7.2_1 Simple calculator for the Xfce panel
    xfce4-clipman-plugin-1.6.5_1   Clipboard manager for the Xfce panel
    xfce4-conf-4.18.1              D-Bus-based configuration storage system
    xfce4-cpugraph-plugin-1.2.8_1  Graphical representation of the CPU load
    xfce4-dashboard-1.0.0_2        GNOME shell like dashboard for the Xfce desktop
    xfce4-datetime-plugin-0.8.3_2  Datetime panel plugin for the Xfce desktop
    xfce4-desktop-4.18.1_2         Xfce's desktop manager
    xfce4-dev-tools-4.18.0         Xfce development tools
    xfce4-dict-plugin-0.8.5_1      Xfce4 plugin to query different dictionaries
    xfce4-diskperf-plugin-2.7.0_2  Graphical representation of the disk IO
    xfce4-docklike-plugin-0.4.0_2  Modern, minimalist taskbar for Xfce
    xfce4-fsguard-plugin-1.1.3_1   Panel plugin which displays free space of mountpoint
    xfce4-generic-slider-1.0.0_1,1 Slider plugin to adjust and/or monitor any numeric variable
    xfce4-genmon-plugin-4.2.0_1    Generic Monitor Xfce4 panel plugin
    xfce4-goodies-4.18_3           Meta-port for software and artwork from the Xfce4 Goodies Project
    xfce4-mailwatch-plugin-1.3.1_1 Mail notification applet for the Xfce panel
    xfce4-mixer-4.18.1_2           Volume control for the Xfce desktop
    xfce4-mixer-full-4.18.1_2      Volume control for the Xfce desktop
    xfce4-mount-plugin-1.1.6_1     Mount and umount utility for the Xfce4 panel
    xfce4-mpc-plugin-0.5.3_1       Musicpd client plugin for the Xfce panel
    xfce4-netload-plugin-1.4.1_1   Network Load plugin for Xfce4
    xfce4-notes-plugin-1.10.0_1    Notes plugin for the Xfce panel
    xfce4-notifyd-0.9.2_1          Visually-appealing notification daemon for Xfce
    xfce4-panel-4.18.5_1           Xfce's panel
    xfce4-panel-profiles-1.0.14_1  Xfce's panel multiple layouts manager
    xfce4-places-plugin-1.8.3_2    File browser launcher for Xfce4 panel plugin
    xfce4-power-manager-4.18.2_1   Power manager for the Xfce Desktop
    xfce4-pulseaudio-plugin-0.4.8_1 Panel plugin for controlling PulseAudio mixer
    xfce4-screensaver-4.18.2_1     Xfce 4 screen saver and locker
    xfce4-screenshooter-plugin-1.10.4_1 Application and panel plugin to take screenshots
    xfce4-session-4.18.3_2         Xfce's session manager
    xfce4-settings-4.18.3_2        Xfce 4 settings application
    xfce4-smartbookmark-plugin-0.5.2_3 Query search engines from the Xfce panel
    xfce4-stopwatch-plugin-0.5.0_2 XFCE panel plugin to keep track of elapsed time
    xfce4-systemload-plugin-1.3.2_2 System Load plugin for Xfce4 panel
    xfce4-taskmanager-1.5.6        Task manager for the Xfce desktop
    xfce4-terminal-1.1.0_2         Terminal emulator for the X windowing system
    xfce4-time-out-plugin-1.1.3_1  Time out plugin for Xfce
    xfce4-timer-plugin-1.7.2_1     Timer plugin for Xfce
    xfce4-tumbler-4.18.1_4         Thumbnail service for Xfce desktop
    xfce4-verve-plugin-2.0.3_1     Command line plugin for the Xfce Desktop
    xfce4-volumed-pulse-0.2.4_2    Volume management daemon for Xfce using PulseAudio
    xfce4-wavelan-plugin-0.6.3_2   Displays various information about a WaveLAN device
    xfce4-weather-plugin-0.11.1_1  Weather plugin for the Xfce panel
    xfce4-whiskermenu-plugin-2.8.0_1 Alternate menu for the Xfce Desktop
    xfce4-windowck-plugin-0.5.1_2  Puts the maximized window title and windows butto:
    xfce4-wm-4.18.0_2              Xfce's window manager
    xfce4-wm-themes-4.10.0_2       Additional themes for xfwm4
    xfce4-xkb-plugin-0.8.3_2       Keyboard layout switching plugin for the Xfce panel

    votre commentaire
  • Voici les modules disponibles sur le dépôt Quarterly pour KDE

    pkg ins -y freebsd-8k-wallpapers-kde kde-baseapps kde-dev-scripts kde-dev-utils kde-thumbnailer-chm kde-thumbnailer-epubs kde-thumbnailer-fb2 kde5 kde_posterlity kdeaccessibility5 kdeadmin port) kdebugsettings kdeconnect-kde kdeedu kdeedu-data kdegames kdegraphics kdegraphics-mobipocket kdegraphics-svgpart kdegraphics-thumbnailers kdemultimedia kdemultimedia-ffmpegthumbs kdenetwork kdenetwork-filesharing kdenlive kdepim kdepim-addons kdepim-runtimes kdesdk kdesdk-kio kdesdk-thumbnailers kdesvn kdeutils kdev-php kdev-python kdevelop kdevelop-pg-qt kf5-kdeclarative kf5-kded kf5-kdelibs4support kf5-kdesignerplugin kf5-kdesu kf5-kdewebkit libkdegames libkdepim libproxy-kde libsigrokdecode mkdesktop p5-Module-CheckDeps p5-Test-CheckDeps pam_kde plasma5-kde-cli-tools plasma5-kde-gtk-config plasma5-kdecoration plasma5-kdeplasma-addons plasma5-polkit-kde-agent plasma5-xdg-desktop-portal-kde rubygem-aws-sdk-iot1clickdevicesservice wallpapers-freebsd-kde

     

    freebsd-8k-wallpapers-kde-2.1  Collection of simple FreeBSD wallpapers
    kde-baseapps-23.08.1_2         KDE5 baseapps meta port
    kde-dev-scripts-23.08.1        KDE development scripts
    kde-dev-utils-23.08.1          KDE development utilities
    kde-thumbnailer-chm-0.2.1_4    KDE thumbnail generator for CHM files
    kde-thumbnailer-epub-1.1.9.b_4 KDE thumbnail generator for ePub files
    kde-thumbnailer-fb2-0.3.1_4    KDE thumbnail generator for fb2 files
    kde5-5.27.8.23.08.1_2          KDE Plasma Desktop and Applications (current)
    kde_poster-1.0_1               KDE version of the poster utility
    kdeaccessibility-23.08.1_1     Accessibility applications for KDE 5
    kdeadmin-23.08.1_1             KDE Administration applications (meta port)
    kdebugsettings-23.08.1         KDE application to enable/disable qCDebug
    kdeconnect-kde-23.08.1         Support for KDE to interface between your phone and your computer
    kdeedu-23.08.1_1               Entertaining and educational programs for KDE (meta port)
    kdeedu-data-23.08.1            KDE edu data files
    kdegames-23.08.1_1             Games for KDE (meta port)
    kdegraphics-23.08.1_1          Graphics utilities for KDE (meta port)
    kdegraphics-mobipocket-23.08.1 Mobipocket plugins for Strigi indexing and thumbnails
    kdegraphics-svgpart-23.08.1    SVG KPart
    kdegraphics-thumbnailers-23.08.1 Thumbnailers for various graphics file formats
    kdemultimedia-23.08.1_3        KDE Multimedia applications (meta port)
    kdemultimedia-ffmpegthumbs-23.08.1 FFmpeg-based thumbnail generator for video files
    kdenetwork-23.08.1_1           KDE Network applications (meta port)
    kdenetwork-filesharing-23.08.1 KDE Filesharing via Samba
    kdenlive-23.08.1_1             KDE professional quality non-linear video editing suite
    kdepim-23.08.1_2               KDE PIM applications metaport
    kdepim-addons-23.08.1          KDE PIM addons
    kdepim-runtime-23.08.1_1       KDE PIM tools and services
    kdesdk-23.08.1                 KDE Software Development Kit
    kdesdk-kio-23.08.1             KIO workers useful for software development
    kdesdk-thumbnailers-23.08.1    KDE thumbnail generator for gettext po files
    kdesvn-2.1.0_5                 KDE frontend for Subversion
    kdeutils-23.08.1_1             Collection of utilities for KDE
    kdev-php-23.08.1_1             PHP support for KDevelop
    kdev-python-23.08.1            Python support for KDevelop
    kdevelop-23.08.1_1             Plugin extensible IDE for C/C++ and other languages
    kdevelop-pg-qt-2.2.2_1         Parser-generator from KDevplatform
    kf5-kdeclarative-5.110.0       KF5 library providing integration of QML and KDE Frameworks
    kf5-kded-5.110.0               KF5 extensible daemon for providing system level services
    kf5-kdelibs4support-5.110.0    KF5 porting aid from KDELibs4
    kf5-kdesignerplugin-5.110.0_1  KF5 integration of Frameworks widgets in Qt Designer/Creator
    kf5-kdesu-5.110.0_1            KF5 integration with su for elevated privileges
    kf5-kdewebkit-5.110.0          KF5 library providing integration of QtWebKit
    libkdegames-23.08.1            Libraries used by KDE games
    libkdepim-23.08.1              KDE PIM Libraries
    libproxy-kde-0.4.18            KDE plug-in for libproxy
    libsigrokdecode-0.5.3          Framework for hardware logic analyzers, protocol decoders library
    mkdesktop-5.0                  Set up any desktop under FreeBSD with ease
    p5-Module-CheckDeps-0.08_1     Very simple dependencies checker for Perl code
    p5-Test-CheckDeps-0.010_2      Check for presence of dependencies
    pam_kde-1.0                    PAM modules for KDE Display Manager
    plasma5-kde-cli-tools-5.27.8_1 Plasma5 non-interactive system tools
    plasma5-kde-gtk-config-5.27.8_1 Plasma5 GTK2 and GTK3 configurator
    plasma5-kdecoration-5.27.8
    plasma5-kdeplasma-addons-5.27.8_1 Plasma5 addons to improve the Plasma experience
    plasma5-polkit-kde-agent-1-5.27.8 Plasma5 daemon providing a polkit authentication UI
    plasma5-xdg-desktop-portal-kde-5.27.8 Backend implementation for xdg-desktop-portal
    rubygem-aws-sdk-iot1clickdevicesservice-1.46.0 Official AWS Ruby gem for AWS IoT 1-Click Devices Service
    wallpapers-freebsd-kde-1.0_1   

     


    votre commentaire
  • Je prends toujours l'exemple du Q920 parce qu'il s'agît d'une config intel de base.
    Nul doute que vous saurez vous adapter pour d'autres configs (si vous lisez les autres tutos)


    1) Installer FreeBSD avec la version net Boot, de préférence
    N'oubliez pas de créer un utilisateur, de l'ajouter au groupe "wheel", c'est indispensable pour la suite.
    La connexion internet est également indispensable.


    2) Lors du premier démarrage de la machine, loguez-vous en root, puis :
    - Faîtes les MAJ

    echo "nameserver 1.1.1.1" > /etc/resolv.conf
    pkg ins -y
    pkg update && pkg upgrade -y
    freebsd-update fetch # vous appuierez sur "q" pour faire défiler la liste des MAJ
    freebsd-update install
    pkg update && pkg upgrade -y && reboot

    Votre ordinateur redémarre à l'issue.

    3) Installer CINNAMON ainsi qu'une ribambelle de softs
    - Installer le serveur d'affichage xorg et sudo

    pkg install -y xorg sudo

    - Installer les pilotes de carte graphique :

    pkg install -y drm-kmod xf86-video-intel 

    - Installer tout cinnamon :

    pkg install -y cinnamon lightdm lightdm-gtk-greeter

    - Installer des logiciels annexes (certains sont indispensables) :
    (Libreoffice ne se trouve plus que dans le dépôt latest actuellement.. si la commande plante à cause de ça, retirez libreoffice de la liste suivante)

    pkg install -y networkmgr ungoogled-chromium bzip2 zip keepassxc fusefs-exfat fusefs-ntfs nano zip unzip xscreensaver libreoffice wifimgr firefox thunderbird wireshark tor gtk-mixer pidgin qtox nmap tree putty vlc gimp bind-tools rsync emacs handbrake htop btop ffmpeg nomacs filezilla httrack audacity qpdfview git webcamd

    4) Configurer KDE
    - Donner l'autorisation à votre utilisateur (remplacez $user par le nom de votre utilisateur) pour l'affichage de l'environnement de bureau :

    pw groupmod video -m $user
    pw groupmod wheel -m $user

    - Lancez les services installés au démarrage :

    sysrc lightdm_enable=YES dbus_enable=YES hald_enable=YES networkmgr_enable=YES webcamd_enable=YES wifimgr_enable=YES kld_list=i915kms

    - Monter le système de fichiers :

    echo "proc /proc procfs rw 0 0" >> /etc/fstab

    - Lancer KDE juste après l'identification par le display manager sddm :

    echo "exec ck-launch-session cinnamon-session" > /usr/home/$user/.xinitrc

    - Lancez fusefs et cuse au démarrage :

    echo 'fusefs_load="YES"' >> /boot/loader.conf
    echo 'cuse_load="YES"' >> /boot/loader.conf

    - Passez Xorg en Français (pour que le display manager soit en AZERTY)

    echo 'Section "InputClass"' > /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      Identifier  "KeyboardDefaults"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      MatchIsKeyboard "on"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      Option  "XkbLayout" "fr"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo 'EndSection' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf

    5) Redémarrer

    reboot

    votre commentaire
  • Vu que je suis en pleine révision du script global, voici une procédure pour l'installation de KDE 5 sur un Q920.
    Ceux qui s'y connaissent un peu savent que cette procédure est facilement adaptable à toute machine possédant un CPU Intel et une GPU intel (voir le forum pour savoir jusqu'à quelle génération les CPU d'intel sont prises en charge).



    1) Installer FreeBSD avec la version net Boot, de préférence
    N'oubliez pas de créer un utilisateur, de l'ajouter au groupe "wheel", c'est indispensable pour la suite.
    La connexion internet est également indispensable.


    2) Lors du premier démarrage de la machine, loguez-vous en root, puis :
    - Faîtes les MAJ

    echo "nameserver 1.1.1.1" > /etc/resolv.conf
    pkg ins -y
    pkg update && pkg upgrade -y
    freebsd-update fetch # vous appuierez sur "q" pour faire défiler la liste des MAJ
    freebsd-update install
    pkg update && pkg upgrade -y && reboot

    Votre ordinateur redémarre à l'issue.

    3) Installer KDE ainsi qu'une ribambelle de softs
    - Installer le serveur d'affichage xorg et sudo

    pkg install -y xorg sudo

    - Installer les pilotes de carte graphique :

    pkg install -y drm-kmod xf86-video-intel 

    - Installer tout KDE 5 :

    pkg install -y kde5 sddm freebsd-8k-wallpapers-kde kde-baseapps kde-dev-scripts kde-dev-utils kde-thumbnailer-chm kde-thumbnailer-epub kde-thumbnailer-fb2 kde_poster kdeaccessibility kdeadmin kdebugsettings kdeconnect-kde kdegames kdegraphics kdegraphics-thumbnailers kdemultimedia kdemultimedia-ffmpegthumbs kdenetwork kdenetwork-filesharing kdenlive kdeutils libkdegames libkdepim libproxy-kde plasma5-kde-cli-tools plasma5-kde-gtk-config plasma5-kdecoration plasma5-kdeplasma-addons wallpapers-freebsd-kde 

    - Installer des logiciels annexes (certains sont indispensables) :

    pkg install -y networkmgr ungoogled-chromium bzip2 zip keepassxc fusefs-exfat fusefs-ntfs nano zip unzip xscreensaver libreoffice wifimgr firefox thunderbird wireshark tor gtk-mixer pidgin qtox nmap tree putty vlc gimp bind-tools rsync emacs handbrake htop btop ffmpeg nomacs filezilla httrack audacity qpdfview git webcamd

    4) Configurer KDE
    - Augmenter la taille du cache :

    sysctl net.local.stream.recvspace=65536 && sysctl net.local.stream.sendspace=65536

    - Donner l'autorisation à votre utilisateur (remplacez $user par le nom de votre utilisateur) pour l'affichage de l'environnement de bureau :

    pw groupmod video -m $user
    pw groupmod wheel -m $user

    - Lancez les services installés au démarrage :

    sysrc sddm_enable=YES dbus_enable=YES hald_enable=YES networkmgr_enable=YES webcamd_enable=YES wifimgr_enable=YES kld_list=i915kms

    - Monter le système de fichiers :

    echo "proc /proc procfs rw 0 0" >> /etc/fstab

    - Lancer KDE juste après l'identification par le display manager sddm :

    echo "exec ck-launch-session startplasma-x11" > /usr/home/$user/.xinitrc

    - Lancez fusefs et cuse au démarrage :

    echo 'fusefs_load="YES"' >> /boot/loader.conf
    echo 'cuse_load="YES"' >> /boot/loader.conf

    - Passez Xorg en Français (pour que le display manager soit en AZERTY)

    echo 'Section "InputClass"' > /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      Identifier  "KeyboardDefaults"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      MatchIsKeyboard "on"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo '      Option  "XkbLayout" "fr"' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf
    echo 'EndSection' >> /usr/local/etc/X11/xorg.conf.d/keyboard-fr.conf

    5) Redémarrer

    reboot

    Lors de l'affichage du display manager. Cliquez sur Autres pour entrer un nom d'utilisateur ainsi qu'un mot de passe, puis cliquez en bas sur "Desktop Session" pour changer Wayland en "Plasma (X11)".. PLANTAGE GARANTI AUTREMENT !!


    votre commentaire
  • Un serveur de logs va centraliser les logs de toutes les machines du réseau.
    Il va réceptionner les logs envoyés par toutes les machines.


    Nous allons mettre en place un tel serveur ainsi que montrer la configuration de base d'un client (qui enverra ses logs au serveur)
    Je ne détaille pas ici la configuration réseau des machines, elle est déjà faîte.
    Voir les articles consacrés en cas de besoin.


    Nous avons 2 zones réseau :

    - un LAN (10.10.10.0/24)
         * : 10.10.10.1     : passerelle

         * : 10.10.10.10   : un client windows 11 pro
         * : 10.10.10.200 : un serveur de supervision Nagios-XI   
         * : 10.10.10.210 : un serveur Linux FreeBSD 13.2 qui sera notre serveur de logs Rsyslog
    - une DMZ (10.10.11.0/30)
         * : 10.10.11.1     : passerelle

         * : 10.10.11.2     : un serveur web sous debian avec Wordpress installé dessus

    Installer un serveur de logs (Rsyslog)

     

    Configuration du serveur Rsyslog

    1) Changer le hostname (le hostname par défaut de ma VM est "freebsd", je vais le changer pour "RSYSLOG")
    - Passez en root :

    su -

    - Changez le hostname

    sed -i '' 's/^hostname=.*$/hostname="RSYSLOG"/' /etc/rc.conf
    echo "RSYSLOG" > /etc/hostname

    - redémarrez

    reboot

    2) Installez et configurez rsyslog (toujours en root)

    pkg update
    pkg ins -y rsyslog
    sysrc syslogd_enable=NO

     

    sysrc rsyslogd_enable=YES

    - Configurez rsyslog afin que les flux passent uniquement en UDP, sur le port par défaut (514) et qu'il n'autorise que les machines sur nos réseaux à lui envoyer des logs.
    (faîtes un copier/coller des commandes suivantes)

    echo '#############################################' >> /usr/local/etc/rsyslog.conf
    echo '# CONFIGURATION SERVEUR' >> /usr/local/etc/rsyslog.conf
    echo 'module(load="imudp")' >> /usr/local/etc/rsyslog.conf
    echo 'input(type="imudp" port="514")' >> /usr/local/etc/rsyslog.conf
    echo '$AllowedSender UDP, 127.0.0.1/24, 10.10.10.0/24, 10.10.11.0/30' >> /usr/local/etc/rsyslog.conf

    - Nous allons à présent faire en sorte que les logs de chaque client arrivent dans un dossier nominatif et distinct :
    (sous la forme /var/log/rsyslogclients/HOSTNAMECLIENT-IPCLIENT/rsyslog.log)

    echo '$template DynamicFile,"/var/log/rsyslogclients/%source%-%fromhost-ip%/rsyslog.log"' >> /usr/local/etc/rsyslog.conf
    echo '*.* ?DynamicFile' >> /usr/local/etc/rsyslog.conf

    - Créer le dossier de logs pour les clients :

    mkdir /var/log/rsyslogclients

    - Redémarrer le serveur (car syslogd est toujours actif et va poser problème)

    reboot

    - Vérifiez si tout s'est bien passé

    service rsyslog status
    sockstat -4l | grep 514

    (le service doit être lancé et le port 514 doit apparaître)

     

    Configuration d'un client (Debian WORDPRESS)

    1) Changer le hostname (le hostname par défaut de ma VM est "debian", je vais le changer pour "WORDPRESS")
    - Passez en root :

    su -

    - Changez le hostname

    sed -i 's/debian/WORDPRESS/' /etc/hosts
    sed -i 's/debian/WORDPRESS/' /etc/hostname

    - redémarrez

    reboot

    2) Installez et configurez rsyslog (toujours en root)

    apt update
    apt install rsyslog -y
    systemctl enable rsyslog

    - Configurer le rôle de client (afin que notre WORDPRESS renvoie ses logs à RSYSLOG)
    (faîtes un copier/coller des commandes suivantes)

    echo '#############################################' >> /etc/rsyslog.conf
    echo '# CONFIGURATION CLIENT' >> /etc/rsyslog.conf
    echo 'auth,authpriv.* @10.10.10.210' >> /etc/rsyslog.conf

    - Démarrez le service

    systemctl start rsyslog

     
    Vous devriez voir les logs de votre client WORDPRESS remonter sur le serveur RSYSLOG, dans le dossier /var/log/rsyslogclients/


    votre commentaire
  • Nous souhaitons mettre à disposition un volume réseau (via iSCSI) depuis un serveur FreeBSD 13.2

    Avant tout, je vous recommande la lecture de la documentation FreeBSD sur le sujet : (allez en bas)
    Chapter 32. Network Servers | FreeBSD Documentation Portal

    1) Ajouter des supports de stockage au serveur
    (ajoutez des disques, même capacité.. mettons 50Go chacun)
    Nous allons les mettre en raidz2, donc il faut 4 disques.

    2) Démarrer le serveur FreeBSD
    Vérifier que les disques sont bien connectés :

    camcontrol devlist

    (dans notre exemple, da1-4 sont nos disques)

    3) Créer le pool zfs :

    su -
    zpool create storage raidz2 da1 da2 da3 da4

    4) Créer le zvol :
    (84Go est le maximum pour un raidz2 de 4 disques de 50Go.. c'est pas compliqué, si vous tapez trop haut, vous aurez un message d'erreur !)

    zfs create -V 84g  storage/iscsi

    5) Changer le mode de vol :

    echo 'vfs.zfs.vol.mode="2"' >> /boot/loader.conf

    6) Configurer la(les) cible(s) :

    vi /etc/ctl.conf
    # D'abord, on définit 2 groupes d'authentification.
    # - (ag0) : permettra aux initiateurs de pouvoir se connecter au portail
    # - (ag1) : permettra aux initiateurs de se connecter aux cibles du portail
    # Nous utiliserons chap. Les mots de passes doivent faire 12 caractères min.

    auth-group ag0 {
    chap portailaccess "P@ssw0rd64,1412"
    }

    # sur Windows, il est commun d'entrer "l'adresse" de l'initiateur en tant qu'utilisateur
    # mais rien de vous empêche de mettre autre chose.. genre connecttarget1

    auth-group ag1 {
    chap connecttarget1 "AbR6Ertyuiop,"
    chap connecttarget2 "EcP22,49xMvnz"
    }

    # Ensuite, nous allons définir le portail, en précisant que seuls les membres d'ag0 peuvent se connecter
    # Nous allons également restreindre les connections sur une seule interface de notre serveur freebsd.

    portal-group pg0 {
    discovery-auth-group ag0
    listen 10.10.10.11
    }

    # A présent, nous allons définir nos cibles ISCSI.
    # On définit habituellement une cible pour chaque initiateur même si le LUN est le même
    # (... mais vous pouvez ne pas respecter ce principe)
    # Le LUN est le volume zfs (zvol) que nous avons créé plus haut
    # Attention à ne pas faire n'importe quoi avec l'adresse des cibles.
    # Remplacez "truc", "domaine" et "vm" uniquement, le reste est standard ! target iqn.2012-06.truc.domaine.vm:target1 { auth-group ag1 portal-group pg0 lun 0 { path /dev/zvol/storage/iscsi # size 50g # vous n'êtes pas obligés de fixer la taille } } target iqn.2012-06.truc.domaine.vm:target2 { auth-group ag1 portal-group pg0 lun 0 { path /dev/zvol/storage/iscsi # size 50g # vous n'êtes pas obligés de fixer la taille } }

    7) Permettre le lancement de ctld au démarrage :

    sysrc ctld_enable=YES

    8) Démarrer votre cible

    service ctld start

    Si vous décidez d'effectuer des modifications ultérieures dans la configuration (/etc/ctl.conf), ne relancez surtout pas le service ctld, rechargez simplement sa configuration :

    service ctld reload

    9) Vous pouvez à présent vous connecter à vos initiateurs et ... initier !
    - Si vous utilisez des serveurs windows en tant qu'initiateurs, vous devez lancer l'initiateur iSCSI, aller dans l'onglet "Découverte", "Découvrir un portail...", Entrez l'IP du serveur FreeBSD (10.10.10.11) puis cliquer sur "Avancé", cocher "Activer l'ouverture de session CHAP" et entrer les identifiants pour l'utilisateur portailaccess)
    - Puis, de retour sur l'onglet "Cibles", vos cibles sont apparues. Pour vous connecter à l'une d'elles, sélectionner la cible voulue, cliquer sur "Connexion".. et rebelotte avec "Avancé", en mettant cette fois-ci l'identifiant connecttarget correspondant.


    votre commentaire
  • Openfire est un excellent serveur XMPP, permettant de mettre en place des messageries, tchats, salons de discussion, échanges de fichiers etc..

    Il est relativement simple à installer et à configurer (même s'il faut y passer un peu de temps pour bien tout comprendre car la console est très riche de réglages en tous genres. Vous pouvez y joindre du SIP, de la VoIP etc...).

    A savoir : entre les logiciels clients "Conversations" (sur android), la visio et les appels fonctionnent parfaitement à l'issue de cette configuration.

    Dans ce tuto, je vous montre comment procéder pour déployer Openfire sur FreeBSD 13.2, créer un utilisateur, créer un salon de discussion, ya inclure des membres et ajouter quelques règles, permettre le transfert de fichiers entre utilisateurs (en https) et administrer a minima.

    Plutôt que d'utiliser Discord, faîtes le vous-même avec Openfire !

    1) Mettre en place les redirections de ports DNAT sur votre box ou pare-feu

    - Si l'objectif est de mettre à disposition une messagerie/salons accessibles depuis internet, alors il faut mettre en place une redirection de ports sur la box ou le pare-feu du réseau hébergeant le serveur openfire (avec ou sans masquarade, proxy etc... à vous de voir), pensez également à la certification SSL dans ce cas (ou pas, à vous de voir). Openfire s'autosigne par défaut.
    - Si vous souhaitez rester sur votre réseau interne, alors passez directement à 2)


    Voici les ports à DNATer :
    WAN Address:5222 -> IP-SRV-OPENFIRE:5222
    WAN Address:5223 -> IP-SRV-OPENFIRE:5223
    WAN Address:7443 -> IP-SRV-OPENFIRE:7443
    WAN Address:9091 -> IP-SRV-OPENFIRE:9091

    Vous pouvez, bien entendu, modifier les sockets. Il faudra juste que vous pensiez aux clients que vous utiliserez, certains ne sont pas très tolérants aux changements de ces ports par défaut :-S.

    2) Ouvrir les ports sur le pare-feu de votre serveur FreeBSD.

    Je ne vais pas rentrer dans les détails car tout dépend du pare-feu utilisé... Mais vous devez ouvrir les mêmes ports que sur votre pare-feu/box.

    3) Procéder à l'installation d'Openfire 

    su -
    pkg ins -y openfire
    sysrc openfire_enable=YES
    service openfire start

    A présent, connectez-vous directement depuis votre serveur (ou depuis une machine dans le LAN) en ouvrant votre navigateur Web et en tentant de joindre : http://IP-OPENFIRE:9090


    4) Premiers pas sur la console Web :

    Tout d'abord, par défaut, Openfire ouvre 2 ports pour permettre de se connecter à la console : le 9090 en http (pour une connexion directe depuis le serveur FreeBSD avec environnement de bureau (ou via un tunnel SSH pour du Core) et le 9091 en https (bon, pour une raison que j'ignore, pour l'instant j'arrive pas à faire fonctionner celui-ci...), pour se connecter à distance (raison pour laquelle je vous propose de DNATer ce port au début)

    Une fois la console Web ouverte pour la première fois, il faut initialiser Openfire :
    - Langue : Français

    - XMPP Domain Name : le hostname de votre serveur (si votre messagerie n'est pas prévue pour être accessible en dehors du réseau) ou votre domaine (si votre messagerie est prévue pour être accessible en dehors du réseau) !
    Si vous êtes derrière une box avec adressage IP dynamique, faîtes un tour du côté de noip.com ! (dans ce cas, c'est le hostname créé sur noip qu'il faut indiquer ici)

    - Server Host Name (FQDN) : idem question précédente !
    - Admin Console Port : 9090
    - Secure Admin Console Port : 9091
    - Property Encryption via : Blowfish (pour rester simple...)

    Paramètres de base de données :
    - Embedded Database (à moins que vous ne comptiez mettre en place une messagerie pour 2000 personnes... prenez la base de données embarquées... elle est largement suffisante).

    Paramètres Profils :
    - Par Défault

    Administrator Account :
    - Admin Email Address : l'email de l'administrateur ou admin@example.com pour tester

    - New Password : UN TRUC COSTAUD !!! SURTOUT SI VOUS COMPTEZ ADMINISTRER DEPUIS INTERNET.

    L'initialisation est terminée, vous pouvez à présent vous loguer pour accéder à l'interface d'administration.

    ATTENTION DE CHEZ ATTENTION !!
    Si sur windows serveur vous n'aurez pas de problème alors que votre hostname (le nom de votre serveur, configuré dans sysdm.cpl) est différent du "XMPP Domain Name" et du "Server Host Name (FQDN)" que vous renseignez sur la console web d'Openfire, ce n'est pas le cas sur FreeBSD !!
    Votre serveur doit porter le nom du "Server Host Name (FQDN)" que vous renseignez sur la console OpenFire... autrement, les transferts de fichiers ne fonctionneront tout simplement pas ! C'est logique, mais il vaut mieux le préciser !! Parce que les logs n'indiquent aucune erreur !! Vos clients ne pourront tout simplement pas récupérer les fichiers https !

    Rappel pour changer le hostname d'un serveur freebsd :
    vi /etc/hostname
    et également dans le /etc/rc.conf
    Puis on reboot !

    4bis) Le magasin SSL
    Il y a un problème à régler avec SSL. Le magasin des certificats pour les clients n'est pas créé lors de l'installation sur FreeBSD. Nous devons régler ce problème, sans quoi aucun client ne pourra se connecter au serveur :

    cp /usr/local/etc/openfire/truststore /usr/local/etc/openfire/client.truststore
    chown openfire:openfire /usr/local/etc/openfire/client.truststore
    service openfire restart

    5) Empêcher les connexions des utilisateurs non chiffrées 

    Une fois sur la console d'administration, vous pouvez voir les différents ports et les services par défaut offerts par Openfire. Mais la première des choses à faire, c'est d'empêcher les utilisateurs de se connecter au serveur en clair.
    Suivez le chemin :
    - Serveur -> Paramètres du Serveur -> Client Connections Settings -> Plain-text -wih STARTTLS) connections -> Advanced configuration 
                   -> STARTTLS Policy : Required
                   -> Encryption Protocols : + SSL v3
    (Ne pas oublier de sauvegarder les paramètres en bas de la page)


    6) Empêcher les utilisateurs de pouvoir créer leur propre compte sur le serveur et de modifier le mot de passe à leur guise

    Personnellement, je ne permets pas ce genre de comportement. Trop dangereux.

    Suivez le chemin :
    - Serveur -> Paramètres du Serveur -> Inscription & Authentification
                   -> Inband Account Registration : Disabled
                   -> Change Password : Disabled
    (Ne pas oublier de sauvegarder les paramètres en bas de la page)

    7) Installer des plugins pour enrichir les fonctionnalités de notre serveur Openfire

    Suivez le chemin :
    Plugins -> Available Plugins
    Ajoutez les plugins que vous voulez. Je vous en mets quelques uns de très utiles :
    - Bookmarks
    - HTTP File Upload (pour échanger des fichiers via SSL.. Juste fondamental)
    - Monitoring Service
    - Packet Filter
    - Rdp

    8) Créez vos utilisateurs :

    Vous avez la possibilité de connecter un annuaire LDAP ou de faire à la main. A vous de voir.
    A la main, c'est simple :
    - Utilisateurs/Groupes -> Créer un nouvel utilisateur

    9) Créer un salon de discussion et y ajouter des membres :

    - Salon de discussion -> Créer un nouveau Salon de Discussion :
         ID du salon : c'est son adresse ! Exemple : linux@conference.VOTRE-DOMAINE.TRUC
         Nom du Salon : Salon Linux
    De manière générale, il vaut mieux cocher "Rendre le salon réservé aux membres uniquement"
    Laisser le reste par défaut, sauvegarder les modifications.

    Pour ajouter des membres au salon :
    - Salon de discussion -> Administration de Salon de Discussion, Cliquer sur le salon créé
         -> Permissions Utilisateur, Sélectionner "Membre" au lieu de "Propriétaire dans le menu déroulant, puis ajouter vos utilisateurs !


    9) Configurez vos clients .

    - Sur un poste client windows, SPARK existe toujours et semble connaître une nouvelle jeunesse.
    C'est également un projet d'ignite realtime (comme openfire).
    Pour configurer Spark, installez-le en version 64-bit.

    Pour le configurer :
    lorsque vous lancez l'application pour la première fois, entrez le nom d'un des utilisateurs créé sur le serveur Openfire, son domaine (ou à défaut sn hostname), son mot de passe, puis cliquez sur "Advanced". 
    Dans l'onglet Security, Encryption mode : Required + Utiliser l'ancienne méthode SSL

    - Sur FreeBSD : pidgin, psi etc...

    - Sur Android : Conversations (ou d'autres... car il y en a plusieurs, et certaines sont gratuites).
    Vous allez rapidement trouver comment configurer un compte.
    Adresse XMPP : user@hostname-ou-domaine
    La connexion au serveur peut prendre quelques instants, pas de panique.
    Pour rejoindre un salon, c'est "rejoindre un canal public.


    votre commentaire
  • Je remets à jour l'article.
    Puisque depuis la compilation des paquets vers la 13.2, Virtualbox peut de nouveau être installé très facilement

    Vous pouvez utiliser le script global-freebsd pour installer virtualbox ou faire l'installation manuellement :
    (je vous suggère de le faire via SSH dans ce cas.. pour n'avoir à faire que des copiers/collers !)

     - Passer en root :

    su -

    - Pour l'installation de VirtualBox, je mets tout en blocs pour aller plus vite.
    Faîtes des copiers/collers !

    pkg ins -y virtualbox-ose ; pkg ins -y virtualbox-ose-additions
    sysrc vboxguest_enable=YES vboxservice_enable=YES vboxnet_enable=YES
    echo 'vboxdrv_load="YES"' >> /boot/loader.conf ; echo "[system=10]" >> /etc/devfs.rules ; echo "add path 'usb/*' mode 0660 group operator" >> /etc/devfs.rules ; sysrc devfs_system_ruleset="system"

    - Veuillez remplacer $user par le nom de l'utilisateur de VirtualBox (un utilisateur système que vous avez créé lors de l'installation de FreeBSD.. sur le blog c'est toujours marcel) dans les 2 commandes suivantes :

    pw groupmod vboxusers -m $user 
    pw groupmod operator -m $user

    Derniers petits réglages relatifs aux accès aux CD, cartes réseaux en ponts etc..
    (copier/coller) :

    sysrc hald_enable=YES ; echo "perm cd* 0660" >> /etc/devfs.conf ; echo "perm xpt0 0660" >> /etc/devfs.conf ; echo "perm pass* 0660" >> /etc/devfs.conf ; chown root:vboxusers /dev/vboxnetctl ; chmod 0660 /dev/vboxnetctl ; echo 'own vboxnetctl root:vboxusers' >> /etc/devfs.conf ; echo 'perm vboxnetctl 0660' >> /etc/devfs.conf

    - Redémarrez votre système :

    reboot

    votre commentaire
  • Avec ZFS, pas compliqué de faire des snapshots des VM !

    - On passe en root d'abord

    su -

    - On crée un espace de stockage pour notre VM (une VM Windows pour changer) :

    zfs create zroot/WIN10PRON

    - On génère un support de stockage (je préfère cette méthode à celle sur le manuel FreeBSD).

    truncate -s 52G /zroot/WIN10PRON/storage_s1

    - On s'occupe du réseau (on veut brancher la VM en pont) :

    sysctl net.link.tap.up_on_open=1

    # Créer un pont (switch) et brancher la WAN du serveur dessus
    ifconfig bridge0 create
    ifconfig bridge0 addm em0

    # Créer une carte réseau pour notre VM, et la brancher aussi sur le pont
    ifconfig tap1 create
    ifconfig tap1 up
    ifconfig bridge0 addm tap1
    ifconfig bridge0 up

    - On se rappelle où on a collé notre ISO Windows (/usr/home/marcel/Bureau/W....iso)
    - On se rappelle où on a collé notre ISO du driver virtio (sinon Windows n'aura pas accès à internet).
    - On récupère l'IP du serveur :

    ifconfig em0

    (ici c'est 192.168.1.76)

    - On choisit un port VNC : le 6010 par exemple
    - On installe les firmware

    pkg ins -y bhyve-firmware

    - On lance la VM :

    bhyve -c 2 -m 4G -w -H -s 0,hostbridge -s 3,ahci-cd,"/usr/home/marcel/Bureau/Win10_22H2_French_x64.iso" -s 4,ahci-cd,"/usr/home/marcel/Bureau/virtio-win-0.1.229.iso" -s 5,nvme,/zroot/WIN10PRON/storage_s1 -s 6,virtio-net,tap1 -s 10,fbuf,vga=off,rfb=192.168.1.76:6010,w=1200,h=800,wait -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd CLIENT

    - On lance tigervnc-viewer ou TightVNC sur une autre machine sur le réseau, et on tappe 192.168.1.76:6010... et c'est parti !

    (il faudra relancer la VM 2 fois pour finir l'installation de Windows, puis installer le driver virtio pour que la carte réseau apparaisse). A la suite de ça, on pourra enlever les 2 sockets d'ISO de la commande, ainsi que la directive ",wait"

     

    Pour faire un snapshot (qui portera le nom de la VM, la date et l'heure)

    zfs snapshot zroot/WIN10PRON@WIN10PRON_DATE_HEURE

    Pour rétablir un snapshot :

    zfs rollback -r zroot/WIN10PRON@WIN10PRON_DATE_HEURE

     Attention, vous devrez redémarrer votre VM après le rétablissement d'un snapshot !

     

    Pour supprimer la VM :

    zfs destroy -r zroot/WIN10PRON

     


    votre commentaire
  • NomadBSD, c'est FreeBSD tout en un !
    C'est FreeBSD avec le travail de recherche des drivers en moins !

    Vous pluggez la clef, et il détecte et ajuste tout seul ce qui est nécessaire en fonction de votre matériel... Un peu le Saint-Graal pour du testing de matériel sur BSD.

    Parfois il faut beaucoup de temps pour faire fonctionner une machine (autre que pour un usage serveur, entendons-nous bien) sur FreeBSD... Avec NomadBSD vous êtes fixés, si ça ne démarre pas sur un environnement de bureau, si le touchpad ne fonctionne pas, si le wifi ne fonctionne pas... vous savez qu'il y aura peu de chances que vous y parveniez vous-mêmes.
    (En gros, ce sera compliqué de faire fonctionner ces éléments)

    Ce qui est super avec NomadBSD, c'est que vous pouvez personnaliser votre installation PUIS la déployer sur le vrai matériel !!
    Une fois votre clef prête, vous pouvez installer ce que vous avez fait dessus, sur votre poste !

    2 ou 3 petites choses à savoir :

    1) Il s'agît de FreeBSD 13.1 pour l'instant. Mais nous allons voir comment l'upgrader en 13.2 à la fin... puisque ça fonctionne très bien sur 13.2

    Il faut faire les MAJ impérativement lorsqu'on démarre notre clef pour la première fois :
    - Ouvrir Sakura (le terminal), passez en root :

    sudo su -

    - Faire les MAJ système

    freebsd-update fetch

    tappez q pour quitter l'affichage de tous les trucs à mettre à jour et récupérer votre shell... puis faîtes les MAJ :

    freebsd-update install

    - Enfin, faîtes les MAJ des logiciels :

    pkg upgrade

    2) Le Bureau sur OpenBox.
    Déjà, on aime openbox, ou on aime pas.. Libre à vous d'en changer après installation.
    Mais il y a un truc vraiment insupportable : il n'y a pas de "bureau" sur openbox... Pas d'icônes qui s'affichent, rien.
    Le contenu de votre dossier Bureau ne s'affiche pas !

    Pour y remédier, il faut activer pcmanfs --desktop au démarrage.

    Cliquez sur l'icône NomadBSD en haut à gauche, Réglages, AutoStart Settings
    Cliquez sur New et remplissez comme ci-dessous :

    Préparer une clef NomadBSD

    Cliquez sur OK, puis sur Sauvegarder... et redémarrez.

    3) Evidemment, installez toutes les applications FreeBSD comme vous en avez l'habitude, puisque c'est FreeBSD en-dessous !

    Que du bonheur !!

    4) Upgrader vers FreeBSD 13.2 :

    freebsd-update -r 13.2-RELEASE upgrade

    Puis

    /usr/sbin/freebsd-update install

    autant de fois que demandé !

    Puis redémarrez lorsque le shell vous rend enfin la main.

    reboot

    votre commentaire
  • La réplication des labos est quelque chose d'assez pénible.
    Soit on fonctionne avec un labo .ova de type virtualbox/vmware que l'on file par clef USB ou par le réseau au stagiaire, afin qu'il puisse l'importer sur sa machine et faire son TP..
    Soit on fonctionne avec un gros serveur de virtualisation, auquel les stagiaires se connectent pour travailler.


    Dans ce second cas, bhyve peut être très utile. Il est en effet très rapide de dupliquer et d'adapter un labo.
    Je dévoile ici une façon de procéder.

    Tout d'abord, on dispose d'un serveur de virtualisation sous FreeBSD 13.2.
    Bhyve est installé par défaut, mais pas les firmwares nécessaires.. Donc on oublie pas de les installer :

    Passez en root :

    pkg ins -y bhyve-firmware


    Ensuite, on créée une arborescence de rangement :

    mkdir /VIRTU

    /VIRTU sera la base.

    mkdir /VIRTU/ISO

    /VIRTU/ISO contiendra les ISO de nos futures VM

    mkdir /VIRTU/VM

    /VIRTU/VM contiendra les VM déjà prêtes qu'il nous suffira ensuite de cloner pour aller plus vite.

    Je ne m'attarde pas sur la création d'une VM avec bhyve, il y a un article pour cela.

    Je considère donc que disposez désormais d'un stock de VM dans /VIRTU/VM, prêtes à l'emploi avant de continuer.

    Vous décidez de créer un permier labo de machines virtuelles

    mkdir /VIRTU/LABOTEST

    Vous y placez 5 VM, vous les préparez, DNATez le rdp des machines windows du labo pour envoyer le fichier à vos stagiaires et qu'il puisse bosser confortablement etc...

    Je vous propose de vous organiser ainsi :
    Dans le dossier /VIRTU/LABOTEST, vous placez 2 fichiers :
    - un fichier reseau.sh, script basique permettant de recréer le réseau nécessaire à votre Labo :
    Voici sous quelle forme je vous propose de l'écrire :

    #!/bin/sh

    # Création du réseau pour le labo

    sysctl net.link.tap.up_on_open=1

    ifconfig bridge10 create
    ifconfig bridge10 addm ue0
    ifconfig tap10 create
    ifconfig tap10 up
    ifconfig bridge10 addm tap10
    sleep 3
    ifconfig bridge10 up
    sleep 5

    ifconfig bridge11 create
    ifconfig tap11 create
    ifconfig tap11 up
    ifconfig tap12 create
    ifconfig tap12 up
    ifconfig tap13 create
    ifconfig tap13 up
    ifconfig tap14 create
    ifconfig tap14 up
    ifconfig tap15 create
    ifconfig tap15 up
    ifconfig tap16 create
    ifconfig tap16 up
    ifconfig bridge11 addm tap11 addm tap12 addm tap13 addm tap14 addm tap15 addm tap16
    sleep 3
    ifconfig bridge11 up
    sleep 5

    exit 0

    Dans ce script, vous pourrez voir que j'ai créé 2 ponts.
    Un qui va servir de "commutateur" externe (bridge10), et qui permettra à une VM ayant la carte tap0 d'accéder au réseau local et d'être éventuellement servie par un DHCP (genre une box internet). Je m'en sers habituellement pour la carte WAN des pare-feux des labos.
    L'autre, bridge11, qui servira de LAN pour les VM du labo.

    Aussi étrange que cela puisse paraître les temps d'attente entre certaines commandes se révelent nécessaires si vous ne voulez pas à avoir à remonter les bridge, constatant que les cartes ne communiquent pas.
    J'ai obtenu quelques ratés sans ces attentes.


    - un fichier LABO.txt qui contient les instructions nécessaires au lancement des VM. (il suffira de faire un copier/coller des commandes pour lancer une VM)

    ##############################################################################
    # LANCEMENT RAPIDE :

    # PAREFEU
    bhyve -c 1 -m 2G -w -H -s 0,hostbridge -s 4,nvme,"/VIRTU/LABOTEST/PAREFEU/storage_s1" -s 5,virtio-net,tap10 -s 6,virtio-net,tap11 -s 10,fbuf,vga=off,rfb=192.168.1.153:7001,w=800,h=600 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd PAREFEU

    # SRVWIN2022
    bhyve -c 2 -m 4G -w -H -s 0,hostbridge -s 5,nvme,/VIRTU/LABOTEST/SRVWIN2022/storage_s1 -s 6,nvme,/VIRTU/LABOTEST/SRVWIN2022/storage_s2 -s 7,virtio-net,tap12 -s 10,fbuf,vga=off,rfb=192.168.1.153:7002,w=1600,h=900 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd SRVWIN2022

    # CLIENTWIN :
    bhyve -c 2 -m 4G -w -H -s 0,hostbridge -s 5,nvme,/VIRTU/LABOTEST/CLIENTWIN/storage_s1 -s 6,virtio-net,tap13 -s 10,fbuf,vga=off,rfb=192.168.1.153:7003,w=1600,h=900 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd WINDOWS11PRO

    # LX01 :
    bhyve -c 1 -m 2G -w -H -s 0,hostbridge -s 4,nvme,/VIRTU/LABOTEST/LX01/storage_s1 -s 5,virtio-net,tap14 -s 10,fbuf,vga=off,rfb=192.168.1.153:7004,w=800,h=600 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd LX01

    # LX02 :
    bhyve -c 1 -m 2G -w -H -s 0,hostbridge -s 4,nvme,/VIRTU/LABOTEST/LX02/storage_s1 -s 5,virtio-net,tap15 -s 10,fbuf,vga=off,rfb=192.168.1.153:7005,w=800,h=600 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd LX02

    # FREEPBX :
    bhyve -c 2 -m 4G -w -H -s 0,hostbridge -s 4,nvme,/VIRTU/LABOTEST/FREEPBX/storage_s1 -s 5,virtio-net,tap16 -s 10,fbuf,vga=off,rfb=192.168.1.153:7006,w=800,h=600 -s 30,xhci,tablet -s 31,lpc -l com1,stdio -l bootrom,/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd FREEPBX

     

    Une fois votre travail de préparation du labo terminé, l'heure est venue de répliquer le labo...
    Vous avez 15 stagiaires.. Impossible de tout faire à la main, ce serait trop long.

    Je vous propose donc le script suivant, qui, à partir du nom de votre LABO, va le répliquer autant de fois que voulu, tout en prenant soin de changer les interfaces tap et les ponts pour que les différents labos soient hermétiques.

    Ce script créera également, dans le dossier "LABOTEST" d'origine, 2 fichiers :
    - reseau_replication.sh, contenant toutes les tap et bridge nécessaires pour recréer le réseau de tous les labos en un éclair.
    - labo_replication.txt, contenant toutes les commandes pour démarrer toutes les VM de tous les labos répliqués.

    #!/bin/sh

    clear
    echo "---------------------------------------------------------------------"
    echo "# Bienvenue dans ce script de réplication de Labos de VMs Bhyve #"
    echo "---------------------------------------------------------------------"
    printf "\n"

    sleep 1

    echo "---------------------------------------------------------------------"
    echo "# Veuillez m'indiquer le nom du LABO à répliquer"
    echo " (/VIRTU/?)"
    read labname
    printf "\n"

    echo "---------------------------------------------------------------------"
    echo "# Combien de réplication(s) voulez-vous ?"
    read labnumber
    printf "\n"

    echo "---------------------------------------------------------------------"
    echo "# La réplication commence, patience..."

    i=1
    j=2

    # Faire une copie du labo d'origine
    cp -r "/VIRTU/$labname" "/VIRTU/24567tmp"

    # Mettre le labo d'origine en forme pour qu'il soit traîté par la boucle
    mv "/VIRTU/$labname" "/VIRTU/$labname-$i"

    while [ "$i" -lt "$labnumber" ]; do

    cp -r "/VIRTU/$labname-$i" "/VIRTU/$labname-$j"

    ## Création du script réseau pour le labo $i
    # Récupération des tap
    firsttapnumber=`grep -Eo tap[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq | sed -n 1p`
    firstbridgenumber=`grep -Eo bridge[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq | sed -n 1p`
    lasttapnumber=`grep -Eo tap[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq | sort -r | sed -n 1p`
    lastbridgenumber=`grep -Eo bridge[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq | sort -r | sed -n 1p`

    # Récupérer l'écart entre la tap la plus basse et la plus haute
    ecarttap=$((lasttapnumber-firsttapnumber))
    ecartbridge=$((lastbridgenumber-firstbridgenumber))

    # Augmenter l'écart d'un point.. Nous commencerons donc les tap et bridge du futur labo 2 numéros au dessus de la valeur la plus haute pour laisser de la marge
    tapincrement=$((ecarttap+2))
    bridgeincrement=$((ecartbridge+2))

    # Récupérer toutes les tap du fichier reseau.sh
    tapxreseaunumber=`grep -Eo tap[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq`
    bridgexreseaunumber=`grep -Eo bridge[0-9]{1,3} "/VIRTU/$labname-$i/reseau.sh" | grep -Eo [0-9]{1,3} | sort | uniq`

    # Echanger les anciennes tap§bridge avec les nouvelles dans les réplications
    for carte in $tapxreseaunumber
    do
    ntapnumber=$((carte+tapincrement))
    sed -i "" "s/tap$carte/tap$ntapnumber/" "/VIRTU/$labname-$j/reseau.sh"
    sed -i "" "s/tap$carte/tap$ntapnumber/" "/VIRTU/$labname-$j/LABO.txt"
    done


    for pont in $bridgexreseaunumber
    do
    nbridgenumber=$((pont+bridgeincrement))
    sed -i "" "s/bridge$pont/bridge$nbridgenumber/" "/VIRTU/$labname-$j/reseau.sh"
    sed -i "" "s/bridge$pont/bridge$nbridgenumber/" "/VIRTU/$labname-$j/LABO.txt"
    done

    # Cas particulier : dernier labo :
    antelast=$((labnumber-1))
    if [ "$i" -eq "$antelast" ]; then
    sed -i "" "s/\/$labname\//\/$labname-$j\//" "/VIRTU/$labname-$j/LABO.txt"
    sed -i "" "s/\/$labname\//\/$labname-$j\//" "/VIRTU/$labname-$j/LABO.txt"
    sed -i "" "s/\/$labname\//\/$labname-$j\//" "/VIRTU/$labname-$j/LABO.txt"
    fi

    # Changement du chemin des VM dans le fichier LABO.txt
    sed -i "" "s/\/$labname\//\/$labname-$i\//" "/VIRTU/$labname-$i/LABO.txt"
    sed -i "" "s/\/$labname\//\/$labname-$i\//" "/VIRTU/$labname-$i/LABO.txt"
    sed -i "" "s/\/$labname\//\/$labname-$i\//" "/VIRTU/$labname-$i/LABO.txt"


    i=$((i+1))
    j=$((j+1))


    done

    i=1

    mv "/VIRTU/24567tmp" "/VIRTU/${labname}"

    while [ "$i" -le "$labnumber" ]; do
    cat "/VIRTU/${labname}-$i/LABO.txt" >> "/VIRTU/${labname}/LABO_replication.txt"
    cat "/VIRTU/${labname}-$i/reseau.sh" >> "/VIRTU/${labname}/reseau_replication.sh"
    i=$((i+1))
    done

    chown -R marcel:marcel /VIRTU


    clear
    echo "---------------------------------------------------------------------"
    echo " La réplication est terminée"
    printf "\n"
    sleep 1

    exit 0


    Bon courage !

     


    votre commentaire
  • Il est tout à fait possible de monter un bucket STORJ sur FreeBSD grâce à rclone browser (qui possède en outre, une interface graphique ! - pour ceux qui ne veulent pas trop de commandes)

    Pour cela, vous devez :

    1) Avoir créé un projet et un bucket sur Storj (voir l'article).
    2) Avoir créé un accès CLI :

    Souvenez-vous d'une chose importante avec Storj : 2 accès à un même bucket ne permettent pas de récupérer les fichiers créés grâce à l'un ou l'autre !! Chaque accès est unique. Il est impossible de récupérer les datas avec 2 accès différents (même s'ils pointent vers le même bucket).


    Donc réfléchissez avant de commencer à charger vos données.

    Pour créer l'accès CLI :
    Connectez-vous à votre compte Storj sur storj.io.
    Rentrez sur votre projet également puis allez dans Acces

    Connecter un bucket STORJ à FreeBSD grâce à rclone browser

    Connecter un bucket STORJ à FreeBSD grâce à rclone browser

    Connecter un bucket STORJ à FreeBSD grâce à rclone browser

    Configurez ensuite le bucket pour lequel vous souhaitez créer un accès.
    Vous devrez stocker méticuleusement l'API et le Satellite Address qui vous seront données.
    Ils seront indispensables pour configurer rclone browser

    Une fois fait, on passe à la suite !


    3) Installer rclone-browser
    - Passez en root

    su -

    - Installez rclone-browser

    pkg ins -y rclone-browser

    4) Configurer rclone-browser
    - Redevenez votre utilisateur
    - Lancez rclone-browser (l'application est facile à trouver si vous avez un environnement de bureau, sinon, tappez rclone-browser sur un terminal pour lancer l'appli GUI).
    - Cliquez sur Config (un terminal va s'ouvrir)

    Connecter un bucket STORJ à FreeBSD grâce à rclone browser

    Vous n'avez pas encore configuré de connection distante, donc il faut en configurer une :

    Connecter un bucket STORJ à FreeBSD grâce à rclone browser

    (Je continue en CLI plutôt qu'en captures d'écran !)
    Je vous suggère d'entrer le même nom que celui de l'accès que vous avez créé sur storj.io.

    Enter name for new remote.
    name> NOM-CHOISI

    Choisissez Storj (numéro 41)

    39 / SSH/SFTP
    \ (sftp)
    40 / Sia Decentralized Cloud
    \ (sia)
    41 / Storj Decentralized Cloud Storage
    \ (storj)
    42 / Sugarsync
    \ (sugarsync)
    43 / Transparently chunk/split large files
    \ (chunker)
    44 / Union merges the contents of several upstream fs
    \ (union)
    45 / Uptobox
    \ (uptobox)
    46 / WebDAV
    \ (webdav)
    47 / Yandex Disk
    \ (yandex)
    48 / Zoho
    \ (zoho)
    49 / premiumize.me
    \ (premiumizeme)
    50 / seafile
    \ (seafile)
    Storage> 41

    Puisque c'est la première fois que vous configurez rclone, vous devez créer un nouvel accès à partir de la clef API que vous avez obtenue précedemment :

    Option provider.
    Choose an authentication method.
    Choose a number from below, or type in your own string value.
    Press Enter for the default (existing).
    1 / Use an existing access grant.
    \ (existing)
    2 / Create a new access grant from satellite address, API key, and passphrase.
    \ (new)
    provider> 2

    Regardez à présent la fin de votre Satellite Address (après l'@... vous aurez la réponse à ce que vous devez choisir à présent :

    Option satellite_address.
    Satellite address.
    Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
    Choose a number from below, or type in your own string value.
    Press Enter for the default (us1.storj.io).
    1 / US1
    \ (us1.storj.io)
    2 / EU1
    \ (eu1.storj.io)
    3 / AP1
    \ (ap1.storj.io)
    satellite_address> 2

    Copiez à présent la clef API comme demandé

    Option api_key.
    API key.
    Enter a value. Press Enter to leave empty.
    api_key> eZZEzebnemvknaemk234sdvsngn24YH etc...

    Le logiciel va alors vous afficher la Satellite Address tout seul. Vous pouvez comparer qu'il s'agît bien de la votre.

    On vous demande ensuite une passphrase... Faîtes ce que vous voulez !


    Une fois votre configuration terminée, quittez (q).. Votre accès va apparaître sur l'application rclone-browser (vous pouvez rafraîchir la page).
    Double-cliquez et un explorateur de fichiers s'ouvre dans ce navigateur.

    Une petite chose à savoir encore. Vous pouvez "monter" un volume sur votre serveur MAIS ce n'est pas possible en tant qu'utilisateur normal à cause de mount fs.. Il faut être root !

    Une solution consiste à refaire cette configuration de rclone-browser, mais en ayant lancé l'application avec sudo !
    Reconfigurez alors votre connexion distante, puis vous pourrez monter votre volume distant n'importe où sur votre serveur FreeBSD... Par contre, vous ne pourrez y accéder qu'en CLI.. c'est impossible avec un environnement de bureau.

    rclone-browser vous permet également de "synchroniser" des dossiers sur votre volume Storj... bien pratique !


    votre commentaire
  • Vous disposez d'un disque en .vhdx et vous souhaitez pouvoir faire tourner votre VM Hyper-V sur Virtualbox.

    Passez en root :

    su -

    Rendez-vous à l'emplacement du disque vhdx

    cd /chemin/jusqu'au/vhdx/

    Convertissez le disque : (remplacez les noms des disques par les vôtres !)

    vboxmanage clonemedium disk DISQUE.vhdx DISQUE.vdi

    Attribuer la propriété du nouveau DISQUE.vdi à votre utilisateur habituel

    chown MARCEL:MARCEL DISQUE.vdi


    Lancez VirtualBox, créez une nouvelle VM, choisissez bien son type en fonction de la VM Hyper-V (si c'est Windows, choisissez le type windows !), puis au moment de créer le disque, importez votre nouveau disque.

     


    votre commentaire
  • La commande "locate" (qui s'installe) créée une base de données (un index... en termes windosiens) qui vous permettra ensuite de recherche des fichiers de façon récursive, beaucoup plus rapidement qu'avec find !

    La commande est installée par défaut sur FreeBSD...

    On passe en root :

    su -

    Si vous vous en servez pour la première fois, alors il faut lancer l'indexation de la totalité des fichiers avant de pouvoir se servir de la commande :

    /etc/periodic/weekly/310.locate

    Et maintenant on peut commencer à chercher !

    locate .conf

    ... vous sortira la liste de tous les fichiers .conf présents !


    Voir

    man locate

    pour obtenir plus d'informations sur les options disponibles !


    Vous pouvez automatiser la ré-indexation une fois par semaine en tappant :

    sysrc weekly_locate_enable="YES"

     

     

     


    votre commentaire
  • Voici les réglages du BIOS/UEFI pour l'ordinateur portable Dell 7720 (17 pouces)

    I.     General
              i.     Boot Sequence :                                o Legacy
              ii.    Advanced Boot Options :                   V Enable Legacy Option ROMs
                                                                               V Enable Attempt Legacy Boot
    II.    System Configuration 
              i.     Integrated NIC :                                 o Enabled (X Enable UEFI Network Stack)
              ii.    Parallel Port :                                     o PS2
              iii.   Serial Port :                                        o COM1
              iv.   Sata Operation :                                 o AHCI
              v.    Drives :                                               TOUS
              vi.   SMART Reporting :                            X Enable SMART Reporting (ne pas cocher)
              vii.  USB Configuration :                           V Enable USB boot Support
                                                                               V Enable External USB Port
              viii.  Dell Type-C Dock :                            V Always Allow Dell Docks
              xix.  ThunderBolt Adapter Configuration : V Enable ThunderBolt Technology Support
                                                                                o Security Level - User Authorization
              x.     USB Powersahre :                             V Enable USB Powershare
              xi.    Audio                                                  V Enable Audio
                                                                                V Enable Microphone
                                                                                V Enable Internal Speaker
              xii.  Unobtrusive Mode :                            X Enable Unobtrusive Mode (ne pas cocher)
              xiii. Miscellaneous Devices :                     V Enable Camera
                                                                                V Enable Secure Digital (SD) card
                                                                                V Enable Hard Driver Free Fail Protection

    III.  Video
              i.     Switchable Graphics :                         X Enable Switchable Graphics (ne rien cocher)

    IV.  Security
              i.     UEFI Capsule Firmware Updates :     X Enable Switchable Graphics (ne pas cocher)
              ii.    TPM 2.0 Security :                              X TPM On (ne pas cocher)
              iii.   Computrace :                                      o Deactivate
              iv.   CPU XD Support :                              V Enable CPU XD Support
              v.    OROM Keyboard Access                   V Enabled
              vi.   SMM Security Mitigation                    X SMM Security Mitigation (ne pas cocher)

    V.     Secure Boot
              i.     Secure Boot Enable :                         o Disabled
              ii.    Expert Key Management                    X Enable Custom Mode (ne pas cocher)
                                                                                o PK

                           


    votre commentaire


    Suivre le flux RSS des articles de cette rubrique
    Suivre le flux RSS des commentaires de cette rubrique