aboutsummaryrefslogtreecommitdiffstats
path: root/polish/international/Polish/system_pakietow.wml
blob: 25a642bdd8820de50d046d17827b30bd430a7d6f (plain) (blame)
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
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
#use wml::debian::template title="System pakietów Debiana" NOHEADER="yes"

<h2>System pakietów Debiana</h2>

Autor: Piotr Roszatycki

<p>Artyku³ wyja¶nia zasadê dzia³ania systemu pakietów Debiana oraz opisuje 
budowê pakietów binarnych, ¼ród³owych i dystrybucyjnych. Zawarte w nim 
informacje szczególnie przydadz± siê osobom tworz±cym w³asne pakiety oraz 
administratorom systemu pragn±cym poznaæ znaczenie plików systemowych. Niektóre 
wskazówki mog± siê tak¿e przydaæ zwyk³emu u¿ytkownikowi, który chcia³by umieæ 
odczytywaæ informacje zawarte w pakietach Debiana.

<p>Administrowanie systemem wyposa¿onym w du¿± ilo¶æ oprogramowania nie jest 
proste. Instalacja dodatkowego lub aktualizacja wcze¶niej zainstalowanego 
oprogramowania dokonywana w tradycyjny sposób, czyli przez rozpakowanie i 
kompilowanie, poch³ania du¿o czasu i nak³adów pracy. Nierzadko problemem jest 
tak¿e wykonanie zmian w oryginalnych ¼ród³ach, tak aby dostosowaæ dany program 
do konkretnej instalacji systemu. Usuwanie oprogramowania bywa nawet bardziej 
k³opotliwe od instalacji - oprócz samych plików binarnych czy bibliotek nale¿y 
tak¿e skasowaæ pliki konfiguracyjne itd. Pó³ biedy, je¶li wiemy gdzie siê 
znajduj±. W przeciwnym razie skazani jeste¶my na przeszukiwanie drzewa 
katalogów. Innym ¼ród³em problemów mog± byæ wymagania systemowe nowego 
oprogramowania. Przed zainstalowaniem nowego programu nale¿y upewniæ siê, czy 
niczego mu nie brakuje - bibliotek, dodatkowych programów itd.

<p>Wystarczy sprawdziæ ilo¶æ plików znajduj±cych siê w katalogu /usr/bin, aby 
uzmys³owiæ sobie jak wiele czasu mo¿e zaj±æ chocia¿by aktualizacja tych 
wszystkich programów. Nieocenion± pomoc± administratora wielu systemów jest 
system pakietów, który automatyzuje wiêkszo¶æ czynno¶ci zwi±zanych z 
zarz±dzaniem oprogramowaniem.

<p>Rozbicie systemu na integralne czê¶ci stworzy³o potrzebê przechowywania jego 
elementów w osobnych archiwach. Archiwum plików wraz z dodatkowymi informacjami 
o tworz± pakiet. O rodzaju tych informacji oraz sposobie ich wykorzystania 
decyduje system pakietów. W najprostszym przypadku system taki po prostu 
zainstaluje archiwum plików w systemie lub skasuje te pliki, których ¶cie¿ka 
pokrywa siê ze ¶cie¿k± plików z archiwum. W praktyce takie rozwi±zanie nie ró¿ni 
siê zbytnio od dzia³ania narzêdzi typu <tt>tar</tt> lub <tt>ar</tt>. Ale w 
pakiecie przechowuje siê tak¿e dodatkowe informacje, m.in. opis danego pakietu, 
wymagania systemowe, skrypty do wykonania przed/po instalacji samego archiwum 
plików, sumy kontrolne itd.

<p>Narzêdzia systemu pakietów mog± udostêpniaæ szereg dodatkowych us³ug, od 
pobrania pakietu z odleg³ego serwera FTP, a¿ po sprawdzanie integralno¶ci 
zainstalowanych w systemie plików danego pakietu.

<h3>Koncepcja systemu pakietów Debiana</h3>

<p>Zdecydowana wiêkszo¶æ dystrybucji Linuksa, a tak¿e niektóre inne systemy 
operacyjne (m.in. FreeBSD), posiada jaki¶ system pakietów. Oryginalny system 
stworzony na potrzeby dystrybucji Debian jest rozwijany od piêciu lat, choæ sama 
ogólna zasada dzia³ania uleg³a niewielkim zmianom.

<p>Koncepcja systemu pakietów Debiana opiera siê na kilku za³o¿eniach: 

<ul>

<li>Pakiet jest plikiem archiwum, które mo¿na rozpakowaæ za pomoc± ogólnie 
dostêpnych narzêdzi, nie zwi±zanych z jednym systemem operacyjnym lub konkretn± 
dystrybucj±.

<li>Informacje wykorzystywane przez system pakietów przechowywane s± w plikach 
tekstowych, a wiêc w razie konieczno¶ci mo¿liwy jest dostêp do tych informacji z 
poziomu dowolnego edytora tekstowego.

<li>W pakiecie ¼ród³owym oryginalne oddzielone jest archiwum od dodatkowych ³at 
i informacji o pakiecie. Czasami jest to podyktowane warunkami licencji 
programu. 

<li>Zamiast jednej aplikacji ogólnego przeznaczenia, do zarz±dzania pakietami 
stworzono szereg oddzielnych, wyspecjalizowanych narzêdzi. Prosta konstrukcja 
systemu pakietów umo¿liwia w razie potrzeby dodawanie nowych narzêdzi. 

<li>Proces budowania pakietu binarnego jest niezale¿ny od procesu przygotowania 
pakietu ¼ród³owego. Mo¿liwe jest wykorzystanie dowolnych narzêdzi wspomagaj±cych 
tworzenie pakietu, je¿eli tylko pozwol± one na przygotowanie odpowiednich plików 
archiwum kontrolnego.

<li>W systemie pakietów wystêpuj± wielopoziomowe zale¿no¶ci. Dany pakiet mo¿e 
byæ wymagany, polecany lub sugerowany przez inny pakiet; mo¿e te¿ wystêpowaæ 
konflikt pomiêdzy pakietami.

<li>W systemie mo¿e byæ zainstalowany tylko jeden pakiet o okre¶lonej nazwie. 
Wyj±tkiem s± pakiety wirtualne, które mo¿na okre¶liæ jako dodatkowa nazwa 
normalnego pakietu. Mo¿na zainstalowaæ kilka pakietów o takich samych nazwach 
dodatkowych.

<li>Przed i po zainstalowaniu lub skasowaniu pakietu mo¿e zostaæ wykonany 
dodatkowy program, najczê¶ciej skrypt pow³oki lub Perla, który wykona dodatkowe 
czynno¶ci potrzebne do poprawnego dzia³ania systemu.

<li>Dany plik mo¿e zostaæ zainstalowany tylko z jednego pakietu. W przypadku, 
gdy konieczne jest zainstalowanie pliku z innego pakietu, mo¿liwe jest ominiêcie 
pliku (ang. overriding): zmieniana jest nazwa pierwotnie zainstalowanego pliku, 
a w jego miejsce instalowany jest plik z drugiego pakietu. Podczas aktualizacji 
lub kasowania pierwszego pakietu, zmiany dotycz± ominiêtego pliku, czyli tego ze 
zmienion± nazw±. 

<li>Specjalnym rodzajem pliku przechowywanym w pakiecie jest plik 
konfiguracyjny. Podczas kasowania pakietu z systemu pliki konfiguracyjne s± 
pomijane i nie s± usuwane, za¶ w trakcie aktualizacji pakietu administrator mo¿e 
dokonaæ wyboru, czy pozostawiæ stary plik konfiguracyjny, czy te¿ zainstalowaæ 
jego now± wersjê.

<li>System pakietów ma otwart± budowê i mo¿liwe jest rozszerzanie jego 
funkcjonalno¶ci poprzez dodawanie nowych modu³ów, bez ingerowania w ¼ród³a 
podstawowych narzêdzi.

</ul>

<h3>Pakiet binarny (<tt>*.deb</tt>)</h3>

<p>Podstawê dystrybucji Debiana stanowi pakiet binarny, czyli plik 
<tt>*.deb</tt>. Do niew±tpliwych zalet korzystania z pakietów binarnych nale¿y 
prosta instalacja pakietu oraz pó¼niejsza aktualizacja czy usuniêcie. Twórcy 
pakietów binarnych starannie testuj± ich dzia³anie, mo¿na wiêc mieæ gwarancjê, 
¿e dany pakiet bêdzie funkcjonowaæ poprawnie tak¿e w naszym systemie, a 
ewentualne problemy mo¿na ¶mia³o zg³aszaæ autorowi jako b³±d. 

<p>Z drugiej strony, uzale¿nienie siê od tej formy archiwum dystrybucyjnego 
wi±¿e siê z konieczno¶ci± dbania o porz±dek w systemie pakietów, co w praktyce 
oznacza konieczno¶æ korzystania z oryginalnych pakietów. W przypadku zaistnienia 
konieczno¶ci dokonania zmian w oryginalnym pakiecie, zmuszeni jeste¶my do 
samodzielnego przygotowania pakietu binarnego, co mo¿e byæ bardziej uci±¿liwe od 
tradycyjnej metody instalacji oprogramowania. Dochodz± do tego problemy z 
konieczno¶ci± posiadania w systemie bibliotek o konkretnych wersjach. Mimo to 
jednak korzy¶ci p³yn±ce ze stosowania pakietów binarnych warte s± wysi³ku 
w³o¿onego w zachowanie spójno¶ci systemu pakietów. 

<p>Format pliku <tt>*.deb</tt> jest zgodny z formatem archiwum programu 
<tt>ar</tt>. Oznacza to, ¿e do rozpakowania pliku <tt>*.deb</tt> mo¿na 
wykorzystaæ polecenie <tt>ar x nazwa-pliku.deb</tt>, co niekiedy przydaje siê, 
gdy w systemie brakuje polecenia <tt>dpkg</tt>. Archiwum sk³ada siê z kilku 
czê¶ci zwanych cz³onkami archiwum. Pierwszym cz³onkiem archiwum jest plik 
<tt>debian-binary</tt> zawieraj±cy numer wersji formatu archiwum. Obecnie jest 
to format 2.0, co mo¿na sprawdziæ poleceniem <tt>file nazwa-pliku.deb</tt>.

<p>Kolejnym elementem pliku <tt>*.deb</tt> jest archiwum kontrolne 
<tt>control.tar.gz</tt>. Poniewa¿ znajduje siê ono na pocz±tku pliku pakietu, 
tu¿ za numerem wersji, aby pobraæ informacje o tym pakiecie wystarczy odczytaæ 
pocz±tek pakietu.

<p>Niektóre pliki tego archiwum s± rozpoznawane przez program <tt>dpkg</tt> lub 
inne programy. Czê¶æ z nich jest opcjonalna. 

