APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò...

43

Transcript of APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò...

Page 1: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

APT HOWTO (Obsolete Documentation)Gustavo Noronha Silva <[email protected]>

1.8.2 - Íîÿáðü 2002

Àííîòàöèÿ

Ýòîò äîêóìåíò äîëæåí ïîìî÷ü ïîëüçîâàòåëþ ðàçîáðàòüñÿ ñ ïðèöèïàìè ðàáîòû ñ óòèëè-òîé óïðàâëåíèÿ ïàêåòàìè Debian, APT. Åãî öåëü - îáëåã÷èòü æèçíü íîâûì ïîëüçîâàòåëÿìDebian è ïîìî÷ü òåì, êòî õî÷åò ïîëó÷èòü áîëåå ãëóáîêèå çíàíèÿ ïî àäìèíèñòðèðîâàíèþñèñòåìû. Äîêóìåíò áûë ñîçäàí äëÿ ïðîåêòà Debian äëÿ òîãî, ÷òîáû óëó÷øèòü ïîääåðæêóïîëüçîâàòåëåé ýòîãî äèñòðèáóòèâà.

Page 2: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ñâåäåíèÿ îá àâòîðñêèõ ïðàâàõ

Copyright © 2001, 2002, 2003, 2004 Gustavo Noronha Silva

This manual is free software; you may redistribute it and/or modify it under the terms of theGNU General Public License as published by the Free Software Foundation; either version 2, or(at your option) any later version.

This is distributed in the hope that it will be useful, but without any warranty; without even theimplied warranty of merchantability or �tness for a particular purpose. See the GNU GeneralPublic License for more details.

A copy of the GNU General Public License is available as /usr/share/common-licenses/GPL inthe Debian GNU/Linux distribution or on the World Wide Web at the GNU General PublicLicence. You can also obtain it by writing to the Free Software Foundation, Inc., 59 TemplePlace - Suite 330, Boston, MA 02111-1307, USA.

Page 3: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

i

Îãëàâëåíèå

1 Ââåäåíèå 1

2 Îñíîâíàÿ íàñòðîéêà 3

2.1 Ôàéë /etc/apt/sources.list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Êàê èñïîëüçîâàòü APT ëîêàëüíî . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Îïðåäåëåíèå íàèëó÷øåãî çåðêàëà äëÿ âêëþ÷åíèÿ â ôàéë source.list: netselect,netselect-apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Äîáàâëåíèå CD-ROM â ôàéë sources.list . . . . . . . . . . . . . . . . . . . . . . 6

3 Óïðàâëåíèå ïàêåòàìè 9

3.1 Îáíîâëåíèå ñïèñêà äîñòóïíûõ ïàêåòîâ . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Óñòàíîâêà ïàêåòîâ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 Óäàëåíèå ïàêåòîâ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 Îáíîâëåíèå ïàêåòîâ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.5 Îáíîâëåíèå íîâîãî âûïóñêà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.6 Èñïîëüçîâàíèå APT ñ dselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.7 Êàê ñîõðàíèòü ñìåøàííóþ ñèñòåìó . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.8 Êàê îáíîâëÿòü ïàêåòû èç óêàçàííûõ âåðñèé Debian . . . . . . . . . . . . . . . 17

3.9 Êàê ñîõðàíÿòü óêàçàííûå âåðñèè óñòàíîâëåííûõ ïàêåòîâ (ñëîæíûé ñïîñîá) . 17

4 Âåñüìà ïîëåçíûå ïîìîùíèêè 21

4.1 Êàê óñòàíîâèòü ëîêàëüíî ñêîìïèëèðîâàííûå ïàêåòû: equivs . . . . . . . . . . 21

4.2 Óäàëåíèå íåèñïîëüçóåìûõ ôàéëîâ ëîêàëè: localepurge . . . . . . . . . . . . . . 23

4.3 Êàê óçíàòü, êàêèå ïàêåòû ìîæíî îáíîâèòü . . . . . . . . . . . . . . . . . . . . 23

Page 4: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Îãëàâëåíèå ii

5 Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 25

5.1 Íàõîæäåíèå èìåí ïàêåòîâ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2 Ïðèìåíåíèå dpkg äëÿ ïîèñêà èìåí ïàêåòîâ . . . . . . . . . . . . . . . . . . . . 28

5.3 Óñòàíîâêà ïàêåòîâ �ïî çàïðîñó� . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.4 Êàê îïðåäåëèòü, êàêîìó ïàêåòó ïðèíàäëåæèò ôàéë . . . . . . . . . . . . . . . 29

5.5 Êàê ïîëó÷èòü èíôîðìàöèþ îá èçìåíåíèÿõ â ïàêåòå. . . . . . . . . . . . . . . . 30

6 Ðàáîòà ñ ïàêåòàìè èñõîäíûõ òåêñòîâ 31

6.1 Ñêà÷èâàíèå ïàêåòîâ èñõîäíûõ òåêñòîâ . . . . . . . . . . . . . . . . . . . . . . . 31

6.2 Ïàêåòû, íåîáõîäèìûå äëÿ êîìïèëÿöèè ïàêåòîâ èñõîäíûõ òåêñòîâ . . . . . . . 32

7 Êàê èñïðàâëÿòü îøèáêè 33

7.1 Îáùèå îøèáêè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7.2 Ãäå ìíå èñêàòü ïîìîùü? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

8 Êàêèå äèñòðèáóòèâû ïîääåðæèâàþò APT? 35

9 Áëàãîäàðíîñòè 37

10 Íîâûå âåðñèè ýòîãî ðóêîâîäñòâà 39

Page 5: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

1

Ãëàâà 1

Ââåäåíèå

 íà÷àëå áûë .tar.gz. Ïîëüçîâàòåëè äîëæíû áûëè ñíà÷àëà ñêîìïèëèðîâàòü ïðîãðàììû,êîòîðûå îíè õîòåëè èñïîëüçîâàòü íà ñâîèõ ñèñòåìàõ GNU/Linux. Êîãäà ñîçäàâàëñÿ Debian,âîçíèêëà íåîáõîäèìîñòü â ñèñòåìå óïðàâëåíèÿ ïàêåòàìè, óñòàíîâëåííûìè íà ìàøèíå. Ýòîéñèñòåìå áûëî äàíî èìÿ dpkg. Ýòîò èçâåñòíûé `ïàêåò' ïåðâûì ïîÿâèëñÿ íà GNU/Linux,ïðåæäå ÷åì Red Hat ðåøèë ñîçäàòü ñîáñòâåííóþ ñèñòåìó `rpm'.

Çàòåì ïåðåä ñîçäàòåëÿìè GNU/Linux áûñòðî âîçíèêëà íîâàÿ äèëåììà. Èì ïîíàäîáèëñÿñïîñîá äëÿ áûñòðîãî, ïðàêòè÷åñêîãî è ýôôåêòèâíîãî ïóòè óñòàíîâêè ïàêåòîâ, êîòîðûéäîëæåí àâòîìàòè÷åñêè îáñëóæèâàòü çàâèñèìîñòè è ñîõðàíÿòü íàñòðî÷íûå ôàéëû ïðè îá-íîâëåíèè. Òóò ñíîâà, Debian âûøåë âïåðåä è ïðåäëîæèë ìèðó APT, Advanced PackagingTool, êîòîðûé çàòåì áûë ïîðòèðîâàí Conectiva`îé äëÿ èñïîëüçîâàíèÿ ñ rpm è áûë àäàïòè-ðîâàí íåêîòîðûìè äðóãèìè äèñòèáóòèâàìè.

Ýòî ðóêîâîäñòâî íå ðàññìàòðèâàåò apt-rpm, êàê íàçûâàåòñÿ ïîðò APT îò Conectiva, íî�çàïëàòû� ê äîêóìåíòó ïî ýòîé òåìå ïðèâåòñòâóþòñÿ.

Ýòî ðóêîâîäñòâî îñíîâàíî íà ñëåäóþùåì âûïóñêå Debian, Sarge.

Page 6: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 1. Ââåäåíèå 2

Page 7: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

3

Ãëàâà 2

Îñíîâíàÿ íàñòðîéêà

2.1 Ôàéë /etc/apt/sources.list

Êàê ÷àñòü ñâîåé ðàáîòû, APT èñïîëüçóåò ôàéë, êîòîðûé ñîäåðæèò ñïèñîê 'èñòî÷íèêîâ', èçêîòîðûõ ìîãóò áûòü ñêà÷àíû ïàêåòû. Ýòî ôàéë /etc/apt/sources.list.

Îáû÷íî ýòîò ôàéë èìååò ñëåäóþùèé ôîðìàò:

deb http://host/debian distribution ðàçäåë1 ðàçäåë2 ðàçäåë3deb-src http://host/debian distribution ðàçäåë1 ðàçäåë2 ðàçäåë3

Êîíå÷íî, âûøåïðèâåäåííûå çàïèñè ÿâëÿþòñÿ ïðîñòî ïðèìåðîì è íå äîëæíû èñïîëüçîâàòü-ñÿ. Ïåðâîå ñëîâî â êàæäîé ñòðîêå, ëèáî deb, ëèáî deb-src, óêàçûâàåò òèï àðõèâà: ëèáîýòî äâîè÷íûå (binary) ïàêåòû (deb), êîòîðûå ÿâëÿþòñÿ ïðåä-êîìïèëèðîâàííûìè ïàêåòàìè,êîòîðûå ãîòîâû ê èñïîëüçîâàíèþ, ëèáî ïàêåòû ñ èñõîäíûìè òåêñòàìè (deb-src), êîòîðûåÿâëÿþòñÿ ïåðâîíà÷àëüíûìè èñõîäíûìè òåêñòàìè ïðîãðàìì ñ óïðàâëÿþùèì ôàéëîì Debian(.dsc) è ôàéëîì di�.gz, ñîäåðæàùèì èçìåíåíèÿ, íåîáõîäèìûå äëÿ `äåáèàíèçàöèè' ïðîãðàì-ìû.

Îáû÷íî â sources.list ïîìåùàåòñÿ ñëåäóþùåå:

# See sources.list(5) for more information, especialy# Remember that you can only use http, ftp or �le URIs# CDROMs are managed through the apt-cdrom tool.deb http://http.us.debian.org/debian stable main contrib non-freedeb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-freedeb http://security.debian.org stable/updates main contrib non-free

# Uncomment if you want the apt-get source function to work#deb-src http://http.us.debian.org/debian stable main contrib non-free#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

Page 8: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 4

Ýòè ñòðîêè íåîáõîäèìû äëÿ áàçîâîé óñòàíîâêè Debian. Ïåðâàÿ ñòðîêà deb óêàçûâàåò íàîôèöèàëüíûé àðõèâ, âòîðàÿ - íà íå-ÑØÀ àðõèâ è òðåòüÿ - íà àðõèâ îáíîâëåíèé áåçîïàñ-íîñòè Debian.

