Академический Документы
Профессиональный Документы
Культура Документы
Àííîòàöèÿ
This manual is free software; you may redistribute it and/or modify it under the terms of the
GNU 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 the
implied warranty of merchantability or tness for a particular purpose. See the GNU General
Public License for more details.
Îãëàâëåíèå
1 Ââåäåíèå 1
2 Îñíîâíàÿ íàñòðîéêà 3
3 Óïðàâëåíèå ïàêåòàìè 9
9 Áëàãîäàðíîñòè 37
Ãëàâà 1
Ââåäåíèå
Ãëàâà 2
Îñíîâíàÿ íàñòðîéêà
Êàê ÷àñòü ñâîåé ðàáîòû, APT èñïîëüçóåò ôàéë, êîòîðûé ñîäåðæèò ñïèñîê 'èñòî÷íèêîâ', èç
êîòîðûõ ìîãóò áûòü ñêà÷àíû ïàêåòû. Ýòî ôàéë /etc/apt/sources.list.
Ýòè ñòðîêè íåîáõîäèìû äëÿ áàçîâîé óñòàíîâêè Debian. Ïåðâàÿ ñòðîêà deb óêàçûâàåò íà
îôèöèàëüíûé àðõèâ, âòîðàÿ - íà íå-ÑØÀ àðõèâ è òðåòüÿ - íà àðõèâ îáíîâëåíèé áåçîïàñ-
íîñòè Debian.
Äâå ïîñëåäíèå ñòðîêè çàêîììåíòèðîâàíû (íà÷èíàþòñÿ ñ `#'), òàê ÷òî apt-get áóäåò èõ èã-
íîðèðîâàòü. Ýòè ñòðîêè deb-src óêàçûâàþò íà ïàêåòû èñõîäíûõ òåêñòîâ Debian. åñëè âû
÷àñòî ñêà÷èâàåòå èñõîäíûå òåêñòû ïðîãðàìì äëÿ òåñòèðîâàíÿ è ïåðåêîìïèëÿöèè, ðàñêîì-
ìåíòèðóéòå èõ.
Ôàéë /etc/apt/sources.list ìîæåò ñîäåðæàòü íåñêîëüêî òèïîâ ñòðîê. APT çíàåò êàê îáðà-
ùàòüñÿ ñ àðõèâàìè òèïîâ http, ftp, le (ëîêàëüíûå ôàéëû, íàïð., êàòàëîã, ñîäåðæàùèé
ñìîíòèðîâàííóþ ôàéëîâóþ ñèñòåìó ISO9660) è ssh, íàñêîëüêî ÿ çíàþ.
Èíîãäà, âû ìîæåòå ðàñïîëàãàòü êó÷åé ïàêåòîâ .deb, êîòîðûå âàì õîòåëîñü áû óñòàíàâëèâàòü
ñ ïîìîùüþ APT, ÷òîáû çàâèñèìîñòè îáðàáàòûâàëèñü àâòîìàòè÷åñêè.
×òîáû ýòî ñäåëàòü, ñîçäàéòå êàòàëîã è ïîìåñòèòå â íåãî .deb`û, êîòîðûå âàì íóæíû. Íà-
ïðèìåð:
mkdir /root/debs
package - ýòî èìÿ ïàêåòà, priority - èìååò çíà÷åíèÿ low, medium èëè high, à section - ýòî
íàçâàíèå ðàçäåëà, â êîòîðîì îí íàõîäèòñÿ. Èìÿ ôàéëà íå èìååò çíà÷åíèÿ, ïîçæå âû áóäåòå
óêàçûâàòü åãî â êà÷åñòâå àðãóìåíòà äëÿ êîìàíäû dpkg-scanpackages. Åñëè âû íå õîòèòå
ñîñòàâëÿòü ôàéë override, òîãäà ïðîñòî óêàçûâàéòå /dev/null. ïðè âûçîâå dpkg-scanpackages.
In the above line, le is the override le, the command generates a le Packages.gz that
contains various informations about the packages, which are used by APT. To use the packages,
nally, add: Â âûøåïðèâåäåííîé êîìàíäå, le - ýòî ôàéë override, êîìàíäà ãåíåðèðóåò ôàéë
Packages.gz, êîòîðûé ñîäåðæèò ðàçëè÷íóþ èíôîðìàöèþ î ïàêåòàõ, êîòîðûå èñïîëüçóþòñÿ
APT. ×òîáû èñïîëüçîâàòü ïàêåòû, íàêîíåö, äîáàâüòå:
Ïîñëå âñåõ ýòèõ ìàíèïóëÿöèé âû ìîæåòå èñïîëüçîâàòü êîìàíäû APT êàê îáû÷íî. Âû òàêæå
ìîæåòå ñîçäàòü è ðåïîçèòîðèé äëÿ èñõîäíûõ òåêñòîâ. Äëÿ ýòîãî èñïîëüçóåòñÿ òà æå ïðî-
öåäóðà, íî ïîìíèòå, ÷òî âàì íóæíû ôàéëû .orig.tar.gz, .dsc è .di.gz â êàòàëîãå, è âìåñòî
Packages.gz íàäî èñïîëüçîâàòü Sources.gz. Òàêæå íóæíî èñïîëüçîâàòü äðóãóþ ïðîãðàììó.
Ýòî ïðîãðàììà dpkg-scansources. Êîìàíäíàÿ ñòðîêà âûãëÿäèò ïðèìåðíî òàê:
Îáðàòèòå âíèìàíèå íà òî, ÷òî ïðîãðàììå dpkg-scansources íå íóæåí override ôàéë. Ñòðîêà
â sources.list:
Íàèáîëåå ÷àñòî âîçíèêàåìûé âîïðîñ, â îñíîâíîì ó íîâè÷êîâ: êàêîå çåðêàëî Debian âêëþ-
÷àòü â sources.list?. Äëÿ âûáîðà çåðêàëà åñòü ìíîæåñòâî ñïîñîáîâ. Ýêñïåðòû âåðîÿòíî ïîëü-
çóþòñÿ ñöåíàðèÿìè, êîòîðûå èçìåðÿþò ïðîäîëæèòåëüíîñòü ping`îâ äî íåêîòîðûõ çàðêàë.
Íî òàêàÿ ïðîãðàììà äëÿ âàñ óæå èìååòñÿ: netselect.
Ïðè çàïóñêå ïðîãðàììû áåç ïàðàìåòðîâ îòîáðàæàåòñÿ ñïðàâêà. Ïðè çàïóñêå ñ óêàçàííû-
ìè â êà÷åñòâå ïàðàìåòðîâ, ðàçäåëåííûõ ïðîáåëàìè, èìåíàìè õîñòîâ (çåðêàë), îíà âûäàñò
îöåíêó è îäèí èç õîñòîâ. Ýòà îöåíêà ó÷èòûâàåò îæèäàåìóþ ïðîäîëæèòåëüíîñòü ïèíãà è
êîëè÷åñòâî ïåðåõîäîâ (õîñòîâ, êîòîðûå äîëæíû áûòü ïðîéäåíû äî òîãî, êàê ïàêåòû äîé-
äóò äî öåëè) è îáðàòíà ïðîïîðöèîíàëüíà îæèäàåìîé ñêîðîñòè ñêà÷èâàíèÿ (ò.å., ÷åì îíà
ìåíüøå, òåì ëó÷øå). Ïðîãðàììà óêàçûâàåò èìÿ õîñòà, êîòîðûé èìååò íàèìåíüøóþ îöåíêó
(ïîëíûé ñïèñîê îöåíîê ìîæíî ïðîñìîòðåòü ñ ïîìîùüþ îïöèè -vv ). Ñì. ïðèìåð:
Íà÷èíàÿ ñ âåðñèè 0.3, ïàêåò netselect âêëþ÷àåò ñöåíàðèé netselect-apt, êîòîðûé äåëàåò âû-
øåîïèñàííûå ïðîöåäóðû àâòîìàòè÷åñêè. Ïðîñòî ââåäèòå â êà÷åñòâà ïàðàìåòðà èìÿ äåðåâà
äèñòðèáóòèâà (ïî óìîë÷àíèþ ýòî stable) è ôàéë sources.list áóäåò íàñòðîåí íà íàèëó÷øèå
çåðêàëà main è non-US è áóäåò ñîõðàíåí â òåêóùåì êàòàëîãå. Ñëåäóþùèé ïðèìåð ãåíåðè-
ðóåò sources.list ñòàáèëüíîãî äèñòðèáóòèâà:
bash$ ls sources.list
ls: sources.list: File or directory not found
bash$ netselect-apt stable
(...)
bash$ ls -l sources.list
sources.list
bash$
apt-cdrom add
-h - ñïðàâêà ê ïðîãðàììå
-d directory - òî÷êà ìîíòèðîâàíèÿ CD-ROM
-r - Ïåðåèìåíîâàòü ðàñïîçíàííûé CD-ROM
-m - Íå ìîíòèðîâàòü
-f - Óñêîðåííûé ðåæèì, íå ïðîâåðÿòü ïàêåòû ôàéëîâ
-a - Thorough scan mode
Íàïðèìåð:
apt-cdrom ident
Îáðàòèòå âíèìàíèå, ÷òî ýòà ïðîãðàììà ðàáîòàåò òîëüêî, åñëè âàø CD-ROM ïðàâèëüíî
íàñòðîåí â ñèñòåìíîì ôàéëå íàñòðîåê /etc/fstab.
Ãëàâà 2. Îñíîâíàÿ íàñòðîéêà 8
9
Ãëàâà 3
Óïðàâëåíèå ïàêåòàìè
×òîáû îáíîâèòü ýòîò ñïèñîê, âû äîëæíû èñïîëüçîâàòü êîìàíäó apt-get update. Ýòà êîìàíäà
ïðîñìàòðèâàåò ñïèñêè ïàêåòîâ â àðõèâàõ, óêàçàííûõ â ôàéëå /etc/apt/sources.list; ñì. áîëåå
ïîëíûå ñâåäåíèÿ îá ýòîì ôàéëå â `Ôàéë /etc/apt/sources.list' íà ñòð. 3.
Áûëî áû íåïëîõî çàïóñêàòü ýòó êîìàíäó ðåãóëÿðíî, ÷òîáû âàøà ñèñòåìà âñåãäà áûëà â
êóðñå îá îáíîâëåíèÿõ äîñòóïíûõ ïàêåòîâ, îñîáåííî îáíîâëåíèÿõ áåçîïàñíîñòè.
Íàêîíåö-òî, îæèäàíèå îêîí÷åíî! Âàø sources.list ãîòîâ è ñïèñêè äîñòóïíûõ ïàêåòîâ îáíîâ-
ëåíû, òåïåðü âàì òîëüêî îñòàåòñÿ äàòü êîìàíäó apt-get, ÷òîáû óñòàíîâèòü ïðåäïî÷èòàåìûé
ïàêåò. Íàïðèìåð, âû ìîæåòå çàïóñòèòü:
APT áóäåò èñêàòü â ñâîåé áàçå äàííûõ íàèáîëåå ñâåæèå âåðñèè ïàêåòîâ è áóäåò ñêà÷èâàòü
èõ èç ñîîòâåòñòâóþùèõ àðõèâîâ òàê, êàê îíè óêàçàíû â sources.list.  ñëó÷àÿõ, êîãäà ïà-
êåò çàâèñèò îò äðóãîãî êàê â âàðèàíòå íèæå APT ïðîâåðèò çàâèñèìîñòè è óñòàíîâèò
íåîáõîäèìûå ïàêåòû. Ñì. ïðèìåð:
Ýòî îçíà÷àåò, ÷òî APT çàïðàøèâàåò ïîäòâåðæäåíèÿ òîëüêî òîãäà, êîãäà íóæíî óñòàíîâèòü
ïàêåòû, êîòîðûå íå áûëè ïåðå÷èñëåíû â êîìàíäíîé ñòðîêå.
-h ñïðàâêà
-d òîëüêî çàãðóçèòü - íå óñòàíàâëèâàòü è íå ðàñïàêîâûâàòü àðõèâû
-s íè÷åãî íå äåëàòü ðåàëüíî, èìèòèðîâàòü âûïîëíåíèå
-y ïðåäïîëàãàåòñÿ îòâåò Yes íà âñå âîïðîñû, ñàìè âîïðîñû íå âûâîäèòü
-f ïðîäîëæàòü, äàæå åñëè ïðîâåðêà öåëîñòíîñòè íå óäà÷íà
-u ïëþñ êî âñåìó ïîêàçûâàòü ñïèñîê îáíîâëåííûõ ïàêåòîâ
 îäíîé ñòðîêå ìîæíî çàäàâàòü íåñêîëüêî ïàêåòîâ. Ñêà÷àííûå èç ñåòè ôàéëû ïîìåùàþòñÿ
â êàòàëîã äëÿ äàëüíåéøåé óñòàíîâêè /var/cache/apt/archives.
Òàêæå, âû ìîæåòå óêàçûâàòü ïàêåòû äëÿ óäàëåíèÿ â òîé æå êîìàíäíîé ñòðîêå. Ïðîñòî
ïîìåñòèòå '-' ñðàçó ïîñëå èìåíè óäàëÿåìîãî ïàêåòà, íàïðèìåð:
Áîëåå ïîäðîáíóþ èíôîðìàöèþ îá óäàëåíèè ïàêåòîâ ìîæíî íàéòè â ðàçäåëå `Óäàëåíèå ïà-
êåòîâ' íà ñòð. 11.
Åñëè âû îáíàðóæèëè, ÷òî ïàêåò èñïîðòèëñÿ, èëè ïðîñòî õîòèòå ïåðåóñòàíîâèòü ôàéëû ïà-
êåòà áîëåå íîâîé äîñòóïíîé âåðñèè, òî âû ìîæåòå èñïîëüçîâàòü îïöèþ reinstall, íàïðèìåð:
Ïðè ñîçäàíèè ýòîãî ðóêîâîäñòâà APT èìåë âåðñèþ 0.5.3, êîòîðàÿ áûëà òåêóùåé âåðñèåé â
Debian `unstable' (sid) íà âðåìÿ íàïèñàíèÿ. Åñëè âû óñòàíîâèëè ýòó âåðñèþ, òî âàì äîñòóïíû
íåêîòîðûå äîïîëíèòåëüíûå âîçìîæíîñòè: âû ìîæåòå èñïîëüçîâàòü êîìàíäû òèïà apt-get
install ïàêåò/äèñòðèáóòèâ äëÿ óñòàíîâêè ïàêåòîâ èç óêàçàííûõ äèñòðèáóòèâîâ, èëè apt-get
install ïàêåò=âåðñèÿ. Íàïðèìåð:
ÂÀÆÍÎ: `unstable' âåðñèÿ Debian - ýòî ñàìàÿ ïåðâàÿ âåðñèÿ, â êîòîðîé ïîÿâëÿþòñÿ íî-
âåéøèå âåðñèè ïàêåòîâ Debian. Ýòîò äèñòðèáóòèâ ïîäâåðãàåòñÿ âîçäåéñòâèþ èçìåíåíèé,
ñäåëàííûõ â ïàêåòàõ, è ìàëåíüêèì, è áîëüøèì, êàæäîå èç êîòîðûõ ìîæåò âîçäåéñòâîâàòü
íà ìíîæåñòâî ïàêåòîâ èëè ñèñòåìó â öåëîì. Ïî ýòîé ïðè÷èíå, ýòà âåðñèÿ äèñòðèáóòèâà íå
äîëæíà èñïîëüçîâàòüñÿ íåîïûòíûìè ïîëüçîâàòåëÿìè èëè òåìè, êòî îæèäàåò ñòàáèëüíîñòè.
Åñëè ïàêåò âàì áîëüøå íå íóæåí, òî âû ìîæåòå óäàëèòü åãî èç âàøåé ñèñòåìû, èñïîëüçóÿ
APT. ×òîáû ýòî ñäåëàòü ïðîñòî ââåäèòå: apt-get remove package. Íàïðèìåð:
Èç âûøåïðèâåäåííîãî ïðèìåðà ìîæíî âèäåòü, ÷òî APT òàêæå ïðåäëàãàåò óäàëèòü ïàêåòû,
îò êîòîðûõ çàâèñèò ïàêåò, ïðåäëàãàåìûé âàìè ê óäàëåíèþ. Ñïîñîáà óäàëèòü ïàêåò ïðè
ïîìîùè APT áåç óäàëåíèÿ ïàêåòîâ, îò êîòîðûõ îí çàâèñèò, íåò.
Îáðàòèòå âíèìàíèå íà '*' ïîñëå èìåí. Ýòî óêàçûâàåò íà òî, ÷òî áóäóò óäàëåíû íàñòðîå÷íûå
ôàéëû äëÿ êàæäîãî èç ýòèõ ïàêåòîâ.
Îáðàòèòå âíèìàíèå íà òî, ÷òî apt-get ðàñïå÷àòûâàåò äîïîëíèòåëüíûå ïàêåòû, êîòîðûå áó-
äóò óñòàíîâëåíû (ò.å., ïàêåòû, êîòîðûå áóäóò óñòàíîâëåíû äëÿ ïðàâèëüíîé ðàáîòû çàïðà-
øèâàåìûõ ê óñòàíîâêå ïàêåòîâ), óäàëÿåìûå ïàêåòû è çàòåì ïàêåòû, êîòîðûå áóäóò óñòà-
íîâëåíû (òàêæå âêëþ÷àÿ äîïîëíèòåëüíûå ïàêåòû).
Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 13
Îáíîâëåíèÿ ïàêåòîâ - ýòî êîíåê ñèñòåìû APT. Ýòî ìîæåò áûòü ñäåëàíî îäíîé êîìàíäîé:
apt-get upgrade. Âû ìîæåòå èñïîëüçîâàòü ýòó êîìàíäó äëÿ îáíîâëåíèÿ ïàêåòîâ â òîì æå
ñàìîì äèñòðèáóòèâå, ðàâíî êàê è ïðè îáíîâëåíèè ñóùåñòâóþùåãî äèñòðèáóòèâà äî íîâîãî,
õîòÿ äëÿ ïîñëåäíåãî äåéñòâèÿ ïðåäíàçíà÷åíà êîìàíäà apt-get dist-upgrade; ñì. ïîäðîáíîñòè
â ðàçäåëå `Îáíîâëåíèå íîâîãî âûïóñêà' íà ñòð. 13.
Ýòó êîìàíäó ïîëåçíî çàïóñêàòü ñ îïöèåé -u. Ýòà îïöèÿ çàñòàâëÿåò APT ïîêàçûâàòü ïîëíûé
ñïèñîê ïàêåòîâ, ïðåäíàçíà÷åííûõ äëÿ îáíîâëåíèÿ. Áåç íåå âû áóäåòå îáíîâëÿòüñÿ âñëåïóþ.
APT ïîñëåäíèå âåðñèè êàæäîãî èç ïàêåòîâ è óñòàíîâèò èõ â ïðàâèëüíîì ïîðÿäêå. Ïîýòîìó
î÷åíü âàæíî çàïóñòèòü ïåðåä ýòèì apt-get update. Ñì. ðàçäåë `Îáíîâëåíèå ñïèñêà äîñòóï-
íûõ ïàêåòîâ' íà ñòð. 9. Âîò ïðèìåð:
Ïðîöåññ î÷åíü ïðîñò. Îáðàòèòå âíèìàíèå, ÷òî â ïåðâûõ ñòðîêàõ apt-get ãîâîðèò, ÷òî íåêî-
òîðûå ïàêåòû áûëè kept back. Ýòî îçíà÷àåò, ÷òî íîâûå âåðñèè íåêîòîðûõ ïàêåòîâ íå áóäóò
óñòàíîâëåíû ïî íåêîòîðûì ïðè÷èíàì. Âîçìîæíûìè ïðè÷èíàìè ìîãóò áûòü áèòûå çàâèñè-
ìîñòè (ïàêåò, îò êîòîðîãî îí çàâèñèò íå äîñòóïåí äëÿ ñêà÷èâàíèÿ) èëè íîâûå çàâèñèìîñòè
(ïàêåò ïîñëåäíåé âåðñèè çàâèñèò îò íîâûõ ïàêåòîâ).
 ïåðâîì ñëó÷àå ïðîçðà÷íîãî ðåøåíèÿ íå ñóùåñòâóåò. Äëÿ âòîðîãî ñëó÷àÿ, äîëæíà ïîìî÷ü
êîìàíäà apt-get install äëÿ óêàçàííîãî â âîïðîñå ïàêåòà, òàê êà ýòî ïðèâåäåò ê ñêà÷èâàíèþ
çàâèñèìîñòè. Äàæå áîëåå ïðîçðà÷íîå ðåøåíèå ñîñîòîèò â èñïîëüçîâàíèè dist-upgrade. Ñì.
ðàçäåë `Îáíîâëåíèå íîâîãî âûïóñêà' íà ñòð. 13.
Ýòà âîçìîæíîñòü APT ïîçâîëÿåò âàì îáíîâëÿòü âñþ ñèñòåìó Debian çà îäèí ïðèåì, èëè
÷åðåç Internet, èëè ñ íîâîãî CD (êóïëåííîãî èëè ñêà÷àííîãî â âèäå îáðàçà ISO).
Ýòî äåéñòâèå òàêæå èñïîëüçóåòñÿ ïðè èçìåíåíèè îòíîøåíèé ìåæäó óñòàíîâëåííûìè ïàêå-
òàìè. Êîìàíäà apt-get upgrade îñòàâèò ýòè ïàêåòû íåòðîíóòûìè (kept back).
Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 14
Âàæíî èìåòü â âèäó, ÷òî APT âñåãäà âûñìàòðèâàåò íîâåéøèå âåðñèè ïàêåòîâ. Ïîýòîìó,
åñëè â âàøåì /etc/apt/sources.list áûëè óêàçàíû àðõèâû, êîòîðûå èìåþò áîëåå íîâûå âåðñèè
ïàêåòîâ, ÷åì âåðñèÿ ýòîãî CD, òî APT äîëæåí ñêà÷èâàòü ïàêåòû ñ íèõ.
 ïðèìåðå èç ðàçäåëà `Îáíîâëåíèå ïàêåòîâ' íà ñòð. 13, ìû âèäåëè, ÷òî íåêîòîðûå ïàêåòû
áûëè kept back. Ñåé÷àñ ìû ðåøèì ýòó ïðîáëåìó ñ ïîìîùüþ äåéñòâèÿ dist-upgrade:
Îáðàòèòå âíèìàíèå, ÷òî ñåé÷àñ ïàêåòû áûëè îáíîâëåíû, à òàêæå óñòàíîâëåíû íîâûå ïàêåòû
(íîâûå çàâèñèìîñòè ïàêåòîâ). Îáðàòèòå âíèìàíèå òàêæå, ÷òî lilo ïî-ïðåæíåìó îñòàåòñÿ kept
back. Âåðîÿòíî çäåñü áîëåå ñåðüåçíàÿ ïðè÷èíà, ÷åì íîâàÿ çàâèñèìîñòü. Ìû ìîæåì åå íàéòè
êîìàíäîé:
Êàê áûëî óêàçàíî âûøå, lilo èìååò íîâûé êîíôëèêò ñ ïàêåòîì debconf-tiny, êîòîðûé îçíà-
÷àåò, ÷òî îí íå ìîæåò áûòü óñòàíîâëåí (èëè îáíîâëåí) áåç óäàëåíèÿ debconf-tiny.
Òàêèì îáðàçîì ëåãêî çàìåòèòü, ÷òî ïàêåò python1.5-dev íå ìîæåò áûòü óñòàíîâëåí èç-çà
íåóäîâëåòâîðèòåëüíîé çàâèñèìîñòè: python1.5.
dselect - ýòî ïðîãðàììà, êîòîðàÿ ïîìîãàåò ïîëüçîâàòåëÿì âûáèðàòü ïàêåòû Debian äëÿ
èíñòàëëÿöèè. Îí âûãëÿäèò â ÷åì-òî ãðîìîçäêèì è äàæå ðàçäðàæàåò, íî ñî âðåìåíåì âû
ìîæåòå ïðèâûêíóòü ê åãî êîíñîëüíîìó, îñíîâàííîìó íà ncurses èíòåðôåéñó.
çàïóñòèòå `dselect' îò èìåíè root. Âûáåðèòå â êà÷åñòâå ìåòîäà äîñòóïà 'apt'.  äåéñòâèòåëü-
íîñòè â ýòîì íåò íåîáõîäèìîñòè, íî åñëè âû íå èñïîëüçóåòå CD-ROM è õîòèòå ñêà÷èâàòü
ïàêåòû èç Èíòåðíåò, òî ýòî íàèëó÷øèé ñïîñîá äëÿ dselect.
apt-get -u dselect-upgrade
Îáðàòèòå âíèìàíèå íà òî, ÷òî ìíîãèå èç âûøåóêàçàííûõ ïàêåòîâ áûëè óñòàíîâëåíû ïîòîìó,
÷òî äðóãèå ïàêåòû ïðåäëàãàëè èëè ðåêîìåíäîâàëè èõ. Äðóãèå áûëè óñòàíîâëåíû èëè
óäàëåíû (â ñëó÷àå, íàïðèìåð, lbxproxy) â ðåçóëüòàòå ñäåëàííîãî íàìè âûáîðà âî âðåìÿ
ðàáîòû â dselect. Dselect ìîæåò áûòü ìîùíûì èíñòðóìåíòîì, êîãäà èñïîëüçóåòñÿ âìåñòå ñ
APT.
Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 17
Ëþäè ÷àñòî èñïîëüçóþò òåñòèðóåìûé äèñòðèáóòèâ, ïîòîìó ÷òî îí áîëåå ñüàáèëåí, ÷åì
íåñòàáèëüíûé è áîëåå íîâûé, ÷åì ñòàáèëüíûé. Îäíàêî ïîëüçîâàòåëè, êîòîðûå õîòÿò ðàáî-
òàòü ñ ïîñëåäíèìè âåðñèÿìè íåêîòîðûõ ïàêåòîâ, íî ïðè ýòîì íå äîâåðÿþò èì èç-çà áîÿçíè
äåñòàáèëèçèðîâàòü âñþ ñèñòåìó, èìåþò âîçìîæíîñòü ðàáîòàòü ñî ñìåøàííûìè òåñòèðóå-
ìûìè/ñòàáèëüíûìè ñèñòåìàìè. Èëè ïî-äðóãîìó - áîëåå êîíñåðâàòèâíûì ïîëüçîâàòåëÿì
âîçìîæíî íóæíà ñìåøàííàÿ ñòàáèëüíàÿ/òåñòèðóåìàÿ ñèñòåìà.
APT::Default-Release "testing";
Çàòåì, ïðè óñòàíîâêå ïàêåòîâ èç íåñòàáèëüíîãî äèñòðèáóòèâà, ïðîñòî èñïîëüçóéòå êëþ÷ -t:
Íå çàáûâàéòå, ÷òî äëÿ òîãî, ÷òîáû èñïîëüçîâàòü ïàêåòû ýòîé âåðñèè Debian, íóæíî âíå-
ñòè äîïîëíåíèÿ â ôàéë /etc/apt/sources.list. Ïðèìåíèòåëüíî ê íàøåìó ïðèìåðó, íàì íóæíî
äîáàâèòü ñòðîêè èñòî÷íèêîâ äëÿ äèñòðèáóòèâà unstable ïîñëå àíàëîãè÷íûõ ñòðîê äëÿ äèñ-
òðèáóòèâà testing.
Ìîãëî ñëó÷èòüñÿ òàê, ÷òî âû èçìåíÿåòå ÷òî-òî â ïàêåòå è íå èìååòå âðåìåíè èëè íå õîòèòå
ïîðòèðîâàòü ýòè èçìåíåíèÿ â íîâóþ âåðñèþ ïðîãðàììû. Èëè, ê ïðèìåðó, âû ìîæåò áûòü
ïðîñòî ñîáèðåòåñü îáíîâèòü âàø äèñòðèáóòèâ Debian äî âåðñèè 3.0, íà ïðè ýòîì õîòèòå
ïî-ïðåæíåìó èñïîëüçîâàòü íåêîòîðûå ïàêåòû èç Debian 2.2. Âû ìîæåòå ïðèêîëîòü (pin)
óñòàíîâëåííûå âåðñèè ïàêåòîâ òàê, ÷òîáû îíè íå îáíîâëÿëèñü.
Ýòî äåëàåòñÿ ïðîñòî. Âàì âñåãî ëèøü íàäî îòðåäàêòèðîâàòü ôàéë /etc/apt/preferences.
Package: <package>
Pin: <pin denition>
Pin-Priority: <pin's priority>
Package: sylpheed
Pin: 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=Debian
Pin-Priority: 1001
Ãëàâà 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_Release
Archive: stable
Version: 2.2r3
Component: main
Origin: Debian
Label: Debian
Architecture: i386
Ãëàâà 3. Óïðàâëåíèå ïàêåòàìè 20
21
Ãëàâà 4
Òóò íà ñöåíó âûõîäèò âåñü â áåëîì ïàêåò equivs. ×òîáû åãî èñïîëüçîâàòü, óñòàíîâèòå ïàêåò
ñ òåì æå èìåíåì. Îí ñîçäàåò ïóñòîé ïàêåò, êîòîðûé ñîäåðæèò ïîëíûé íàáîð çàâèñèìîñòåé,
óâåäîìëÿÿ òàêèì îáðàçîì ñèñòåìó ïàêåòîâ, ÷òî âñå çàâèñèìî÷òè óäîâëåòâîðåíû.
Ïðåæäå, ÷åì ìû íà÷íåì, õîðîøî áû ñîîáùèòü âàì, ÷òî åñòü áîëåå áåçîïàñíûå ñïîñîáû
êîìïèëÿöèè ïðîãðàìì, äëÿ êîòîðûõ óæå åñòü ïàêåòû Debian ñ ðàçëè÷íûìè îïöèÿìè, è ÷òî
â ýòîì ñëó÷àå ëó÷øå íå èñïîëüçîâàòü equivs äëÿ çàìåíû çàâèñèìîñòåé, åñëè âû íå óâåðåíû
â òîì, ÷òî âñå äåëàåòå ïðàâèëüíî. Ñì. ïîäðîáíîñòè â ðàçäåëå `Ðàáîòà ñ ïàêåòàìè èñõîäíûõ
òåêñòîâ' íà ñòð. 31.
# equivs-control name
Çàìåíèòå name íà èìÿ óïðàâëÿþùåãî ôàéëà, êîòîðûé âû ñîçäàåòå. Áóäåò ñîçäàí ñëåäóþ-
ùèé ôàéë:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 22
Íàì ïðîñòî íóæíî ïîïðàâèòü åãî, êàê íàì íóæíî. Ôîðìàò ïîëåé è èõ îïèñàíèé ïîíÿòåí
âèçóàëüíî, òàê ÷òî äàâàéòå ñäåëàåì òðåáóåìîå:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: mta-local
Provides: mail-transport-agent
Äà, ýòî âñå. mutt çàâèñèò îò mail-transport-agent, ýòî âèðòóàëüíûé ïàêåò, îáåñïå÷èâàåìûé
âñåìè MTA, ÿ ìîã áû èñïîëüçîâàòü èìÿ ïàêåòà mail-transport-agent, íî ÿ ïðèäåðæèâàþñü
ïðèíÿòîé ñõåìû èìåíîâàíèÿ, èñïîëüçóÿ Provides.
# equivs-build name
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
# Add here commands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 23
dh_installdocs
dh_installchangelogs
dh_compress
dh_xperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `name' in `../name_1.0_all.deb'.
Î÷åâèäíî, ñóùåñòâóåò íåñêîëüêî ïðèìåíåíèé äëÿ equivs. Îäíî èç íèõ, íàïðèìåð, - ñîçäàíèå
ïàêåòà my-favorites, êîòîðûé çàâèñèò îò ïðîãðàìì, êîòîðûå âû îáû÷íî óñòàíàâëèâàåòå.
Ïðîñòî âêëþ÷èòå ñâîå âîîáðàæåíèå, íî áóäüòå îñòîðîæíû.
localepurge - ýòî î÷åíü ïîëåçíûé èíñòðóìåíò äëÿ òàêèõ ïîëüçîâàòåëåé. Âû ìîæåòå îñâîáî-
äèòü ìíîãî ìåñòà, åñëè îñòàâèòå òîëüêî òå ëîêàëè, êîòîðûå âû äåéñòâèòåëüíî èñïîëüçóåòå.
Ïðîñòî äàéòå êîìàíäó apt-get install localepurge.
Ïàêåò î÷åíü ëåãêî íàñòðàèâàåòñÿ, debconf îáåñïå÷èâàåò åãî ïîøàãîâóþ íàñòðîéêó. Îäíàêî
áóäüòå îñòîðîæíû ïðè îòâåòå íà ïåðâûé âîïðîñ, íåïðàâèëüíûé îòâåò ìîæåò ïîâëå÷ü óäà-
ëåíèå âñåõ ôàéëîâ ëîêàëåé, äàæå òåõ, êîòîðûå âû èñïîëüçóåòå. Ïîñëå ýòîãî âîññòàíîâèòü
èõ ìîæíî áóäåò òîëüêî ïåðåóñòàíîâêîé âñåõ ïàêåòîâ, èõ ïðåäîñòàâëÿþùèõ.
apt-show-versions - ýòî ïðîãðàììà, êîòîðàÿ ïîêàçûâàåò, êàêèå ïàêåòû â ñèñòåìå ìîæíî îá-
íîâèòü è åùå íåêîòîðóþ ïîëåçíóþ èíôîðìàöèþ. Îïöèÿ -u îòîáðàæàåò ñïèñîê îáíîâëÿåìûõ
ïàêåòîâ:
$ apt-show-versions -u
libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
Ãëàâà 4. Âåñüìà ïîëåçíûå ïîìîùíèêè 24
25
Ãëàâà 5
Äëÿ ñèñòåìû APT ñóùåñòâóåò íåñêîëüêî îáîëî÷åê, êîòîðûå çíà÷èòåëüíî óïðîùàþò ïðî-
ñìîòð ïàêåòîâ, êîòîðûå äîñòóïíû äëÿ óñòàíîâêè èëè óæå óñòàíîâëåíû, à òàêæå äëÿ ïîèñêà
ðàçäåëîâ, ïðèîðèòåòîâ, îïèñàíèÿ ïàêåòîâ è ò.ä.
Íî. . . íàøà öåëü ñîñòîèò â èçó÷åíèè ñàìîãî APT. Òàê êàê æå íàéòè èìÿ ïàêåòà, êîòîðûé
âàì íàäî óñòàíîâèòü?
Äëÿ òàêîé çàäà÷è ìû ðàñïîëàãàåì íåñêîëüêèìè ðåñóðñàìè. Íà÷íåì ñ apt-cache. Ýòà ïðî-
ãðàììà èñïîëüçóåòñÿ ñèñòåìîé APT äëÿ óïðàâëåíèÿ åå áàçàìè äàííûõ. Ìû òîëüêî âêðàòöå
îãëÿäèì åå áîëåå ïðàêòè÷åñêèå ïðèëîæåíèÿ.
Íàïðèìåð, äîïóñòèì, ÷òî âû õîòèòå âñïîìíèòü ñòàðûå äîáðûå äåíå÷êè Atari 2600. Âû õîòè-
òå èñïîëüçîâàòü APT äëÿ óñòàíîâêè ýìóëÿòîðà Atari è ñêà÷èâàíèÿ íåêîòîðûõ èãð. Ìîæåòå
ñäåëàòü òàê:
Ìû íàøëè íåñêîëüêî ïàêåòîâ, èìåþùèõ îòíîøåíèå ê òîìó, ÷òî íàì òðåáóåòñÿ, âìåñòå ñ
êðàòêèìè îïèñàíèÿìè. ×òîáû ïîñìîòðåòü áîëåå ïîëíûå îïèñàíèÿ, ìîæíî äàòü êîìàíäó:
Package: stella
Priority: extra
Section: non-free/otherosfs
Installed-Size: 830
Maintainer: Tom Lear <tom@trap.mtview.ca.us>
Architecture: i386
Version: 1.1-2
Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
Size: 483430
MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
Description: Atari 2600 Emulator for X windows
Stella - ýòî portable emulator of the old Atari 2600 video-game console
written in C++. You can play most Atari 2600 games with it. The latest
news, code and binaries for Stella can be found at:
http://www4.ncsu.edu/~bwmott/2600
 ýòîì âûâîäå ìû ïîëó÷èëè ìíîæåñòâî ñâåäåíèé î ïàêåòå, êîòîðûé âû õîòèòå (èëè íå õî-
òèòå) óñòàíîâèòü, âìåñòå ñ ïîëíûì îïèñàíèåì ïàêåòà. Åñëè ïàêåò óæå óñòàíîâëåí â ñèñòåìå
èëè åñòü áîëåå íîâàÿ âåðñèÿ, òî âû óâèäèòå èíôîðìàöèþ îá îáîèõ âåðñèÿõ. Íàïðèìåð:
Package: lilo
Status: install ok installed
Priority: important
Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 27
Section: base
Installed-Size: 190
Maintainer: Vincent Renardias <vincent@debian.org>
Version: 1:21.4.3-2
Depends: libc6 (>= 2.1.2)
Recommends: mbr
Suggests: lilo-doc
Description: LInux LOader - The Classic OS loader can load Linux and others
This Package contains lilo (the installer) and boot-record-images to
install 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.
Îáðàòèòå âíèìàíèå, ÷òî ïåðâûé â ñïèñêå - äîñòóïíûé ïàêåò, à âòîðîé - óæå óñòàíîâëåííûé.
Äëÿ ïîëó÷åíèÿ áîëåå îáùåé èíôîðìàöèè î ïàêåòå, âû ìîæåòå èñïîëüçîâàòü:
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:
 îáùåì, ìû èìååì ïîëíûé àðñåíàë äëÿ ïîèñêà èìåí íóæíûõ íàì ïàêåòîâ.
Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 28
Îäèí èç ñïîñîáîâ íàéòè èìÿ ïàêåòà - çíàòü èìÿ êàêîãî-ëèáî âàæíîãî ôàéëà, íàõîäÿùåãîñÿ
â ýòîì ïàêåòå. Íàïðèìåð, ÷òîáû íàéòè ïàêåò, êîòîðîìó ïðèíàäëåæèò íåêèé ôàéë .h ,
íóæíûé âàì äëÿ êîìïèëÿöèè, ìîæåò çàïóñòèòü:
èëè:
×òîáû íàéòè èìÿ ïàêåòà, óñòàíîâëåííîãî â âàøåé ñèñòåìå, ÷òî ïîëåçíî, íàïðèìåð, åñëè âû
ïëàíèðóåòå ïî÷èñòèòü ìåñòî íà äèñêå, äàéòå êîìàíäó:
Ïðîáëåìà ýòîé êîìàíäû â òîì, ÷òî îíà ìîæåò èñïîðòèòü èìÿ ïàêåòà. Â ïðèìåðå âûøå,
ïîëíîå èìÿ ïàêåòà mozilla-browser. ×òîáû ýòî èñïðàâèòü, âû ìîæåòå èçìåíèòü çíà÷åíèå
ïåðåìåííîé îêðóæåíèÿ COLUMNS:
Âû ñîáèðàåòå ïàêåò, è âäðóã, áàõ! Îøèáêà èç-çà òîãî, ÷òî íåò êàêîãî-òî òàì íóæíîãî ôàéëà
.h. Îò òàêîãî ïîâîðîòà ñîáûòèé âàñ ìîæåò ñïàñòè ïðîãðàììà auto-apt. Îíà çàïðàøèâà-
åò êàêèå ïàêåòû óñòàíîâèòü, åñëè îíè íóæíû, îñòàíàâëèâàåò ñîîòâåòñòâóþùèé ïðîöåññ è
ïðîäîëæàåò åãî ïîñëå óñòàíîâêè ïàêåòà.
Ãäå `command' - ýòî êîìàíäà, ïðè âûïîëíåíèè êîòîðîé ìîæåò îáíàðóæèòüñÿ îòñòóòñòâèå
íåêîåãî ôàéëà. Íàïðèìåð:
Auto-apt ñîõðàíÿåò áàçû äàííûõ â îáíîâëåííîì ñîñòîÿíèè, ÷òîáû áûòü áîëåå ýôôåêòèâíîé.
Ýòî äîñòèãàåòñÿ âûçîâîì êîìàíä auto-apt update, auto-apt updatedb è auto-apt update-local.
Åñëè âû õîòèòå óñòàíîâèòü ïàêåò è íå ìîæåòå íàéòè åãî íàçâàíèå ñ ïîìîùüþ apt-cache,
íî çíàåòå èìÿ ïðîãðàììû ýòîãî ïàêåòà èëè èìÿ ëþáîãî äðóãîãî ôàéëà èç ýòîãî ïàêåòà,
òî äëÿ ïîèñêà èìåíè ïàêåòà âû ìîæåòå âîñïîëüçîâàòüñÿ ïðîãðàììîé apt-le. Èñïîëüçóåòñÿ
îíà ïðèìåðíî òàê:
Ðàáîòàåò îíà ïðèìåðíî òàêæå êàê è dpkg -S, íî áóäåò ïîêàçûâàòü òàêæå è íåóñòàíîâëåííûå
ïàêåòû, êîòîðûå ñîäåðæàò óêàçàííûé ôàéë. Êîìàíäà ìîæåò ïðèìåíÿòüñÿ òàêæå äëÿ ïîèñêà
çàãîëîâî÷íûõ ôàéëîâ, êîòîðûå ìîãóò ïîòðåáîâàòüñÿ ïðè êîìïèëÿöèè ïðîãðàìì, õîòÿ auto-
apt â äàííîì ñëó÷àå áîëåå õîðîø, ñì. `Óñòàíîâêà ïàêåòîâ ïî çàïðîñó ' íà ñòð. 28.
apt-le õðàíèò áàçó äàííûõ, â êîòîðîé îòñëåæèâàåò êàêèå ôàéëû ñîäåðæàò ïàêåòû òàêæå,
êàê ýòî äåëàåò auto-apt è åìó íóæíî åå îáíîâëÿòü. Ýòî äåëàåòñÿ òàê:
# apt-le update
Ïî óìîë÷àíèþ, apt-le èñïîëüçóåò áàçó äàííûõ auto-apt, ñì. `Óñòàíîâêà ïàêåòîâ ïî çàïðî-
ñó ' íà ñòð. 28.
Ãëàâà 5. Ïîëó÷åíèå èíôîðìàöèè î ïàêåòàõ. 30
Îïöèÿ Should apt-listchanges be automatically run by apt? î÷åíü ïîëåçíà, òàê êàê ïîêà-
çûâàåò ñïèñîê èçìåíåíèé, ñäåëàííûõ â êàæäîì óñòàíîâëåííîì ïðè îáíîâëåíèè ïàêåòå, è
ïîçâîëÿåò âàì ïðîàíàëèçèðîâàòü ñèòóàöèþ ïåðåä òåì, êàê ïðîäîëæèòü. Îïöèÿ Should apt-
listchanges prompt for conrmation after displaying changes? çàïðàøèâàåò ó âàñ ðàçðåøåíèÿ
ïðîäîëæàòü ïîñëå ÷òåíèÿ ñïèñêà èçìåíåíèé. Åñëè âû ñêàæåòå, ÷òî íå õîòèòå ïðîäîëæàòü,
òî apt-listchanges âåðíåò îøèáêó è apt ïðåðâåò óñòàíîâêó.
Ïîñëå óñòàíîâêè apt-listchanges, êàê òîëüêî ïàêåòû ñêà÷àþòñÿ (èëè áóäóò ïîëó÷åíû ñ CD
èëè ñìîíòèðîâàííîãî äèñêà) ñ ïîìîùüþ apt, ìîæíî áóäåò ñìîòðåòü ñïèñêè èçìåíåíèé,
ñäåëàííûõ â ðàíåå óñòàíîâëåííûõ ïàêåòàõ.
31
Ãëàâà 6
 ìèðå ñâîáîäíîãî ÏÎ îáùåïðèíÿòî èçó÷àòü èñõîäíûé êîä èëè äîæå äåëàòü èñïðàâëåíèÿ
îøèáîê. ×òîáû ýòî äåëàòü, âû äîëæíû ñêà÷àòü èñõîäíûé òåêñò ïðîãðàìì. Ñèñòåìà APT
ïðåäëàãàåò ëåãêèé ïóòü äëÿ ïîëó÷åíèÿ èñõîäíûõ òåêñòîâ ïàêåòîâ äëÿ ìíîæåñòâà ïðîãðàìì,
ñîñòàâëÿþùèõ äèñòðèáóòèâ, âêëþ÷àÿ âñå ôàéëû, íåîáõîäèìûå äëÿ ñîçäàíèÿ .deb-ôàéëîâ
ïðîãðàìì.
Äðóãîé ñïîñîá èñïîëüçîâàíèÿ èñõîäíûõ òåêñòîâ â Debian - àäàïòàöèÿ áîëåå íîâûõ âåðñèé
ïðîãðàìì èç, íàïðèìåð, íåñòàáèëüíîãî äèñòðèáóòèâà äëÿ èñïîëüçîâàíèÿ ñî ñòàáèëüíûì
äèñòðèáóòèâîì. Ñáîðêà ïàêåòà â ñðåäå ñòàáèëüíîãî äèñòðèáóòèâà îáå÷ïå÷èò ãåíåðàöèþ .deb
ñ çàâèñèìîñòÿìè, ñîîòâåòñòâóþùèìè ïàêåòàì, äîñòóïíûì â äèñòðèáóòèâå.
Äëÿ ýòîãî çàïèñü deb-src â âàøåì ôàéëå /etc/apt/sources.list äîëæíà óêàçûâàòü íà íåñòà-
áèëüíûé äèñòðèáóòèâ. Îíà äîëæíà áûòü ðàçðåøåíà (ðàñêîììåíòèðîâàíà). Ñì. ðàçäåë
`Ôàéë /etc/apt/sources.list' íà ñòð. 3.
Êîìàíäà äîëæíà ñêà÷àòü òðè ôàéëà: .orig.tar.gz, .dsc è .di.gz.  ñëó÷àå, åñëè ïàêåòû ñî-
çäàâàëèñü èñêëþ÷èòåëüíî äëÿ Debian, ïîñëåäíèé èç íèõ íå ñêà÷èâàåòñÿ è ïåðâûé ôàéë íå
èìååò âñòàâêè orig â ñâîåì èìåíè.
Ôàéë .dsc ïîëüçóåòñÿ êîìàíäîé dpkg-source äëÿ ðàñïàêîâêè ïàêåòà èñõîäíûõ òåêñòîâ â
êàòàëîã packagename-version. Âíóòðè êàæäîãî ñêà÷àííîãî ïàêåòà èñõîäíûõ òåêñòîâ åñòü
êàòàëîã debian/, êîòîðûé ñîäåðæèò ôàéëû, íåîáõîäèìûå äëÿ ñîçäàíèÿ ïàêåòà .deb.
Åñëè âû ðàøàåòå íå ñîçäàâàòü .deb ïðè ñêà÷èâàíè, òî âû ìîæåòå ñîçäàòü åãî ïîçæå êîìàí-
äîé:
Åñòü ðàçíèöà ìåæäó ìåòîäîì source êîìàíäû apt-get è åå äðóãèìè ìåòîäàìè. Ìåòîä source
ìîæåò áûòü èñïîëüçîâàí îáû÷íûìè ïîëüçîâàòåëÿìè, áåç íåîáõîäèìîñòè èìåòü ïðàâà root.
Ôàéëû ñêà÷èâàþòñÿ â êàòàëîã, èç êîòîðîãî âûçûâàåòñÿ êîìàíäà apt-get source package.
Îáû÷íî, äëÿ òîãî, ÷òîáû ïàêåò ìîæíî áûëî ñîáðàòü, íóæíû íåêîòîðûå çàãîëîâî÷íûå ôàé-
ëû è ñîâìåñòíî-èñïîëüçóåìûå áèáëèîòåêè. Âñå ïàêåòû èñõîäíûõ òåêñòîâ èìåþò â ñâîèõ
óïðàâëÿþùèõ ôàéëàõ ïîëå 'Build-Depends:', êîòîðîå óêàçûâàåò äîïîëíèòåëüíûå ïàêåòû,
êîòîðûå íåîáõîäèìû äëÿ ïîñòðîåíèÿ ïàêåòà èç èñõîäíûõ òåêñòîâ.
APT èìååò ïðîñòîé ìåòîä ñêà÷èâàíèÿ ýòèõ ïàêåòîâ. Ïðîñòî çàïóñòèòå apt-get build-dep
package, ãäå `package' - ýòî èìÿ ïàêåòà, êîòîðûé âû ñîáèðàåòåñü ïîñòðîèòü. Íàïðèìåð:
Áóäóò óñòàíîâëåíû ïàêåòû, íåîáõîäèìûå äëÿ ïðàâèëüíîãî ïîñòðîåíèÿ ïàêåòà gmc. Âàæíî
îòìåòèòü, ÷òî êîìàíäà íå èùåò ñàì ïàêåò èñõîäíûõ òåêñòîâ. Ïî ýòîé ïðè÷èíå âàì ïîòðå-
áåòñÿ ñêà÷àòü åãî îòäåëüíîé êîìàíäîé apt-get source.
33
Ãëàâà 7
Åñëè âû ïîëó÷èëè ïèìåðíî òàêîå ñîîáùåíèå ïðè âûïîëíåíèè êîìàíäû apt-get install
package. . .
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.
# apt-get -f install
# dpkg --congure -a
Ïîìíèòå, ÷òî ýòè ñïèñêè è ðåñóðñû äîëæíû èñïîëüçîâàòüñÿ òîëüêî ïîëüçîâàòåëÿìè Debian;
ïîëüçîâàòåëè äðóãèõ ñèñòåì íàéäóò ëó÷øóþ ïîääåðæêó â ðåñóðñàõ èõ ñîáñòâåííûõ äèñòðè-
áóòèâîâ.
35
Ãëàâà 8
Mandrake (http://www.mandrake.com)
Vine (http://www.vinelinux.org)
APT4RPM (http://apt4rpm.sf.net)
SuSE (http://www.suse.de/)
Ãëàâà 9
Áëàãîäàðíîñòè
Áîëüøîå ñïàñèáî ìîèì áîëüøèì äðóçüÿì â ïðîåêòå Debian-BR è â ñàìîì Debian, êîòîðûå
ïîñòîÿííî ïîìîãàþò ìíå è âñåãäà ïðèäàþò ñèë äëÿ òðóäà íà áëàãî ÷åëîâå÷åñòâà, òàêæå êàê
è ïîìîãàþò ìíå â ñòðåìëåíèè ñîõðàíèòü ìèð. :)
Òàêæå ÿ õî÷ó âûðàçèòü ñâîþ áëàãîäàðíîñòü CIPSGA çà ïîñèëüíóþ ïîìîùü íàøåìó ïðîåêòó
è âñåì ñâîáîäíûì ïðîåêòàì, êîòîðûå íåñóò âåëèêèå èäåè.
È îñîáûå áëàãîäàðíîñòè:
Erik Rossen <rossen@freesurf.ch> - çà ñîâåò ñ ïåðåìåííîé COLUMNS äëÿ êîìàíäû dpkg -l.
Ãëàâà 10