<p><b><tt>control</tt></b><br>
Najwa¿niejszy plik w archiwum kontrolnym. Informacje o pakiecie zawarte s± w 
formie pliku tekstowego w formacie kontrolnym. Plik tworzony jest zwykle na 
podstawie pliku <tt>debian/control</tt> z pakietu ¼ród³owego za pomoc± narzêdzi 
<tt>dpkg-gencontrol</tt> oraz <tt>dpkg-shlibdeps</tt>.
<p>Tylko ten plik jest wymagany (obecno¶æ pozosta³ych jest opcjonalna). Mo¿liwe 
jest tak¿e umieszczanie w³asnych rozszerzeñ w postaci nowych plików archiwum 
kontrolnego. 

<p><b><tt>preinst</tt></b><br>
Program wykonywany przed rozpakowaniem pakietu binarnego i zainstalowaniem jego 
plików w systemie. Najczê¶ciej s³u¿y do zatrzymania uruchomionych us³ug 
zwi±zanych z pakietem na czas aktualizacji.

<p><b><tt>postinst</tt></b><br>
Program wykonywany po zainstalowaniu pakietu w systemie, podczas konfiguracji. W 
tym czasie u¿ytkownik mo¿e zostaæ zapytany o szczegó³owe ustawienia i tym samym 
wp³yn±æ na pó¼niejsze funkcjonowanie pakietu. Skrypt <tt>postinst</tt> wykonuje 
tak¿e czynno¶ci niezbêdne do poprawnego dzia³ania pakietu (np. polecenie 
<tt>ldconfig</tt> dla pakietu z bibliotekami) lub uruchamia dany serwis 
wywo³uj±c odpowiedni skrypt z katalogu <tt>/etc/init.d</tt>.

<p><b><tt>prerm</tt></b><br>
Program wykonywany przed usuniêciem pakietu lub jego aktualizacj±. Zwykle 
zatrzymuje uruchomione us³ugi zwi±zane z pakietem.

<p><b><tt>postrm</tt></b><br>
Program wykonywany po zakoñczeniu usuwania lub czyszczenia pakietu. W zale¿no¶ci 
od sytuacji, program mo¿e usun±æ dodatkowe katalogi czy pliki wykorzystywane 
przez ten pakiet, a które po jego usuniêciu bêd± zbêdne w systemie.

<p><b><tt>shlibs</tt></b><br>
Plik pojawia siê w pakietach zawieraj±cych biblioteki dynamiczne i 
wykorzystywany jest przez program <tt>dpkg-shlibdeps</tt> do ustalania 
zale¿no¶ci od pakietów zawieraj±cych biblioteki dynamiczne.

<p><b><tt>md5sums</tt></b><br>
Dodatkowy plik zawieraj±cy sumy kontrolne, które mog± pos³u¿yæ do sprawdzenia 
spójno¶ci zainstalowanego pakietu za pomoc± narzêdzia <tt>debsums</tt>. Plik ten 
nie jest czê¶ci± oryginalnego systemu pakietów i nie pojawia siê we wszystkich 
pakietach.

<p><b><tt>templates</tt>, <tt>config</tt></b><br>
Pliki wykorzystywane przez system zarz±dzania konfiguracj± <tt>Debconf</tt>. 
Pierwszy z nich zawiera informacje pojawiaj±ce siê w oknach dialogowych lub na 
konsoli, drugi jest programem wykorzystuj±cym interfejs programistyczny systemu 
Debconf do przeprowadzenia dialogu z u¿ytkownikiem.

<p><b><tt>conffiles</tt></b><br>
Plik zawieraj±cy listê plików konfiguracyjnych. Po obliczeniu sum kontrolnych 
MD5 tych plików, lista zostanie do³±czona do pliku 
<tt>/var/lib/dpkg/status</tt>.

<p>Pliki archiwum kontrolnego <tt>control.tar.gz</tt> maj± swoje 
odzwierciedlenie w postaci plików katalogu <tt>/var/lib/dpkg/info/</tt>. Przed 
nazw± danego pliku dodawana jest nazwa pakietu, po czym dany plik umieszczany 
jest w tym katalogu, jako np. 
<tt>/var/lib/dpkg/info/nazwa-pakietu.postinst</tt>. Plik control wyj±tkowo 
do³±czany jest do bazy danych zainstalowanych pakietów, czyli do pliku 
<tt>/var/lib/dpkg/status</tt>, za¶ lista plików zawartych w pakiecie zapisywana 
jest jako <tt>/var/lib/dpkg/info/nazwa-pakietu.list</tt>. 

<p>Skoro znamy format danych przechowywanych w bazie systemu pakietów i dobrze 
w³adamy standardowymi poleceniami <tt>cat</tt>, <tt>ls</tt>, <tt>grep</tt>, 
<tt>sed</tt> i innymi, zyskujemy nieograniczone mo¿liwo¶ci operowania danymi 
pakietu.

<p>W pliku <tt>*.deb</tt> przewidziano tak¿e miejsce dla przysz³ych cz³onków 
archiwum. Ostatnie miejsce jest zarezerwowane na archiwum z danymi 
<tt>data.tar.gz</tt>. Archiwum to jest zwyk³ym, skompresowanym archiwum 
<tt>tar</tt>, zawieraj±cym pliki i katalogi, które zostan± zainstalowane w 
systemie. Jak ju¿ zosta³o wspomniane, lista tych plików jest zapisywana do pliku 
<tt>*.info</tt> w odpowiednim katalogu. 

<p>Nazwa pliku binarnego mo¿e byæ praktycznie dowolna, gdy¿ brane s± pod uwagê 
informacje pobrane z pliku kontrolnego <tt>control</tt>. Pliki w archiwum FTP 
maj± nazwy tworzone wed³ug pewnego schematu, aby mo¿liwe by³o sprawne 
zarz±dzanie takim archiwum. Nazwa pliku sk³ada siê nazwy pakietu, znaku 
podkre¶lenia, numeru wersji, znaku podkre¶lenia, kropki oraz rozszerzenia 
<tt>.deb</tt>. Je¶li nie jest to okre¶lone w nazwie katalogu, przed 
rozszerzeniem nazwy pliku opcjonalnie dodaje siê znak podkre¶lenia i nazwê 
architektury. Wzór pe³nej nazwy pliku jest wiêc nastêpuj±cy: 

<p><tt>nazwa-pakietu_1.2.3wersjazrodla-4wersjapakietu_i386.deb</tt>

<h3>Pakiet ¼ród³owy (<tt>*.dsc</tt>)</h3>

<p>Pakiet binarny Debiana jest budowany na podstawie zawarto¶ci katalogu 
roboczego 
dla programu <tt>dpkg-deb</tt>. Zawarto¶æ katalogu roboczego, wraz z plikami, 
trafia do pakietu binarnego do archiwum <tt>data.tar.gz</tt>, z wyj±tkiem 
podkatalogu <tt>DEBIAN/</tt>, który tworzy archiwum kontrolne 
<tt>control.tar.gz</tt>. Taki katalog roboczy mo¿na przygotowaæ rêcznie poprzez 
stworzenie odpowiednich plików. Aby usprawniæ i w du¿ej mierze zautomatyzowaæ 
proces budowania pakietów binarnych, stworzono formê pakietu ¼ród³owego.

<p>Proces przygotowania pakietu ¼ród³owego polega na rozpakowaniu oryginalnego 
¼ród³a i zmianie nazwy katalogu ze ¼ród³ami na 
<tt>nazwa-pakietu-123numer.4oryginalnej5.wersji6</tt>. W tym katalogu tworzymy 
dodatkowo podkatalog <tt>debian/</tt> w którym umieszczamy niezbêdne pliki 
(<tt>debian/control</tt>, <tt>debian/changelog</tt>, <tt>debian/rules</tt>). 
Taka operacja przygotowania pakietu ¼ród³owego Debiana nazywa siê 
,,debianizacj±''.

<p>Charakterystyczne dla pakietów ¼ród³owych Debiana jest to, ¿e sk³adaj± siê z 
kilku plików scalonych oddzielnym plikiem <tt>*.dsc</tt>. Je¿eli oryginalne 
¼ród³o nie jest napisane bezpo¶rednio dla dystrybucji Debiana, to znajduje siê w 
pliku <tt>*.orig.tar.gz</tt>. Dodatkowe poprawki do tego ¼ród³a, jak i ca³y 
katalog ¼ród³owy <tt>debian/</tt>, znajduj± siê w kolejnym pliku 
<tt>*.diff.gz</tt>, jako ³ata oryginalnego ¼ród³a. W przypadku, gdy ¼ród³o 
zawiera ju¿ w sobie pliki wykorzystywane do zbudowania pakietu Debiana, 
dodatkowy ,,patch'' jest zbêdny, a zamiast pliku <tt>*.orig.tar.gz</tt>
wystêpuje plik <tt>*.tar.gz</tt> (bez przyrostka ,,orig'').

<p>Plik <tt>*.dsc</tt> zawiera opis pakietu ¼ród³owego. Jest on odpowiednikiem 
pliku <tt>control</tt> z pakietu binarnego i - podobnie jak w tym ostatnim - 
informacje w nim przechowywane s± w formacie tekstowym. Zawiera m.in. numer 
wersji pakietu, nazwê pakietu ¼ród³owego i pakietów binarnych, adres e-mail 
opiekuna pakietu itd.

<p>Ze wzglêdów bezpieczeñstwa, plik <tt>*.dsc</tt> ma zwykle podpis 
elektroniczny swego autora (PGP lub GPG), co umo¿liwia weryfikacjê 
autentyczno¶ci wszystkich plików sk³adaj±cych siê na pakiet ¼ród³owy.

<p>Aby mo¿na by³o uznaæ pakiet ¼ród³owy za poprawny, po rozpakowaniu musimy 
otrzymaæ katalog ze ¼ród³ami oraz specjalny podkatalog <tt>debian/</tt>. W tym 
podkatalogu musz± siê znale¼æ co najmniej trzy pliki:

<dl>

<dd><b><tt>debian/control</tt></b>
<dd>Na podstawie tego pliku zostan± stworzone pliki kontrolne wszystkich 
pakietów binarnych zbudowanych z danego pakietu ¼ród³owego. Plik sk³ada siê z 
kilku akapitów rozdzielonych pust± lini±. Pierwszy paragraf zawiera opis pakietu 
¼ród³owego, nastêpne zawieraj± opisy kolejnych pakietów ¼ród³owych.
<dd>&nbsp;

<dd><b><tt>debian/changelog</tt></b>
<dd>Plik zawieraj±cy historiê danego pakietu ¼ród³owego. Ka¿da zmiana w pakiecie 
¼ród³owym powoduje dodanie nowego elementu pliku historii. Oprócz wypunktowanych 
zmian, zapisanych w postaci zrozumia³ej dla cz³owieka, ka¿dy element zawiera 
informacje wykorzystywane przy procesie budowy pakietów binarnych i pakietu 
dystrybucyjnego.
<dd>&nbsp;

