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 [10/07/2019 21:19] gonzoleri [Utilisation] |
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [22/07/2019 19:01] gonzoleri [Utilisation] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Installation en Dual Boot | * Objet : Installation en Dual Boot | ||
- | * Niveau requis :{{tag>avisé}} | + | * Niveau requis :{{tag>avisé}} L'installation de **Guix System 1.0.1** ne devrait pas être très différente à effectuer (non testé). |
* Commentaires : [[https://www.gnu.org/software/guix/manual/html_node/GNU-Free-Documentation-License.html]] | * Commentaires : [[https://www.gnu.org/software/guix/manual/html_node/GNU-Free-Documentation-License.html]] | ||
* Débutant, à savoir : [[https://www.gnu.org/software/guix/manual/fr/guix.fr.html]] :-) | * Débutant, à savoir : [[https://www.gnu.org/software/guix/manual/fr/guix.fr.html]] :-) | ||
Ligne 106: | Ligne 106: | ||
<code root># mkswap /dev/sda5</code> | <code root># mkswap /dev/sda5</code> | ||
<code root># swapon /dev/sda5</code> | <code root># swapon /dev/sda5</code> | ||
- | **Procédons à l'installation** | + | ====C'est parti !==== |
Avec les partitions cibles prêtes et la racine cible montée sur /mnt, on est bon. Premièrement : | Avec les partitions cibles prêtes et la racine cible montée sur /mnt, on est bon. Premièrement : | ||
<code root># herd start cow-store /mnt</code> | <code root># herd start cow-store /mnt</code> | ||
Ligne 118: | Ligne 118: | ||
<code root># touch /etc/configuration/perso.scm</code> | <code root># touch /etc/configuration/perso.scm</code> | ||
<note tip>Sinon vous pouvez éditer un fichier existant déjà dans **///etc/configuration//** (par exemple, “**desktop.scm**” ou “**bare-bones.scm**” et le modifier à votre guise).</note> | <note tip>Sinon vous pouvez éditer un fichier existant déjà dans **///etc/configuration//** (par exemple, “**desktop.scm**” ou “**bare-bones.scm**” et le modifier à votre guise).</note> | ||
+ | ====Configuration en cours d'installation==== | ||
Pour adapter la configuration de l'ordinateur à mes besoins, j'ai utilisé **vi** , ne connaissant que celui-ci. | Pour adapter la configuration de l'ordinateur à mes besoins, j'ai utilisé **vi** , ne connaissant que celui-ci. | ||
Nano et Zile sont toutefois disponibles. | Nano et Zile sont toutefois disponibles. | ||
Ligne 134: | Ligne 134: | ||
(host-name "gnu") | (host-name "gnu") | ||
(timezone "Europe/Paris") | (timezone "Europe/Paris") | ||
- | (locale "en_US.utf8") | + | (locale "fr_FR.utf8") |
;; Assuming /dev/sda is the target hard disk, and "my-root" is | ;; Assuming /dev/sda is the target hard disk, and "my-root" is | ||
Ligne 175: | Ligne 175: | ||
;; Cela devrait marcher si vous remplacez (gnome-desktop-service) par (service gnome-desktop-service-type) | ;; Cela devrait marcher si vous remplacez (gnome-desktop-service) par (service gnome-desktop-service-type) | ||
(services (cons* (service gnome-desktop-service-type) ;; Testé, c'est bon. | (services (cons* (service gnome-desktop-service-type) ;; Testé, c'est bon. | ||
- | %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 227: | Ligne 227: | ||
- | **Mises à jour** | + | ====Mises à jour==== |
(A faire 3 ou 4 fois par mois) | (A faire 3 ou 4 fois par mois) | ||
Ligne 251: | Ligne 251: | ||
<code root># reboot</code> | <code root># reboot</code> | ||
- | <note important>**Remarque :** Lors d'une mise-à-jour, la commande **guix package -u** effectue l'opération intégralement. Par exemple, chez moi le paquetage //webkitgtk// met très longtemps à se construire sous forme de dérivation. Idem pour //ungoogled-chromium//. Pour gagner du temps, j'ai employé la commande suivante : | + | <note tip>**Remarque :** Lors d'une mise-à-jour, la commande **guix package -u** effectue l'opération intégralement. Par exemple, chez moi le paquetage //webkitgtk// met très longtemps à se construire sous forme de dérivation. Idem pour //ungoogled-chromium//. Pour gagner du temps, j'ai employé la commande suivante : |
<code user>$ guix package --upgrade . --do-not-upgrade webkitgtk ungoogled-chromium</code> | <code user>$ guix package --upgrade . --do-not-upgrade webkitgtk ungoogled-chromium</code> | ||
- | La mise-à-jour s'est effectuée beaucoup plus rapidement et, un redémarrage plus tard, Epiphany et Chromium se lancent et fonctionnent parfaitement bien. Bien entendu, il arrivera un moment où la mise-à-jour intégrale redeviendre nécessaire. Il faudra à nouveau faire preuve de patience... À moins que... l'écriture d'un fichier 'manifest' me permette de confiner mon profil logiciels de manière satisfaisante. En effet les mises-à-jour depuis un fichier manifest sont beaucoup plus rapides. Reste à mettre en place cette pratique... **Infos :** [[https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-package.html#profile_002dmanifest]]</note> | + | La mise-à-jour s'est effectuée beaucoup plus rapidement et, un redémarrage plus tard, Epiphany et Chromium se lancent et fonctionnent parfaitement bien. <note important>Bien entendu, il arrivera un moment où la mise-à-jour intégrale redeviendre nécessaire. Il faudra à nouveau faire preuve de patience...</note> À moins que... l'écriture d'un fichier 'manifest' me permette de confiner mon profil logiciels de manière satisfaisante. En effet les mises-à-jour depuis un fichier manifest sont beaucoup plus rapides. Reste à mettre en place cette pratique... **Infos :** [[https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-package.html#profile_002dmanifest]]</note> |
- | **Installation de logiciels** | + | ====Installation de logiciels==== |
Avec GuixSD, les installations de logiciels peuvent se faire depuis le compte user. | Avec GuixSD, les installations de logiciels peuvent se faire depuis le compte user. | ||
Ligne 273: | Ligne 273: | ||
**mpv** est un fork de mplayer. Légereté et fluidité à l'utilisation. | **mpv** est un fork de mplayer. Légereté et fluidité à l'utilisation. | ||
+ | |||
+ | Suite à ces installations, le système conseille de lancer : | ||
+ | |||
+ | <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]]** | ||
+ | |||
+ | **Utilisation de 'manifest'** pour gérer le profil de l'utilisat(ric(e)ur), de manière **déclarative**, comme des packages : | ||
+ | |||
+ | L'écriture d'un fichier **'manifest'** va me permettre de confiner l'environnement logiciel dans mon profil. | ||
+ | Les mises-à-jour se feront beaucoup plus rapidement, car elles seront relayées par un fichier **manifest.scm** créé dans mon ordinateur, plus exactement dans **~/.config/guix/** | ||
+ | |||
+ | En voici les différentes étapes : | ||
+ | |||
+ | **1 -** Récupérer le script Guile suivant et l'enregistrer à la racine du dossier personnel sous le nom de **'manifest-to-manifest.scm'**. | ||
+ | |||
+ | <file scheme manifest-to-manifest.scm> | ||
+ | ;; Run with: | ||
+ | ;; guile -s FILE ~/.guix-profile | ||
+ | |||
+ | (use-modules (guix profiles) | ||
+ | (ice-9 match) | ||
+ | (ice-9 pretty-print)) | ||
+ | |||
+ | (define (guix-manifest where) | ||
+ | (sort (map (lambda (entry) | ||
+ | (let ((out (manifest-entry-output entry))) | ||
+ | (if (string= out "out") | ||
+ | (manifest-entry-name entry) | ||
+ | (format #f "~a:~a" | ||
+ | (manifest-entry-name entry) | ||
+ | (manifest-entry-output entry))))) | ||
+ | (manifest-entries (profile-manifest where))) | ||
+ | string<?)) | ||
+ | |||
+ | ;; Thanks to Ivan Vilata-i-Balaguer for this: | ||
+ | (define (guix-commit) | ||
+ | (let ((guix-manifest (profile-manifest (string-append (getenv "HOME") "/.config/guix/current")))) | ||
+ | (match (assq 'source (manifest-entry-properties (car (manifest-entries guix-manifest)))) | ||
+ | (('source ('repository ('version 0) _ _ | ||
+ | ('commit commit) _ ...)) | ||
+ | commit) | ||
+ | (_ #f)))) | ||
+ | |||
+ | (match (command-line) | ||
+ | ((_ where) | ||
+ | (format #t ";; commit: ~a\n" (guix-commit)) | ||
+ | (pretty-print | ||
+ | `(specifications->manifest | ||
+ | ',(guix-manifest where)))) | ||
+ | (_ (error "Please provide the path to a Guix profile."))) | ||
+ | </file> | ||
+ | |||
+ | **2 -** Appeler le script : | ||
+ | |||
+ | <code user>$ guile -s manifest-to-manifest.scm ~/.guix-profile | ||
+ | ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 | ||
+ | ;;; or pass the --no-auto-compile argument to disable. | ||
+ | ;;; compiling /home/hubert/manifest-to-manifest.scm | ||
+ | ;;; compiled /home/hubert/.cache/guile/ccache/2.2-LE-8-3.A/home/hubert/manifest-to-manifest.scm.go | ||
+ | ;; commit: 6c.....................................a | ||
+ | (specifications->manifest | ||
+ | '("brasero" | ||
+ | "ffmpeg" | ||
+ | "gimp" | ||
+ | "gnumeric" | ||
+ | "inkscape" | ||
+ | "lynx" | ||
+ | "markdown" | ||
+ | "mpv" | ||
+ | "obs" | ||
+ | "qemu" | ||
+ | "quassel" | ||
+ | "racket" | ||
+ | "sbcl-next" | ||
+ | "ungoogled-chromium" | ||
+ | "wget" | ||
+ | "youtube-dl" | ||
+ | "youtube-viewer")) | ||
+ | </code> | ||
+ | |||
+ | **3 -** Création de ce nouveau fichier scheme (personnellement avec gedit) : | ||
+ | |||
+ | <code user>$ gedit</code> | ||
+ | |||
+ | <file scheme ~/.config/guix/manifest.scm> | ||
+ | (specifications->manifest | ||
+ | '("brasero" | ||
+ | "ffmpeg" | ||
+ | "gimp" | ||
+ | "gnumeric" | ||
+ | "inkscape" | ||
+ | "lynx" | ||
+ | "markdown" | ||
+ | "mpv" | ||
+ | "obs" | ||
+ | "qemu" | ||
+ | "quassel" | ||
+ | "racket" | ||
+ | "sbcl-next" | ||
+ | "ungoogled-chromium" | ||
+ | "wget" | ||
+ | "youtube-dl" | ||
+ | "youtube-viewer")) | ||
+ | </file> | ||
+ | |||
+ | Je le nomme **manifest.scm** et l'enregistre dans **~/.config/guix/** | ||
+ | |||
+ | **4 -** Arrive l'étape d'installation, de mise-à-jour, de compilation et de construction de ce fichier : | ||
+ | |||
+ | <code user>$ guix package -m ~/.config/guix/manifest.scm</code> | ||
+ | |||
+ | Maintenant les mises-à-jour sont nettement plus rapides, le fichier ayant bien été pris en compte. | ||
+ | |||
+ | A noter qu'il a fallu, pour valider ceci, effectuer les habituelles commandes **'guix pull'**, **'guix package -u'**, **'guix system reconfigure /etc/config.scm'** et **'reboot'**. | ||
+ | |||
+ | Cette nouvelle situation est d'autant plus apréciable que j'habite dans une zone non dégroupée. | ||
+ | |||
**Désinstallation de logiciels** | **Désinstallation de logiciels** | ||
Ligne 286: | Ligne 408: | ||
J'ai mis mon accès ssh pour ovh dans un signet **Fichiers** (Nautilus) et ça fonctionne. | J'ai mis mon accès ssh pour ovh dans un signet **Fichiers** (Nautilus) et ça fonctionne. | ||
- | **MULTIMEDIA** | + | ====Multimédia==== |
Téléchargement d'une vidéo : | Téléchargement d'une vidéo : | ||
Ligne 321: | Ligne 443: | ||
- | **Maintenance** | + | ====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 : | Avoir la garantie que 5 Go vont rester disponibles. Cette commande peut être lancée régulièrement : |