-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUSAGE
296 lines (211 loc) · 7.87 KB
/
USAGE
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
$Id$
mod_rpm extension 사용법
2005.03.15
JoungKyun Kim <http://www.oops.org>
--------------------------------------------------------------------
mixed rpmqi (string package, string queryformat = "")
rpmqi 함수는 rpm -qi 명령에 매핑이 된다. 질의에 실패했을 경우에는,
RPM_FAILURE 를 리턴하며, 질의에 성공했을 경우에는 배열을 리턴한다.
배열 요소는 다음과 같다.
array {
NAME,
VERSION,
RELEASE,
EPOCH,
GROUP,
SIZE,
SUMMARY,
DESCRIPTION
}
원하는 값만 반환을 하게 하고 싶다면, 두번째 인자 queryformat 을 이
용한다. 만약 NAME 과 VERSION 만을 반환하려면
rpm -qi (package, "%{NAME}%{VERSION}");
과 같이 사용할 수 있다. queryformat 의 형식은 %{} 로 배열값이 지정
이 되며 이는 rpm 의 queryformat 에서 리턴되는 지시자와 동일하게 사
용이 된다.
만약 queryformat 이 1개의 값만 반환을 할 경우에는 반환값은 그냥 스
트링이 된다.
질의에 실패했을 경우에는, RPM_FAILURE 를 반환하며, rpmlastmsg() 함
수로 에러 메세지를 구할 수 있다.
예제)
$package = "apache";
$qf = "%{VERSION}%{NAME}%{RELEASE}";
$ret = rpmqi ($package, $qf);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit 1;
}
print_r ($ret);
--------------------------------------------------------------------
array rpmsig (string package)
rpmsig 함수는 rpm -K 명령에 매핑이 된다. rpmsig 함수는 md5 와 gpg
를 검사하여 그 결과를 배열로 반환한다.
배열의 요소는 다음과 같다.
array {
name,
md5,
gpg
}
name 은 주어진 패키지의 경로를 생략한 파일 이름을 가진다.
md5 는 주어진 패키지의 md5 값 체크 결과를 가진다. 1이 지정이 되면
md5 값이 맞으며, 틀릴 경우에는 0 을 가진다.
gpg 는 gnupg sign 을 확인한다. 맞으면 1, 틀리면 0 을 가진다.
질의에 실패를 했을 경우에는 RPM_FILURE 를 반환하며, rpmlastmsg ()
함수로 에러 내용을 확인할 수 있다.
예제)
$package = "/path/apache-1.3.33-1.i686.rpm";
$ret = rpmsig ($package);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit;
}
print_r ($ret);
--------------------------------------------------------------------
string rpmfind (string file)
rpmfind 함수는 rpm -qf 명령에 매핑된다. 성공 시에, 결과를 스트링으
로 반환한다.
실패 시에는 RPM_FAILURE 를 반환하며, rpmlastmsg() 함수로 내용을 알
수 있다.
예제)
$file = "/bin/bash";
$ret = rpmfind ($file);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit;
}
echo "$ret\n";
--------------------------------------------------------------------
mixed rpmlist (string package = "")
rpmlist 함수는 rpm -q 또는 rpm -qa 에 매핑이 된다.
package 가 지정이 되었을 경우에는 rpm -q package 가 실행이 되며,
지정이 되지 않았을 경우에는 rpm -qa 가 실행이 된다.
반환값은 package 가 지정이 되었을 경우, 해당 패키지가 설치가 되어
있다면 RPM_SUCCESS 를 반환하며, 설치 되어 있지 않거나 다른 에러가
발생했을 경우에는 RPM_FAILURE 를 반환한다.
package 가 지정이 되지 않았을 경우의 반환값은 설치된 rpm list 를
배열로 반환을 한다. 질의에 실패했을 경우에는 역시 RPM_FAILURE 를
반환한다.
RPM_FAILURE 를 반환했을 경우에는 rpmlastmsg() 함수로 알 수 있다.
예제)
$ret = rpmlist ();
if ( $ret == RPM_FAILURE ) {
echo rpmlasgmsg ();
exit;
}
print_r ($ret);
--------------------------------------------------------------------
array (object) rpmplist (string package, string option = "")
rpmplist 는 rpm -qlv 또는 -qlc 또는 -qld 에 매핑을 하며, 결과를 배
열로 반환을 한다.
실패 시에는 RPM_FAILURE 를 반환하며, rpmlastmsg() 로 에러 메시지를
확인할 수 있다.
반환값은 패키지의 파일 리스트를 배열로 반환을 하며, 각 배열은 다음
의 object 를 가진다.
$ary[]->perm
$ary[]->owner
$ary[]->group
$ary[]->size
$ary[]->date
$ary[]->filename
옵션은 conf 와 doc 의 값을 지정할 수 있으며, conf 를 지정했을 경우
에는 -qc 로 작동을 하며, doc 를 지정했을 경우에는 -qd 로 작동을 한
다.
예제)
$package = "apache";
$ret = rpmlist ($package);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
expt;
}
print_r ($ret);
--------------------------------------------------------------------
array (object) rpmverify (string package)
rpmverify 함수는 rpm -V 명령에 매핑이 된다
rpmverify 함수는 수행결과 패키지에 문제가 없을 경우 RPM_SUCCESS 를
반환한다. 패키지에 변경 사항이 있을 경우에는 변경 사항이 있는 리스
트들을 배열로 반환한다.
함수 실행에 문제가 있거나 에러가 발생할 경우에는 RPM_FAILURE 를 반
환하며, rpmlastmsg() 함수로 확인이 가능하다.
패키지에 문제가 있어 배열을 반환 할 경우에는 변경이 된 파일의 리스
트를 배열로 반환을 하며, 각 배열은 다음의 object 를 가진다.
$ary[]->size => 설치 후, 파일 크기 변경 여부
$ary[]->mode => 설치 후, 파일의 퍼미션 변경 여부
$ary[]->md5 => 설치 후, 파일의 md5 checksum 값 변경 여부
$ary[]->rdev => 설치 후, 파일의 장치 속성 변경 여부
$ary[]->link => 설치 후, 파일의 심볼릭 링크 속성 변경 여부
$ary[]->user => 설치 후, 파일의 owner 변경 여부
$ary[]->group => 설치 후, 파일의 group 변경 여부
$ary[]->mtime => 설치 후, 파일의 갱신일 변경 여부
$ary[]->missing => 설치 후, 파일이 삭제 됨
위의 object 들은 파일이 설치된 후에, 변경이 되었는 지 여부의 값을
가지며, 값이 1 일 경우에는 설치 후에, 해당 요소가 변경이 되었음을
의미한다.
$ary[]->type => spec 파일에서 지정한 파일 타입을 가진다.
conf : config file 임을 나타냄
doc : doc file 임을 나타냄
ghost : ghost file 임을 나타냄
license : license file 임을 나타냄
readme : readme file 임을 나타냄
general : 일반 file 임을 나타냄
$ary[]->name => 이 배열에 대한 리스트 이름 (filename)
예제)
$package = "apache";
$ret = rpmverify ($package);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit;
}
if ( $ret = RPM_SUCCESS ) {
print_r($ret);
} else {
echo "$package 에 문제가 없습니다.\n";
}
--------------------------------------------------------------------
int rpminstall (string package, string mode, string or array option = "")
rpminstall 함수는 rpm -i or rpm -U or rpm -F 옵션과 매핑이 된다.
설치 성공시에는 RPM_SUCCESS 를 반환하며, 실패시에는 RPM_FAILURE 를
반환하며, rpmlastmsg () 함수로 에러 내용을 알 수 있다.
mode 는 -i, -U, -F 옵션과 매핑이 된다. 값은 - 문자를 사용하면 안되
며 아래와 같은 경우로 사용할 수 있다.
i => 설치를 할 경우 사용을 한다.
U => 업그레이드를 할 경우 사용을 한다. 이전 버전이 없으면 i 모드
와 동일하게 작동한다.
F => 업그레이드를 할 경우 사용을 한다. U 와는 달리 이전버전이 없
으면 아무런 작동을 하지 않으며 이 경우에도 RPM_SUCCESS를 반
환한다.
mode 가 지정되지 않을 경우에는 기본으로 i 로 작동을 한다.
option 은 부가적인 옵션을 지정할 수 있다. 예를 들어
--nodeps
--force
와 같은 옵션이 사용 가능하다. (option 의 경우에는 하이픈을 사용해
야 한다.) 옵션은 하나만 지정할 경우에는 string 으로 지정이 가능하
지만 여러개를 지정할 경우에는 array 로 한개씩 지정을 해야 한다.
예제)
$package = "apache";
$mode = "F";
$option[] = "--force";
$option[] = "--nodeps";
$ret = rpminstall ($package, $mode, $option);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit;
} else {
echo "$package 를 설치 했습니다.\n";
}
--------------------------------------------------------------------
int rpmerase (string package, string or array option = "")
rpmerase 함수는 rpm -e 에 매핑된다.
option 은 --nodeps 와 같이 확장 옵션을 지정할 때 사용을 한다.
option 은 둘 이상을 지정할 경우에는 array 로 사용을 한다.
함수 실패시에는 RPM_FAILURE 를 반환하며, rpmlastmsg() 로 확인이 가
능하다. 성공시에는 RPM_SUCCESS 를 반환한다.
예제)
$package = "apache";
$option = "--nodeps";
$ret = rpmerase ($package, $option);
if ( $ret == RPM_FAILURE ) {
echo rpmlastmsg ();
exit;
} else {
echo "$package 를 삭제 했습니다.\n";
}