<dd><b><tt>debian/rules</tt></b>
<dd>Jest to program, który poprzez wywo³anie odpowiednich programów zewnêtrznych 
dokona kompilacji pakietów binarnych. Wywo³ywany jest z odpowiednimi argumentami 
i w zale¿no¶ci od tych argumentów wykonywana jest odpowiednia czynno¶æ 
(kompilacja ¼róde³, zbudowanie pakietu, usuniêcie pozosta³o¶ci po kompilacji). 
Utar³o siê, ¿e programem tym jest skrypt <tt>Makefile</tt>, ale program mo¿e 
mieæ zupe³nie dowoln± postaæ - np. skryptu pow³oki.

</dl>

<p>Reszta plików z katalogu debian/ pakietu ¼ród³owego jest opcjonalna i s³u¿y 
do przygotowania archiwum control.tar.gz lub data.tar.gz pakietów binarnych.

<h3>Pakiet dystrybucyjny (<tt>*.changes</tt>)</h3>

<p>Model dystrybucji Debiana zak³ada, ¿e dystrybucjê tworzy wielu opiekunów 
pakietów, którzy wysy³aj± swoje efekty pracy do centralnego archiwum. Opiekun 
dostarcza zarówno pakiet ¼ród³owy jak i pakiety binarne zebrane razem w formie 
pakietu dystrybucyjnego. Pliki binarne i ¼ród³owe wi±¿e w ca³o¶æ plik tekstowy 
<tt>*.changes</tt> w formacie pliku kontrolnego Debiana.

<p>Plik <tt>*.changes</tt> zawiera informacje o w³a¶cicielu pakietu 
dystrybucyjnego, plikach sk³adaj±cych siê na taki pakiet dystrybucyjny oraz o 
lokalizacji poszczególnych plików w archiwum. Podobnie jak plik <tt>*.dsc</tt>, 
ten tak¿e mo¿e byæ podpisany elektronicznie.

<p>Z pakietami dystrybucyjnymi mamy do czynienia, gdy poszczególne pliki 
wchodz±ce w sk³ad pakietu dystrybucyjnego nie zosta³y rozlokowane w swoich 
katalogach docelowych. 

<h3>Informacje dla systemu pakietów (<tt>control</tt>)</h3>

Dane przeznaczone dla systemu pakietów przechowywane s± w formacie tekstowym, 
jako tzw. plik kontrolny. Plik taki sk³ada siê z jednego lub kilku akapitów 
rozdzielonych pustym wierszem. Akapit sk³ada siê z wierszy zawieraj±cych nazwê 
pola, dwukropek i warto¶æ pola. Nazwa pola nie mo¿e zawieraæ znaków spacji ani 
innych separatorów. Gdy zawarto¶æ pola nie mie¶ci siê w jednym wierszu 
(maksymalnie 80 znaków), kontynuowana jest w kolejnym wierszu od znaku spacji, 
ju¿ bez nazwy pola i dwukropka. Je¿eli w tym polu musi wyst±piæ wiersz pusty, 
oznacza siê go pojedyncz± kropk±.

<p>Przyk³adem wykorzystania tej formy przechowywania danych mo¿e byæ choæby 
ksi±¿ka telefoniczna:

<p>
<b>Tytu³:</b> Ania<br>
<b>Telefon:</b> 23789343<br>
<b>Opis:</b> Kole¿anka z pracy, ale nie tylko...

<p>
<b>Tytu³:</b> Policja<br>
<b>Telefon:</b> 997<br>
<b>Opis:</b> Najbli¿szy posterunek policji

<p>
<b>Tytu³:</b> Internet<br>
<b>Telefon:</b> 0202122<br>
<b>Opis:</b> tak zwany bezp³atny numer dostêpowy<br>
<b>.</b><br>
<b>u¿ytkownik:</b> ppp, <b>has³o</b>: ppp<br>
<b>Modem:</b> tak

<p>Obecno¶æ niektórych pól nie jest obowi±zkowa, dla innych format warto¶ci pola 
mo¿e zostaæ ¶ci¶le okre¶lony. Poni¿sze zestawienie dotyczy pól wykorzystywanych 
przez system pakietów Debiana.

<p><b>Package</b><br>
Nazwa pakietu binarnego. Nazwa sk³ada siê z liter alfabetu ³aciñskiego, cyfr 
oraz znaków + - . (plus, minus, kropka). Nazwa musi mieæ przynajmniej dwa znaki 
i rozpoczynaæ siê od litery lub cyfry. Przyjê³o siê korzystaæ tylko z ma³ych 
liter alfabetu ³aciñskiego, ale w przypadku znalezienia pakietu którego nazwa 
zawiera wielkie litery, nale¿y pamiêtaæ ¿e sortowanie uwzglêdnia wielko¶æ liter.

<p><b>Version</b><br>
Numer wersji pakietu binarnego lub ¼ród³owego. Numer ten wykorzystuje siê 
najczê¶ciej podczas porównywania ze sob± dwóch wersji w celu okre¶lenia, która z 
nich jest pó¼niejsza.

<p>Numer wersji sk³ada siê z trzech czê¶ci: epoki z dwukropkiem (opcjonalnie), 
wersji oryginalnego ¼ród³a oraz minusa po którym nastêpuje wersja 
pakietu(opcjonalnie). Ich znaczenie jest nastêpuj±ce: 

<dl>

<dd><b>epoka</b>
<dd>Pojedyncza cyfra, któr± mo¿na pomin±æ je¶li wynosi zero. Gdy numer epoki 
pominiêto, numer wersji oryginalnego ¼ród³a nie mo¿e zawieraæ dwukropka. 
<dd>&nbsp;
<dd>Numer epoki ma najwiêksze znaczenie przy porównywaniu numerów wersji 
pakietu. Wykorzystuje siê go w przypadku, gdy kolejny numer wersji musi byæ 
ni¿szy, a jednocze¶nie pakiet ma byæ uznany za nowszy. Taka sytuacja nastêpuje, 
gdy nast±pi³ b³±d w numeracji pakietu lub gdy w oryginalnym ¼ródle zmieniono 
sposób numeracji wersji. 
<dd>&nbsp;
<dd><tt>dpkg</tt> wy¶wietla numer epoki tylko wtedy, gdy jest on wiêkszy od 
zera. <tt>dselect</tt> w ogóle pomija ten numer, wy¶wietlaj±c jedynie numer 
wersji ¼ród³a i numer wersji pakietu.
<dd>&nbsp;

<dd><b>numer wersji oryginalnego ¼ród³a </b>
<dd>Najwa¿niejsza czê¶æ numeru wersji. Najczê¶ciej jest to numer wersji 
oryginalnego ¼ród³a bêd±cego podstaw± pakietu Debiana. Zwykle numer ten jest 
zgodny z numeracj± przyjêt± przez autora ¼ród³a, ale czasem wymagana jest zmiana 
oryginalnego numeru, tak by pasowa³ do schematu przyjêtego przez Debiana (np. 
rezygnacja z notacji rzymskiej). 
<dd>&nbsp;
<dd>Numer wersji ¼ród³a mo¿e zawieraæ jedynie litery, cyfry oraz znaki + - . : 
(plus, minus, kropka, dwukropek) i musi zaczynaæ siê od cyfry. Dwukropek nie 
mo¿e wystêpowaæ, je¿eli nie okre¶lono numeru epoki; minus jest niedozwolony, gdy 
brak numeru wersji pakietu.
<dd>&nbsp;

<dd><b>numer wersji pakietu </b>
<dd>Ta czê¶æ numeru wersji oznacza numer kolejnej wersji pakietu binarnego, 
zbudowanego z tego samego oryginalnego ¼ród³a. Format jest taki sam jak w 
przypadku numeru wersji ¼ród³a. 
<dd>&nbsp;
<dd>Je¿eli pakiet zosta³ zbudowany bezpo¶rednio dla dystrybucji Debiana, jak np. 
<tt>dpkg</tt>, <tt>kernel-package</tt> itd., numer ten jest pomijany gdy¿ zmiany 
w numeracji dotycz± jedynie numeru wersji oryginalnego ¼ród³a. 
<dd>&nbsp;
<dd>Przyjête jest, ¿e po zmianie numeru wersji oryginalnego ¼ród³a numer wersji 
pakietu rozpoczyna siê znów od jedynki. 
<dd>&nbsp;
<dd>Gdy brak jest tego numeru, <tt>dpkg</tt> przy porównywaniu wersji przyjmie 
jedynkê za numer wersji pakietu.
<dd>&nbsp;
<dd>Przy porównywaniu ze sob± dwóch numerów wersji, najwiêksze znaczenie ma 
numer epoki. Je¿eli te numery s± sobie równe (najczê¶ciej obydwa wynosz± zero), 
porównywane s± numery wersji oryginalnego pakietu. Numery te s± porównywane od 
strony lewej do prawej w taki sposób, ¿e najpierw liczbowo dokonuje siê 
porównywania wystêpuj±cych cyfr, nastêpnie wed³ug tabeli kodów ASCII porównuje 
siê dalsze znaki nie bêd±ce cyframi, a¿ do pojawienia siê kolejnych cyfr - wtedy 
algorytm jest powtarzany. Porównywanie numerów wersji oryginalnego pakietu 
koñczy znak minusa; rozpoczyna on natomiast proces porównywania wersji pakietu 
binarnego.
<dd>&nbsp;
<dd>Oto przyk³adowe wyniki takiego porównywania: <b>1.1 &gt; 1.0.1, 1.1.1 &gt; 
1.1, 11a &gt; 1a, 1:1.0 &gt; 1.1, 1.1 &gt; 1.1-0, 1.1-1 &gt; 1.1 </b>
<dd>&nbsp;
<dd>W dwóch ostatnich przypadkach brak numeru wersji pakietu binarnego oznacza, 
¿e ,,jest mniejszy'' od 1 ale ,,jest wiêkszy'' od 0.

</dl>

<p><b>Architecture</b><br>
Pole okre¶laj±ce architekturê pakietu binarnego. Podczas instalowania pakietu 
architektura systemu jest sprawdzana i porównywana z informacj± w pakiecie. 
Je¿eli architektury siê zgadzaj±, pakiet zostanie zainstalowany.

<p>Obecnie <tt>dpkg</tt> obs³uguje architektury <b>i386</b>, <b>sparc</b>, 
<b>sparc64</b>, <b>alpha</b>, <b>m68k</b>, <b>arm</b>, <b>powerpc</b>, 
<b>mips</b> oraz <b>mipsel</b> dla systemu operacyjnego Linux. <tt>dpkg</tt> 
zosta³ tak¿e przeniesiony na system operacyjny HURD - jest on przeznaczony dla 
procesorów Intela, a wiêc nazwa tej architektury to <b>hurd-i386</b>.

<p>Znane s± próby przeniesienia <tt>dpkg</tt> na inne systemy, m.in. 
<b>Solaris</b>, <b>HP-UX</b>, <b>IRIX</b>, <b>FreeBSD</b>, jednak oficjalnie 
<tt>dpkg</tt> nie obs³uguje tych systemów. 

<p>Specjalnym oznaczeniem architektury jest <b>all</b>, które mówi, ¿e pakiet 
binarny nie jest zale¿ny od konkretnej architektury i mo¿e zostaæ zainstalowany 
w dowolnej. 

