-
Notifications
You must be signed in to change notification settings - Fork 16
/
pacman.txt
178 lines (140 loc) · 11.1 KB
/
pacman.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
PACMAN
PACMAN ==> #Fichiers :
/etc/pacman.conf #Configuration de pacman
/etc/pacman.d/mirrorlist#Listes des mirroirs (décommenter ceux actifs)
# - ftp://mirrors.kernel.org/archlinux/ contient arborescence tel que
# ./community/os/x86_64/NAME-VERSION.pkg.tar.xz
# - est mis à jour par développeurs (rolling release)
# - des mirroires font copies : ce fichier est liste de mirroirs dispos
# - pacman -Syu vérifie versions des fichiers sur mirroirs, et si pas à jour, upgrade en downloadant
/var/cache/pacman/pkg/ #Arch packages installés cached ici, pour éventuel downgrading
/var/lib/pacman/local/ #répertoire NAME-VERSION contenant :
# - "desc" :
# - contient avec syntaxe différente même info que .PKGINFO
# - contient également "%REASON% 1" si installé non-explicitement car dépendance d'un autre package
# - "files" : contient chemin des fichiers de ce package
# - "install" : contient les fonctions d'.INSTALL
/var/lib/pacman/sync/ #Semble pareil, mais avec des .db (en fait .tar.gz) de branche entière, seulement pour le check
#d'update je pense
#Contient fichiers légèrement différents cependant, avec peut-être plus d'infos, dont certaines sont
#dropped à l'extraction
/var/log/pacman.log #Log file.
pacman #Manipulation d'Arch packages (et non d'ABS)
#STRING peut être - pour stdin
#La première lettre peut être combinée avec plusieurs flags suivants : par exemple -Syuc au lieu de
#-Sy -Su -Sc
-S PACKAGE #Télécharge PACKAGE depuis les mirroirs disponibles vers /var/cache/pacman/pkg/, puis l'installe.
#Fait la même chose avec dépendances aussi.
-Sw PACKAGE #Pareil, sans l'installation.
-Sy #Update les repositories via les /var/lib/pacman/sync/*.db
-Syy #Pareil, mais force update même si semble déjà être up-to-date
-Su [PACKAGE] #Même à jour package (par défaut tous).
#Compare version courante avec celle du mirroir et, si différent, la télécharge et l'installe.
-Sc #Supprime package de /var/cache/pacman/pkg/ des packages n'étant plus installés
-Scc #Supprime tous packages de /var/cache/pacman/pkg/
-Sg #Affiche ensemble des groupes de la database (pas forcément installés).
-Sgg #Pareil mais affiche aussi packages associés à ces groupes.
-Sg GROUPE #Affiche packages associés au GROUPE
-Si [PACKAGE] #Affiche infos (telle que celles de "dest") de PACKAGE (par défaut tous ceux de la database)
-Sii [PACKAGE] #Pareil mais affiche aussi paquets dépendants de ce package.
-Sl [REPOSITORY] #Imprime packages présents dans tel REPOSITORY (par défaut tous)
-Ss REGEXP #Imprime nom, version, installation status et description des packages dont nom ou description matche
#REGEXP
-R PACKAGE #Supprime un package (fichiers contenus dans "files")
#Ne fonctionne pas si un autre package depends on PACKAGE
-Rss PACKAGE #Pareil, mais inclue dépendances du package, si pas dépendances d'un autre package installé.
-Rs PACKAGE #Pareil, mais dépendances ne doivent pas avoir été installés explicitement non-plus.
-Rn PACKAGE #Comme -R*, mais ignore backup files via la variable "backups" de PKGBUILD
-Rc PACKAGE #Supprime également package dépendant de PACKAGE, et récursivement.
-Ru GROUPE #Supprime seulement les packages dont aucun autre package ne dépend. Si un seul package d'un groupe
#pose problème de dépendances avec -R, cela avorte sinon pour les autres.
-Q [PACKAGE] #Affiche PACKAGE et sa version (par défaut tous paquets installés)
#PACKAGE peut être aussi un Arch package (pareil pour les autres -Q*)
-Qe #Affiche ensemble des paquets explicitement installés.
-Qd #Inverse : imprime paquets installés comme dépendances.
-Qt #Imprime paquets non requis par autres paquets : avec -Qd, permet de désigner les orphelins.
-Qs [REGEXP]
-Qi [PACKAGE]
-Qii [PACKAGE]
-Qg [GROUPE]
-Qgg #Comme -S*, mais pour les packages installés uniquement.
-Qo FILE #Imprime package ayant installé FILE
-Ql PACKAGE #Imprime fichiers installés par PACKAGE
-Qk [PACKAGE] #Checke que tous les fichiers de "files" de PACKAGE sont toujours présents (par défaut tous packages)
-Qm #Imprime packages installés manuellement (pas dans les databases) (par exemple via AUR)
-Qu #Imprime packages pas à jour.
-U FILE.pkg.tar.xz #Installer package FILE
-T PACKAGE[[>]=PKGVER] #Imprime PACKAGE si ce dernier est absent ou pas bonne version.
#Options utilisées avec -U ou -S :
-f #Fait que si installation overwrite fichiers, cela n'aborte pas installation
--as[deps|explicit] #Fait que la %REASON% de l'installation est dépendance ou installation explicite, que ce soit le cas
#ou non.
#Possible de faire également non avec -U ou -S mais -D qui ne fait que changer cet attribut.
--ignore PACKAGE #Ignore màj de PACKAGE
--ignoregroup GROUPE #Pareil pour GROUPE
--needed #Ne fait rien si déjà installé et à jour
#Options utilisées avec -U, -S et -R :
-d #Ne fait pas quelques dependency checks
-dd #Ne fait pas de dependency checks.
--noprogressbar #N'imprime pas la progress bar (pour n'avoir qu'output d'info, pour un script utilisant pacman)
#Options pour tous :
-r DIR #Change root path de l'installation, pour un chroot
-b DIR #Utilise non /var/lib/pacman/, mais DIR
--cachedir DIR #Utilise non /var/cache/pacman/pkg/ mais DIR
--config FILE #Utilise non /etc/pacman.conf mais FILE
--logfile FILE #Utilise non /var/log/pacman.log mais FILE
--gpgdir DIR #Utilise non /etc/pacman.d/gnupg/ mais DIR
--arch STRING #Utilise une autre architecture que celle du paquet
--noconfirm #N'affiche pas confirm messages (pour scripts non-interactifs)
yaourt #Mêmes options que pacman, plus plusieurs en plus :
#Notamment fait qu'-U et -S prennent en compte l'AUR.
-G PACKAGE #Télécharge l'ABS du PACKAGE (ABS ou AUR) dans $PWD/PACKAGE/
-Sb PACKAGE #Télécharge l'ABS du PACKAGE (ABS ou AUR), et installe depuis sources.
-Sbb PACKAGE #Pareil, mais le fait pour dépendances aussi.
-B [DIR] #Sauvegarde database de pacman (dont fichiers installés, etc.) dans DIR/pacman-DATE.tar.bz2. Par
#défaut DIR est le répertoire courant.
-B FILE #Restore à partir d'un pacman-DATE.tar.bz2
-Cc #Supprime fichiers de backups .pacsave, .pacnew et .pacorig
-S --conflicts PACKAGE #Imprime packages en conflit avec PACKAGE
-S --depends PACKAGE #Pareil pour dépends
-S --replaces PACKAGE #Pareil pour replaces
-S --provides PACKAGE #Pareil pour provides
--stats #Montre des infos sur packages installés.
--tmp DIR #Utilise DIR au lieu de /tmp
--nocolor #Pas de couleur en output
--insecure #Possibilité de faire des connexions SSL insecure.
#Options supplémentaires avec -Q :
--date #Trie selon date d'installation
--backupfile FILE #Recherche dans backup file FILE.tar.bz2 au lieu d'installation courante.
#Options supplémentaires avec -S :
-a #Utilise aussi la base de données de l'AUR
--devel #Utilise aussi les packages basés sur git, cvs, svn, etc.
pacbuilder PACKAGE #Recompile from sources un paquet installé
-Sbkv #Option principale
--aur
--community
--extra
--core #Fait sur tous ceux de ce repository
MODIFICATION PKGBUILD ET#Pour :
SOURCE COMPILATION ==> # - modification simple, dont configure options : modifier PKGBUILD
# - patch de sources : faire un patch et l'inclure dans le PKGBUILD.
#Tout paquet installé est checké pour upgrades via repos officiels et, si yaourt, AUR.
#Problèmes :
# - s'il s'agissait d'une source compilation d'un package officiel, l'upgrade remplacera par un
# pre-compiled binary
# - si l'on avait modifié l'ABS, cela est perdu par l'upgrade
#Solution alternatives :
# a) Faire IgnorePackage dans /etc/pacman.conf. L'upgrade sera notifié mais pas performed, on peut
# alors le faire à la main.
# b) customizepkg (mieux) :
# - Paquet créant un répertoire /etc/customizepkg.d/ :
# - un fichier vide nommé PACKAGE créé dedans fait que PACKAGE sera upgradé en compilant depuis
# source
# - un fichier non-vide avec modifications sed-style l'appliquera sur le PKGBUILD avant
# compilation depuis source
Downgrading un package :
- pacman -U /var/cache/pacman/pkg/*
- si précédente version absent du cache, visiter http://arm.konnichi.com/
- pour éviter nouvel upgrade, mettre IgnorePkg = package dans /etc/pacman.conf