logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 16:13]
gonzoleri [Utilisation]
utilisateurs:gonzoleri:tutos:guixsd-0.16-en-dual-boot-avec-debian-testing-sid [03/08/2019 00:54]
gonzoleri [Maintenance]
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]] :-)
  
  
-===== Introduction ​=====+===== Avant l'​installation ​=====
 (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)
  
Ligne 41: Ligne 41:
 <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. ​ <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 [[utilisateurs:​gonzoleri:​tutos:​installation-configuration-de-guixsd#​supergrub2disk-o|où j'en ai eu besoin]], il m'a servi avec succès.
 **[[https://​www.supergrubdisk.org/​category/​download/​supergrub2diskdownload/​]]**</​note>​ **[[https://​www.supergrubdisk.org/​category/​download/​supergrub2diskdownload/​]]**</​note>​
 ===== Installation ===== ===== Installation =====
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 117: Ligne 117:
 Création du prochain fichier de configuration système (vide pour l'​instant) : Création du prochain fichier de configuration système (vide pour l'​instant) :
 <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>​ 
  
-Pour adapter ​la configuration de l'ordinateur à mes besoins, j'ai utilisé ​**vi** , ne connaissant que celui-ci.  +====Configuration en cours d'​installation==== 
-Nano et Zile sont toutefois disponibles.  +<note tip>Vous avez également ​la possibilité d'éditer un fichier existant déjà dans **///​etc/​configuration//​** (par exemple“**desktop.scm**” ou “**bare-bones.scm**” et le modifier à votre guise)
-<code root># vi /​etc/​configuration/​perso.scm</​code>​+<code root># vi /​etc/​configuration/​desktop.scm</​code>​ 
 + 
 +<code root># vi /​etc/​configuration/​bare-bones.scm</​code>​ 
 +(**Nano** et **Zile** sont toutefois disponibles).</​note>​ 
 + 
 + <​code root># vi /​etc/​configuration/​perso.scm</​code>​
 <file scheme /​etc/​configuration/​perso.scm>​ <file scheme /​etc/​configuration/​perso.scm>​
 ;; Operating system configuration for a full                              ​ ;; Operating system configuration for a full                              ​
Ligne 127: Ligne 131:
 ;; gnome-shell ​                                                           ​ ;; gnome-shell ​                                                           ​
  
-(use-modules (gnu) (gnu system nss))                                      ; Le fichier est en langage scheme. Après ​quelque temps +(use-modules (gnu) (gnu system nss))                                      ​;; Le fichier est en langage ​guile scheme. Après  
-(use-service-modules desktop networking ssh)                              ; d'​utilisation,​ sa pratique est plus aisée.  +(use-service-modules desktop networking ssh)                              ;; un peu 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.
  
 (operating-system (operating-system
   (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 diskand "​my-root" ​is +;; En admettant que /​dev/​sda ​est la cible du disque duret "​my-root" ​est le nom de la cible root du système de fichiers, 
-;; the label of the target root file system, and /​dev/​sda6 ​the +;; et /​dev/​sda6 ​la partition cible pour l'​installation de GuixSD en Dual-Boot. ​ 
-;; target ​partition ​for the GuixSD ​installation+;; La partition ​/dev/sda6 sera détectée par le système, pour cela, elle ne doit pas figurer dans le fichier. 
-(bootloader (grub-configuration (target "/​dev/​sda"​) (menu-entries ​        ​; Ajout de 'menu-entries' +;; Si vous voulez juste installer ​GuixSD, (bootloader (grub-configuration (target "/​dev/​sda"​) sera suffisant
-                ​(list ​                                             Déclaration de la liste d'​entrées +(bootloader (grub-configuration (target "/​dev/​sda"​) (menu-entries ​       ;; Ajout de menu-entries 
- (menu-entry ​                                      ​; Entrons ​dans le menu +                ​(list ​                                            ​;; Liste d'​entrées 
-         (label "​Debian GNU/​Linux"​) ​                       ; Titre de la distribution + (menu-entry ​                                     ;; Entrons 
-                 (linux "/​boot/​vmlinuz-4.19.0-1-amd64"​) ​           ; Noyau à démarrer +         (label "​Debian GNU/​Linux"​) ​                      ;; Titre de la distribution 
-                 (linux-arguments '​("​root=/​dev/​sda1"​)) ​            ​; Debian se trouve sur /dev/sda1 +                 (linux "/​boot/​vmlinuz-4.19.0-1-amd64"​) ​          ;; Noyau à démarrer 
-                 (initrd "/​boot/​initrd.img-4.19.0-1-amd64"​)))))) ​  ​; C'est parti pour le démarrage !+                 (linux-arguments '​("​root=/​dev/​sda1"​)) ​           ;; Debian se trouve sur /dev/sda1 
 +                 (initrd "/​boot/​initrd.img-4.19.0-1-amd64"​)))))) ​ ;; C'est parti pour le démarrage !
        ​        ​
 (file-systems (cons (file-system (file-systems (cons (file-system
Ligne 166: Ligne 171:
 ;; This is where we specify ;; This is where we specify
 ;; system-wide packages. ;; system-wide packages.
-(packages (cons* gvfs                 ;for users mounts +(packages (cons* gvfs                 ;; for users mounts 
-                 ​nss-certs ​           ;for HTTPS access+                 ​nss-certs ​           ​;; for HTTPS access
                  ​screen                  ​screen
                  ​openssh                  ​openssh
Ligne 175: Ligne 180:
 ;; 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 232:
  
  
-**Mises à jour** +====Mises-à-jour==== 
  
-(A faire 3 ou 4 fois par mois)+(A faire à peu près une fois par semaine)
  
 Equivalent à **//apt update ://**  Equivalent à **//apt update ://** 
Ligne 251: Ligne 256:
 <code root># reboot</​code>​ <code root># reboot</​code>​
  
-**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]]+La mise-à-jour s'est effectuée beaucoup plus rapidement et, un redémarrage plus tard, Chromium se lance et fonctionne ​parfaitement bien. <note important>​Bien entendu, il arrivera un moment où la mise-à-jour intégrale ​redeviendra ​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 ​[[utilisateurs:​gonzoleri:​tutos:​guixsd-0.16-en-dual-boot-avec-debian-testing-sid#​utilisation-de-manifest|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.
  
-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 user>$ guix package -i markdown</​code>​ <code user>$ guix package -i markdown</​code>​
-(markdown convertit un ficher texte en un fichier html en une seule ligne de commande).+**markdown** convertit un ficher texte en fichier html en une seule ligne de commande.
  
 <code user>$ guix package -i ungoogled-chromium</​code>​ <code user>$ guix package -i ungoogled-chromium</​code>​
 +
 +**ungoogled-chromium** me semble plus rapide et plus abouti que Icecat.
  
 <code user>$ guix package -i mpv</​code>​ <code user>$ guix package -i mpv</​code>​
  
 **mpv** est un fork de mplayer. Légereté et fluidité à l'​utilisation. **mpv** est un fork de mplayer. Légereté et fluidité à l'​utilisation.
 +
 +
 +Pour ce qui est de **//​vim//​**,​ j'ai préféré l'​installer depuis le compte root.
 +
 +<code root># guix package -i vim</​code>​
 +
 +
 +
 +
 +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]]**
  
 **Désinstallation de logiciels** **Désinstallation de logiciels**
Ligne 281: Ligne 303:
  
 <code user>$ guix package -r vlc</​code>​ <code user>$ guix package -r vlc</​code>​
 +
 +
 +====Utilisation de manifest==== ​
 +
 +<note tip>"​Pour gérer le profil de l'​utilisat(ric(e)ur,​ de manière **déclarative**,​ comme des packages"​ (**iyzsong**) =)</​note>​
 +
 +Il s'agit de confiner l'​environnement logiciel dans le profil personnel.
 +Les mises-à-jour se feront beaucoup plus rapidement, car elles seront relayées depuis un fichier **manifest.scm** qui sera créé dans mon ordinateur, plus exactement dans **~/​.config/​guix/​**
 +
 +**Sources :**  [[https://​ambrevar.xyz/​guix-advance/​]]
 +
 +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</​code>​
 +<file bash Sortie de la commande>​
 +;;; 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"​))
 +</​file>​
 +
 +**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 :
 +
 +<code user>$ guix package -m ~/​.config/​guix/​manifest.scm</​code> ​
 +
 +Et voilà un joli fichier manifest tout neuf.
 +
 +**Edit 29 juillet 2019 :** Sur la liste de diffusion {{ https://​lists.gnu.org/​mailman/​listinfo/​help-guix | }} Help-Guix j'ai reçu une réponse qui m'a permis d'​adapter la syntaxe de la mise-à-jour.
 +
 +"​L'​option -u prend un argument optionnel, un regexp correspondant aux packages sur lesquels on agit. Il est préférable de passer explicitement en `-u` dans le cas où cette commande est lancée depuis un "shell history"​. On peut alors juste ajouter n'​importe quelle option voulue, sans qu'​elles soit interprêtée comme argument vers -u."
 +
 +Ce qui donne :
 +
 +<code user>$ sudo -i guix pull && guix package -m ~/​.config/​guix/​manifest.scm -u</​code>​
 +
 +(Merci à **Josh Holland** \o/ )
 +
 +Viennent ensuite les habituelles commandes :
 +
 +<code user>$ sudo -i guix system reconfigure /​etc/​config.scm</​code>​
 +
 +<code root># reboot</​code>​
 +
 +Mise-à-jour effectuée bien plus rapidement, ce qui ne va pas être négligeable,​ habitant en zone non dégroupée.
 +
 +**manifest**,​ c'est bon... :-D **/Edit**
 +
  
 **SSH** **SSH**
Ligne 286: Ligne 442:
 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 298: Ligne 454:
 <code user>$ mpv https://​www.youtube.com/​watch?​v=-mfladpK0AA</​code>​ <code user>$ mpv https://​www.youtube.com/​watch?​v=-mfladpK0AA</​code>​
  
 +Redéfinir le timing de début et de fin d'une vidéo :
 +
 +<code user>$ ffmpeg -i test.mp4 -c copy -ss 00:01:23 -to 00:04:56 cut.mp4</​code>​
 +
 +
 +Redéfinir le timing de début et de fin d'un morceau audio :
 +
 +<code user>$ ffmpeg -i test.mp3 -c copy -ss 00:01:23 -to 00:04:56 cut.mp3</​code>​
  
 Conversion d'un fichier .mkv (ou .webm... etc.) en **.mp4** : Conversion d'un fichier .mkv (ou .webm... etc.) en **.mp4** :
Ligne 314: Ligne 478:
    ​--expose=$HOME --share=$HOME/​tmp=/​exchange</​code>​    ​--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 :+==== Self-reproducing live USB ==== 
 + 
 +(**Image disque**) 
 + 
 +Extraits traduits de [[https://​ambrevar.xyz/​guix-advance/#​orgea240b0]] : 
 + 
 +"Lors de l'​utilisation d'une image disque, une image disque brute est produite. 
 +  
 +Elle permet par exemple de régénérer le système actuel ​sur une clé USB
 +  
 +Cela permet assez facilement la création d'un clone à emporter de son système actuelqui peut être branché n'​importe où et reproduire son environnement informatique exact (sans le matériel). 
 +  
 +On peut inclure des données personnalisées telles que ses clés PGP et tout, y compris les courriels, facilement disponibles dès le démarrage.  
 + 
 +En outre, il est évidemment possible d’installer le système ​par clonage sur la machine sur laquelle est branchée la clé USB: au lieu d’être une installation simple de Guix, elle déploie tout votre système d’exploitation personnalisé"​ 
 + 
 +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>​ <code root># dd if=$(guix system disk-image my-os.scm) of=/​dev/​sdc</​code>​
  
    
-**Maintenance**+===== Maintenance ​=====
  
-J'ai lancé les 2 commandes suivantes :+Les 2 commandes suivantes ​ont déjà été évoquées plus haut, mais je pense qu'​elles ont également leur place ici. 
 +Elles sont à lancer peu après l'​installation du système, celui-ci nous en informant en temps voulu :
  
 <code user>$ export PATH="​$HOME/​.config/​guix/​current/​bin:​$PATH"</​code>​ <code user>$ export PATH="​$HOME/​.config/​guix/​current/​bin:​$PATH"</​code>​
 +
 <code user>$ export INFOPATH="​$HOME/​.config/​guix/​current/​share/​info:​$INFOPATH"</​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 :
Ligne 341: Ligne 518:
  
 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. 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> ​ 
  
 <code user>$ guix gc --collect-garbage <code user>$ guix gc --collect-garbage
Ligne 351: Ligne 526:
 guix gc: 5043,55469 Mo libérés*</​code>​ guix gc: 5043,55469 Mo libérés*</​code>​
  
 +
 +<note important>​Certaines reconstructions et téléchargements ultérieurs pourront alors être plus longs que prévus. ​
 +<note tip>Il existe d'​autres manières de faire plus fines, mais je ne les maîtrise pas pour l'​instant...
 +<code user>$ man guix gc</​code></​note></​note>​
 +
 +==== Aller un peu plus loin ====
 +
 +Il peut être intéressant d'​automatiser la mise-à-jour de la base de données de l'​index du compte user ainsi que les procédures de "​garbage collector"​ énumérées plus haut. Pour celà, il faut ajouter quelques modules au début du fichier de configuration de la machine.
 +Puis insérer 3 définitions :
 +
 +<file scheme /​etc/​config.scm>​
 +;; Operating system configuration for a full
 +;; "​desktop"​ environment with gnome
 +
 +(use-modules (gnu) (guix) (gnu services mcron) (gnu system nss))          ;; Ajout de (guix) et de (gnu services mcron)
 +(use-service-modules desktop networking ssh)
 +(use-package-modules bootloaders certs gnome screen ssh base idutils) ​    ;; Ajout de base et de idutils
 +
 +(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
 +;;  ;; 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
 +;;  ;; 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
 +  (host-name "​gnu"​)
 +  (timezone "​Europe/​Paris"​)
 +  (locale "​fr_FR.utf8"​)
 +
 +</​file>​
 +
 +<code root># guix system reconfigure /​etc/​config.scm</​code>​
 +
 +Voilà, les modifications ont été prises en compte.
 +
 +Sources : [[https://​www.notabug.org/​jbranso/​guix-config/​src/​master/​awesome.scm]]
 +[[https://​guix.gnu.org/​manual/​en/​html_node/​Scheduled-Job-Execution.html]]
 +            ​
 +**Edit :** Bah, j'ai oublié de tenir compte qu'il fallait aussi rajouter service mcron-service-type dans %base-services))) :-o
 +
 +Du coup je ne sais pas ce que va donner le reconfiguration :?: 
 +
 +**A suivre...**
 + 
 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. 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 |}}
utilisateurs/gonzoleri/tutos/guixsd-0.16-en-dual-boot-avec-debian-testing-sid.txt · Dernière modification: 27/08/2020 17:27 par gonzoleri

Pied de page des forums

Propulsé par FluxBB