<p>To pole mo¿na znale¼æ tak¿e w pakiecie ¼ród³owym, w pliku <tt>*.dsc</tt> - 
oznacza ono architekturê docelow±, czyli tê dla której przeznaczony jest 
skompilowany pakiet binarny. Dodatkow± architektur± dla pakietu ¼ród³owego mo¿e 
byæ <b>any</b>, oznaczaj±ca ¿e pakiet ¼ród³owy mo¿na skompilowaæ dla dowolnej 
architektury. 

<p><b>Maintainer</b><br>
Opiekun pakietu. To pole zawiera imiê, nazwisko oraz e-mail opiekuna pakietu. 
Je¿eli rolê opiekuna pe³ni lista mailingowa, zamiast imienia i nazwiska znajdzie 
siê tu nazwa listy lub grupy osób. Dane opiekuna zapisane s± w formacie RFC822, 
czyli najpierw nazwisko lub nazwa, a nastêpnie adres w nawiasach trójk±tnych 
,,&lt;&gt;''.

<p>Pole opiekuna jest opcjonalne, jednak na adres podany w tym polu u¿ytkownicy 
pakietu najczê¶ciej wysy³aj± pytania lub uwagi, wiêc jego brak mo¿e utrudniæ 
kontakt. 

<p><b>Source</b><br>
Nazwa pakietu ¼ród³owego. To pole dotyczy pakietu ¼ród³owego, a jego zawarto¶æ 
jest analogiczna do pola <b>Package</b>, poza tym ¿e po samej nazwie pakietu 
mo¿na umie¶ciæ w nawiasach okr±g³ych numer wersji pakietu. Numer wersji 
najczê¶ciej jest pomijany, je¶li jest zgodny z numerem w polu <b>Version</b> 
pakietu binarnego.


<p><b>Depends</b><br>
Definicja ca³kowitej zale¿no¶ci - pakiet zale¿y od innego pakietu.

<p>To i poni¿sze pola maj± taki sam format: lista pakietów rozdzielona 
przecinkami. Pakiety mog± byæ te¿ rozdzielone znakiem kreski pionowej 
,,|'', co oznacza logiczne LUB - poprawna jest przynajmniej jedna z
kilku opcji.

<p>Ka¿dy z elementów tej listy (nie dotyczy to pola <b>Provides</b>) mo¿e obok 
nazwy pakietu zawieraæ w nawiasach okr±g³ych operator porównania wraz z numerem 
wersji. Operatory porównania to &lt;&lt;, &lt;=, =, =&gt; i &gt;&gt;, czyli: 
mniejsze, mniejsze lub równe, równe, wiêksze lub równe, wiêksze. Na przyk³ad: 

<p><tt>
Depends: perl5, libapache-mod-perl (&lt;= 1.15-2), libmldbm-perl (&lt;= 
2.00-1), libdigest-md5-perl, data-dumper (&lt;= 2.09-1) | perl-5.005, 
libwww-perl (&lt;= 5.42-1)
</tt>

<p>Pole <b>Depends</b> zawiera listê pakietów wymaganych do zainstalowania 
bie¿±cego pakietu. Mówi±c dok³adniej, dany pakiet nie zostanie skonfigurowany 
je¿eli pakiety od których zale¿y nie s± poprawnie zainstalowane w systemie. 
Ponadto, nie mo¿na usun±æ pakietu, który jest zale¿ny od bie¿±cego. 

<p>Pakiety od których zale¿ny jest pakiet bie¿±cy mog± byæ zainstalowane, ale 
nie skonfigurowane. W praktyce oznacza to, ¿e proces instalacji - a pó¼niej 
konfiguracji tych wszystkich pakietów - mo¿e siê odbywaæ w ramach jednej 
operacji. 

<p>W wyj±tkowych sytuacjach zale¿no¶ci mo¿na pomin±æ, uruchamiaj±c <tt>dpkg</tt> 
z opcj± wymuszania, jednak powoduje to zburzenie spójno¶ci bazy systemu 
pakietów. 

<p><b>Recommends</b><br>
Definicja silnej zale¿no¶ci - pakiet zaleca inny pakiet.

<p>Pole <b>Recommends</b> jest ignorowane przez program <tt>dpkg</tt> i nie 
dotyczy zastosowañ z wiersza poleceñ. Informacje tego pola s± przetwarzane przez 
narzêdzia pe³noekranowe, takie jak <tt>dselect</tt> czy <tt>capt</tt>. W 
przypadku dselect wyst±pienie tego typu zale¿no¶ci spowoduje wy¶wietlenie listy 
zale¿no¶ci z domy¶lnie wybranym tym pakietem. Dziêki temu w szybki sposób mo¿na 
wybraæ domy¶lne pakiety.

<p>Zale¿no¶æ ta powinna oznaczaæ, ¿e dodatkowe pakiety s± przydatne, ale nie 
stanowi± niezbêdnego warunku dzia³ania programu.

<p><b>Suggests</b><br>
Definicja s³abej zale¿no¶ci - pakiet sugeruje inny pakiet. 

<p>Podobnie jak w poprzednim wypadku, pole to interpretowane jest jedynie przez 
narzêdzia pe³noekranowe. <tt>dselect</tt> do³±czy wskazane pakiety do listy 
zale¿no¶ci, ale pakiety nie bêd± domy¶lnie wybrane do zainstalowania.

<p>Najczê¶ciej sugerowane s± dodatkowe modu³y rozszerzaj±ce mo¿liwo¶ci danego 
pakietu albo dokumentacja. 

<p><b>Pre-Depends</b><br>
Podobnie jak <b>Depends</b>, ale wymagany pakiet musi byæ poprawnie 
zainstalowany i skonfigurowany przez rozpoczêciem procedury instalacji bie¿±cego 
pakietu. 

<p>Je¿eli do instalacji wybrano dwa pakiety, w tym jeden dla którego okre¶lono 
,,przed-zale¿no¶æ'', <tt>dpkg</tt> musi zainstalowaæ i skonfigurowaæ
pierwszy pakiet, a nastêpnie uruchomiæ siê po raz drugi dla kolejnego pakietu. 
Wa¿na jest kolejno¶æ instalowania wybranych pakietów. Kolejno¶æ wywo³ywania 
programu <tt>dpkg</tt> powinien ustaliæ program <tt>dselect</tt> lub 
<tt>apt</tt>.

<p>,,Przed-zale¿no¶æ'' jest niezbêdna jedynie wtedy, gdy do
skonfigurowania bie¿±cego pakietu potrzebny jest funkcjonuj±cy poprawnie (czyli 
wcze¶niej skonfigurowany) inny pakiet. Istotne pakiety, takie jak <tt>libc6</tt> 
czy <tt>bash</tt>, i tak instalowane s± we wczesnym etapie, tak wiêc najczê¶ciej 
wystarcza u¿ycie zwyk³ej zale¿no¶ci - pola <b>Depends</b>.

<p><b>Conflicts</b><br>
Konflikt pomiêdzy pakietami oznacza, ¿e nie mog± istnieæ w systemie w tym samym 
czasie. Je¿eli konflikt zosta³ wykryty przez <tt>dpkg</tt>, zostanie zg³oszony 
b³±d, a proces instalacji zatrzymany. <tt>dselect</tt> w takim przypadku 
wy¶wietli listê konfliktów, co umo¿liwi u¿ytkownikowi podjêcie decyzji, który 
pakiet nale¿y przeznaczyæ do skasowania, a który do zainstalowania. 

<p>Specjalnym przypadkiem konfliktu jest konflikt z pakietem o takiej samej 
nazwie, ewentualnie o nazwie takiej jak pakietu wirtualnego, którego dostarcza 
(<b>Provides</b>) ten sam pakiet. Wymusza to sytuacjê, w której mo¿e istnieæ w 
systemie tylko jeden pakiet, dostarczaj±cy pakietu wirtualnego o tej danej 
nazwie. 

<p>Je¿eli konflikt dotyczy pakietu o wersji ,,wcze¶niejszej'' ni¿
podana, powstaje problem: drugi pakiet musi byæ wcze¶niej usuniêty lub 
zaktualizowany. Kolejno¶æ instalowania czy usuwania pakietów mo¿e zostaæ ¼le 
okre¶lona przez <tt>dselect</tt> i radzi sobie z ni± dopiero system 
<tt>apt</tt>.

<p><b>Replaces</b><br>
Zast±pienie pakietu powoduj±cego konflikt. Je¿eli wymieniony w tym polu pakiet 
zosta³ tak¿e wymieniony w polu <b>Conflicts</b>, <tt>dpkg</tt> automatycznie 
zast±pi go bie¿±cym, bez ingerencji administratora. 

<p>Pole <b>Replaces</b> nie dotyczy pakietów wirtualnych, a wiêc nazwa u¿yta w 
tym polu musi okre¶laæ prawdziwy pakiet. 


<p><b>Enhances</b><br>
Rozszerzenie funkcji innego pakietu. To pole jest niejako odwrotno¶ci± pola 
<b>Suggests</b>. W chwili obecnej jest ignorowane, ale zosta³o przewidziane do 
u¿ycia w najbli¿szej przysz³o¶ci.

<p>Niektóre pakiety z podstawowej dystrybucji (<b>main</b>) sugeruj± 
wykorzystanie pakietów spoza g³ównego archiwum (np. <b>non-free</b> lub 
<b>non-US</b>). Mo¿e to spowodowaæ k³opot, gdy dodatkowe archiwum nie jest 
dostêpne, a <tt>dselect</tt> zg³osi brak niektórych pakietów. Rozwi±zaniem ma 
byæ w³a¶nie to pole - wtedy pakiety spoza archiwum g³ównego zg³osz± fakt, ¿e s± 
dodatkiem do pakietów z tego archiwum.

<p><b>Provides</b><br>
Udostêpnianie wirtualnego pakietu. Dany pakiet mo¿e wystêpowaæ pod kilkoma 
nazwami: jedn± prawdziw± i pozosta³ymi okre¶laj±cymi pakiety wirtualne. Je¿eli 
inny pakiet zale¿y od pakietu wirtualnego, wystarczy obecno¶æ w systemie 
przynajmniej jednego pakietu, który dostarcza ten pakiet wirtualny. 

<p>Dla przyk³adu, gdy pakiet wymaga edytora <tt>emacs</tt>:

<p><tt>
Package: vm<br>
Depends: emacs
</tt>

<p>wystarczy, ¿e w systemie znajduje siê jaki¶ pakiet, który spe³nia funkcje 
tego edytora: 

<p><tt>
Package: xemacs<br>
Provides: emacs
</tt>

<p>Pakiet wirtualny nie posiada wersji, tote¿ nie mo¿na uzale¿niæ innego pakietu 
od obecno¶ci pakietu wirtualnego w okre¶lonej wersji. W przypadku odwo³ania siê 
do numeru wersji, zale¿no¶æ bêdzie dotyczyæ tylko prawdziwego pakietu.

