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:
-
Meklēšana pēc atslēgvārda:
guix search <atslēgvārds>
-
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"))
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