Äâå ïîñëåäíèå ñòðîêè çàêîììåíòèðîâàíû (íà÷èíàþòñÿ ñ `#'), òàê ÷òî apt-get áóäåò èõ èã-íîðèðîâàòü. Ýòè ñòðîêè deb-src óêàçûâàþò íà ïàêåòû èñõîäíûõ òåêñòîâ Debian. åñëè âû÷àñòî ñêà÷èâàåòå èñõîäíûå òåêñòû ïðîãðàìì äëÿ òåñòèðîâàíÿ è ïåðåêîìïèëÿöèè, ðàñêîì-ìåíòèðóéòå èõ.

Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ ñ àðõèâàìè òèïîâ http, ftp, �le (ëîêàëüíûå ôàéëû, íàïð., êàòàëîã, ñîäåðæàùèéñìîíòèðîâàííóþ ôàéëîâóþ ñèñòåìó ISO9660) è ssh, íàñêîëüêî ÿ çíàþ.

2.2 Êàê èñïîëüçîâàòü APT ëîêàëüíî

Èíîãäà, âû ìîæåòå ðàñïîëàãàòü êó÷åé ïàêåòîâ .deb, êîòîðûå âàì õîòåëîñü áû óñòàíàâëèâàòüñ ïîìîùüþ APT, ÷òîáû çàâèñèìîñòè îáðàáàòûâàëèñü àâòîìàòè÷åñêè.

×òîáû ýòî ñäåëàòü, ñîçäàéòå êàòàëîã è ïîìåñòèòå â íåãî .deb`û, êîòîðûå âàì íóæíû. Íà-ïðèìåð:

mkdir /root/debs

Âû ìîæåòå èçìåíèòü óñòàíîâêè îïðåäåëåíèé ôàéëà control èç debian-ïàêåòà íàïðÿìóþ äëÿâàøåãî ðåïîçèòîðèÿ ñ ïîìîùüþ ôàéëà override. Â ýòîì ôàéëå âû ìîæåòå îïðåäåëèòü êàêèå-íèáóäü îïöèè äëÿ ïåðåêðûòèÿ òåõ, êîòîðûå ïðèõîäÿò ñ ïàêåòîì. Ýòî ìîæåò âûãëÿäåòü òàê:

package priority section

package - ýòî èìÿ ïàêåòà, priority - èìååò çíà÷åíèÿ low, medium èëè high, à section - ýòîíàçâàíèå ðàçäåëà, â êîòîðîì îí íàõîäèòñÿ. Èìÿ ôàéëà íå èìååò çíà÷åíèÿ, ïîçæå âû áóäåòåóêàçûâàòü åãî â êà÷åñòâå àðãóìåíòà äëÿ êîìàíäû dpkg-scanpackages. Åñëè âû íå õîòèòåñîñòàâëÿòü ôàéë override, òîãäà ïðîñòî óêàçûâàéòå /dev/null. ïðè âûçîâå dpkg-scanpackages.

Èç êàòàëîãà /root äàéòå êîìàíäó:

dpkg-scanpackages debs �le | gzip > debs/Packages.gz

In the above line, �le is the override �le, the command generates a �le Packages.gz thatcontains various informations about the packages, which are used by APT. To use the packages,�nally, add:  âûøåïðèâåäåííîé êîìàíäå, �le - ýòî ôàéë override, êîìàíäà ãåíåðèðóåò ôàéëPackages.gz, êîòîðûé ñîäåðæèò ðàçëè÷íóþ èíôîðìàöèþ î ïàêåòàõ, êîòîðûå èñïîëüçóþòñÿAPT. ×òîáû èñïîëüçîâàòü ïàêåòû, íàêîíåö, äîáàâüòå:

deb �le:/root debs/

Page 9: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 5

Ïîñëå âñåõ ýòèõ ìàíèïóëÿöèé âû ìîæåòå èñïîëüçîâàòü êîìàíäû APT êàê îáû÷íî. Âû òàêæåìîæåòå ñîçäàòü è ðåïîçèòîðèé äëÿ èñõîäíûõ òåêñòîâ. Äëÿ ýòîãî èñïîëüçóåòñÿ òà æå ïðî-öåäóðà, íî ïîìíèòå, ÷òî âàì íóæíû ôàéëû .orig.tar.gz, .dsc è .di�.gz â êàòàëîãå, è âìåñòîPackages.gz íàäî èñïîëüçîâàòü Sources.gz. Òàêæå íóæíî èñïîëüçîâàòü äðóãóþ ïðîãðàììó.Ýòî ïðîãðàììà dpkg-scansources. Êîìàíäíàÿ ñòðîêà âûãëÿäèò ïðèìåðíî òàê:

dpkg-scansources debs | gzip > debs/Sources.gz

Îáðàòèòå âíèìàíèå íà òî, ÷òî ïðîãðàììå dpkg-scansources íå íóæåí override ôàéë. Ñòðîêàâ sources.list:

deb-src �le:/root debs/

2.3 Îïðåäåëåíèå íàèëó÷øåãî çåðêàëà äëÿ âêëþ÷åíèÿ â ôàéë source.list:netselect, netselect-apt

Íàèáîëåå ÷àñòî âîçíèêàåìûé âîïðîñ, â îñíîâíîì ó íîâè÷êîâ: �êàêîå çåðêàëî Debian âêëþ-÷àòü â sources.list?�. Äëÿ âûáîðà çåðêàëà åñòü ìíîæåñòâî ñïîñîáîâ. Ýêñïåðòû âåðîÿòíî ïîëü-çóþòñÿ ñöåíàðèÿìè, êîòîðûå èçìåðÿþò ïðîäîëæèòåëüíîñòü ping`îâ äî íåêîòîðûõ çàðêàë.Íî òàêàÿ ïðîãðàììà äëÿ âàñ óæå èìååòñÿ: netselect.

×òîáó óñòàíîâèòü netselect, ñäåëàéòå êàê îáû÷íî:

apt-get install netselect

Ïðè çàïóñêå ïðîãðàììû áåç ïàðàìåòðîâ îòîáðàæàåòñÿ ñïðàâêà. Ïðè çàïóñêå ñ óêàçàííû-ìè â êà÷åñòâå ïàðàìåòðîâ, ðàçäåëåííûõ ïðîáåëàìè, èìåíàìè õîñòîâ (çåðêàë), îíà âûäàñòîöåíêó è îäèí èç õîñòîâ. Ýòà îöåíêà ó÷èòûâàåò îæèäàåìóþ ïðîäîëæèòåëüíîñòü ïèíãà èêîëè÷åñòâî ïåðåõîäîâ (õîñòîâ, êîòîðûå äîëæíû áûòü ïðîéäåíû äî òîãî, êàê ïàêåòû äîé-äóò äî öåëè) è îáðàòíà ïðîïîðöèîíàëüíà îæèäàåìîé ñêîðîñòè ñêà÷èâàíèÿ (ò.å., ÷åì îíàìåíüøå, òåì ëó÷øå). Ïðîãðàììà óêàçûâàåò èìÿ õîñòà, êîòîðûé èìååò íàèìåíüøóþ îöåíêó(ïîëíûé ñïèñîê îöåíîê ìîæíî ïðîñìîòðåòü ñ ïîìîùüþ îïöèè -vv ). Ñì. ïðèìåð:

bash$ netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br365 ftp.debian.org.br

bash$

Ýòî îçíà÷àåò, ÷òî èç óêàçàííûõ â êà÷åñòâå ïàðàìåòðîâ çåðêàë, íàèëó÷øèì ÿâëÿåòñÿftp.debian.org.br, ñ îöåíêîé 365. (Âíèìàíèå!! Ïðèâåäåííûå çíà÷åíèÿ äåéñòâèòåëüíû òîëüêîäëÿ ìîåé ìàøèíû, è äëÿ äðóãèõ ìàøèí âñå ìîæåò áûòü ñîâñåì ïî-äðóãîìó).

Ñåé÷àñ, ïðîñòî ïîìåñòèòå íàéäåííîå netselect çåðêàëî â ôàéë /etc/apt/sources.list (ñì.`Ôàéë /etc/apt/sources.list' íà ñòð. 3) è ñëåäóéòå ñîâåòàì â `Óïðàâëåíèå ïàêåòàìè' íà ñòð.9.

Page 10: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 6

Ïðèìå÷àíèå: ñïèñîê çåðêàë ìîæíî âñåãäà íàéòè â ôàéëå http://www.debian.org/mirror/mirrors_full.

Íà÷èíàÿ ñ âåðñèè 0.3, ïàêåò netselect âêëþ÷àåò ñöåíàðèé netselect-apt, êîòîðûé äåëàåò âû-øåîïèñàííûå ïðîöåäóðû àâòîìàòè÷åñêè. Ïðîñòî ââåäèòå â êà÷åñòâà ïàðàìåòðà èìÿ äåðåâàäèñòðèáóòèâà (ïî óìîë÷àíèþ ýòî stable) è ôàéë sources.list áóäåò íàñòðîåí íà íàèëó÷øèåçåðêàëà main è non-US è áóäåò ñîõðàíåí â òåêóùåì êàòàëîãå. Ñëåäóþùèé ïðèìåð ãåíåðè-ðóåò sources.list ñòàáèëüíîãî äèñòðèáóòèâà:

bash$ ls sources.listls: sources.list: File or directory not foundbash$ netselect-apt stable(...)bash$ ls -l sources.listsources.listbash$

Ïîìíèòå: Ôàéë sources.list ãåíåðèðóåòñÿ â òåêóùåì êàòàëîãå, è äîëæåí áûòü ïåðåìåùåí âêàòàëîã /etc/apt.

Äàëåå ñëåäóéòå ñîâåòàì â `Óïðàâëåíèå ïàêåòàìè' íà ñòð. 9.

2.4 Äîáàâëåíèå CD-ROM â ôàéë sources.list

Åñëè âû ïðåäïî÷èòàåò èñïîëüçîâàòü äëÿ àâòîìàòè÷åñêîé óñòàíîâêè èëè îáíîâëåíèÿ ïà-êåòîâ ñ ïîìîùüþ âàø CD-ROM, òî ìîæåòå ïîìåñòèòü åãî â ôàéë sources.list. Äëÿ ýòîãîèñïîëüçóåòñÿ ïðîãðàììà apt-cdrom:

apt-cdrom add

Debian CD-ROM äîëæåí íàõîäèòüñÿ â ïðèâîäå. Ïðîãðàììà ñìîíòèðóåò CD-ROM è, åñëèäèñê ÿâëÿåòñÿ Debian CD, òî íàéäåò íà íåì èíôîðìàöèþ î ïàêåòàõ. Åñëè ó âàñ CD-ROMíåîáû÷íîé êîíôèãóðàöèè, òî âû ìîæåòå èñïîëüçîâàòü ñëåäóþùèå îïöèè:

-h - ñïðàâêà ê ïðîãðàììå-d directory - òî÷êà ìîíòèðîâàíèÿ CD-ROM-r - Ïåðåèìåíîâàòü ðàñïîçíàííûé CD-ROM-m - Íå ìîíòèðîâàòü-f - Óñêîðåííûé ðåæèì, íå ïðîâåðÿòü ïàêåòû ôàéëîâ-a - Thorough scan mode

Íàïðèìåð:

apt-cdrom -d /home/kov/mycdrom add

Page 11: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 7

Òàêæå âû ìîæåòå èäåíòèôèöèðîâàòü CD-ROM áåç äîáàâëåíèÿ åãî â ñïèñîê:

apt-cdrom ident

Îáðàòèòå âíèìàíèå, ÷òî ýòà ïðîãðàììà ðàáîòàåò òîëüêî, åñëè âàø CD-ROM ïðàâèëüíîíàñòðîåí â ñèñòåìíîì ôàéëå íàñòðîåê /etc/fstab.

Page 12: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 8

Page 13: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

9

Ãëàâà 3

Óïðàâëåíèå ïàêåòàìè

3.1 Îáíîâëåíèå ñïèñêà äîñòóïíûõ ïàêåòîâ

Ñèñòåìà ïàêåòîâ èñïîëüçóåò ñîáñòâåííóþ áàçó äàííûõ äëÿ ñëåæåíèÿ çà óñòàíîâëåííûìè,íå óñòàíîâëåííûìè è äîñòóïíûìè äëÿ óñòàíîâêè ïàêåòàìè. Ïðîãðàììà apt-get èñïîëüçóåòýòó áàçó äàííûõ äëÿ îïðåäåëåíèÿ ïóòè óñòàíîâêè ïàêåòîâ, òðåáóåìûõ ïîëüçîâàòåëåì, è äëÿîïðåäåëåíèÿ òîãî, êàêèå äîïîëíèòåëüíûå ïàêåòû íóæíû, ÷òîáû âûáðàííûå ïàêåòû ðàáîòàëêîððåêòíî.

×òîáû îáíîâèòü ýòîò ñïèñîê, âû äîëæíû èñïîëüçîâàòü êîìàíäó apt-get update. Ýòà êîìàíäàïðîñìàòðèâàåò ñïèñêè ïàêåòîâ â àðõèâàõ, óêàçàííûõ â ôàéëå /etc/apt/sources.list; ñì. áîëååïîëíûå ñâåäåíèÿ îá ýòîì ôàéëå â `Ôàéë /etc/apt/sources.list' íà ñòð. 3.

Áûëî áû íåïëîõî çàïóñêàòü ýòó êîìàíäó ðåãóëÿðíî, ÷òîáû âàøà ñèñòåìà âñåãäà áûëà âêóðñå îá îáíîâëåíèÿõ äîñòóïíûõ ïàêåòîâ, îñîáåííî îáíîâëåíèÿõ áåçîïàñíîñòè.

3.2 Óñòàíîâêà ïàêåòîâ

Íàêîíåö-òî, îæèäàíèå îêîí÷åíî! Âàø sources.list ãîòîâ è ñïèñêè äîñòóïíûõ ïàêåòîâ îáíîâ-ëåíû, òåïåðü âàì òîëüêî îñòàåòñÿ äàòü êîìàíäó apt-get, ÷òîáû óñòàíîâèòü ïðåäïî÷èòàåìûéïàêåò. Íàïðèìåð, âû ìîæåòå çàïóñòèòü:

apt-get install xchat

APT áóäåò èñêàòü â ñâîåé áàçå äàííûõ íàèáîëåå ñâåæèå âåðñèè ïàêåòîâ è áóäåò ñêà÷èâàòüèõ èç ñîîòâåòñòâóþùèõ àðõèâîâ òàê, êàê îíè óêàçàíû â sources.list.  ñëó÷àÿõ, êîãäà ïà-êåò çàâèñèò îò äðóãîãî � êàê â âàðèàíòå íèæå � APT ïðîâåðèò çàâèñèìîñòè è óñòàíîâèòíåîáõîäèìûå ïàêåòû. Ñì. ïðèìåð:

[root]@[/] # apt-get install nautilus

Page 14: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 10

Reading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:bonobo libmedusa0 libnautilus0

The following NEW packages will be installed:bonobo libmedusa0 libnautilus0 nautilus

0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded.Need to get 8329kB of archives. After unpacking 17.2MB will be used.Do you want to continue? [Y/n]

Ïàêåò nautilus çàâèñèò îò ñîâìåñòíî-èñïîëüçóåìûõ áèáëèîòåê, ïîýòîìó APT ñêà÷àåò èõ èçàðõèâà. Åñëè áû âû óêàçàëè èìåíà ýòèõ áèáëèîòåê â êîìàíäíîé ñòðîêå apt-get, òî APT íåñòàë áû ñïðàøèâàòü ó âàñ ðàçðåøåíèÿ ïðîäîëæàòü óñòàíîâêó; îí áû àâòîìàòè÷åñêè ðåøèë,÷òî âû õîòèòå óñòàíîâèòü âñå ýòè ïàêåòû.

Ýòî îçíà÷àåò, ÷òî APT çàïðàøèâàåò ïîäòâåðæäåíèÿ òîëüêî òîãäà, êîãäà íóæíî óñòàíîâèòüïàêåòû, êîòîðûå íå áûëè ïåðå÷èñëåíû â êîìàíäíîé ñòðîêå.

Âàì ìîãóò áûòü ïîëåçíû ñëåäóþùèå îïöèè apt-get:

-h ñïðàâêà-d òîëüêî çàãðóçèòü - íå óñòàíàâëèâàòü è íå ðàñïàêîâûâàòü àðõèâû-s íè÷åãî íå äåëàòü ðåàëüíî, èìèòèðîâàòü âûïîëíåíèå-y ïðåäïîëàãàåòñÿ îòâåò Yes íà âñå âîïðîñû, ñàìè âîïðîñû íå âûâîäèòü-f ïðîäîëæàòü, äàæå åñëè ïðîâåðêà öåëîñòíîñòè íå óäà÷íà-u ïëþñ êî âñåìó ïîêàçûâàòü ñïèñîê îáíîâëåííûõ ïàêåòîâ

 îäíîé ñòðîêå ìîæíî çàäàâàòü íåñêîëüêî ïàêåòîâ. Ñêà÷àííûå èç ñåòè ôàéëû ïîìåùàþòñÿâ êàòàëîã äëÿ äàëüíåéøåé óñòàíîâêè /var/cache/apt/archives.

Òàêæå, âû ìîæåòå óêàçûâàòü ïàêåòû äëÿ óäàëåíèÿ â òîé æå êîìàíäíîé ñòðîêå. Ïðîñòîïîìåñòèòå '-' ñðàçó ïîñëå èìåíè óäàëÿåìîãî ïàêåòà, íàïðèìåð:

[root]@[/] # apt-get install nautilus gnome-panel-Reading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:bonobo libmedusa0 libnautilus0

The following packages will be REMOVED:gnome-applets gnome-panel gnome-panel-data gnome-session

The following NEW packages will be installed:bonobo libmedusa0 libnautilus0 nautilus

0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.Need to get 8329kB of archives. After unpacking 2594kB will be used.Do you want to continue? [Y/n]

Page 15: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 11

Áîëåå ïîäðîáíóþ èíôîðìàöèþ îá óäàëåíèè ïàêåòîâ ìîæíî íàéòè â ðàçäåëå `Óäàëåíèå ïà-êåòîâ' íà ñòð. 11.

Åñëè âû îáíàðóæèëè, ÷òî ïàêåò èñïîðòèëñÿ, èëè ïðîñòî õîòèòå ïåðåóñòàíîâèòü ôàéëû ïà-êåòà áîëåå íîâîé äîñòóïíîé âåðñèè, òî âû ìîæåòå èñïîëüçîâàòü îïöèþ �reinstall, íàïðèìåð:

[root]@[/] # apt-get --reinstall install gdmReading Package Lists... DoneBuilding Dependency Tree... Done0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded.Need to get 0B/182kB of archives. After unpacking 0B will be used.Do you want to continue? [Y/n]

Ïðè ñîçäàíèè ýòîãî ðóêîâîäñòâà APT èìåë âåðñèþ 0.5.3, êîòîðàÿ áûëà òåêóùåé âåðñèåé âDebian `unstable' (sid) íà âðåìÿ íàïèñàíèÿ. Åñëè âû óñòàíîâèëè ýòó âåðñèþ, òî âàì äîñòóïíûíåêîòîðûå äîïîëíèòåëüíûå âîçìîæíîñòè: âû ìîæåòå èñïîëüçîâàòü êîìàíäû òèïà apt-getinstall ïàêåò/äèñòðèáóòèâ äëÿ óñòàíîâêè ïàêåòîâ èç óêàçàííûõ äèñòðèáóòèâîâ, èëè apt-getinstall ïàêåò=âåðñèÿ. Íàïðèìåð:

apt-get install nautilus/unstable

óñòàíîâèò nautilus èç äèñòðèáóòèâà `unstable' (íåñòàáèëüíûé), äàæå åñëè âû ðàáîòàåòå íà`stable' (ñòàáèëüíîì). Äëÿ 'distribution' äîïóñêàþòñÿ çíà÷åíèÿ stable, testing è unstable.

Âû ìîæåòå ïðåäïî÷åñòü èñïîëüçîâàíèå êëþ÷à -t äëÿ âûáîðà öåëåâîãî äèñòðèáóòèâà, óêà-çûâàþùåãî apt-get ïðåäïî÷åñòü óêàçàííûé äèñòðèáóòèâ ïðè îáðàáîòêå çàâèñèìîñòåé.

ÂÀÆÍÎ: `unstable' âåðñèÿ Debian - ýòî ñàìàÿ ïåðâàÿ âåðñèÿ, â êîòîðîé ïîÿâëÿþòñÿ íî-âåéøèå âåðñèè ïàêåòîâ Debian. Ýòîò äèñòðèáóòèâ ïîäâåðãàåòñÿ âîçäåéñòâèþ èçìåíåíèé,ñäåëàííûõ â ïàêåòàõ, è ìàëåíüêèì, è áîëüøèì, êàæäîå èç êîòîðûõ ìîæåò âîçäåéñòâîâàòüíà ìíîæåñòâî ïàêåòîâ èëè ñèñòåìó â öåëîì. Ïî ýòîé ïðè÷èíå, ýòà âåðñèÿ äèñòðèáóòèâà íåäîëæíà èñïîëüçîâàòüñÿ íåîïûòíûìè ïîëüçîâàòåëÿìè èëè òåìè, êòî îæèäàåò ñòàáèëüíîñòè.

Äèñòðèáóòèâ `testing' (òåñòèðóåìûé) íåñêîëüêî ëó÷øå `unstable' â îòíîøåíèè ñòàáèëüíîñòè,íî íà ïðîèçâîäñòâå ëó÷øå âñå-òàêè èñïîëüçîâàòü ñòàáèëüíûé äèñòðèáóòèâ.

3.3 Óäàëåíèå ïàêåòîâ

Åñëè ïàêåò âàì áîëüøå íå íóæåí, òî âû ìîæåòå óäàëèòü åãî èç âàøåé ñèñòåìû, èñïîëüçóÿAPT. ×òîáû ýòî ñäåëàòü ïðîñòî ââåäèòå: apt-get remove package. Íàïðèìåð:

[root]@[/] # apt-get remove gnome-panelReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED:

Page 16: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 12

gnome-applets gnome-panel gnome-panel-data gnome-session0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.Need to get 0B of archives. After unpacking 14.6MB will be freed.Do you want to continue? [Y/n]

Èç âûøåïðèâåäåííîãî ïðèìåðà ìîæíî âèäåòü, ÷òî APT òàêæå ïðåäëàãàåò óäàëèòü ïàêåòû,îò êîòîðûõ çàâèñèò ïàêåò, ïðåäëàãàåìûé âàìè ê óäàëåíèþ. Ñïîñîáà óäàëèòü ïàêåò ïðèïîìîùè APT áåç óäàëåíèÿ ïàêåòîâ, îò êîòîðûõ îí çàâèñèò, íåò.

Âûøåïðèâåäåííàÿ êîìàíäà apt-get óäàëèò ïàêåòû, íî îñòàâèò èõ íàñòðîå÷íûå ôàéëû, åñëèîíè åñòü. Äëÿ ïîëíîãî óäàëåíèÿ ïàêåòà çàïóñòèòå:

[root]@[/] # apt-get --purge remove gnome-panelReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED:gnome-applets* gnome-panel* gnome-panel-data* gnome-session*

0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.Need to get 0B of archives. After unpacking 14.6MB will be freed.Do you want to continue? [Y/n]

Îáðàòèòå âíèìàíèå íà '*' ïîñëå èìåí. Ýòî óêàçûâàåò íà òî, ÷òî áóäóò óäàëåíû íàñòðîå÷íûåôàéëû äëÿ êàæäîãî èç ýòèõ ïàêåòîâ.

Àíàëîãè÷íî äåéñòâèþ install, âû ìîæåòå èíâåðòèðîâàòü äåéñòâèå remove äëÿ îïðåäåëåííûõïàêåòîâ.  ñëó÷àå óäàëåíèÿ, åñëè âû äîáàâèòå çíàê '+' ñïðàâà îò èìåíè ïàêåòà, òî ïàêåòáóäåò óñòàíîâëåí, à íå óäàëåí.

[root]@[/] # apt-get --purge remove gnome-panel nautilus+Reading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:bonobo libmedusa0 libnautilus0 nautilus

The following packages will be REMOVED:gnome-applets* gnome-panel* gnome-panel-data* gnome-session*

The following NEW packages will be installed:bonobo libmedusa0 libnautilus0 nautilus

0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.Need to get 8329kB of archives. After unpacking 2594kB will be used.Do you want to continue? [Y/n]

Îáðàòèòå âíèìàíèå íà òî, ÷òî apt-get ðàñïå÷àòûâàåò äîïîëíèòåëüíûå ïàêåòû, êîòîðûå áó-äóò óñòàíîâëåíû (ò.å., ïàêåòû, êîòîðûå áóäóò óñòàíîâëåíû äëÿ ïðàâèëüíîé ðàáîòû çàïðà-øèâàåìûõ ê óñòàíîâêå ïàêåòîâ), óäàëÿåìûå ïàêåòû è çàòåì ïàêåòû, êîòîðûå áóäóò óñòà-íîâëåíû (òàêæå âêëþ÷àÿ äîïîëíèòåëüíûå ïàêåòû).

Page 17: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 13

3.4 Îáíîâëåíèå ïàêåòîâ

Îáíîâëåíèÿ ïàêåòîâ - ýòî êîíåê ñèñòåìû APT. Ýòî ìîæåò áûòü ñäåëàíî îäíîé êîìàíäîé:apt-get upgrade. Âû ìîæåòå èñïîëüçîâàòü ýòó êîìàíäó äëÿ îáíîâëåíèÿ ïàêåòîâ â òîì æåñàìîì äèñòðèáóòèâå, ðàâíî êàê è ïðè îáíîâëåíèè ñóùåñòâóþùåãî äèñòðèáóòèâà äî íîâîãî,õîòÿ äëÿ ïîñëåäíåãî äåéñòâèÿ ïðåäíàçíà÷åíà êîìàíäà apt-get dist-upgrade; ñì. ïîäðîáíîñòèâ ðàçäåëå `Îáíîâëåíèå íîâîãî âûïóñêà' íà ñòð. 13.

Ýòó êîìàíäó ïîëåçíî çàïóñêàòü ñ îïöèåé -u. Ýòà îïöèÿ çàñòàâëÿåò APT ïîêàçûâàòü ïîëíûéñïèñîê ïàêåòîâ, ïðåäíàçíà÷åííûõ äëÿ îáíîâëåíèÿ. Áåç íåå âû áóäåòå îáíîâëÿòüñÿ âñëåïóþ.APT ïîñëåäíèå âåðñèè êàæäîãî èç ïàêåòîâ è óñòàíîâèò èõ â ïðàâèëüíîì ïîðÿäêå. Ïîýòîìóî÷åíü âàæíî çàïóñòèòü ïåðåä ýòèì apt-get update. Ñì. ðàçäåë `Îáíîâëåíèå ñïèñêà äîñòóï-íûõ ïàêåòîâ' íà ñòð. 9. Âîò ïðèìåð:

[root]@[/] # apt-get -u upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages have been kept backcpp gcc lilo

The following packages will be upgradedadduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indentipchains isapnptools libaudio�le-dev libaudio�le0 libesd0 libesd0-devlibgtk1.2 libgtk1.2-dev liblock�le1 libnewt0 liborbit-dev liborbit0libstdc++2.10-glibc2.2 libti�3g libti�3g-dev modconf orbit procps psmisc

29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.Do you want to continue? [Y/n]

Ïðîöåññ î÷åíü ïðîñò. Îáðàòèòå âíèìàíèå, ÷òî â ïåðâûõ ñòðîêàõ apt-get ãîâîðèò, ÷òî íåêî-òîðûå ïàêåòû áûëè kept back. Ýòî îçíà÷àåò, ÷òî íîâûå âåðñèè íåêîòîðûõ ïàêåòîâ íå áóäóòóñòàíîâëåíû ïî íåêîòîðûì ïðè÷èíàì. Âîçìîæíûìè ïðè÷èíàìè ìîãóò áûòü áèòûå çàâèñè-ìîñòè (ïàêåò, îò êîòîðîãî îí çàâèñèò íå äîñòóïåí äëÿ ñêà÷èâàíèÿ) èëè íîâûå çàâèñèìîñòè(ïàêåò ïîñëåäíåé âåðñèè çàâèñèò îò íîâûõ ïàêåòîâ).

 ïåðâîì ñëó÷àå ïðîçðà÷íîãî ðåøåíèÿ íå ñóùåñòâóåò. Äëÿ âòîðîãî ñëó÷àÿ, äîëæíà ïîìî÷üêîìàíäà apt-get install äëÿ óêàçàííîãî â âîïðîñå ïàêåòà, òàê êà ýòî ïðèâåäåò ê ñêà÷èâàíèþçàâèñèìîñòè. Äàæå áîëåå ïðîçðà÷íîå ðåøåíèå ñîñîòîèò â èñïîëüçîâàíèè dist-upgrade. Ñì.ðàçäåë `Îáíîâëåíèå íîâîãî âûïóñêà' íà ñòð. 13.

3.5 Îáíîâëåíèå íîâîãî âûïóñêà

Ýòà âîçìîæíîñòü APT ïîçâîëÿåò âàì îáíîâëÿòü âñþ ñèñòåìó Debian çà îäèí ïðèåì, èëè÷åðåç Internet, èëè ñ íîâîãî CD (êóïëåííîãî èëè ñêà÷àííîãî â âèäå îáðàçà ISO).

Ýòî äåéñòâèå òàêæå èñïîëüçóåòñÿ ïðè èçìåíåíèè îòíîøåíèé ìåæäó óñòàíîâëåííûìè ïàêå-òàìè. Êîìàíäà apt-get upgrade îñòàâèò ýòè ïàêåòû íåòðîíóòûìè (kept back).

Page 18: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 14

Íàïðèìåð, ïðåäïîëîæèì, ÷òî âû èñïîëüçóåòå âûïóñê 0 ñòàáèëüíîé âåðñèè Debian è âûïîêóïàåòå CD ñ âûïóñêîì 3. Âû ìîæåòå èñïîëüçîâàòü APT äëÿ îáíîâëåíèÿ âàøåé ñèñòåìûñ ýòîãî íîâîãî CD. Äëÿ ýòîãî èñïîëüçóéòå êîìàíäó apt-cdrom (ñì. ðàçäåë `Äîáàâëåíèå CD-ROM â ôàéë sources.list' íà ñòð. 6) äëÿ äîáàâëåíèÿ CD â âàø ôàéë /etc/apt/sources.list èçàïóñòèòå apt-get dist-upgrade.

Âàæíî èìåòü â âèäó, ÷òî APT âñåãäà âûñìàòðèâàåò íîâåéøèå âåðñèè ïàêåòîâ. Ïîýòîìó,åñëè â âàøåì /etc/apt/sources.list áûëè óêàçàíû àðõèâû, êîòîðûå èìåþò áîëåå íîâûå âåðñèèïàêåòîâ, ÷åì âåðñèÿ ýòîãî CD, òî APT äîëæåí ñêà÷èâàòü ïàêåòû ñ íèõ.

 ïðèìåðå èç ðàçäåëà `Îáíîâëåíèå ïàêåòîâ' íà ñòð. 13, ìû âèäåëè, ÷òî íåêîòîðûå ïàêåòûáûëè kept back. Ñåé÷àñ ìû ðåøèì ýòó ïðîáëåìó ñ ïîìîùüþ äåéñòâèÿ dist-upgrade:

[root]@[/] # apt-get -u dist-upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneCalculating Upgrade... DoneThe following NEW packages will be installed:cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1libpcre2 logrotate mailx

The following packages have been kept backlilo

The following packages will be upgradedadduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gccindent ipchains isapnptools libaudio�le-dev libaudio�le0 libesd0libesd0-dev libgtk1.2 libgtk1.2-dev liblock�le1 libnewt0 liborbit-devliborbit0 libstdc++2.10-glibc2.2 libti�3g libti�3g-dev modconf orbitprocps psmisc

31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded.Need to get 0B/7098kB of archives. After unpacking 3118kB will be used.Do you want to continue? [Y/n]

Îáðàòèòå âíèìàíèå, ÷òî ñåé÷àñ ïàêåòû áûëè îáíîâëåíû, à òàêæå óñòàíîâëåíû íîâûå ïàêåòû(íîâûå çàâèñèìîñòè ïàêåòîâ). Îáðàòèòå âíèìàíèå òàêæå, ÷òî lilo ïî-ïðåæíåìó îñòàåòñÿ keptback. Âåðîÿòíî çäåñü áîëåå ñåðüåçíàÿ ïðè÷èíà, ÷åì íîâàÿ çàâèñèìîñòü. Ìû ìîæåì åå íàéòèêîìàíäîé:

[root]@[/] # apt-get -u install liloReading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed:cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2logrotate mailx

The following packages will be REMOVED:debconf-tiny

The following NEW packages will be installed:

Page 19: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 15

cron debconf exim libident libopenldap-runtime libopenldap1 libpcre2logrotate mailx

The following packages will be upgradedlilo

1 packages upgraded, 9 newly installed, 1 to remove and 31 not upgraded.Need to get 225kB/1179kB of archives. After unpacking 2659kB will be used.Do you want to continue? [Y/n]

Êàê áûëî óêàçàíî âûøå, lilo èìååò íîâûé êîíôëèêò ñ ïàêåòîì debconf-tiny, êîòîðûé îçíà-÷àåò, ÷òî îí íå ìîæåò áûòü óñòàíîâëåí (èëè îáíîâëåí) áåç óäàëåíèÿ debconf-tiny.

×òîáû óçíàòü êàê ñîõðàíÿåòñÿ èëè óäàëÿåòñÿ ïàêåò, âû ìîæåòå èñïîëüçîâàòü:

# apt-get -o Debug::pkgProblemResolver=yes dist-upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneCalculating Upgrade... StartingStarting 2Investigating python1.5Package python1.5 has broken dep on python1.5-baseConsidering python1.5-base 0 as a solution to python1.5 0Holding Back python1.5 rather than change python1.5-base

Investigating python1.5-devPackage python1.5-dev has broken dep on python1.5Considering python1.5 0 as a solution to python1.5-dev 0Holding Back python1.5-dev rather than change python1.5Try to Re-Instate python1.5-dev

DoneDoneThe following packages have been kept backgs python1.5-dev

0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

Òàêèì îáðàçîì ëåãêî çàìåòèòü, ÷òî ïàêåò python1.5-dev íå ìîæåò áûòü óñòàíîâëåí èç-çàíåóäîâëåòâîðèòåëüíîé çàâèñèìîñòè: python1.5.

3.6 Èñïîëüçîâàíèå APT ñ dselect

dselect - ýòî ïðîãðàììà, êîòîðàÿ ïîìîãàåò ïîëüçîâàòåëÿì âûáèðàòü ïàêåòû Debian äëÿèíñòàëëÿöèè. Îí âûãëÿäèò â ÷åì-òî ãðîìîçäêèì è äàæå ðàçäðàæàåò, íî ñî âðåìåíåì âûìîæåòå ïðèâûêíóòü ê åãî êîíñîëüíîìó, îñíîâàííîìó íà ncurses èíòåðôåéñó.

Îäíîé èç îñîáåííîñòüþ dselect ÿâëÿåòñÿ åå óìåíèå ðàáîòàòü ñ �ðåêîìåíäóåìûìè� è �ïðåäëà-ãàåìûìè� ïàêåòàìè ïðè óñòàíîâêå âûáðàííûõ ïàêåòîâ. ×òîáû èñïîëüçîâàòü ýòó ïðîãðàììó,

Page 20: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 16

çàïóñòèòå `dselect' îò èìåíè root. Âûáåðèòå â êà÷åñòâå ìåòîäà äîñòóïà 'apt'.  äåéñòâèòåëü-íîñòè â ýòîì íåò íåîáõîäèìîñòè, íî åñëè âû íå èñïîëüçóåòå CD-ROM è õîòèòå ñêà÷èâàòüïàêåòû èç Èíòåðíåò, òî ýòî íàèëó÷øèé ñïîñîá äëÿ dselect.

×òîáû äîñòè÷ü áîëåå ãëóáîêèõ çíàíèé ïî ýêñïëóàòàöèè dselect, ïðî÷òèòå äîêóìåíòàöèþ ïîdselect íà ñòðàíèöå Debian http://www.debian.org/doc/ddp.

Êîãäà çàêîí÷èòå âûáèðàòü â dselect, èñïîëüçóéòå êîìàíäó:

apt-get -u dselect-upgrade

êàê â íèæåïðèâåäåííîì ïðèìåðå:

[root]@[/] # apt-get -u dselect-upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED:lbxproxy

The following NEW packages will be installed:bonobo console-tools-libs cpp-3.0 enscript expat �ngerd gcc-3.0gcc-3.0-base icepref klogd libdigest-md5-perl libfnlib0 libft-perllibgc5-dev libgcc300 libhtml-clean-perl libltdl0-dev libsasl-moduleslibstdc++3.0 metamail nethack proftpd-doc psfontmgr python-newt talk tidyutil-linux-locales vacation xbill xplanet-images

The following packages will be upgradeddebian-policy

1 packages upgraded, 30 newly installed, 1 to remove and 0 not upgraded.Need to get 7140kB of archives. After unpacking 16.3MB will be used.Do you want to continue? [Y/n]

Ñðàâíèòå ýòî ñ ðåçóëüòàòîì ðàáîòû êîìàíäû apt-get dist-upgrade íà òîé æå ñèñòåìå:

[root]@[/] # apt-get -u dist-upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneCalculating Upgrade... DoneThe following packages will be upgradeddebian-policy

1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.Need to get 421kB of archives. After unpacking 25.6kB will be freed.Do you want to continue? [Y/n]

Îáðàòèòå âíèìàíèå íà òî, ÷òî ìíîãèå èç âûøåóêàçàííûõ ïàêåòîâ áûëè óñòàíîâëåíû ïîòîìó,÷òî äðóãèå ïàêåòû �ïðåäëàãàëè� èëè �ðåêîìåíäîâàëè� èõ. Äðóãèå áûëè óñòàíîâëåíû èëèóäàëåíû (â ñëó÷àå, íàïðèìåð, lbxproxy) â ðåçóëüòàòå ñäåëàííîãî íàìè âûáîðà âî âðåìÿðàáîòû â dselect. Dselect ìîæåò áûòü ìîùíûì èíñòðóìåíòîì, êîãäà èñïîëüçóåòñÿ âìåñòå ñAPT.

Page 21: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 17

3.7 Êàê ñîõðàíèòü ñìåøàííóþ ñèñòåìó

Ëþäè ÷àñòî èñïîëüçóþò òåñòèðóåìûé äèñòðèáóòèâ, ïîòîìó ÷òî îí áîëåå ñüàáèëåí, ÷åìíåñòàáèëüíûé è áîëåå íîâûé, ÷åì ñòàáèëüíûé. Îäíàêî ïîëüçîâàòåëè, êîòîðûå õîòÿò ðàáî-òàòü ñ ïîñëåäíèìè âåðñèÿìè íåêîòîðûõ ïàêåòîâ, íî ïðè ýòîì íå äîâåðÿþò èì èç-çà áîÿçíèäåñòàáèëèçèðîâàòü âñþ ñèñòåìó, èìåþò âîçìîæíîñòü ðàáîòàòü ñî ñìåøàííûìè òåñòèðóå-ìûìè/ñòàáèëüíûìè ñèñòåìàìè. Èëè ïî-äðóãîìó - áîëåå êîíñåðâàòèâíûì ïîëüçîâàòåëÿìâîçìîæíî íóæíà ñìåøàííàÿ ñòàáèëüíàÿ/òåñòèðóåìàÿ ñèñòåìà.

×òîáû ýòîãî äîáèòüñÿ, ïîìåñòèòå ñëåäóþùóþ ñòðîêó â /etc/apt/apt.conf:

APT::Default-Release "testing";

Çàòåì, ïðè óñòàíîâêå ïàêåòîâ èç íåñòàáèëüíîãî äèñòðèáóòèâà, ïðîñòî èñïîëüçóéòå êëþ÷ -t:

# apt-get -t unstable install èìÿ_ïàêåòà

Íå çàáûâàéòå, ÷òî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü ïàêåòû ýòîé âåðñèè Debian, íóæíî âíå-ñòè äîïîëíåíèÿ â ôàéë /etc/apt/sources.list. Ïðèìåíèòåëüíî ê íàøåìó ïðèìåðó, íàì íóæíîäîáàâèòü ñòðîêè èñòî÷íèêîâ äëÿ äèñòðèáóòèâà unstable ïîñëå àíàëîãè÷íûõ ñòðîê äëÿ äèñ-òðèáóòèâà testing.

3.8 Êàê îáíîâëÿòü ïàêåòû èç óêàçàííûõ âåðñèé Debian

apt-show-versions îáåñïå÷èâàåò áåçîïàñíûé ïóòü îáíîâëåíèÿ ñèñòåìû äëÿ ïîëüçîâàòåëåéñìåøàííûõ äèñòðèáóòèâîâ, áåç ïîëó÷åíèÿ ëèøíèõ ÷àñòåé íåñòàáèëüíîãî äèñòðèáóòèâà, ÷åìýòî òðåáóåòñÿ â äåéñòâèòåëüíîñòè. Ê ïðèìåðó, ìîæíî îáíîâèòü òîëüêî íåñòàáèëüíûå ïàêåòûêîìàíäîé:

# apt-get install `apt-show-versions -u -b | grep unstable`

3.9 Êàê ñîõðàíÿòü óêàçàííûå âåðñèè óñòàíîâëåííûõ ïàêåòîâ (ñëîæíûéñïîñîá)

Ìîãëî ñëó÷èòüñÿ òàê, ÷òî âû èçìåíÿåòå ÷òî-òî â ïàêåòå è íå èìååòå âðåìåíè èëè íå õîòèòåïîðòèðîâàòü ýòè èçìåíåíèÿ â íîâóþ âåðñèþ ïðîãðàììû. Èëè, ê ïðèìåðó, âû ìîæåò áûòüïðîñòî ñîáèðåòåñü îáíîâèòü âàø äèñòðèáóòèâ Debian äî âåðñèè 3.0, íà ïðè ýòîì õîòèòåïî-ïðåæíåìó èñïîëüçîâàòü íåêîòîðûå ïàêåòû èç Debian 2.2. Âû ìîæåòå �ïðèêîëîòü� (pin)óñòàíîâëåííûå âåðñèè ïàêåòîâ òàê, ÷òîáû îíè íå îáíîâëÿëèñü.

Ýòî äåëàåòñÿ ïðîñòî. Âàì âñåãî ëèøü íàäî îòðåäàêòèðîâàòü ôàéë /etc/apt/preferences.

Åãî ôîðìàò ïðîñò:

Page 22: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 18

Package: <package>Pin: <pin de�nition>Pin-Priority: <pin's priority>

Íàïðèìåð, ÷òîáû ïðåäîòâðàòèòü ìîäèôèêàöèþ ïàêåòà sylpheed âåðñèè 0.4.99, êîòîðóþ ÿïîïðàâèë íà ïðåäìåò �reply-to-list�, ÿ ââåë ñëåäóþùåå:

Package: sylpheedPin: version 0.4.99*

Îáðàòèòå âíèìàíèå, ÷òî ÿ èñïîëüçîâàë * (çâåçäî÷êà). Ýòî �ìàñêà�; îíà îçíà÷àåò, ÷òî ÿ õî÷ó�ïðèêîëîòü� (pin) âñå âåðñèè, íà÷èíàÿ ñ 0.4.99. Ýòî íóæíî ïîòîìó, ÷òî â Debian-âåðñèÿõïàêåòîâ â íîìåðå âåðñèè ïðèñóòñòâóåò �íîìåð ðåäàêöèè Debian�, à ÿ íå õî÷ó îòìåíÿòü óñòà-íîâêó ýòèõ ðåäàêöèé. Òàê, íàïðèìåð, âåðñèè 0.4.99-1 è 0.4.99-10 áóäóò óñòàíîâëåíû, êàêòîëüêî ñòàíóò äîñòóïíû. Îáðàòèòå âíèìàíèå, ÷òî åñëè âû âíåñëè ñâîè èçìåíåíèÿ â ïàêåò,òî òàêîé ñïîñîá âàì íå ïîäîéäåò.

Ïîëå Pin-Priority íåîáÿçàòåëüíî; åñëè îíî íå óêàçàíî, òî ïî óìîë÷àíèþ îíî ðàâíî 989.

Äàâàéòå ðàññìîòðèì ðàáîòó ïðèîðèòåòîâ. Ïðèîðèòåò ìåíåå 0 óêàçûâàåò, ÷òî ïàêåò íèêîãäàíå äîëæåí óñòàíàâëèâàòüñÿ. Ïðèîðèòåò îò 0 äî 100 îçíà÷àåò ïàêåòû, êîòîðûå íå óñòàíîâ-ëåíû è êîòîðûå íå èìåþò äîñòóïíûõ âåðñèé. Îíè íå âõîäÿò â ïðîöåññ âûáîðà âåðñèé. Ïðè-îðèòåò 100 íàçíà÷àåòñÿ óñòàíîâëåííîìó ïàêåòó - äëÿ çàìåíû óñòàíîâëåííîé âåðñèè ïàêåòàäðóãîé âåðñèåé, çàìåíÿþùèé ïàêåò äîëæåí èìåòü ïðèîðèòåò âûøå 100.

Ïðèîðèòåòû âûøå 100 óêàçûâàþò, ÷òî ïàêåò äîëæåí áûòü óñòàíîâëåí. Îáû÷íî, óñòàíîâëåí-íàÿ âåðñèÿ ïàêåòà èçìåíÿåòñÿ òîëüêî ïðè îáíîâëåíèè äî íîâîé âåðñèè. Ëþáûå ïðèîðèòåòûîò 100 äî 1000 (âêëþ÷èòåëüíî) îïðåäåëÿþò ýòî òèïè÷íîå ïîâåäåíèå. Ïàêåò ñ òàêèì ïðè-îðèòåòîì íå áóäåò äàóíãðåéäèòüñÿ äî äîñòóïíîé âåðñèè ñ ìåíüøèì íîìåðîì âåðñèè. Äëÿïðèìåðà, åñëè ó ìåíÿ óñòàíîâëåí sylpheed 0.5.3 è îïðåäåëåí pin íà sylpheed 0.4.99 ñ ïðè-îðèòåòîì 999, òî ïàêåò 0.4.99 íå áóäò óñòàíîâëåí èç-çà çíà÷åíèÿ pin. ×òîáû ìîæíî áûëîóñòàíîâèòü ïàêåò ìåíüøåé âåðñèè, çíà÷åíèå pin äîëæíî èìåòü ïðèîðèòåò âûøå 1000.

pin ìîæåò áûòü îïðåäåëåí äëÿ version, release èëè origin ïàêåòà.

Ïðè óêàçàíèè pin äëÿ âåðñèé, êàê ìû âèäåëè, äëÿ óêàçàíèÿ íåñêîëüêèõ âåðñèé çà îäèí ðàçïîääåðæèâàþòñÿ ëèòåðàëüíûå íîìåðà âåðñèé, ðàâíî êàê è ìàñêè.

Îïöèÿ release çàâèñèò îò ôàéëà Release èç ðåïîçèòîðèÿ APT èëè ñ CD. Ýòà îïöèÿ ìîæåò íåèñïîëüçîâàòüñÿ âîâñå, åñëè âû èñïîëüçóåòå ðåïîçèòîðèè ïàêåòîâ, êîòîðûå íå îáåñïå÷èâàþòýòîò ôàéë. Âû ìîæåòå óâèäåòü ñîäåðæèìîå ôàéëîâ Release, êîòîðûå âû èñïîëüçóåòå âêàòàëîãå /var/lib/apt/lists/. Ïàðàìåòðû äëÿ îïöèè release: a (archive � àðõèâ), c (components� êîìïîíåíòû), v (version � âåðñèÿ), o (origin � èñòî÷íèê) è l (label � ìåòêà).

Ïðèìåð:

Package: *Pin: release v=2.2*,a=stable,c=main,o=Debian,l=DebianPin-Priority: 1001

Page 23: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 19

 ýòîì ïðèìåðå, ìû âûáèðàåì âåðñèþ 2.2* Debian (êîòîðàÿ ìîæåò áûòü 2.2r2, 2.2r3 � ýòî �òî-÷å÷íûå âûïóñêè�, êîòîðûå îáû÷íî âêëþ÷àþò èñïðàâëåíèÿ áåçîïàñíîñòè è äðóãèå âàæíûåîáíîâëåíèÿ), ñòàáèëüíûé ðåïîçèòîðèé, ðàçäåë main (êàê ïðîòèâîâåñ contrib èëè non-free)è èñòî÷íèê è ìåòêó Debian. Èñòî÷íèê (o=) îïðåäåëÿåò, êòî ñîçäàë äàííûé ôàéë Release,ìåòêà (l=) îïðåäåëÿåò èìÿ äèñòðèáóòèâà: Debian äëÿ ñàìîãî Debian è Progeny äëÿ äèñòðè-áóòèâà Progeny, íàïðèìåð. Ïðèìåð ôàéëà Release:

$ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_ReleaseArchive: stableVersion: 2.2r3Component: mainOrigin: DebianLabel: DebianArchitecture: i386

Page 24: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 20

Page 25: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

21

Ãëàâà 4

Âåñüìà ïîëåçíûå ïîìîùíèêè

4.1 Êàê óñòàíîâèòü ëîêàëüíî ñêîìïèëèðîâàííûå ïàêåòû: equivs

Èíîãäà, ëþäè õîòÿò èñïîëüçîâàòü îïðåäåëåííóþ âåðñèþ ïðîãðàììû, äîñòóïíóþ òîëüêî âèñõîäíûõ òåêñòàõ, áåç ïàêåòà Debian. Íî ýòîìó ìîæåò ïîìåøàòü ñèñòåìà ïàêåòîâ. Ïðåäïî-ëîæèì, âû õîòèòå ñêîìïèëèðîâàòü íîâóþ âåðñèþ âàøåãî ïî÷òîâîãî ñåðâåðà. Âñå îòëè÷íî,íî ìíîãèå ïàêåòû â Debian çàâèñÿò îò MTA. Òàê êàê âû óñòàíàâëèâàåòå íå÷òî, ñîáðàííîåâàìè âðó÷íóþ, òî ñèñòåìà ïàêåòîâ îá ýòîì íå áóäåò çíàòü.

Òóò íà ñöåíó âûõîäèò âåñü â áåëîì ïàêåò equivs. ×òîáû åãî èñïîëüçîâàòü, óñòàíîâèòå ïàêåòñ òåì æå èìåíåì. Îí ñîçäàåò ïóñòîé ïàêåò, êîòîðûé ñîäåðæèò ïîëíûé íàáîð çàâèñèìîñòåé,óâåäîìëÿÿ òàêèì îáðàçîì ñèñòåìó ïàêåòîâ, ÷òî âñå çàâèñèìî÷òè óäîâëåòâîðåíû.

Ïðåæäå, ÷åì ìû íà÷íåì, õîðîøî áû ñîîáùèòü âàì, ÷òî åñòü áîëåå áåçîïàñíûå ñïîñîáûêîìïèëÿöèè ïðîãðàìì, äëÿ êîòîðûõ óæå åñòü ïàêåòû Debian ñ ðàçëè÷íûìè îïöèÿìè, è ÷òîâ ýòîì ñëó÷àå ëó÷øå íå èñïîëüçîâàòü equivs äëÿ çàìåíû çàâèñèìîñòåé, åñëè âû íå óâåðåíûâ òîì, ÷òî âñå äåëàåòå ïðàâèëüíî. Ñì. ïîäðîáíîñòè â ðàçäåëå `Ðàáîòà ñ ïàêåòàìè èñõîäíûõòåêñòîâ' íà ñòð. 31.

Äàâàéòå âåðíåìñÿ ê ïðèìåðó ñ MTA, âû òîëüêî ÷òî óñòàíîâèëè ñâåæåñîáðàííûé post�x èïåðåõîäèòå ê óñòàíîâêå mutt. Ñðàçó æå âû îáíàðóæèòå, ÷òî mutt íóæåí óñòàíîâëåííûéMTA. Íî âåäü îí ó âàñ óæå åñòü.

Çàéäèòå â êàêîé-íèáóäü êàòàëîã (/tmp, íàïðèìåð) è çàïóñòèòå:

# equivs-control name

Çàìåíèòå name íà èìÿ óïðàâëÿþùåãî ôàéëà, êîòîðûé âû ñîçäàåòå. Áóäåò ñîçäàí ñëåäóþ-ùèé ôàéë:

Section: miscPriority: optionalStandards-Version: 3.0.1

Page 26: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 22

Package: <enter package name; defaults to equivs-dummy>Version: <enter version here; defaults to 1.0>Maintainer: <your name and email address; defaults to username>Pre-Depends: <packages>Depends: <packages>Recommends: <packages>Suggests: <package>Provides: <(virtual)package>Architecture: allCopyright: <copyright �le; defaults to GPL2>Changelog: <changelog �le; defaults to a generic changelog>Readme: <README.Debian �le; defaults to a generic one>Extra-Files: <additional �les for the doc directory, comma separated>Description: <short description; defaults to some wise words>long description and info.second paragraph

Íàì ïðîñòî íóæíî ïîïðàâèòü åãî, êàê íàì íóæíî. Ôîðìàò ïîëåé è èõ îïèñàíèé ïîíÿòåíâèçóàëüíî, òàê ÷òî äàâàéòå ñäåëàåì òðåáóåìîå:

Section: miscPriority: optionalStandards-Version: 3.0.1

Package: mta-localProvides: mail-transport-agent

Äà, ýòî âñå. mutt çàâèñèò îò mail-transport-agent, ýòî âèðòóàëüíûé ïàêåò, îáåñïå÷èâàåìûéâñåìè MTA, ÿ ìîã áû èñïîëüçîâàòü èìÿ ïàêåòà mail-transport-agent, íî ÿ ïðèäåðæèâàþñüïðèíÿòîé ñõåìû èìåíîâàíèÿ, èñïîëüçóÿ Provides.

Ñåé÷àñ âàì íóæíî òîëüêî ïîñòðîèòü ïàêåò:

# equivs-build namedh_testdirtouch build-stampdh_testdirdh_testrootdh_clean -k# Add here commands to install the package into debian/tmp.touch install-stampdh_testdirdh_testroot

Page 27: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 23

dh_installdocsdh_installchangelogsdh_compressdh_�xpermsdh_installdebdh_gencontroldh_md5sumsdh_builddebdpkg-deb: building package `name' in `../name_1.0_all.deb'.

The package has been created.Attention, the package has been created in the current directory,

È óñòàíîâèòå ïîëó÷åííûé .deb ôàéë.

Î÷åâèäíî, ñóùåñòâóåò íåñêîëüêî ïðèìåíåíèé äëÿ equivs. Îäíî èç íèõ, íàïðèìåð, - ñîçäàíèåïàêåòà my-favorites, êîòîðûé çàâèñèò îò ïðîãðàìì, êîòîðûå âû îáû÷íî óñòàíàâëèâàåòå.Ïðîñòî âêëþ÷èòå ñâîå âîîáðàæåíèå, íî áóäüòå îñòîðîæíû.

Âàæíî çàìåòèòü, ÷òî ïðèìåðû óïðàâëÿþùèõ ôàéëîâ åñòü â êàòàëîãå /usr/share/doc/equivs/examples. Ïîñìîòðèòå èõ.

4.2 Óäàëåíèå íåèñïîëüçóåìûõ ôàéëîâ ëîêàëè: localepurge

Ìíîãèå ïîëüçîâàòåëè Debian èñïîëüçóþò òîëüêî îäíó ëîêàëü. Áðàçèëüñêèå ïîëüçîâàòåëèDebian, íàïðèìåð, îáû÷íî èñïîëüçóþò ëîêàëü pt_BR è íå èíòåðåñóþòñÿ ëîêàëüþ es.

localepurge - ýòî î÷åíü ïîëåçíûé èíñòðóìåíò äëÿ òàêèõ ïîëüçîâàòåëåé. Âû ìîæåòå îñâîáî-äèòü ìíîãî ìåñòà, åñëè îñòàâèòå òîëüêî òå ëîêàëè, êîòîðûå âû äåéñòâèòåëüíî èñïîëüçóåòå.Ïðîñòî äàéòå êîìàíäó apt-get install localepurge.

Ïàêåò î÷åíü ëåãêî íàñòðàèâàåòñÿ, debconf îáåñïå÷èâàåò åãî ïîøàãîâóþ íàñòðîéêó. Îäíàêîáóäüòå îñòîðîæíû ïðè îòâåòå íà ïåðâûé âîïðîñ, íåïðàâèëüíûé îòâåò ìîæåò ïîâëå÷ü óäà-ëåíèå âñåõ ôàéëîâ ëîêàëåé, äàæå òåõ, êîòîðûå âû èñïîëüçóåòå. Ïîñëå ýòîãî âîññòàíîâèòüèõ ìîæíî áóäåò òîëüêî ïåðåóñòàíîâêîé âñåõ ïàêåòîâ, èõ ïðåäîñòàâëÿþùèõ.

4.3 Êàê óçíàòü, êàêèå ïàêåòû ìîæíî îáíîâèòü

apt-show-versions - ýòî ïðîãðàììà, êîòîðàÿ ïîêàçûâàåò, êàêèå ïàêåòû â ñèñòåìå ìîæíî îá-íîâèòü è åùå íåêîòîðóþ ïîëåçíóþ èíôîðìàöèþ. Îïöèÿ -u îòîáðàæàåò ñïèñîê îáíîâëÿåìûõïàêåòîâ:

$ apt-show-versions -ulibeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7

Page 28: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 24

Page 29: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

25

Ãëàâà 5

Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ.

Äëÿ ñèñòåìû APT ñóùåñòâóåò íåñêîëüêî îáîëî÷åê, êîòîðûå çíà÷èòåëüíî óïðîùàþò ïðî-ñìîòð ïàêåòîâ, êîòîðûå äîñòóïíû äëÿ óñòàíîâêè èëè óæå óñòàíîâëåíû, à òàêæå äëÿ ïîèñêàðàçäåëîâ, ïðèîðèòåòîâ, îïèñàíèÿ ïàêåòîâ è ò.ä.

Íî. . . íàøà öåëü ñîñòîèò â èçó÷åíèè ñàìîãî APT. Òàê êàê æå íàéòè èìÿ ïàêåòà, êîòîðûéâàì íàäî óñòàíîâèòü?

Äëÿ òàêîé çàäà÷è ìû ðàñïîëàãàåì íåñêîëüêèìè ðåñóðñàìè. Íà÷íåì ñ apt-cache. Ýòà ïðî-ãðàììà èñïîëüçóåòñÿ ñèñòåìîé APT äëÿ óïðàâëåíèÿ åå áàçàìè äàííûõ. Ìû òîëüêî âêðàòöåîãëÿäèì åå áîëåå ïðàêòè÷åñêèå ïðèëîæåíèÿ.

5.1 Íàõîæäåíèå èìåí ïàêåòîâ

Íàïðèìåð, äîïóñòèì, ÷òî âû õîòèòå âñïîìíèòü ñòàðûå äîáðûå äåíå÷êè Atari 2600. Âû õîòè-òå èñïîëüçîâàòü APT äëÿ óñòàíîâêè ýìóëÿòîðà Atari è ñêà÷èâàíèÿ íåêîòîðûõ èãð. Ìîæåòåñäåëàòü òàê:

[root]@[/] # apt-cache search atariatari-fdisk-cross - Partition editor for Atari (running on non-Atari)circuslinux - The clowns are trying to pop balloons to score points!madbomber - A Kaboom! clonetcs - Character set translator.atari800 - Atari emulator for svgalib/X/cursesstella - Atari 2600 Emulator for X windowsxmess-x - X binaries for Multi-Emulator Super System

Ìû íàøëè íåñêîëüêî ïàêåòîâ, èìåþùèõ îòíîøåíèå ê òîìó, ÷òî íàì òðåáóåòñÿ, âìåñòå ñêðàòêèìè îïèñàíèÿìè. ×òîáû ïîñìîòðåòü áîëåå ïîëíûå îïèñàíèÿ, ìîæíî äàòü êîìàíäó:

[root]@[/] # apt-cache show stella

Page 30: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 26

Package: stellaPriority: extraSection: non-free/otherosfsInstalled-Size: 830Maintainer: Tom Lear <[email protected]>Architecture: i386Version: 1.1-2Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.debSize: 483430MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5Description: Atari 2600 Emulator for X windowsStella - ýòî portable emulator of the old Atari 2600 video-game consolewritten in C++. You can play most Atari 2600 games with it. The latestnews, code and binaries for Stella can be found at:http://www4.ncsu.edu/~bwmott/2600

 ýòîì âûâîäå ìû ïîëó÷èëè ìíîæåñòâî ñâåäåíèé î ïàêåòå, êîòîðûé âû õîòèòå (èëè íå õî-òèòå) óñòàíîâèòü, âìåñòå ñ ïîëíûì îïèñàíèåì ïàêåòà. Åñëè ïàêåò óæå óñòàíîâëåí â ñèñòåìåèëè åñòü áîëåå íîâàÿ âåðñèÿ, òî âû óâèäèòå èíôîðìàöèþ îá îáîèõ âåðñèÿõ. Íàïðèìåð:

[root]@[/] # apt-cache show liloPackage: liloPriority: importantSection: baseInstalled-Size: 271Maintainer: Russell Coker <[email protected]>Architecture: i386Version: 1:21.7-3Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotateSuggests: lilo-docCon�icts: manpages (<<1.29-3)Filename: pool/main/l/lilo/lilo_21.7-3_i386.debSize: 143052MD5sum: 63fe29b5317fe34ed8ec3ae955f8270eDescription: LInux LOader - The Classic OS loader can load Linux and othersThis Package contains lilo (the installer) and boot-record-images toinstall Linux, OS/2, DOS and generic Boot Sectors of other OSes..You can use Lilo to manage your Master Boot Record (with a simple text screen)or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Package: liloStatus: install ok installedPriority: important

Page 31: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 27

Section: baseInstalled-Size: 190Maintainer: Vincent Renardias <[email protected]>Version: 1:21.4.3-2Depends: libc6 (>= 2.1.2)Recommends: mbrSuggests: lilo-docDescription: LInux LOader - The Classic OS loader can load Linux and othersThis Package contains lilo (the installer) and boot-record-images toinstall Linux, OS/2, DOS and generic Boot Sectors of other OSes..You can use Lilo to manage your Master Boot Record (with a simple text screen)or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Îáðàòèòå âíèìàíèå, ÷òî ïåðâûé â ñïèñêå - äîñòóïíûé ïàêåò, à âòîðîé - óæå óñòàíîâëåííûé.Äëÿ ïîëó÷åíèÿ áîëåå îáùåé èíôîðìàöèè î ïàêåòå, âû ìîæåòå èñïîëüçîâàòü:

[root]@[/] # apt-cache showpkg penguin-commandPackage: penguin-commandVersions:1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-

i386_Packages)(/var/lib/dpkg/status)