<p><b>Build-Depends</b><br>
To pole, jak i trzy poni¿sze, dotyczy wy³±cznie pakietów ¼ród³owych. Dany pakiet 
¼ród³owy nie mo¿e zostaæ skompilowany, je¿eli w systemie nie zostan± zachowane 
podane zale¿no¶ci.

<p>Format listy pakietów wystêpuj±cy tym i poni¿szych polach jest identyczny, 
jak w przypadku pól zale¿no¶ci dotycz±cych pakietów binarnych. Ponadto, po 
nazwie pakietu tworz±cego zale¿no¶æ mo¿na umie¶ciæ rozdzielone spacjami nazwy 
architektur, dla których ten pakiet ma wystêpowaæ. Je¿eli nazwa architektury 
poprzedzona jest znakiem wykrzyknika, oznacza to negacjê wszystkich architektur 
oprócz podanej. 

<p>Przyk³ad wykorzystania tego pola w opisie pakietu ¼ród³owego: 

<p><tt>
Build-Depends: kernel-headers-2.2.10 [!hurd-i386], hurd-dev [hurd-i386], 
gnumach-dev [hurd-i386]
</tt>

<p>Pole <b>Build-Depends</b> okre¶la zale¿no¶æ od pakietów binarnych dla celu 
<b>build</b>, <b>binary</b>, <b>binary-arch</b> oraz <b>binary-indep</b>.

<p><b>Build-Conflicts</b><br>
Pole zawiera listê pakietów binarnych, których obecno¶æ w systemie uniemo¿liwia 
skompilowanie pakietu dla celu <b>build</b>, <b>binary</b>, <b>binary-arch</b> 
oraz <b>binary-indep</b>.

<p><b>Build-Depends-Indep</b><br>
Pole zawiera listê pakietów binarnych wymaganych do skompilowania pakietu dla 
celu <b>binary</b> oraz <b>binary-indep</b>.

<p><b>Build-Conflicts-Indep</b><br>
Pole zawiera listê pakietów binarnych, których obecno¶æ w systemie uniemo¿liwia 
skompilowanie pakietu dla celu <b>build</b> oraz <b>binary-indep</b>.

<p><b>Description</b><br>
Opis pakietu ¼ród³owego lub binarnego. Pierwszy wiersz to skrócony opis pakietu, 
zazwyczaj wy¶wietlany przez pe³noekranowe narzêdzia (<tt>dselect</tt>, 
<tt>capt</tt>) na li¶cie pakietów. Szczegó³owy opis pakietu rozpoczyna siê w 
nastêpnym wierszu. Zgodnie z formatem danych zawartych w pliku kontrolnym, 
pierwszym znakiem wiersza jest spacja, za¶ wiersz zawieraj±cy wy³±cznie spacjê i 
kropkê reprezentuje wiersz pusty. 

<p>Opis pakietu zwykle wziêty jest z podrêcznika g³ównego programu tego pakietu 
lub z pliku <tt>README</tt>. Poniewa¿ opis ten czêsto decyduje o tym, czy 
administrator zdecyduje siê zainstalowaæ dany pakiet, pole to powinno zawieraæ 
starannie dobrane informacje. 

<p>Dla pliku <tt>*.changes</tt> pole to ma specjalne znaczenie i zawiera spis 
skróconych opisów poszczególnych pakietów binarnych zbudowanych z danego pakietu 
¼ród³owego. Pierwszy wiersz pola tego pliku jest pusty, kolejne zawieraj± nazwê 
pakietu binarnego, znak minusa oraz skrócony opis pakietu.

<p><b>Essential</b><br>
Pole okre¶laj±ce czy pakiet binarny jest istotny, czyli czy <tt>dpkg</tt> 
pozwoli usun±æ go z systemu. 

<p>Pole mo¿e przyjmowaæ dwie warto¶ci: <b>yes</b> lub <b>no</b>. Druga warto¶æ 
ma takie samo dzia³anie, jakby w pliku kontrolnym w ogóle nie by³o tego pola. 

<p><b>Section</b><br>
Sekcja dla pakietu binarnego lub ¼ród³owego. Dany pakiet mo¿e zostaæ 
umiejscowiony w jednym z wielu podkatalogów grupuj±cych pakiety o podobnym 
dzia³aniu. Sekcja mo¿e tak¿e okre¶laæ archiwum, w którym znajduje siê dany 
pakiet, je¿eli nie jest to archiwum <b>main</b>. 

<p>To pole jest przeznaczone dla programów pe³noekranowych, które przedstawiaj±c 
listê pakietów mog± j± uporz±dkowaæ wed³ug sekcji. <tt>dpkg</tt> nie uwzglêdnia 
pola <b>Section</b>. 

<p>Nazwa sekcji odzwierciedla miejsce pliku w archiwum FTP. W chwili obecnej 
istnieje podzia³ na nastêpuj±ce sekcje:

<dl>

<dd><b>admin</b>
<dd>narzêdzia tylko dla administratora - modyfikuj±ce pliki systemowe i 
wp³ywaj±ce na dzia³anie systemu 
<dd>&nbsp;

<dd><b>base</b>
<dd>specjalna sekcja okre¶laj±ca pakiety, które zostan± zainstalowane przez 
program instalacyjny
<dd>&nbsp;

<dd><b>comm</b>
<dd>programy komunikacyjne wykorzystuj±ce modem lub faks
<dd>&nbsp;

<dd><b>devel</b>
<dd>kompilatory, narzêdzia do tworzenia programów, biblioteki przeznaczone dla 
debuggera, kody ¼ród³owe
<dd>&nbsp;

<dd><b>doc</b>
<dd>dokumentacja systemowa oraz dla innych pakietów, programy do jej 
przegl±dania, biuletyny i czasopisma w postaci elektronicznej
<dd>&nbsp;

<dd><b>editors</b>
<dd>edytory tekstu wraz z odpowiednimi modu³ami
<dd>&nbsp;

<dd><b>electronics</b>
<dd>programy do wykorzystania w elektronice, narzêdzia do projektowania i 
analizowania uk³adów elektronicznych
<dd>&nbsp;

<dd><b>games</b>
<dd>gry i innego rodzaju programy do przyjemnego marnowania czasu
<dd>&nbsp;

<dd><b>graphics</b>
<dd>edytory i inne narzêdzia do obróbki grafiki bitmapowej, wektorowej lub 3D; 
przegl±darki plików graficznych oraz programy demonstracyjne
<dd>&nbsp;

<dd><b>hamradio</b>
<dd>narzêdzia dla u¿ytkowników hamradio
<dd>&nbsp;

<dd><b>interpreters</b>
<dd>interpretery, biblioteki dla jêzyków skryptowych
<dd>&nbsp;

<dd><b>libs</b>
<dd>biblioteki dla innych programów
<dd>&nbsp;

<dd><b>mail</b>
<dd>serwery i klienty poczty elektronicznej
<dd>&nbsp;

<dd><b>math</b>
<dd>narzêdzia do zastosowañ matematycznych
<dd>&nbsp;

<dd><b>misc</b>
<dd>pakiety, które nie trafi³y do innej sekcji
<dd>&nbsp;

<dd><b>net</b>
<dd>serwery i klienty us³ug sieciowych, narzêdzia administracyjne i 
diagnostyczne dla sieci LAN i WAN
<dd>&nbsp;

<dd><b>news</b>
<dd>serwery i klienty USENET
<dd>&nbsp;

<dd><b>oldlibs</b>
<dd>stare wersje bibliotek lub kompilatory tworz±ce kod wykorzystuj±cy wy³±cznie 
stare biblioteki
<dd>&nbsp;

<dd><b>otherosfs</b>
<dd>narzêdzia do korzystania z innych systemów operacyjnych lub systemów plików, 
emulatory
<dd>&nbsp;

<dd><b>science</b>
<dd>narzêdzia do wykorzystania w zastosowaniach naukowych
<dd>&nbsp;

<dd><b>shells</b>
<dd>alternatywne pow³oki systemowe 
<dd>&nbsp;

<dd><b>sound</b>
<dd>narzêdzia zwi±zane z d¼wiêkiem lub plikami muzycznymi
<dd>&nbsp;

<dd><b>tex</b>
<dd>narzêdzia oraz modu³y dla systemu publikacji TeX
<dd>&nbsp;

<dd><b>text</b>
<dd>narzêdzia do przetwarzania i drukowania plików tekstowych, procesory tekstu, 
s³owniki
<dd>&nbsp;

<dd><b>utils</b>
<dd>wszelkiego rodzaju programy narzêdziowe do wykorzystania przez wszystkich 
u¿ytkowników
<dd>&nbsp;

<dd><b>web</b>
<dd>serwery i klienty WWW, narzêdzia do tworzenia publikacji WWW oraz 
administrowania serwisami webowymi
<dd>&nbsp;

<dd><b>x11</b>
<dd>programy, biblioteki i modu³y zwi±zane z systemem X Window

</dl>

Oprócz tych sekcji istnieje tak¿e podzia³ pakietów ze wzglêdu na archiwum w 
jakim siê znajduj±:

<dl>

<dd><b>contrib/{admin,base,comm,...}</b>
<dd>pakiety spe³niaj±ce zasady wolnego oprogramowania, ale do pe³nego 
dzia³ania wymagaj±ce pakietów nie bêd±cych wolnymi pakietami 
<dd>&nbsp;

<dd><b>non-free/{admin,base,comm,...}</b>
<dd>pakiety nie bêd±ce wolnymi w rozumieniu Debiana (DFSG)
<dd>&nbsp;

<dd><b>non-US/{main,contrib,non-free}</b>
<dd>pakiety, które ze wzglêdu na prawo amerykañskie nie mog± byæ udostêpniane na 
tamtejszych serwerach (dotyczy to przede wszystkim oprogramowania 
wykorzystuj±cego techniki kryptograficzne) 

</dl>

Ten podzia³ na sekcje jest oczywi¶cie zupe³nie umowny i inne dystrybucje mog± 
wprowadziæ swój w³asny. Dla przyk³adu, Corel wprowadzi³ swoj± dodatkow± sekcjê 
<b>Corel Desktop</b>.

<p><b>Priority</b><br>
Priorytet pakietu binarnego lub ¼ród³owego, czyli jego wa¿no¶æ. Podobnie jak 
pole <b>Section</b>, jest ono ignorowane przez <tt>dpkg</tt>, a mo¿e byæ brane 
pod uwagê przez narzêdzia wy¿szego poziomu, np. <tt>dselect</tt>. 

Informacja z tego pola mo¿e byæ wykorzystywana przy grupowaniu pakietów na 
li¶cie, a bardziej zaawansowane programy mog± dziêki niej ustaliæ kolejno¶æ 
instalowania pakietów wed³ug wa¿no¶ci. 

Poni¿ej prezentujemy listê priorytetów okre¶lonych w <i>Debian Policy</i> i 
rozpoznawanych przez <tt>dpkg</tt>.

<dl>

