Pāriet uz saturu

GNU Guix pamācība

GNU Guix

GNU Guix ir alternatīva sistēmas moduļiem, kas dod lietotājiem lielāku brīvību un kontroli pār izmantoto programmatūru. Atšķirībā no moduļu sistēmas, kas piedāvā administratoru centralizēti uzstādītu programmatūru, Guix ļauj:

  • Instalēt programmatūru bez administratora tiesībām
  • Izveidot un pārvaldīt pielāgotas programmatūras vides
  • Izmantot vairākas vienas programmas versijas vienlaicīgi
  • Kopīgot precīzi definētas vides

Guix jau ir instalēts un gatavs lietošanai uz klastera, un to var izmantot gan atsevišķi, gan kopā ar moduļu sistēmu.

Kā Guix glabā pakotnes

Guix izmanto unikālu pieeju programmatūras glabāšanai:

  • Visas pakotnes tiek glabātas /gnu/store direktorijā
  • Katrai pakotnei ir unikāls path, kas satur tās nosaukumu un hash vērtību (piemēram, /gnu/store/d9r7...8zvk-python-3.9.7)

Guix pamatkomandas

Pakotņu pārvaldība

Guix piedāvā vienkāršas komandas pakotņu pārvaldībai:

Komanda Apraksts
guix search python Pakotnes meklēšana
guix install python Pakotnes instalēšana
guix install python@3.9.7 Konkrētas versijas instalēšana
guix remove python Pakotnes noņemšana
guix package --list-installed Instalēto pakotņu saraksts

Pieejamo pakotņu atrašana

Lai atrastu, kādas pakotnes Guix atbalsta, varat izmantot šādas metodes:

  1. Meklēšana pēc atslēgvārda:

    guix search <atslēgvārds>
    

  2. Meklēšana pēc kategorijas:

    guix search -c <kategorija>
    guix search -c education   
    guix search -c mathematics  
    

Pakotņu katalogi:

Vides izveide

Guix arī atbalsta vides izveidi

guix shell python python-numpy python-scipy

Šī komanda atver jaunu shell ar norādītajām pakotnēm.

Manifest faili

Manifest faili ļauj definēt vidi kā kodu, kas ir atkārtojama un koplietojama.

Vienkārša manifest izveide

  • Izveidojiet failu manifest.scm:

(specifications->manifest
 '("python"
   "python-numpy"
   "python-scipy"
   "python-matplotlib"))
Šeit var norādīt visas pakotnes, kuras vēlaties izmantot

Manifest faila lietošana

  • Lai izmantotu iepriekš izveidotu manifest failu ar guix shell:
guix shell -m manifest.scm
  • Vai instalējiet pakotnes savā profilā:
guix package -m manifest.scm

Padziļinātu informāciju par Manifest rakstīšanu var apskatīt šeit.

Manifest eksportēšana no pašreizējās vides

Kad esat pielāgojis savu darba vidi ar vairākām pakotnēm un vēlaties šo vidi viegli atveidot citā datorā vai kopīgot ar kolēģiem.

Lai eksportētu manifest failu no pakotnēm, kas jau ir instalētas jūsu profilā:

guix package --export-manifest > manifest.scm

Šo failu pēc tam var izmantot, lai nodrošinātu identiskas darba vides.

Guix ar Slurm

Vienkāršs piemērs, kā izmantot Guix ar Slurm:

#!/bin/bash
#SBATCH --job-name=guix-test
#SBATCH --ntasks=1
#SBATCH --time=01:00:00

# Palaist Python ar nepieciešamajām bibliotēkām
guix shell python python-numpy -- python mans_skripts.py

# Vai izmantot manifest failu
# guix shell -m manifest.scm -- python mans_skripts.py

Papildu resursi