Reverse Depends:Dependencies:

1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3)Provides:1.4.5-1 -Reverse Provides:

À ÷òîáû ïîñìîòðåòü òîëüêî åãî çàâèñèìîñòè:

[root]@[/] # apt-cache depends penguin-commandpenguin-commandDepends: libc6Depends: libpng2Depends: libsdl-mixer1.1Depends: libsdl1.1Depends: zlib1g

 îáùåì, ìû èìååì ïîëíûé àðñåíàë äëÿ ïîèñêà èìåí íóæíûõ íàì ïàêåòîâ.

Page 32: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 28

5.2 Ïðèìåíåíèå dpkg äëÿ ïîèñêà èìåí ïàêåòîâ

Îäèí èç ñïîñîáîâ íàéòè èìÿ ïàêåòà - çíàòü èìÿ êàêîãî-ëèáî âàæíîãî ôàéëà, íàõîäÿùåãîñÿâ ýòîì ïàêåòå. Íàïðèìåð, ÷òîáû íàéòè ïàêåò, êîòîðîìó ïðèíàäëåæèò íåêèé ôàéë �.h�,íóæíûé âàì äëÿ êîìïèëÿöèè, ìîæåò çàïóñòèòü:

[root]@[/] # dpkg -S stdio.hlibc6-dev: /usr/include/stdio.hlibc6-dev: /usr/include/bits/stdio.hperl: /usr/lib/perl/5.6.0/CORE/nostdio.h