<dd><b>required</b>
<dd>Pakiety wymagane, niezbêdne do poprawnego funkcjonowania systemu. Ich 
odinstalowanie mo¿e spowodowaæ niemo¿no¶æ ponownej instalacji. System, w którym 
zainstalowane s± tylko pakiety wymagane potrafi sam wystartowaæ i zainstalowaæ 
inne pakiety.
<dd>&nbsp;

<dd><b>important</b>
<dd>Pakiety wa¿ne, których brak by³by szczególnie dotkliwy dla u¿ytkowników 
systemów uniksowych, m.in. narzêdzia bez których pozosta³a czê¶æ systemu mog³aby 
nie dzia³aæ poprawnie. Wa¿nymi pakietami nie mog± byæ du¿e programy, takie jak 
Emacs, system X Window czy TeX.
<dd>&nbsp;

<dd><b>standard</b>
<dd>Pakiety standardowe dostarczaj± skromne, ale zupe³nie poprawnie dzia³aj±ce 
¶rodowisko tekstowe. Te pakiety s± instalowane domy¶lnie, je¿eli u¿ytkownik 
samodzielnie nie okre¶li pakietów przeznaczonych do zainstalowania. Standardowo 
instalowany jest m.in. edytor Emacs oraz podstawowe komponenty systemu TeX i 
LaTeX.
<dd>&nbsp;

<dd><b>optional</b>
<dd>Pakiety opcjonalne - te które powinny znale¼æ siê w ka¿dym w pe³ni 
skonfigurowanym systemie. Mo¿na je zainstalowaæ ,,w ciemno'', bez wczytywania siê
w opis. Pakiety te nie maj± dodatkowych wymagañ. Do tej kategorii zaliczyæ mo¿na 
pe³n± dystrybucjê TeX-a, system X Window i wiele innych powszechnie u¿ywanych 
aplikacji.
<dd>&nbsp;

<dd><b>extra</b>
<dd>Pakiety dodatkowe mog± powodowaæ konflikt z pakietami o innym priorytecie, 
mieæ specjalne wymagania systemowe lub s± przeznaczone do specjalnych 
zastosowañ.

</dl>

Pakiety binarne o danym priorytecie nie mog± byæ zale¿ne od pakietów o ni¿szym 
priorytecie. 

<p><b>Binary</b><br>
Pole pakietu ¼ród³owego okre¶laj±ce nazwy pakietów binarnych rozdzielonych 
spacjami lub przecinkami, które mo¿na zbudowaæ z danego pakietu ¼ród³owego. Nie 
wszystkie pakiety mo¿na uzyskaæ dla danej architektury, szczegó³owe informacje 
znajduj± siê w pliku kontrolnym. 

<p>Gdy pole wystêpuje w pliku <tt>*.changes</tt>, wymienione s± tam nazwy 
pakietów binarnych dostarczanych wraz z pakietem ¼ród³owym. 

<p><b>Installed-Size</b><br>
Pole pakietu binarnego lub pliku opisu archiwum <b>Packages</b>, okre¶laj±ce 
ilo¶æ kilobajtów wolnej pamiêci dyskowej potrzebnej do zainstalowania danego 
pakietu. 

<p><b>Files</b><br>
Pole dotycz±ce pakietu ¼ród³owego lub dystrybucyjnego, zawieraj±ce listê plików 
z których sk³ada siê pakiet ¼ród³owy. 

<p>Lista plików jest podzielona na wiersze, dane o pliku w ka¿dym z wierszy 
rozdzielone s± spacjami. 

<p>Dane dla pakietu ¼ród³owego (plik <tt>*.dsc</tt>) to suma kontrolna MD5 
pliku, rozmiar pliku i nazwa pliku. Suma kontrolna i rozmiar s± sprawdzane 
podczas rozpakowywania pakietu ¼ród³owego przez program <tt>dpkg-source</tt>. 

<p>Dane dla pakietu dystrybucyjnego (plik <tt>*.changes</tt>) to suma kontrolna 
MD5 pliku, rozmiar pliku, sekcja danego pakietu, priorytet danego pakietu i 
nazwa pliku. Informacje o sekcji i priorytecie pakietu mog± okre¶laæ po³o¿enie 
pliku w archiwum FTP. 

<p><b>Standards-Version</b><br>
To pole okre¶la numer wersji standardu, z jakim zgodny jest dany pakiet 
¼ród³owy. Dla dystrybucji Debiana standard okre¶lony jest w dokumencie <i>Debian 
Policy</i>.

<p>Pole mo¿e byæ wykorzystywane przez narzêdzia do sprawdzania poprawno¶ci 
budowy pakietu ¼ród³owego - tak jak to robi <i>lintian</i>.

<p><b>Distribution</b><br>
Pole dotyczy pakietu dystrybucyjnego, a jego warto¶æ jest ustalana na podstawie 
zawarto¶ci pliku <tt>changelog</tt> pakietu ¼ród³owego. Okre¶la docelow± 
dystrybucjê dla danego pakietu dystrybucyjnego. 

<p>Dystrybucje zosta³y podzielone ze wzglêdu na stan zaawansowania prac nad 
pakietami: 

<dl>

<dd><b>unstable</b>
<dd>Wszystkie nowe pakiety s± umieszczane w dystrybucji <b>unstable</b>. Pakiet 
taki mo¿e nie funkcjonowaæ poprawnie; mog± nawet wyst±piæ k³opoty z instalacj±.
<dd>&nbsp;

<dd><b>frozen</b>
<dd>Co jaki¶ czas dystrybucja unstable zostaje ,,zamro¿ona'', co
oznacza, ¿e nie s± dodawane do niej nowe pakiety, a jedynie usuwane b³êdy 
istniej±cych pakietów. Proces testowania takiej dystrybucji trwa od kilku do 
kilkunastu tygodni, po czym dystrybucji nadaje siê miano stabilnej.
<dd>&nbsp;
<dd>Najczê¶ciej poprawki dla dystrybucji <b>frozen</b> trafiaj± tak¿e do 
dystrybucji <b>unstable</b>, tak wiêc w polu <b>Distribution</b> mog± byæ 
okre¶lone te dwie dystrybucje.
<dd>&nbsp;

<dd><b>stable</b>
<dd>Dystrybucja stabilna to dystrybucja w danym czasie ,,oficjalna'', w
której nie przewiduje siê ju¿ zmian poza poprawkami powa¿nych b³êdów, przede 
wszystkim dotycz±cych bezpieczeñstwa. Dopiero ta dystrybucja, oprócz nazwy 
kodowej, otrzymuje numer wersji. W przypadku opublikowania zmian aktualnej 
wersji zmienia siê tak¿e jej numer (np. 2.2r1 staje siê 2.2r2, pó¼niej 2.2r3 
itd.).
<dd>&nbsp;

<dd><b>experimental</b>
<dd>Pakiety z dystrybucji eksperymentalnej s± zazwyczaj we wczesnym stadium 
rozwoju, który nie pozwala na umieszczenie ich w normalnej dystrybucji. 
Korzystanie z tych pakietów jest najbardziej ryzykowne i nie ma ¿adnej 
gwarancji, ¿e uda siê je choæby zainstalowaæ.

</dl>

<p><b>Urgency</b><br>
Warto¶æ tego pola jest ustalana na podstawie zawarto¶ci pliku changelog i 
pojawia siê w pliku opisu pakietu dystrybucyjnego <tt>*.changes</tt>. Warto¶ci± 
jest jedno s³owo kluczowe, po którym mo¿e nastêpowaæ komentarz. W polu tym 
znajdziemy informacje o tym, jak wa¿ne jest dokonanie aktualizacji danego 
pakietu.

<dl>

<dd><b>low</b>
<dd>Nowy pakiet poprawia ma³o istotne b³êdy lub dostarcza nowej wersji 
oryginalnego ¼ród³a.
<dd>&nbsp;

<dd><b>medium</b>
<dd>W nowym pakiecie poprawiono b³êdy, które wp³ywa³y na bezpieczeñstwo systemu 
lub uniemo¿liwia³y poprawne funkcjonowanie pakietu. Aktualizacjê pakietu warto 
wykonaæ w najbli¿szym czasie.
<dd>&nbsp;

<dd><b>high</b>
<dd>Korzystanie ze starego pakietu zagra¿a spójno¶ci systemu. Jak najszybciej 
nale¿y zaktualizowaæ ten pakiet.

</dl>

<p><b>Date</b><br>
Pole okre¶laj±ce datê zbudowania pakietu dystrybucyjnego, pojawiaj±ce siê w 
pliku <tt>*.changes</tt>.

<p><b>Format</b><br>
Pole okre¶laj±ce numer wersji formatu pliku <tt>*.changes</tt>, pojawiaj±ce siê 
w tym w³a¶nie pliku. Ten dokument dotyczy formatu w wersji 1.6. 

<p><b>Changes</b><br>
To pole pojawia siê w opisie pakietu dystrybucyjnego w pliku <tt>*.changes</tt> 
i zawiera opis zmian wprowadzonych w aktualnej wersji pakietu, w formie 
czytelnej dla cz³owieka.

<p>Warto¶æ tego pola jest ustalana na podstawie pliku <tt>changelog</tt> z 
pakietu ¼ród³owego. 

<p><b>Closes</b><br>
To pole tak¿e dotyczy pliku <tt>*.changes</tt>, a zawiera informacje 
przeznaczone dla systemu ¶ledzenia b³êdów BTS.

<p>Je¿eli w danym pakiecie usuniêto b³±d, który zosta³ wcze¶niej zg³oszony i 
któremu zosta³ nadany numer rekordu bazy danych BTS, w pliku changelog (oraz w 
polu <tt>Changes</tt>) w spisie zmian mo¿e pojawiæ siê informacja tekstowa 
<tt>closes: #11111, #22222, ....</tt> W informacji tej podane s± numery b³êdów 
uznanych za zamkniête, czyli usuniête lub zignorowane. Numery te zostaj± 
powtórzone w polu <b>Closes</b>, jako lista rozdzielona spacjami. 

<p><b>Filename</b><br>
Pole pojawia siê w pliku opisu archiwum Packages i zawiera ¶cie¿kê do pliku z 
pakietem, okre¶lon± wzglêdem katalogu g³ównego archiwum Debiana. Je¿eli pakiet 
zosta³ podzielony na kilka plików, pole mo¿e zawieraæ kilka warto¶ci 
rozdzielonych spacjami. 

<p><b>MSDOS-Filename</b><br>
Pole jest analogiczne do poprzedniego, z tym ¿e nazwa pliku jest zgodna z 
systemem plików MSDOS (8.3 - osiem znaków nazwy pliku, kropka, trzy znaki 
rozszerzenia nazwy pliku).

<p><b>Size</b><br>
Pole pojawia siê w pliku opisu archiwum <tt>Packages</tt> i zawiera rozmiar 
pliku z pakietem lub - je¿eli zosta³ od podzielony na czê¶ci - rozmiary plików 
rozdzielone spacjami. Rozmiar pliku okre¶lony jest w bajtach.

