Logo carnetderootxzz@carnetderoot.net"La simplicité est la sophistication suprême" - Léonard De Vinci
mercredi 05 avril 2023

:: Cheatsheet FreeBSD ::

Mise à jour

Mise à jour système

# freebsd-update fetch
# freebsd-update install

Mise à jour paquets

# pkg update
# pkg upgrade [-y]

Gestion des paquets pré-compilés

Recherche

$ pkg search neovim

Installation

# pkg install [-y] neovim

Téléchargement (sans installation)

$ sudo pkg fetch -y -d -o /usr/home/xzz/packages/ neovim

Options :

  • -d : téléchargement des dépendances
  • -o : répertoire cible
  • -y : sans confirmation

Téléchargement (sans installation) dans le répertoire cache par défaut

Par défaut pkg utilise le répertoire cache définit par la variable PKG_CACHEDIR du fichier /usr/local/etc/dpkg.conf (défaut /var/cache/pkg).

Installation d'un paquet téléchargé

$ sudo pkg install /usr/home/xzz/packages/All/neovim-0.8.2.pkg

Suppression de paquets

$ sudo pkg delete neovim

Suppression automatique des paquets inutilisés

$ sudo pkg autoremove

Note : relancer la commande plusieurs fois si nécessaire jusqu'à obtenir un résultat similaire au retour ci-dessous.

Checking integrity... done (0 conflicting)
Nothing to do.

Informations sur les paquets installés

Liste de tous les paquets installés

$ pkg info

Liste des paquets explicitement installés

$ pkg prime-list

Avec le repository d'origine :

$ pkg prime-origins

Informations sur un paquet

$ pkg info neovim
neovim-0.8.2
Name           : neovim
Version        : 0.8.2
[...]

Déterminer quel package a installé un fichier

$ pkg which /usr/local/bin/perl

Auditer les paquets installés

$ pkg audit -F
vulnxml file up-to-date
0 problem(s) in 0 installed package(s) found.

Option :

  • -F : met à jour la base avant de vérifier

Nettoyage du cache

Cette commande permet de ne garder que la dernière version des paquets en cache.

# pkg clean

Pour vider intégralement le cache :

# pkg clean -a

Gestion des utilisateurs

Ajout d'un nouvel utilisateur

# pw useradd -n xzz -c "Xzz" -s /bin/sh -m -w random

Options :

  • -n : Utilisateur
  • -c : Commentaire
  • -s : Emplacement du shell
  • -m : Création du répertoire personnel
  • -w : Mode de génération du mot de passe

Suppression d'un utilisateur et de son répertoire personnel

# pw userdel -n xzz -r

Option :

  • -r : Suppression du répertoire utilisateur

Ajout d'un utilisateur au groupe wheel

# pw groupmod wheel -m xzz

Références


dimanche 26 mars 2023

:: Alacritty ::

Lors de la connexion à un système distant depuis un terminal Alacritty, par exemple via SSH, il peut arriver que le système n'ait pas d'entrée pour Alacritty dans sa base de données terminfo/termcap. Par conséquent, toutes les fonctionnalités du terminal interactif ne fonctionnent pas. Pour résoudre ce problème, appliquer les instructions ci-dessous en fonction du cas rencontré (terminfo ou termcap).

Terminfo

Génération du fichier terminfo et copie sur l'hôte distant

$ infocmp > alacritty.terminfo
$ scp alacritty.terminfo user@remotehost:~/

Mise en place sur l'hôte distant et nettoyage

$ ssh user@remotehost
$ tic -x ~/alacritty.terminfo
$ rm ~/alacritty.terminfo

Termcap

Génération du fichier termcap et copie sur l'hôte distant

$ infocmp -Cr > alacritty.termcap
$ scp alacritty.termcap root@remotehost:~/

Mise en place sur l'hôte distant

$ ssh root@remotehost
# cat ~/alacritty.termcap >> /usr/share/misc/termcap

Note : si nécessaire éditer le fichier termcap et déplacer le bloc "END OF TERMCAP" à la fin.

Génération de la base termcap et nettoyage

# cap_mkdb /usr/share/misc/termcap
# rm ~/alacritty.termcap