Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [11/04/2019 22:44] gonzoleri [Utilisation] |
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [06/06/2019 21:06] gonzoleri [Utilisation] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | **Installation de GuixSD 0.16 en Dual Boot avec Debian Testing(/Sid)** | ||
- | |||
(Chez moi, l'ordinateur utilisé est un portable "**Packard Bell EasyNote TE** "Intel Celeron B830. Intel Graphics Media Accelerator (GMA) HD Graphics) | (Chez moi, l'ordinateur utilisé est un portable "**Packard Bell EasyNote TE** "Intel Celeron B830. Intel Graphics Media Accelerator (GMA) HD Graphics) | ||
+ | {{ https://www.hubert-lombard.website/vignettes/guix-logo-redimensionne.png |}} | ||
<note tip>** Téléchargement de GNU Guix Software Distribution :** | <note tip>** Téléchargement de GNU Guix Software Distribution :** | ||
**[[https://www.gnu.org/software/guix/download/]]**</note> | **[[https://www.gnu.org/software/guix/download/]]**</note> | ||
- | {{ https://www.hubert-lombard.website/vignettes/guix-logo-redimensionne.png |}} | ||
**Copie de l'image sur une clé USB** | **Copie de l'image sur une clé USB** | ||
Ligne 36: | Ligne 34: | ||
<code user>$ xz -d guixsd-install-0.16.0.x86_64-linux.iso.xz</code> | <code user>$ xz -d guixsd-install-0.16.0.x86_64-linux.iso.xz</code> | ||
- | 2. Insérer un DVD vierge dans votre machine et déterminer son nom de péripérique. Si le nom du périphérique DVD est connu comme /dev/srX, copier l'image avec: | + | 2. Insérer un DVD vierge et déterminer son nom de périphérique. Si le nom du périphérique DVD est connu comme /dev/srX, copier l'image avec: |
<code root># growisofs -dvd-compat -Z /dev/srX=guixsd-install-0.16.0.x86_64-linux.iso</code> | <code root># growisofs -dvd-compat -Z /dev/srX=guixsd-install-0.16.0.x86_64-linux.iso</code> | ||
Sources : | Sources : | ||
**[[https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.html#Preparing-for-Installation]]** | **[[https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.html#Preparing-for-Installation]]** | ||
- | <note important>Il est **hautement recommandé** de télécharger et graver **Supergrub2disk** (ou bien de le copier sur une clé USB), spécialement dans ces circonstances d'une installation en dual-boot avec Debian Testing/Sid. | + | <note tip>Il est **hautement recommandé** de télécharger et graver **Supergrub2disk** (ou bien de le copier sur une clé USB), spécialement dans ces circonstances d'une installation en dual-boot avec Debian Testing/Sid. |
Cela peut réellement vous aider... Moi, les 2 fois où j'en ai eu besoin, il m'a servi avec succès. | Cela peut réellement vous aider... Moi, les 2 fois où j'en ai eu besoin, il m'a servi avec succès. | ||
Ligne 59: | Ligne 57: | ||
**[[https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.html#Networking]]** | **[[https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.html#Networking]]** | ||
- | <note important>Certaines cartes wifi nécessitent l'utilisation d'un firmware non libre : pour un **[[utilisateurs:gonzoleri:tutos:installation-configuration-de-guixsd|autre ordinateur portable]]**, j'ai dû commander un adaptateur USB sans fil **Technoethical N150 Mini** pour GNU/Linux-libre à l'adresse : | + | <note important>Certaines cartes wifi nécessitent l'utilisation d'un firmware non libre : pour un **[[utilisateurs:gonzoleri:tutos:installation-configuration-de-guixsd|autre ordinateur portable]]**, j'avais dû commander un adaptateur USB sans fil **Technoethical N150 Mini** pour GNU/Linux-libre à l'adresse : |
**[[https://tehnoetic.com/adapters/tehnoetic-wireless-adapter-gnu-linux-libre-tet-n150]]**</note> | **[[https://tehnoetic.com/adapters/tehnoetic-wireless-adapter-gnu-linux-libre-tet-n150]]**</note> | ||
Ligne 129: | Ligne 127: | ||
;; gnome-shell | ;; gnome-shell | ||
- | (use-modules (gnu) (gnu system nss)) ; Le fichier est en langage sheme. Après quelque temps | + | (use-modules (gnu) (gnu system nss)) ; Le fichier est en langage scheme. Après quelque temps |
(use-service-modules desktop networking ssh) ; d'utilisation, sa pratique est plus aisée. | (use-service-modules desktop networking ssh) ; d'utilisation, sa pratique est plus aisée. | ||
(use-package-modules bootloaders certs gnome screen ssh) ; Module 'bootloaders' indispensable pour le Dual-boot. | (use-package-modules bootloaders certs gnome screen ssh) ; Module 'bootloaders' indispensable pour le Dual-boot. | ||
Ligne 174: | Ligne 172: | ||
%base-packages)) | %base-packages)) | ||
- | ;; Add GNOME and/or Xfce---we can choose at the log-in | + | ;; **Edit** 19-04-2019 : 'gnome-desktop-service est déprécié depuis quelques jours. |
- | ;; screen with F1. | + | ;; Cela devrait marcher si vous remplacez (gnome-desktop-service) par (service gnome-desktop-service-type) |
- | (services (cons* (gnome-desktop-service) | + | (services (cons* (service gnome-desktop-service-type) ;; Testé, c'est bon. |
- | (console-keymap-service "fr") | + | %desktop-services)) ;; 'console-keymap-service' est déprécié lui aussi |
- | %desktop-services)) | + | |
;; Allow resolution of '.local' host names with mDNS. | ;; Allow resolution of '.local' host names with mDNS. | ||
Ligne 187: | Ligne 184: | ||
Une fois la préparation du fichier de configuration terminée, le nouveau système doit être initialisé (rappelez-vous que le système de fichiers racine cible est monté sur **/mnt**) : | Une fois la préparation du fichier de configuration terminée, le nouveau système doit être initialisé (rappelez-vous que le système de fichiers racine cible est monté sur **/mnt**) : | ||
<code root># guix system init /mnt/etc/config.scm /mnt</code> | <code root># guix system init /mnt/etc/config.scm /mnt</code> | ||
- | Ceci copie tous les fichiers nécessaires et installe GRUB sur /dev/sda, à moins que vous ne passiez l’option **–no-bootloader** . | + | Ceci copie tous les fichiers nécessaires et installe GRUB sur /dev/sda (à moins que vous ne passiez l’option //–no-bootloader// m( . |
Cette commande peut déclencher des téléchargements ou des versions des packages manquants, ce qui peut prendre un certain temps. | Cette commande peut déclencher des téléchargements ou des versions des packages manquants, ce qui peut prendre un certain temps. | ||
Ligne 199: | Ligne 196: | ||
Et voilà ;-) | Et voilà ;-) | ||
{{ https://www.hubert-lombard.website/vignettes/ecran-Choix-Linux-Libre-ou-debian.jpg |}} | {{ https://www.hubert-lombard.website/vignettes/ecran-Choix-Linux-Libre-ou-debian.jpg |}} | ||
- | |||
===== Utilisation ===== | ===== Utilisation ===== | ||
**Ctrl-Alt-F2** pour basculer en console. | **Ctrl-Alt-F2** pour basculer en console. | ||
Ligne 226: | Ligne 222: | ||
**Clavier AZERTY** | **Clavier AZERTY** | ||
- | En console, le compte root dispose du clavier azerty. Quant à ma session GNOME, elle était toujours en QWERTY, j'ai dû configurer (graphiquement) "Tous les paramètres" / "Région et langue", où j'ai ajouté Langue "Français" et dans "Sources d'entrée": "Français (alt.)". | + | En console, le compte root dispose du clavier azerty. Quant-à ma session GNOME, elle était encore en QWERTY, j'ai dû configurer (graphiquement) "Tous les paramètres" / "Région et langue", où j'ai ajouté Langue "Français" et dans "Sources d'entrée": "Français (alt.)". |
Il ne me restait plus qu'à choisir "fr" dans la barre Gnome-Shell du bureau et le clavier est devenu AZERTY. | Il ne me restait plus qu'à choisir "fr" dans la barre Gnome-Shell du bureau et le clavier est devenu AZERTY. | ||
Ligne 255: | Ligne 251: | ||
<code root># reboot</code> | <code root># reboot</code> | ||
- | |||
- | **Maintenance** | ||
- | J'ai lancé les 2 commandes suivantes : | ||
- | <code user>$ export PATH="$HOME/.config/guix/current/bin:$PATH"</code> | ||
- | <code user>$ export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"</code> | ||
- | Source : | ||
- | |||
- | **[[https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html#Invoking-guix-pull]]** | ||
**Installation de logiciels** | **Installation de logiciels** | ||
+ | |||
+ | Avec GuixSD, les installations de logiciels peuvent se faire depuis le compte user. | ||
+ | |||
+ | Pour ce qui est de **//vim//**, j'ai préféré l'installer depuis le compte root. | ||
<code root># guix package -i vim</code> | <code root># guix package -i vim</code> | ||
Ligne 273: | Ligne 265: | ||
(markdown convertit un ficher texte en un fichier html en une seule ligne de commande). | (markdown convertit un ficher texte en un fichier html en une seule ligne de commande). | ||
- | <code user>$ guix package -i vlc</code> | + | <code user>$ guix package -i ungoogled-chromium</code> |
+ | |||
+ | <code user>$ guix package -i mpv</code> | ||
+ | |||
+ | **mpv** est un fork de mplayer. Légereté et fluidité à l'utilisation. | ||
**Désinstallation de logiciels** | **Désinstallation de logiciels** | ||
Ligne 279: | Ligne 275: | ||
Exemples : | Exemples : | ||
- | <code root># guix gc -d vim</code> | + | <code root># guix package -r vim</code> |
- | Avoir la garantie que 5 Go vont rester disponibles : | + | <code user>$ guix package -r vlc</code> |
- | <code>guix gc -F 5G</code> | + | **SSH** |
- | Pour automatiser le gain de place, on peut avoir recours à **mcron** avec l'insertion des lignes suivantes dans le fichier de configuration système : | + | J'ai mis mon accès ssh pour ovh dans un signet **Fichiers** (//anciennement// Nautilus) et ça fonctionne. |
- | <code root># vim /etc/config.scm</code> | + | **MULTIMEDIA** |
- | <file scheme /etc/config.scm (En haut)> | + | Téléchargement d'une vidéo : |
- | (use-modules (gnu) (gnu system nss) (guix) (gnu services mcron)) ; heu... Là, à la fin je sais plus s'il faut 2 ou 3 parenth | + | |
- | (use-service-modules desktop networking ssh) | + | |
- | (use-package-modules bootloaders certs gnome screen ssh base idutils) | + | |
- | </file> | + | |
- | <file scheme Extrait à rajouter dans /etc/config.scm)**> | + | <code user>$ youtube-dl https://www.youtube.com/watch?v=j7sTHoeH0eA</code> |
- | (define updatedb-job | + | |
- | ;; Run 'updatedb' at 20AM every day. Here we write the | + | |
- | ;; job's action as a Scheme procedure. | + | |
- | #~(job '(next-hour '(20)) | + | |
- | (lambda () | + | |
- | (execl (string-append #$findutils "/bin/updatedb") | + | |
- | "updatedb" | + | |
- | "--prunepaths=/tmp /var/tmp /gnu/store")))) | + | |
- | (define garbage-collector-job | + | Lecture d'une vidéo en streaming : |
- | ;; Collect garbage 5 minutes after 17 o'clock every day. | + | |
- | ;; The job's action is a shell command. | + | |
- | #~(job "5 17 * * *" ;Vixie cron syntax | + | |
- | "guix gc -F 5G")) | + | |
- | (define idutils-job | + | <code user>$ youtube-viewer https://www.youtube.com/watch?v=OSWKw15rCoI</code> |
- | ;; Update the index database as user "hubert" at 12:15PM | + | |
- | ;; and 19:15PM. This runs from the user's home directory. | + | |
- | #~(job '(next-minute-from (next-hour '(12 19)) '(15)) | + | |
- | (string-append #$idutils "/bin/mkid src") | + | |
- | #:user "hubert")) | + | |
- | (operating-system | + | <code user>$ mpv https://www.youtube.com/watch?v=-mfladpK0AA</code> |
- | ;; … | + | |
- | (services (cons (mcron-service (list garbage-collector-job | + | |
- | updatedb-job | + | |
- | idutils-job)) | + | |
- | %base-services))) | + | |
- | </file> | + | |
- | Valider la configuration par : | ||
- | <code root># guix system reconfigure /etc/config.scm</code> | + | Conversion d'un fichier .mkv (ou .webm... etc.) en **.mp4** : |
- | <code root># reboot</code> | + | <code user>$ ffmpeg -i film-a-convertir.mkv -ab 128k -ac 2 -vcodec libx264 notre-produit-final.mp4</code> |
- | Plus d'informations : **[[https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-gc.html#Invoking-guix-gc]]** | + | Lecture avec : |
+ | <code user>$ mpv notre-produit-final.mp4</code> | ||
+ | **MACHINE ViRTUELLE** | ||
+ | L'exemple ci-dessous crée une machine virtuelle dans laquelle le répertoire de base de l'utilisateur est accessible en lecture seule et où le répertoire /exchange est un mappage en lecture écriture de $HOME/tmp sur l'hôte : | ||
- | **SSH** | + | <code user>guix system vm my-config.scm \ |
+ | --expose=$HOME --share=$HOME/tmp=/exchange</code> | ||
+ | |||
+ | **IMAGE DISQUE** | ||
+ | |||
+ | Lors de l'utilisation d'une image disque, une image disque brute est produite. Elle peut être copiée telle quelle sur une clé USB, par exemple. En supposant que /dev/sdc soit le périphérique correspondant a une clé USB, vous pouvez y copier l image à l aide de la commande suivante : | ||
+ | |||
+ | <code root># dd if=$(guix system disk-image my-os.scm) of=/dev/sdc</code> | ||
+ | |||
+ | |||
+ | **Maintenance** | ||
+ | |||
+ | J'ai lancé les 2 commandes suivantes : | ||
+ | |||
+ | <code user>$ export PATH="$HOME/.config/guix/current/bin:$PATH"</code> | ||
+ | <code user>$ export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"</code> | ||
+ | |||
+ | Source : | ||
+ | |||
+ | **[[https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html#Invoking-guix-pull]]** | ||
+ | |||
+ | Avoir la garantie que 5 Go vont rester disponibles. Cette commande peut être lancée régulièrement : | ||
+ | |||
+ | <code user>guix gc -F 5G</code> | ||
+ | |||
+ | Suppression des générations vieilles de plus d'un mois : | ||
+ | |||
+ | <code user>$ guix package --delete-generations=1m</code> | ||
+ | |||
+ | Une fois que ceci a été fait, une manière radicale de gagner davantage de place consiste à supprimer les fichiers inutiles en lançant le garbage collector (ramasse-miettes) sans arguments. | ||
+ | <note important>Dans ce cas, pour que la procédure puisse arriver à son terme, des reconstructions et téléchargements ultérieurs pourront être nécessaires (**//guix pull//** suivi de **//guix package -u//** seront toujours capables de s'en occuper en cas de besoin). <note tip>Il existe d'autres manières de faire plus pratiques, mais je ne les maîtrise pas pour l'instant... | ||
+ | <code user>$ man guix gc</code></note></note> | ||
- | J'ai mis mon accès ssh pour ovh dans un signet **nautilus** et ça fonctionne. | + | <code user>$ guix gc --collect-garbage |
+ | .................................................................... | ||
+ | deleting `/gnu/store/trash' | ||
+ | deleting unused links... | ||
+ | note: currently hard linking saves 8874.56 MiB | ||
+ | guix gc: 5043,55469 Mo libérés*</code> | ||
- | Ce système me donne toujours autant satisfaction malgré sa jeune existence, les quelques trucs manquants étant amplement comblés par une pratique quotidienne enrichissante. J'espère avoir le temps de donner ici d'autres exemples d'utilisation et de maintenance. | + | Ce système me donne toujours autant satisfaction malgré sa jeune existence, les quelques trucs manquants étant amplement comblés par une pratique quotidienne des plus enrichissantes. J'espère avoir le temps de donner ici d'autres exemples d'utilisation et de maintenance. |
{{ https://www.hubert-lombard.website/vignettes/GnuLinuxHurd-250x199.png |}} | {{ https://www.hubert-lombard.website/vignettes/GnuLinuxHurd-250x199.png |}} |