<p><b>MD5sum</b><br>
Pole pojawia siê w pliku opisu archiwum <tt>Packages</tt> i zawiera sumê 
kontroln± MD5 dla pliku z pakietem lub - je¿eli zosta³ od podzielony na czê¶ci 
-, sumy kontrolne plików rozdzielone spacjami. 

<p><b>Status</b><br>
Pole pojawia siê w pliku stanu bazy danych systemu pakietów status i zwiera 
informacje o stanie pakietu w systemie. Informacje zosta³y podzielone na trzy 
klasy: stan bie¿±cy, stan wyboru oraz znacznik. Warto¶ci te mog± zostaæ 
zmienione za pomoc± programu <tt>dpkg</tt> lub <tt>dselect</tt>. 

<p>Stan bie¿±cy pakietu: 

<dl>

<dd><b>installed</b> (zainstalowany)
<dd>Pakiet jest rozpakowany i poprawnie skonfigurowany.
<dd>&nbsp;

<dd><b>half-installed</b> (zainstalowany czê¶ciowo)
<dd>Instalacja pakietu zosta³a rozpoczêta, ale niedokoñczona z pewnych powodów.
<dd>&nbsp;

<dd><b>not-installed</b> (niezainstalowany)
<dd>Pakiet nie jest zainstalowany w systemie.
<dd>&nbsp;

<dd><b>unpacked</b> (rozpakowany)
<dd>Pakiet jest rozpakowany ale nie skonfigurowany.
<dd>&nbsp;

<dd><b>half-configured</b> (skonfigurowany czê¶ciowo)
<dd>Pakiet jest rozpakowany a konfiguracja zosta³a rozpoczêta, ale niedokoñczona 
z pewnych powodów.
<dd>&nbsp;

<dd><b>config-files</b> (pliki konfiguracyjne)
<dd>Tylko pliki konfiguracyjne pakietu zosta³y w systemie.

</dl>

Stan wyboru pakietu: 

<dl>

<dd><b>install</b> (instalacja)
<dd>Pakiet zosta³ wybrany do zainstalowania.
<dd>&nbsp;

<dd><b>deinstall</b> (deinstalacja)
<dd>Pakiet zosta³ wybrany do deinstalowania (to znaczy, ¿e chcemy skasowaæ 
wszystkie pliki pakietu oprócz plików konfiguracyjnych).
<dd>&nbsp;

<dd><b>purge</b> (wyczyszczenie)
<dd>Pakiet zosta³ wybrany do wyczyszczenia (to znaczy, ¿e chcemy skasowaæ 
wszystko, w³±cznie z plikami konfiguracyjnymi).

</dl>

Znaczniki (flagi) pakietu: 

<dl>

<dd><b>hold</b> (wstrzymanie)
<dd>Pakiet oznaczony jako wstrzymany; nie jest obs³ugiwany przez <tt>dpkg</tt>, 
chyba ¿e u¿yje siê opcji <tt>--force-hold</tt>.
<dd>&nbsp;

<dd><b>reinst-required</b> (konieczna reinstalacja)
<dd>Pakiet oznaczony w ten sposób jest uszkodzony i wymaga ponownego 
zainstalowania. Taki pakiet nie mo¿e zostaæ usuniêty przez <tt>dpkg</tt>, chyba 
¿e u¿yje siê opcji <tt>--force-reinstreq</tt>.

</dl>

<p><b>Config-Version</b><br>
Pole pojawia siê w pliku stanu bazy danych systemu pakietów status i je¿eli nie 
jest zainstalowany lub skonfigurowany, zawiera numer wersji pakietu, której 
pozosta³y pliki konfiguracyjne. 

<p><b>Conffiles</b><br>
Pole pojawia siê wy³±cznie w pliku stanu bazy danych systemu pakietów status, 
gdy pakiet zawiera listê plików konfiguracyjnych. Pozycja na tej li¶cie sk³ada 
siê z nazwy pliku konfiguracyjnego i sumy kontrolnej MD5 oryginalnego pliku. 
Dziêki tej informacji system pakietów wie, czy administrator zmodyfikowa³ 
oryginalny plik konfiguracyjny. 

<p><b>Pole definiowane przez u¿ytkownika</b><br>
Pola, które nie zosta³y wymienione powy¿ej uznawane s± za pola definiowane przez 
u¿ytkownika i ignorowane przez system pakietów Debiana. Te pola, je¿eli pojawi± 
siê w pliku <tt>control</tt> pakietu ¼ród³owego, nie zostan± przepisane do pliku 
kontrolnego pakietu binarnego czy ¼ród³owego. 

<p>Je¿eli istnieje taka potrzeba, mo¿na wykorzystaæ specjalne pole 
rozpoczynaj±ce siê od znaku X, z nastêpuj±cymi po nim opcjonalnymi znakami B, C 
lub S, po których nastêpuje minus - oraz w³a¶ciwa nazwa pola. Je¿eli znakiem 
specjalnym jest B, pole to znajdzie siê w pliku <tt>control</tt> pakietu 
binarnego; je¿eli znakiem specjalnym jest S, pole pojawi siê w pliku 
<tt>*.dsc</tt> pakietu ¼ród³owego; je¶li tym znakiem jest C, dotyczy to pliku 
<tt>*.changes</tt> pakietu dystrybucyjnego. 

<p>Mo¿na u¿yæ kilku znaków specjalnych, na przyk³ad: 

<p><tt>XBS-Comment</tt>: komentarz z pliku <tt>debian/control</tt> pakietu 
¼ród³owego 
<p>W podanym przyk³adzie pole <tt>Comment: To jest komentarz...</tt> pojawi siê 
w opisie pakietu ¼ród³owego i binarnego. 

<p><b>Wycofane pola pliku kontrolnego</b><br>
Poni¿sze pola zosta³y wycofane i mog± pojawiaæ siê najwy¿ej w starych pakietach 
Debiana. 

<p><b>Revision, Package-Revision, Package_Revision</b><br>
Numer wersji pakietu Debiana; obecnie jest czê¶ci± pola <b>Version</b>.

<p><b>Recommended</b><br>
Obecnie pole ma nazwê <b>Recommends</b>.

<p><b>Optional</b><br>
Obecnie pole ma nazwê <b>Suggests</b>.

<p><b>Class</b><br>
Obecnie pole ma nazwê <b>Priority</b>.

<h3>Plik historii pakietu (<tt>changelog</tt>)</h3>

<p>Plik historii pakietu jest wymagany przez pakiet ¼ród³owy i pojawia siê w nim 
jako plik <tt>debian/changelog</tt>. Ten plik powinien byæ umieszczony w 
pakiecie binarnym, jako 
<tt>/usr/share/doc/&lt;nazwa-pakietu*&gt;/changelog.gz</tt>, je¿eli oryginalny 
pakiet ¼ród³owy jest ¼ród³owym pakietem Debiana lub 
<tt>/usr/share/doc/&lt;nazwa-pakietu*&gt;/changelog.Debian.gz</tt>, je¶li 
oryginalny pakiet ¼ród³owy zosta³ ,,zdebianizowany''.

<p>Plik historii pakietu - oprócz dostarczenia informacji czytelnej dla 
u¿ytkownika o dokonanych zmianach w pakiecie - ma specjalne znaczenie. 

<p>Plik ten jest analizowany przez program <tt>dpkg-parsechangelog</tt>, który 
na podstawie zawarto¶ci pliku generuje odpowiedni plik kontrolny, wykorzystywany 
pó¼niej do zbudowania plików kontrolnych dla pakietów binarnych, ¼ród³owego i 
dystrybucyjnego. 

<p>Domy¶lny format pliku jest nastêpuj±cy: 


<p><tt>
&lt;pakiet&gt; (&lt;wersja&gt;) &lt;dystrybucja&gt;; 
urgency=&lt;wa¿no¶æ&gt;<br><br>

 * &lt;opis zmian, które dotycz± pakietu&gt;<br>
   &lt;dalsza czê¶æ opisu, je¿eli nie zmie¶ci³a siê powy¿ej><br>
 * &lt;nastêpny punkt opisu zmian&gt;<br><br>
 
-- &lt;opiekun&gt;  &lt;data&gt;
</tt>

<p>Czê¶æ tych informacji jest wykorzystana przy tworzeniu plików kontrolnych: 

<dl>

<dd><b>pakiet</b>
<dd>Nazwa pakietu, taka sama jak w polu <b>Package</b> pliku <tt>control</tt> 
pakietu ¼ród³owego.
<dd>&nbsp;

<dd><b>wersja</b>
<dd>Numer wersji pakietu, który powinien byæ identyczny z numerem w nazwie 
katalogu zawieraj±cego ¼ród³a pakietu. Numer ten pojawi siê w pliku kontrolnym 
pakietu binarnego, w polu <b>Version</b>.
<dd>&nbsp;

<dd><b>dystrybucja</b>
<dd>Informacja jest kopiowana do pola <b>Distribution</b> pliku kontrolnego 
<tt>*.changes</tt>.
<dd>&nbsp;

<dd><b>wa¿no¶æ</b>
<dd>Informacja jest kopiowana do pola <b>Urgency</b> pliku kontrolnego 
<tt>*.changes</tt>. W polu nie mo¿na wykorzystaæ znaku przecinka, gdy¿ przecinki 
rozdzielaj± listê zawieraj±c± pary <tt>&lt;pole&gt;=&lt;warto¶æ&gt;</tt>.
<dd>&nbsp;

<dd><b>opiekun</b>
<dd>Opiekun tej wersji pakietu. Je¿eli warto¶æ tego pola pokrywa siê z polem 
<b>Maintainer</b> pliku kontrolnego, autorem tej wersji pakietu jest pierwotny 
opiekun. Mo¿na umie¶ciæ w tym polu dane innej osoby, co znaczy ¿e ta wersja 
pakietu zosta³a utworzona przez kogo¶ innego, ni¿ pierwotny opiekun pakietu.
<dd>&nbsp;

<dd><b>data</b>
<dd>Data utworzenia danej wersji pakietu, podana w formacie RFC822 i 
wygenerowana przez program <tt>822-date</tt>.
<dd>&nbsp;

<dd><b>opis zmian</b>
<dd>Dotyczy przede wszystkim zmian w pakiecie Debiana (tzn. katalogu 
<tt>debian/</tt> pakietu ¼ród³owego), szczególnie gdy opis zmian w oryginalnym 
¼ródle jest zawarty w innym pliku. Je¿eli pakiet jest specyficznym pakietem 
dystrybucji Debiana, w opisie mog± siê znale¼æ informacje o zmianach w ca³ym 
¼ródle.
<dd>&nbsp;
<dd>Je¿eli pakiet jest czê¶ci± systemu ¶ledzenia b³êdów, takiego jak np.
<a href="http://www.debian.org/Bugs">http://www.debian.org/Bugs</a>, a w opisie 
zmian pojawia siê tekst <tt>Closes: #12345</tt>, podany numer jest do³±czany do 
listy zamkniêtych b³êdów pola <b>Closes</b> pliku <tt>*.changes</tt>.
<dd>&nbsp;
<dd>W opisie zmian czêsto pojawiaj± siê charakterystyczne informacje. 
<tt>Initial release</tt> to czêsto pierwszy wpis do historii zmian. <tt>New 
upstream release</tt> oznacza zmianê w oryginalnym ¼ródle i ponown± jego 
debianizacjê. <tt>NMU</tt> lub <tt>Non-maintainer release</tt> to informacja o 
tym, ¿e dana wersja pakietu zosta³a utworzona przez osobê, która nie jest 
oficjalnym opiekunem tego pakietu.