èëè:

[root]@[/] # dpkg -S /usr/include/stdio.hlibc6-dev: /usr/include/stdio.h

×òîáû íàéòè èìÿ ïàêåòà, óñòàíîâëåííîãî â âàøåé ñèñòåìå, ÷òî ïîëåçíî, íàïðèìåð, åñëè âûïëàíèðóåòå ïî÷èñòèòü ìåñòî íà äèñêå, äàéòå êîìàíäó:

[root]@[/] # dpkg -l | grep mozillaii mozilla-browse 0.9.6-7 Mozilla Web Browser

Ïðîáëåìà ýòîé êîìàíäû â òîì, ÷òî îíà ìîæåò �èñïîðòèòü� èìÿ ïàêåòà.  ïðèìåðå âûøå,ïîëíîå èìÿ ïàêåòà mozilla-browser. ×òîáû ýòî èñïðàâèòü, âû ìîæåòå èçìåíèòü çíà÷åíèåïåðåìåííîé îêðóæåíèÿ COLUMNS:

[kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozillaii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser

èëè èñïîëüçîâàòü îïèñàíèå èëè ÷àñòü åãî ñëåäóþùèì îáðàçîì:

[root]@[/] # apt-cache search "Mozilla Web Browser"mozilla-browser - Mozilla Web Browser

5.3 Óñòàíîâêà ïàêåòîâ �ïî çàïðîñó�

Âû ñîáèðàåòå ïàêåò, è âäðóã, áàõ! Îøèáêà èç-çà òîãî, ÷òî íåò êàêîãî-òî òàì íóæíîãî ôàéëà.h. Îò òàêîãî ïîâîðîòà ñîáûòèé âàñ ìîæåò ñïàñòè ïðîãðàììà auto-apt. Îíà çàïðàøèâà-åò êàêèå ïàêåòû óñòàíîâèòü, åñëè îíè íóæíû, îñòàíàâëèâàåò ñîîòâåòñòâóþùèé ïðîöåññ èïðîäîëæàåò åãî ïîñëå óñòàíîâêè ïàêåòà.

Äëÿ ýòîãî, â îñíîâíîì, çàïóñòèòå:

Page 33: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 29

auto-apt run command

Ãäå `command' - ýòî êîìàíäà, ïðè âûïîëíåíèè êîòîðîé ìîæåò îáíàðóæèòüñÿ îòñòóòñòâèåíåêîåãî ôàéëà. Íàïðèìåð:

auto-apt run ./con�gure

Îíà çàïðîñèò óñòàíîâêó íåîáõîäèìûõ ïàêåòîâ è âûçîâåò apt-get àâòîìàòè÷åñêè. Åñëè âûðàáîòàåòå â X, òî ãðàôè÷åñêèé èíòåðôåéñ áóäåò ïî óìîë÷àíèþ çàìåíåí íà òåêñòîâûé.

Auto-apt ñîõðàíÿåò áàçû äàííûõ â îáíîâëåííîì ñîñòîÿíèè, ÷òîáû áûòü áîëåå ýôôåêòèâíîé.Ýòî äîñòèãàåòñÿ âûçîâîì êîìàíä auto-apt update, auto-apt updatedb è auto-apt update-local.

5.4 Êàê îïðåäåëèòü, êàêîìó ïàêåòó ïðèíàäëåæèò ôàéë

Åñëè âû õîòèòå óñòàíîâèòü ïàêåò è íå ìîæåòå íàéòè åãî íàçâàíèå ñ ïîìîùüþ apt-cache,íî çíàåòå èìÿ ïðîãðàììû ýòîãî ïàêåòà èëè èìÿ ëþáîãî äðóãîãî ôàéëà èç ýòîãî ïàêåòà,òî äëÿ ïîèñêà èìåíè ïàêåòà âû ìîæåòå âîñïîëüçîâàòüñÿ ïðîãðàììîé apt-�le. Èñïîëüçóåòñÿîíà ïðèìåðíî òàê:

$ apt-�le search èìÿ-ôàéëà

Ðàáîòàåò îíà ïðèìåðíî òàêæå êàê è dpkg -S, íî áóäåò ïîêàçûâàòü òàêæå è íåóñòàíîâëåííûåïàêåòû, êîòîðûå ñîäåðæàò óêàçàííûé ôàéë. Êîìàíäà ìîæåò ïðèìåíÿòüñÿ òàêæå äëÿ ïîèñêàçàãîëîâî÷íûõ ôàéëîâ, êîòîðûå ìîãóò ïîòðåáîâàòüñÿ ïðè êîìïèëÿöèè ïðîãðàìì, õîòÿ auto-apt â äàííîì ñëó÷àå áîëåå õîðîø, ñì. `Óñòàíîâêà ïàêåòîâ �ïî çàïðîñó� ' íà ñòð. 28.

Òàêæå âû ìîæåò ïîñìîòðåòü ñïèñîê ôàéëîâ â ïàêåòå êîìàíäîé:

$ apt-�le list èìÿ-ïàêåòà

apt-�le õðàíèò áàçó äàííûõ, â êîòîðîé îòñëåæèâàåò êàêèå ôàéëû ñîäåðæàò ïàêåòû òàêæå,êàê ýòî äåëàåò auto-apt è åìó íóæíî åå îáíîâëÿòü. Ýòî äåëàåòñÿ òàê:

# apt-�le update

Ïî óìîë÷àíèþ, apt-�le èñïîëüçóåò áàçó äàííûõ auto-apt, ñì. `Óñòàíîâêà ïàêåòîâ �ïî çàïðî-ñó� ' íà ñòð. 28.

Page 34: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 30

5.5 Êàê ïîëó÷èòü èíôîðìàöèþ îá èçìåíåíèÿõ â ïàêåòå.

Êàæäûé ïàêåò óñòàíâàëèâàåò â ñâîé êàòàëîã äîêóìåíòàöèè (/usr/share/doc/packagename)ôàéë, íàçûâàåìûé changelog.Debian.gz, êîòîðûé ñîäåðæèò ñïèñîê èçìåíåíèé, ñäåëàííûõ âïàêåòå â ïîñëåäíåé âåðñèè. Âû ìîæåòå ïðî÷åñòü ýòè ôàéëû, íàïðèìåð, óòèëèòîé zless', íîâ îáùåì-òî íå ñëèøêîì óäîáíî ïîñëå ïîëíîãî îáíîâëåíèÿ ñèñòåìû èñêàòü changelog`è äëÿêàæäîãî îáíîâëåííîãî ïàêåòà.

Ìîæíî àâòîìàòèçèðîâàòü ýòó çàäà÷ó ñ ïîìîùüþ èíñòðóìåíòà apt-listchanges. Äëÿ íà÷à-ëà íàäî óñòàíîâèòü ïàêåò apt-listchanges.  òå÷åíèå èíñòàëëÿöèè, Debconf íàñòðîèò åãî.Îòâå÷àéòå íà âîïðîñû òàê, êàê âàì áóäåò óäîáíåå.

Îïöèÿ �Should apt-listchanges be automatically run by apt?� î÷åíü ïîëåçíà, òàê êàê ïîêà-çûâàåò ñïèñîê èçìåíåíèé, ñäåëàííûõ â êàæäîì óñòàíîâëåííîì ïðè îáíîâëåíèè ïàêåòå, èïîçâîëÿåò âàì ïðîàíàëèçèðîâàòü ñèòóàöèþ ïåðåä òåì, êàê ïðîäîëæèòü. Îïöèÿ �Should apt-listchanges prompt for con�rmation after displaying changes?� çàïðàøèâàåò ó âàñ ðàçðåøåíèÿïðîäîëæàòü ïîñëå ÷òåíèÿ ñïèñêà èçìåíåíèé. Åñëè âû ñêàæåòå, ÷òî íå õîòèòå ïðîäîëæàòü,òî apt-listchanges âåðíåò îøèáêó è apt ïðåðâåò óñòàíîâêó.

Ïîñëå óñòàíîâêè apt-listchanges, êàê òîëüêî ïàêåòû ñêà÷àþòñÿ (èëè áóäóò ïîëó÷åíû ñ CDèëè ñìîíòèðîâàííîãî äèñêà) ñ ïîìîùüþ apt, ìîæíî áóäåò ñìîòðåòü ñïèñêè èçìåíåíèé,ñäåëàííûõ â ðàíåå óñòàíîâëåííûõ ïàêåòàõ.

Page 35: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

31

Ãëàâà 6

Ðàáîòà ñ ïàêåòàìè èñõîäíûõ òåêñòîâ

6.1 Ñêà÷èâàíèå ïàêåòîâ èñõîäíûõ òåêñòîâ

 ìèðå ñâîáîäíîãî ÏÎ îáùåïðèíÿòî èçó÷àòü èñõîäíûé êîä èëè äîæå äåëàòü èñïðàâëåíèÿîøèáîê. ×òîáû ýòî äåëàòü, âû äîëæíû ñêà÷àòü èñõîäíûé òåêñò ïðîãðàìì. Ñèñòåìà APTïðåäëàãàåò ëåãêèé ïóòü äëÿ ïîëó÷åíèÿ èñõîäíûõ òåêñòîâ ïàêåòîâ äëÿ ìíîæåñòâà ïðîãðàìì,ñîñòàâëÿþùèõ äèñòðèáóòèâ, âêëþ÷àÿ âñå ôàéëû, íåîáõîäèìûå äëÿ ñîçäàíèÿ .deb-ôàéëîâïðîãðàìì.

Äðóãîé ñïîñîá èñïîëüçîâàíèÿ èñõîäíûõ òåêñòîâ â Debian - àäàïòàöèÿ áîëåå íîâûõ âåðñèéïðîãðàìì èç, íàïðèìåð, íåñòàáèëüíîãî äèñòðèáóòèâà äëÿ èñïîëüçîâàíèÿ ñî ñòàáèëüíûìäèñòðèáóòèâîì. Ñáîðêà ïàêåòà â ñðåäå ñòàáèëüíîãî äèñòðèáóòèâà îáå÷ïå÷èò ãåíåðàöèþ .debñ çàâèñèìîñòÿìè, ñîîòâåòñòâóþùèìè ïàêåòàì, äîñòóïíûì â äèñòðèáóòèâå.

Äëÿ ýòîãî çàïèñü deb-src â âàøåì ôàéëå /etc/apt/sources.list äîëæíà óêàçûâàòü íà íåñòà-áèëüíûé äèñòðèáóòèâ. Îíà äîëæíà áûòü ðàçðåøåíà (ðàñêîììåíòèðîâàíà). Ñì. ðàçäåë`Ôàéë /etc/apt/sources.list' íà ñòð. 3.

Äëÿ ñêà÷èâàíèÿ ïàêåòîâ èñõîäíûõ òåêñòîâ ðåêîìåíäóåòñÿ èñïîëüçîâàòü êîìàíäó:

$ apt-get source packagename

Êîìàíäà äîëæíà ñêà÷àòü òðè ôàéëà: .orig.tar.gz, .dsc è .di�.gz.  ñëó÷àå, åñëè ïàêåòû ñî-çäàâàëèñü èñêëþ÷èòåëüíî äëÿ Debian, ïîñëåäíèé èç íèõ íå ñêà÷èâàåòñÿ è ïåðâûé ôàéë íåèìååò âñòàâêè �orig� â ñâîåì èìåíè.

Ôàéë .dsc ïîëüçóåòñÿ êîìàíäîé dpkg-source äëÿ ðàñïàêîâêè ïàêåòà èñõîäíûõ òåêñòîâ âêàòàëîã packagename-version. Âíóòðè êàæäîãî ñêà÷àííîãî ïàêåòà èñõîäíûõ òåêñòîâ åñòüêàòàëîã debian/, êîòîðûé ñîäåðæèò ôàéëû, íåîáõîäèìûå äëÿ ñîçäàíèÿ ïàêåòà .deb.

Äëÿ àâòîìàòè÷åñêîãî ïîñòðîåíèÿ ïàêåòà èç ñêà÷èâàåìûõ èñõîäíûõ òåêñòîâ ïðîñòî óêàæèòåêëþ÷ -b â êîìàíäíîé ñòðîêå, ïðèìåðíî òàê:

$ apt-get -b source èìÿïàêåòà

Page 36: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 6. Ðàáîòà ñ ïàêåòàìè èñõîäíûõ òåêñòîâ 32

Åñëè âû ðàøàåòå íå ñîçäàâàòü .deb ïðè ñêà÷èâàíè, òî âû ìîæåòå ñîçäàòü åãî ïîçæå êîìàí-äîé:

$ dpkg-buildpackage -rfakeroot -uc -b

èç êàòàëîãà, êîòîðûé áûë ñîçäàí äëÿ ïàêåòà ïîñëå ñêà÷èâàíèÿ.

Åñòü ðàçíèöà ìåæäó ìåòîäîì source êîìàíäû apt-get è åå äðóãèìè ìåòîäàìè. Ìåòîä sourceìîæåò áûòü èñïîëüçîâàí îáû÷íûìè ïîëüçîâàòåëÿìè, áåç íåîáõîäèìîñòè èìåòü ïðàâà root.Ôàéëû ñêà÷èâàþòñÿ â êàòàëîã, èç êîòîðîãî âûçûâàåòñÿ êîìàíäà apt-get source package.

6.2 Ïàêåòû, íåîáõîäèìûå äëÿ êîìïèëÿöèè ïàêåòîâ èñõîäíûõ òåêñòîâ

Îáû÷íî, äëÿ òîãî, ÷òîáû ïàêåò ìîæíî áûëî ñîáðàòü, íóæíû íåêîòîðûå çàãîëîâî÷íûå ôàé-ëû è ñîâìåñòíî-èñïîëüçóåìûå áèáëèîòåêè. Âñå ïàêåòû èñõîäíûõ òåêñòîâ èìåþò â ñâîèõóïðàâëÿþùèõ ôàéëàõ ïîëå 'Build-Depends:', êîòîðîå óêàçûâàåò äîïîëíèòåëüíûå ïàêåòû,êîòîðûå íåîáõîäèìû äëÿ ïîñòðîåíèÿ ïàêåòà èç èñõîäíûõ òåêñòîâ.

APT èìååò ïðîñòîé ìåòîä ñêà÷èâàíèÿ ýòèõ ïàêåòîâ. Ïðîñòî çàïóñòèòå apt-get build-deppackage, ãäå `package' - ýòî èìÿ ïàêåòà, êîòîðûé âû ñîáèðàåòåñü ïîñòðîèòü. Íàïðèìåð:

[root]@[/] # apt-get build-dep gmcReading Package Lists... DoneBuilding Dependency Tree... DoneThe following NEW packages will be installed:comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-devlibgpmg1-dev

0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.Need to get 1069kB of archives. After unpacking 3514kB will be used.Do you want to continue? [Y/n]

Áóäóò óñòàíîâëåíû ïàêåòû, íåîáõîäèìûå äëÿ ïðàâèëüíîãî ïîñòðîåíèÿ ïàêåòà gmc. Âàæíîîòìåòèòü, ÷òî êîìàíäà íå èùåò ñàì ïàêåò èñõîäíûõ òåêñòîâ. Ïî ýòîé ïðè÷èíå âàì ïîòðå-áåòñÿ ñêà÷àòü åãî îòäåëüíîé êîìàíäîé apt-get source.

Page 37: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

33

Ãëàâà 7

Êàê èñïðàâëÿòü îøèáêè

7.1 Îáùèå îøèáêè

Îøèáêè ñëó÷àþòñÿ çà÷àñòóþ èç-çà íåâíèìàòåëüíîñòè ïîëüçîâàòåëåé. Äàëåå áóäóò ðàññìîò-ðåíû íåñêîëüêî ÷àñòûõ îøèáîê è ìåòîäâ èõ óñòðàíåíèÿ.

Åñëè âû ïîëó÷èëè ïèìåðíî òàêîå ñîîáùåíèå ïðè âûïîëíåíèè êîìàíäû apt-get installpackage. . .

Reading Package Lists... DoneBuilding Dependency Tree... DoneW: Couldn't stat source package list 'http://people.debian.org unstable/ Packages' (/var/state/apt/lists/people.debian.org_%7ekov_debian_unstable_Packages) -

stat (2 No such �le or directory)W: You may want to run apt-get update to correct these missing �lesE: Couldn't �nd package penguineyes

îò âû çàáûëè çàïóñòèòü apt-get update ïîñëå ïîñëåäíèõ èçìåíåíèé â ôàéëå/etc/apt/sources.list.

Îøèáêà âûãëÿäèò âîò òàê:

E: Could not open lock �le /var/lib/dpkg/lock - open (13 Permission denied)E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

åñëè âû ïûòàåòåñü âîñïîëüçîâàòüñÿ ëþáûì äðóãèì ìåòîäîì apt-get, êðîìå source, íå èìåÿïðàâ root.

Ïîõîæèå îøèáêè ìîãóò âîçíèêàòü ïðè çàïñêå äâóõ êîïèé ïðîãðàììû apt-get â îäíî è òî æåâðåìÿ, èëè äàæå åñëè âû ïûòàåòåñü çàïóñòèòü apt-get îäíîâðåìåííî ñ dpkg. Îäíîâðåìåííîñ äðóãèìè ìîæíî çàïóñêàòü òîëüêî ìåòîä source.

Åñëè óñòàíîâêà ïðåðâàëàñü íà ñåðåäèíå ïðîöåññà, è âû áîëüøå íå ìîæåòå íè óñòàíîâèòü,íè óäàëèòü ïàêåòû, òî ïîïðîáóéòå ýòè äâå êîìàíäû:

Page 38: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 7. Êàê èñïðàâëÿòü îøèáêè 34

# apt-get -f install# dpkg --con�gure -a

È çàòåì ïîïðîáóéòå ñíîâà. Ìîæåò ïîòðåáîâàòüñÿ çàïóñòèòü âòîðóþ èç âûøåóêàçàííûõ êî-ìàíä áîëåå îäíîãî ðàçà. Ýòî âàæíûé óðîê äëÿ òåõ ëþáèòåëåé ïðèêëþ÷åíèé, êîòîðûå èñ-ïîëüçóþò `unstable'.

7.2 Ãäå ìíå èñêàòü ïîìîùü?

Åñëè âû â òóïèêå, ïîñìîòðèòå âïîëíå äîõîä÷èâóþ äîêóìåíòàöèþ äëÿ ñèñòåìû ïàêåòîâDebian. Âàì ìîãóò ïîìî÷ü �help'û è ñòðàíèöû ðóêîâîäñòâ, òàêæå êàê è äîêóìåíòàöèÿ âêàòàëîãå /usr/share/doc, íàïðèìåð, â ïîäêàòàëîãå /usr/share/doc/apt.

Åñëè äîêóìåíòàöèÿ âàñ íå ïðîñâåùàåò, òî ïîïðîáóéòå ïîèñêàòü îòâåò â ñïèñêàõ ïî÷òîâîéðàñûëêè Debian. Âû ìîæåòå íàéòè áîëåå ïîäðîáíóþ èíôîðìàöèþ îá óêàçàííûõ ñïèñêàõðàññûëêè íà âåá-ñàéòå Debian: http://www.debian.org.

Ïîìíèòå, ÷òî ýòè ñïèñêè è ðåñóðñû äîëæíû èñïîëüçîâàòüñÿ òîëüêî ïîëüçîâàòåëÿìè Debian;ïîëüçîâàòåëè äðóãèõ ñèñòåì íàéäóò ëó÷øóþ ïîääåðæêó â ðåñóðñàõ èõ ñîáñòâåííûõ äèñòðè-áóòèâîâ.

Page 39: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

35

Ãëàâà 8

Êàêèå äèñòðèáóòèâû ïîääåðæèâàþò APT?

Âîò íàçâàíèÿ íåêîòîðûõ äèñòðèáóòèâîâ, êîòîðûå èñïîëüçóþò APT:

Debian GNU/Linux (http://www.debian.org) - ýòî äèñòðèáóòèâ, â êîòîðûì áûë ðàçðàáîòàíAPT

Conectiva (http://www.conectiva.com.br) - ýòî äèñòðèáóòèâ, êîòîðûé ïåðâûì ïîðòèðîâàëAPT äëÿ èñïîëüçîâàíèÿ ñ rpm

Mandrake (http://www.mandrake.com)

PLD (http://pld.org.pl (http://www.pld.org.pl))

Vine (http://www.vinelinux.org)

APT4RPM (http://apt4rpm.sf.net)

Alt Linux (http://www.altlinux.ru/)

Red Hat (http://www.redhat.com/)

Sun Solaris (http://www.sun.com/)

SuSE (http://www.suse.de/)

Yellow Dog Linux (http://www.yellowdoglinux.com/)

Page 40: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 8. Êàêèå äèñòðèáóòèâû ïîääåðæèâàþò APT? 36

Page 41: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

37

Ãëàâà 9

Áëàãîäàðíîñòè

Áîëüøîå ñïàñèáî ìîèì áîëüøèì äðóçüÿì â ïðîåêòå Debian-BR è â ñàìîì Debian, êîòîðûåïîñòîÿííî ïîìîãàþò ìíå è âñåãäà ïðèäàþò ñèë äëÿ òðóäà íà áëàãî ÷åëîâå÷åñòâà, òàêæå êàêè ïîìîãàþò ìíå â ñòðåìëåíèè ñîõðàíèòü ìèð. :)

Òàêæå ÿ õî÷ó âûðàçèòü ñâîþ áëàãîäàðíîñòü CIPSGA çà ïîñèëüíóþ ïîìîùü íàøåìó ïðîåêòóè âñåì ñâîáîäíûì ïðîåêòàì, êîòîðûå íåñóò âåëèêèå èäåè.

È îñîáûå áëàãîäàðíîñòè:

Yooseong Yang <[email protected]> - çà ïåðåâîä ðóêîâîäñòâà íà Korean.

Michael Bramer <[email protected]> - çà ïðåäëîæåíèå âêëþ÷èòü ðàçäåë î ñîõðàíåíèè óêà-çàííûõ âåðñèé.

Bryan Stillwell <[email protected]> - çà ðàçëè÷íûå çàïëàòû è èñïðàâëåíèÿ.

Pawel Tecza <[email protected]> - çà ðàçëè÷íûå èñïðàâëåíèÿ è ïîëüñêèé ïåðåâîä.

Hugo Mora <[email protected]> - çà èñïàíñêèé ïåðåâîä.

Luca Monducci <[email protected]> - çà èòàëüÿíñêèé ïåðåâîä.

Tomohiro KUBOTA <[email protected]> - çà ÿïîíñêèé ïåðåâîä.

Pablo Lorenzzoni <[email protected]> - çà íàïèñàíèå ðàçäåëà î netselect.

Steve Langasek <[email protected]> - çà ïåðåâîä ðóêîâîäñòâà íà àíãëèéñêèé.

Arnaldo Carvalho de Melo <[email protected]> - çà âêëàä â ñïèñîê äîïîëíèòåëüíûõäèñòðèáóòèâîâ, êîòîðûå ñåé÷àñ ðàáîòàþò ñ APT: Mandrake, PLD è Vine.

Erik Rossen <[email protected]> - çà ñîâåò ñ ïåðåìåííîé COLUMNS äëÿ êîìàíäû dpkg -l.

Ross Boylan <[email protected]> - çà ñîâåò èñïîëüçîâàòü -oDebug::pkgProblemResolver=yes.

Matt Kraai <[email protected]> - çà ðàçëè÷íûå çàïëàòû, ñîâåòû è èñïðàâëåíèÿ.

Aaron M. Ucko <[email protected]> - çà âû÷èòêó è èñïðàâëåíèÿ.

Jon åslund <[email protected]> - çà íàïèñàíèå ðàçäåëà îá apt-�le.

Page 42: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

Ãëàâà 9. Áëàãîäàðíîñòè 38

Page 43: APT HOWTO (Obsolete Documentation) - Debian · Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-ùàòüñÿ

39

Ãëàâà 10

Íîâûå âåðñèè ýòîãî ðóêîâîäñòâà

Ýòî ðóêîâîäñòâî áûëî ñîçäàíî ïðîåêòîì Debian-BR (http://debian-br.cipsga.org.br), ñ öåëüþåæåäíåâíîé ïîìîùè ïðîåêòó Debian.

Íîâûå âåðñèè ýòîãî äîêóìåíòà áóäóò äîñòóïíû íà ñòðàíèöå ïðîåêòà http://www.debian.org/doc/ddp.

Êîììåíòàðèè è êðèòèêó ìîæíî îòïðàâëÿòü ïðÿìî ìíå íà ýëåêòðîííóþ ïî÷òó <[email protected]>.