</dl>

Format pliku historii zmian mo¿na zast±piæ innym, pod warunkiem ¿e w ostatnich 
40 wierszach pliku pojawi siê ci±g znaków rozpoznawany przez wyra¿enie regularne 
Perla <tt>\schangelog-format:\s+([0-9a-z]+)\W</tt> oraz istnieje odpowiedni 
program analizuj±cy ten format, dostêpny w systemie jako 
<tt>/usr/lib/dpkg/parsechangelog/&lt;format-name&gt;</tt> lub 
<tt>/usr/local/lib/dpkg/parsechangelog/&lt;format-name&gt;</tt>. Program 
analizuj±cy format musi wygenerowaæ dane, takie same jak w przypadku domy¶lnych 
ustawieñ programu <tt>dpkg-parsechangelog</tt> dla domy¶lnego formatu pliku 
historii.

<h3>Program obs³ugi pakietu ¼ród³owego (<tt>rules</tt>)</h3>

Charakterystyczne dla systemu pakietów Debiana jest to, ¿e proces 
przygotowywania plików z których zostanie utworzony pakiet binarny jest 
niezale¿ny od wykorzystywanych w tym celu narzêdzi. W skrajnym przypadku pliki 
takie mo¿na przygotowaæ rêcznie, co mo¿e przydaæ siê przy tworzeniu 
,,pustych'' pakietów jedynie z informacjami dla systemu pakietów. Ale
pliki robocze do budowy pakietu binarnego mo¿na wygenerowaæ tak¿e za pomoc± 
specjalnego narzêdzia - np. <tt>yada</tt>. 

<p>Aby zbudowaæ pakiet binarny ze standardowego pakietu ¼ród³owego Debiana, 
wywo³uje siê odpowiedni program (<tt>debian/rules</tt>) znajduj±cy siê w tym 
pakiecie ¼ród³owym. 

<p>W zale¿no¶ci od argumentów przekazanych temu programowi, wykonywane s± 
odpowiednie czynno¶ci. Poniewa¿ tradycyjnie ten program jest skryptem 
<tt>Makefile</tt>, argument jest celem (ang. <i>target</i>) dla programu 
<tt>make</tt>.

<p><b>build</b><br>
Ten cel powoduje skompilowanie ¼róde³ bez ingerencji u¿ytkownika. Je¿eli 
oryginalne ¼ród³o wymusza interakcjê z u¿ytkownikiem, zdebianizowany pakiet 
¼ród³owy musi byæ tak zmodyfikowany, aby wstêpna konfiguracja nie by³a ju¿ 
potrzebna. Wszelkie operacje wykonywane w ten sposób nie mog± wymagaæ uprawnieñ 
u¿ytkownika root. 

<p>Je¿eli z tego samego ¼ród³a powstaje kilka pakietów binarnych, dla których 
sposób kompilacji jest inny, ten cel przestaje mieæ sens, a proces kompilacji 
wywo³ujemy poprzez cel <tt>binary</tt>.

<p>W pewnych przypadkach, szczególnie gdy proces kompilowania pakietu jest 
d³ugi, mo¿na zapobiec ponownemu kompilowaniu ¼róde³ przy nastêpnym uruchomieniu 
<tt>debian/rules build</tt>.

<p><b>binary, binary-arch, binary-indep</b><br>
Wywo³anie tego celu powoduje zbudowanie pakietu binarnego ze skompilowanych 
¼róde³. Proces jest ten rozdzielony na kolejne cele <b>binary-arch</b> i 
<b>binary-indep</b>, w zale¿no¶ci od tego, czy pakiet binarny jest przeznaczony 
dla tylko jednej architektury, czy dla wszystkich. 

<p>Sam cel binary powinien wywo³aæ odpowiednie cele zale¿ne od wyboru 
architektury, a tak¿e cel <b>build</b>, je¿eli ten nie zosta³ jeszcze wywo³any. 
Cele <b>binary-*</b> powinny przygotowaæ odpowiedni katalog roboczy, wygenerowaæ 
plik kontrolny poprzez wywo³anie programu <tt>dpkg-gencontrol</tt>, a nastêpnie 
zbudowaæ pakiet binarny w katalogu nadrzêdnym do bie¿±cego na podstawie 
zawarto¶ci katalogu roboczego, poprzez wywo³anie programu <tt>dpkg-deb</tt>.

<p>Gdy który¶ z celów <b>binary-*</b> nie wykonuje ¿adnych czynno¶ci, powinien 
po prostu zakoñczyæ swoje dzia³anie bez zg³aszania b³êdu. 

<p>Cel binary i odpowiednie cele zale¿ne od architektury musz± byæ wywo³ane z 
prawami u¿ytkownika root.

<p><b>clean</b><br>
Wywo³anie tego celu powinno spowodowaæ anulowanie wszelkich zmian dokonanych 
przez cele <b>binary</b> oraz <b>build</b>, oprócz zmian w katalogu nadrzêdnym. 

<p>Ten cel musi byæ wykonany z prawami u¿ytkownika root, je¿eli wcze¶niej 
wykonano cel <b>binary</b>.

<h3>Przyk³adowe pliki</h3>

<ul>

<li><b><tt>debian/control</tt></b> (pakiet ¼ród³owy fonty)

<p><tt>
Source: fonty<br>
Maintainer: Piotr Roszatycki &lt;dexter@debian.org&gt;<br>
Section: utils<br>
Priority: extra<br>
Standards-Version: 3.0.1<br>
</tt>

<p><tt>
Package: fonty<br>
Architecture: all<br>
Section: utils<br>
Depends: console-tools (&gt;= 1:0.2.3-1), console-data<br>
Description: Fonts on Linux console.<br>
Fonty package brings a set of iso-8859-n fonts with VT100 graphics: single<br>
frames, a few symbols.<br>
</tt>

<p><tt>
Package: dynafont<br>
Architecture: any<br>
Section: utils<br>
Depends: ${shlibs:Depends}, konwert<br>
Recommends: console-tools (&gt;= 1998.06.03)<br>
Description: Module for konwert package which loads UTF-8 fonts dynamically.<br>
This is a tool which allows displaying texts containing thousands of different<br>
characters. It switches console to UTF8 mode and loads required fonts<br>
dynamically. It is recommended to use this tool with filterm(1) tool,<br>
i.e. by executing 'filterm - dynafont' command.<br>
.<br>
The tool works with UTF8-compatible applications, i.e. lynx(1).<br>
There are problems with 8-bit only applications like mc(1).<br>
</tt>

<p><tt>
Package: fonty-dev<br>
Architecture: all<br>
Section: devel<br>
Depends: ${perl:Depends}<br>
Suggests: fonty<br>
Description: Tools for developing fonts on Linux console.<br>
This package contains Tools for developing console fonts:<br>
* psf2sbf - converts .psf font binary file to text file<br>
* sbf2psf - converts .sbf font source to binary file<br><br>
</tt>

<li><b><tt>fonty_1.0-6.dsc</tt></b> (pakiet ¼ród³owy)

<p><tt>
Source: fonty<br>
Version: 1.0-6<br>
Binary: fonty, dynafont, fonty-dev<br>
Maintainer: Piotr Roszatycki &lt;dexter@debian.org&gt;<br>
Architecture: any<br>
Standards-Version: 3.0.1<br>
Files:<br>
 7b15b582e990656f0b6865eb27e9b094 153294 fonty_1.0.orig.tar.gz<br>
 9f579b77c1e1ad516bf1273a847989d3 48607 fonty_1.0-6.diff.gz<br><br>
</tt>

<li><b><tt>control</tt></b> (pakiet binarny <tt>dynafont</tt>)

<p><tt>
Package: dynafont<br>
Version: 1.0-6<br>
Section: utils<br>
Priority: extra<br>
Architecture: i386<br>
Depends: libc6 (&gt;= 2.1), libstdc++2.10, konwert<br>
Recommends: console-tools (&gt;= 1998.06.03)<br>
Installed-Size: 141<br>
Maintainer: Piotr Roszatycki &lt;dexter@debian.org&gt;<br>
Description: Module for konwert package which loads UTF-8 fonts dynamically.<br>
This is a tool which allows displaying texts containing thousands of different<br>
characters. It switches console to UTF8 mode and loads required fonts<br>
dynamically. It is recommended to use this tool with filterm(1) tool,<br>
i.e. by executing 'filterm - dynafont' command.<br>
.<br>
The tool works with UTF8-compatible applications, i.e. lynx(1).<br>
There are problems with 8-bit only applications like mc(1).<br>
Source: fonty<br><br>
</tt>

<li><b><tt>fonty_1.0-6_i386.changes</tt></b> (pakiet dystrybucyjny)

<p><tt>
Format: 1.6<br>
Date: Sun, 28 Nov 1999 13:26:56 +0100<br>
Source: fonty<br>
Binary: fonty dynafont fonty-dev<br>
Architecture: source all i386<br>
Version: 1.0-6<br>
Distribution: unstable<br>
Urgency: low<br>
Maintainer: Piotr Roszatycki &lt;dexter@debian.org&gt;<br>
Description:<br>
dynafont&nbsp;&nbsp;&nbsp;- Module for konwert package which loads UTF-8 fonts dynamically.<br>
fonty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Fonts on Linux console.<br>
fonty-dev&nbsp;&nbsp;- Tools for developing fonts on Linux console.<br>
Changes:<br>
fonty (1.0-6) unstable; urgency=low<br>
.<br>
* Removed /etc/init.d/fonty script as far as console-tools do 
initialization.<br>
* Some minor modification with debian/*.dpatch files.<br>
* fontyconfig(8) replaced by debconf.<br>
* yada 0.8<br>
Files:<br>
1a688b878b3bffa72760f9c0706b62fb 629 utils extra fonty_1.0-6.dsc<br>
9f579b77c1e1ad516bf1273a847989d3 48607 utils extra fonty_1.0-6.diff.gz<br>
31750fc2be75bbbb4f83a900a1468feb 109816 utils extra dynafont_1.0-6_i386.deb<br>
4a988eba220df2599a9a29f747483183 75440 utils extra fonty_1.0-6_all.deb<br>
835fb15f0d6b56f4ba8dc9fd382d2055 113692 devel extra fonty-dev_1.0-6_all.deb
</tt>

</ul>

<h3>Literatura</h3>

The Debian Packaging Manual<br>
The Debian GNU/Linux FAQ<br>
<tt>man 5 deb</tt><br>
<tt>man 5 deb-control</tt><br>
<tt>man 8 dpkg</tt><br>

© 2014-2024 Faster IT GmbH | imprint | privacy policy