Kwa kutumia APT. apt na apt-get amri. Apt-kupata. Usimamizi wa kifurushi katika Ubuntu

APT (fupi kwa Zana ya Kina cha Ufungaji) ni seti ya huduma za kusakinisha, kusanidua, kusasisha, kutafuta vifurushi katika Linux, na kudhibiti hazina. APT pia inaitwa meneja wa kifurushi.

APT hutumia hazina za kifurushi. Orodha ya hazina za APT imehifadhiwa kwenye faili /etc/apt/sources.list, na vile vile kwenye saraka /etc/apt/sources.list.d/.

APT inatumika katika usambazaji kulingana na Dedian na Ubuntu.

Kusimamia APT kuna huduma mbalimbali, lakini maarufu zaidi ni huduma za mstari wa amri apt-get na apt.

Katika nakala hii, tutaangalia jinsi ya kutumia apt amri, na pia tutajifunza jinsi apt inatofautiana na apt-get.

Kuna tofauti gani kati ya apt na apt-get

Hebu tujibu kwa ufupi sana swali maarufu, kuna tofauti gani kati ya apt na apt-get amri?

apt ni matumizi ambayo yalionekana kama mbadala wa apt-get. Inafanya kazi karibu zote sawa na apt-get, lakini ni rahisi na wazi zaidi kufanya kazi nayo.

Kwa mfano, amri zote za apt zina syntax rahisi: apt command_name. Na apt-get anayo amri za ziada, Kwa mfano, apt-cache. Kwa hivyo, wakati wa kutumia apt, mtumiaji haitaji kukumbuka seti za ziada za amri.

Mbali na kurahisisha kazi na amri, apt huonyesha habari kwa uwazi zaidi, inayoonekana kuwa ndogo, lakini inafaa zaidi kufanya kazi nayo. Kwa mfano, apt inaweza kuonyesha upau wa maendeleo, na inapotekelezwa sasisho linalofaa unaweza kuona ni vifurushi vingapi vinaweza kusasishwa.

Inafaa kumbuka kuwa matumizi ya apt-get ni kazi zaidi kuliko apt. Lakini kwa mtumiaji wa kawaida, apt itakuwa zaidi ya kutosha.

amri inayofaa

Syntax ya amri ya apt ni kama ifuatavyo:

Sudo apt

Sasisha orodha ya kifurushi

sasisho la sudo apt

APT ina orodha ya hazina ambazo vifurushi husakinishwa. Orodha imehifadhiwa katika faili ya maandishi /etc/apt/sources.list, na vile vile kwenye saraka /etc/apt/sources.list.d/. Wakati wa kutekeleza amri sasisho linalofaa,APT hupitia orodha ya hazina na, kutoka kwa kila hazina kwenye orodha, hupata taarifa kuhusu vifurushi vilivyo kwenye hazina. Habari hii yote imehifadhiwa kwenye mfumo.

Ikiwa toleo jipya la kifurushi litatolewa, APT haitajua kulihusu hadi amri itekelezwe sasisho linalofaa. Kwa hiyo, ikiwa utaweka Kifurushi cha Sasa(bila ya kwanza kusasisha apt), basi toleo la kifurushi litasakinishwa, habari ambayo kwa sasa imehifadhiwa kwenye mfumo.

Je! ninahitaji kusasisha apt kabla ya kusakinisha kila kifurushi?

Hapana, kabla ya kusakinisha kila kifurushi sasisho linalofaa Bila shaka, hii haipaswi kufanywa. Inatosha kuendesha sasisho linalofaa mara kwa mara. Ikiwa itabidi usakinishe vifurushi kadhaa, unaweza kwanza kukimbia mara moja sasisho linalofaa, na kisha usakinishe vifurushi.

Sasisha vifurushi vilivyosakinishwa

Ili kusasisha vifurushi vilivyosakinishwa kwenye mfumo, tumia amri:

Sudo apt kuboresha

Amri hii husasisha vifurushi kwa matoleo mapya pekee, lakini kamwe haiondoi au kusakinisha vifurushi vingine.

Kuna amri nyingine ya kusasisha vifurushi:

Uboreshaji kamili wa Sudo apt

Amri hii husasisha vifurushi na kuondoa au kusakinisha vifurushi vipya inavyohitajika ili kutatua utegemezi.

Sakinisha kifurushi

Ili kufunga kifurushi tumia amri:

Sudo apt install

Sakinisha vifurushi vingi

Ili kusakinisha vifurushi vingi, majina yao yanatenganishwa na nafasi:

Sudo apt install

Sakinisha toleo maalum la kifurushi

Ili kusakinisha toleo maalum la kifurushi, unahitaji kutaja toleo linalohitajika baada ya jina la kifurushi, likitenganishwa na ishara sawa:

Sudo apt install =

Ondoa kifurushi

Ili kuondoa kifurushi kilichosanikishwa, tumia amri:

Sudo apt kuondoa

Ondoa kifurushi na faili zake za usanidi

sudo apt kusafisha

apt kusafisha kazi sawa apt kuondoa, lakini pia kufuta faili za usanidi, inayohusiana na kifurushi. Hii ina maana kwamba ikiwa umeweka programu, ukaisanidi, na kisha ukaiondoa kwa amri apt kuondoa, basi faili ya usanidi wa programu hii itabaki kwenye mfumo. Ikiwa sasa utasakinisha programu hii tena, utaweza kutumia faili ya usanidi iliyotangulia kwani haikufutwa.

apt kusafisha haifuti faili za usanidi zilizohifadhiwa kwenye saraka yako ya nyumbani.

Ikiwa umeondoa kifurushi na amri apt kuondoa, basi unaweza kufanya apt kusafisha kwa kifurushi kilichofutwa tayari ili "kuondoa" faili zake za usanidi.

Ondoa vifurushi visivyotumiwa

sudo apt autoremove

Unapoweka kifurushi, mara nyingi huwekwa vifurushi vya ziada, ambayo ni tegemezi zake. Ukiondoa sasa kifurushi hiki, vitegemezi vitabaki kwenye mfumo. apt autoremove huondoa tegemezi hizi, lakini zile tu ambazo hazihitajiki na vifurushi vingine vilivyosanikishwa.

Orodha ya vifurushi

Amri ya orodha ya apt hutumiwa kuorodhesha vifurushi kulingana na vigezo fulani.

Onyesha orodha ya vifurushi vilivyosakinishwa kwenye mfumo:

Orodha inayofaa --imewekwa

Onyesha orodha ya vifurushi vinavyohitaji kusasishwa (ambavyo vina toleo jipya):

Orodha inayofaa --inaweza kuboreshwa

Orodhesha vifurushi vyote vinavyopatikana kwa mfumo wako:

Orodha inayofaa --toleo zote

Tafuta vifurushi

utafutaji unaofaa

Amri hii hutafuta yaliyoainishwa maneno katika majina ya kifurushi na maelezo ya kifurushi. Maneno ya kawaida yanaungwa mkono.

Unaweza kutafuta tu kwa majina ya vifurushi; kwa hili, tumia --names-only chaguo:

Utafutaji unaofaa --names-pekee

Kupata kifurushi kwa kutumia misemo ya kawaida:

Utafutaji unaofaa --names-pekee "^python"

Maelezo ya kifurushi

onyesho linalofaa

Inaonyesha habari kuhusu kifurushi. Toleo, saizi, maelezo, utegemezi na habari zingine huonyeshwa.

Kuhariri orodha ya hazina

vyanzo vya hariri vya sudo apt

Hufungua faili /etc/apt/sources.list katika mhariri wa maandishi kwa ajili ya kuhariri, baada ya kuokoa mabadiliko na kufunga mhariri, huangalia faili kwa makosa. Ikiwa kuna makosa, inakuhimiza kuhariri upya faili ili kurekebisha makosa.

Jedwali la milinganisho ya amri apt na apt-get

Timu
inafaa
Analog ya amri
apt-kupata
Maelezo
apt kufungaapt-get installSakinisha kifurushi
apt kuondoaapt-get kuondoaOndoa kifurushi
apt kusafishaapt-get purgeOndoa kifurushi na faili za usanidi
apt autoremoveapt-get autoremoveOndoa vifurushi visivyotumiwa
sasisho linalofaaapt-kupata sasishoSasisha orodha ya kifurushi
uboreshaji unaofaaapt-get upgradeSasisha vifurushi
apt-upgrade kamiliapt-get dist-upgradeSasisha vifurushi (ondoa na usakinishe vipya ikiwa inahitajika)
orodha inayofaaTakriban analog:
dpkg-query --list
Orodha ya vifurushi
utafutaji unaofaautafutaji wa apt-cacheTafuta kifurushi
onyesho linalofaaonyesho la apt-cacheMaelezo ya kifurushi

Kufunga na kufuta programu ni mojawapo ya mambo muhimu zaidi kwa mtumiaji wa kompyuta. Kwa sababu tunahitaji kwa namna fulani kupata programu mpya, muhimu, na pia kuondoa zisizo za lazima. Lakini kuondoa vifurushi katika Ubuntu kuna ujanja fulani. Baada ya kuondolewa, utegemezi unaweza kubaki, vifurushi vilivyowekwa kama inavyopendekezwa, pamoja na faili za usanidi.

Katika makala hii, tutaangalia jinsi ya kuondoa mfuko wa Ubuntu deb, na kuiondoa kwa usafi, ili hakuna athari zilizobaki kwenye mfumo. Pia tutazungumza juu ya kuondoa kabisa PPA, kwani tunasanikisha vifurushi vingi ambavyo haviko kwenye hazina rasmi kutoka kwa PPA.

Njia rahisi ya kuondoa kifurushi cha Ubuntu ni kutumia moja ya huduma za picha hutolewa mahsusi kwa madhumuni haya, kama vile Synaptic au Ubuntu Center Application. Kwa kweli, hii inafanywa katika mibofyo michache. Kwanza, hebu tuangalie utaratibu katika Kituo cha Maombi cha Ubuntu.

Unaweza kuzindua Kituo cha Maombi kutoka kwa upau wa ikoni ya Umoja:

Orodha ya vifurushi vyote vilivyosakinishwa iko kwenye kichupo Imesakinishwa Hapa maombi yamepangwa katika makundi:

Ili kuondoa kifurushi cha Ubuntu, bonyeza tu kushoto juu yake, na wakati vitendo vinavyopatikana vinaonekana, bonyeza kitufe Futa:

Utahitaji kuingiza nenosiri ili kukamilisha kuondolewa.

Kifurushi kimeondolewa, lakini sio kama tungependa. Lakini zaidi juu ya hilo baadaye.

Ifuatayo, wacha tuangalie kidhibiti cha kifurushi cha Synaptic. Haihusiani kwa namna fulani programu, lakini watu wengi huitumia kwa sababu ya utendakazi wake mkubwa na kiolesura cha mtumiaji. Ikiwa programu haijasanikishwa tayari, unahitaji kuisanikisha kwa kutumia Kituo cha Maombi au kwa kukimbia kwenye terminal:

sudo apt install synaptic

Unaweza kuendesha programu kupitia terminal kwa kuendesha amri:

Unaweza kutazama vifurushi vilivyosakinishwa kwa kuchagua kichupo cha Hali, na kisha kuchagua Imesakinishwa:

Unaweza kuondoa deb ubuntu kwa kubofya tu bonyeza kulia panya na kwenye menyu ya muktadha kwenye kifurushi unachotaka na uchague alama kwa ajili ya kufutwa au alama kwa kuondolewa kamili:

Programu itaonyesha ni vifurushi vipi vingine vitaondolewa, hizi ni vifurushi vinavyotegemea kifurushi chetu:

Sasa, ili kukamilisha uondoaji, unachotakiwa kufanya ni kubofya kitufe Omba:

Sasa programu itaonyesha ni vifurushi vipi vitaondolewa. Na mchakato wa kuondolewa utaanza:

Kufuta tu na kufuta kabisa hutofautiana tu kwa kuwa na kufuta kamili, faili za usanidi zinafutwa. Lakini shida na zana hizi ni kwamba vifurushi vilivyosanikishwa kama tegemezi na vilivyopendekezwa kwa programu haviondolewa na kubaki kwenye mfumo. Tabia hii inazingatiwa katika Synaptic na Kituo cha Programu cha Ubuntu. Kwa hiyo, tunaendelea kuelezea njia rahisi zaidi - kuondoa vifurushi vya Ubuntu kwenye terminal.

Jinsi ya kuondoa kifurushi cha Ubuntu kwenye terminal

Katika mpya Matoleo ya Ubuntu ili kudhibiti vifurushi, ikiwa ni pamoja na kuondolewa, unaweza kutumia meneja mpya vifurushi - apt. Amri ya kuondolewa inaonekana kama hii:

sudo apt ondoa jina la kifurushi

Kifurushi kitaondolewa kabisa, ikiwa ni pamoja na faili za usanidi na utegemezi, programu zilizopendekezwa pekee zitabaki.

Ikiwa unataka kutumia apt-get kuondoa ubuntu deb, basi utaratibu ni tofauti kidogo. Kwa kuondolewa kwa kawaida kifurushi fanya:

sudo apt-get kuondoa jina la kifurushi

Ili kuondoa kifurushi pamoja na faili zake za usanidi, endesha:

sudo apt-get purge package_name

Na ili pia kuondoa utegemezi uliosanikishwa na kifurushi, unahitaji kukimbia baada ya moja ya amri zilizopita:

sudo apt-get autoremove

Sio tu utegemezi uliobainishwa wazi zaidi utaondolewa, lakini pia programu zilizosakinishwa kama inavyopendekezwa.

Kweli, tumepanga misingi, sasa wacha tuendelee kwenye hali ngumu zaidi. Ikiwa umesanikisha programu kutoka kwa faili ya deni na sasa haujui ni nini kifurushi chake kinaitwa ili kuiondoa?

Hii ni rahisi sana kujua, kwa mfano, kutoka kwa faili inayoweza kutekelezwa, kwa mfano faili inayoweza kutekelezwa Programu ya TimeShift iko /usr/bin/timeshift, sasa tunapata kifurushi chake:

sudo dpkg -S /usr/bin/timeshift

timeshift: /usr/bin/timeshift

Kama unaweza kuona, kifurushi kinaitwa timeshift. Sasa unaweza kufuta Programu ya Ubuntu, kwa kutumia mojawapo ya njia zilizoelezwa hapo juu.

Mara nyingi tunasakinisha programu inayokosekana kutoka kwa PPA, lakini sio vifurushi vyote hivi vinahitajika kwa muda mrefu, na wakati wa kusasisha mfumo, wanaweza kusababisha makosa. Kwa hivyo unaondoaje vifurushi vyote vilivyosanikishwa kutoka kwa PPA? Kuna matumizi maalum kwa hili: ppa-purge.

Ikiwa haijasanikishwa tayari, isanikishe kwa amri:

sudo apt install ppa-purge

Sasa, ili kuondoa vifurushi vyote vilivyosanikishwa kutoka kwa matumizi maalum ya ppa:

sudo ppa-purge -i ppa:ppaowner/ppaname

ppa:ppaowner/ppaname - kwa kawaida PPA zote zimeandikwa katika umbizo hili. Itifaki: mmiliki/jina.

Unaweza kujua orodha ya hazina katika programu ya vyanzo vya programu:

Kwa amri hii unaweza kuondoa vifurushi vya ubuntu vilivyosanikishwa kutoka kwa ppa kwa kupiga swoop moja:

pata /etc/apt/sources.list.d -aina f -name "*.list" -print0 | \
wakati wa kusoma -d $"\0" faili; fanya awk -F/ "/deb / && /ppa\.launchpad\.net/ (chapisha "sudo ppa-purge ppa:"$4"/"$5)" "$file"; kufanyika

Ikiwa umesakinisha programu kutoka kwa msimbo wa chanzo, basi ni vigumu zaidi kuiondoa, kwa sababu haidhibitiwi na msimamizi wa kifurushi, na ipasavyo mfumo haujui ni faili gani ni zake.

Lakini bado kuna njia, kwa kawaida watengenezaji hutumia faili ya maandishi ya makefile, pamoja na lengo la kufunga, wanatekeleza lengo la kufuta, ambayo inakuwezesha kufanya hatua kinyume.

Google, haijulikani jinsi ninavyopata programu mpya za kusanikisha (kutoka kwa Mtandao) kwa kutumia apt-get (ambayo ina nguvu ya kushangaza na rahisi kutoka kwa usambazaji mwingine wa Linux).

natumia Seva ya Ubuntu 8.04 LTS (mfumo wa urithi unaotumika kwa kazi isiyo ya kawaida) kwa hivyo hapana GUI.

Mtu yeyote ana ncha ya haraka Hapa?

Mimi hutumia package.ubuntu.com kila wakati

Unaweza pia kutumia utafutaji wa apt-cache kutafuta apt-cache kwenye mstari wa amri. Au unaweza kutumia kidhibiti kifurushi cha GUI (Kituo cha Programu cha Ubuntu/Synaptic) kutafuta programu.

Ikiwa unatafuta "mipangilio ya nvidia".

Tafuta mipangilio ya nvidia ya Apt-cache

Mipangilio ya Nvidia - Werkzeug für die Configuration des NVIDIA-Grafiktreibers nvidia-settings-sasisho - Zana ya kusanidi kiendeshi cha michoro cha NVIDIA

Unaona vifurushi 2 nvidia-settings na nvidia-settings-updates .

Ili kupata binary inayohusishwa na kifurushi cha mipangilio ya nvidia.

Dpkg -L nvidia-mipangilio | grep bin

/usr/bin /usr/lib/nvidia-settings/bin /usr/lib/nvidia-settings/bin/nvidia-settings

nvidia-settings ni jina la binary la kuendesha programu.

Na jozi haswa, kuna programu ambayo itazindua kiotomatiki ikiwa utaendesha amri ambayo haijasakinishwa. Kwa mfano,

$ bonnie++ Programu "bonnie++" haijasakinishwa kwa sasa. Unaweza kuisakinisha kwa kuandika: sudo apt-get install bonnie++

Kwa kuongeza, kuna maswali ya utafutaji: tafuta apt-cache search au utafutaji wa aptitude ambayo inaweza kuwa vyema ikiwa unataka kupata vichungi vilivyohusika.

Nadhani unamaanisha jina la programu ya binary iliyojumuishwa kwenye kifurushi. Ninatumia mbinu hii kuipata:

chapa tu dpkg -L Katika terminal, itaonyesha faili zote zilizowekwa na mfuko huu, basi unaweza kutambua majina ya binaries kwa kuangalia eneo lao. Kawaida programu zimewekwa kwenye saraka ya /usr/bin au /sbin.

Hebu tuone mfano:

Anwar@edubuntu-lenovo:~$ dpkg -L mbilikimo-skrini /. /usr /usr/bin /usr/bin/gnome-screenshot /usr/share /usr/share/GConf /usr/share/GConf/gsettings /usr/share/GConf/gsettings/gnome-screenshot.convert /usr/share /applications /usr/share/applications/gnome-screenshot.desktop /usr/share/man /usr/share/man/man1 /usr/share/man/man1/gnome-screenshot.1.gz /usr/share/gnome -screenshot /usr/share/gnome-screenshot/gnome-screenshot.ui /usr/share/glib-2.0 /usr/share/glib-2.0/schemas /usr/share/glib-2.0/schemas/org.gnome.gnome -screenshot.gschema.xml /usr/share/doc /usr/share/doc/gnome-screenshot /usr/share/doc/gnome-screenshot/copyright /usr/share/doc/gnome-screenshot/NEWS.gz /usr /share/doc/gnome-screenshot/changelog.Debian.gz

Kumbuka kuwa jina la programu ya kifurushi cha gnome-screenshot ni gnome-screenshot.

Uliuliza

Je, kuna njia ya kawaida ya kujua Kwa programu inayotaka?

Wakati mwingine terminal inaweza kuonyesha jina la kifurushi chako, ambacho kinahitaji kusakinishwa ili kuwa na programu unayotaka. Hii hufanyika wakati programu iko kwenye hazina ya kawaida na umewasha hazina hiyo.

Kwa mfano, ikiwa nitaendesha hati za gnome wakati kifurushi kama hicho hakijasanikishwa, terminal itasema yafuatayo:

Anwar@edubuntu-lenovo:~$ gnome-documents Mpango wa "gnome-documents" haujasakinishwa kwa sasa. Unaweza kuisanikisha kwa kuandika: sudo apt-get install gnome-documents

Lakini katika kesi hii ninapaswa kujua angalau jina la programu

Unaweza kujaribu programu ya "aptitude" kutoka kwa mstari wa amri. Huyu ni kidhibiti kifurushi cha picha. Hakikisha kuongeza sudo kwenye programu kwa usakinishaji wowote halisi. "uwezo wa sudo". Unaweza pia kutumia aptitude kama apt-get; "sudo aptitude install". Napendelea apt-get kwa vifurushi moja ambavyo najua majina yake.

Pia, uko kwenye mstari wa amri tu? Ikiwa una eneo-kazi, unaweza kutumia System -> Preferences -Synaptic au Ubuntu Software Center. Wanafanya kazi karibu sawa, lakini wana utaftaji rahisi wa kundi.

Unaweza kupata orodha (ndefu) ya vifurushi vya kusakinisha kwa kuandika apt-get install kisha ubonyeze TAB mara mbili (ili kukamilisha kiotomatiki). Hii ni mdogo kwa sababu haikuambii vifurushi hufanya nini (Kituo cha Synaptic au Programu itakuwa bora kwa hii), lakini inaweza kuwa muhimu wakati huwezi kukumbuka jina halisi la kifurushi. Unaweza pia kuingiza sehemu ya kwanza ya jina la kifurushi (kwa mfano, openoffice) ili kupata orodha fupi ya vifurushi vinavyofaa zaidi.

Tumia zana ya mstari wa amri ikiwa unajua jina unalotaka kifurushi. Situmii kituo cha programu. Unaweza kupata jina la kifurushi kupitia kituo cha programu na uitumie kwenye terminal ikiwa unahitaji kutumia apt-get tool kutoka kwa safu ya amri. Na kawaida jina la kifurushi ni sawa na jina la programu.

unaweza kukimbia (ikiwezekana ~~/.bashrc)

. /etc/bash_completion

wakati wa kuingia:

Sudo apt-get in

itaharakisha usakinishaji na kisha kuanza kuandika sehemu ya jina - kwa mfano, nvidia

na utaona chaguzi zinazopatikana, kuanzia nvidia

Kwa sababu ya ukweli kwamba wandugu wengine hawaelewi apt na dpkg ni nini. Niliamua kuunda chapisho lingine kuhusu huduma hizi.

APT na kila kitu, kila kitu, kila kitu. Kuchunguza uwezo wa kidhibiti kifurushi cha APT na programu zinazohusiana

Debian ilileta uvumbuzi mwingi mzuri kwa ulimwengu wa Linux, ambao wengi wao walipitishwa na usambazaji mwingine. Uboreshaji muhimu zaidi kwa Debian ulikuwa mfumo wa usimamizi wa kifurushi cha APT; baada ya kutolewa, usambazaji mwingine wote uligeuka kuwa takataka zilizopitwa na wakati. Leo, APT ni ngumu, smart, rahisi na huficha siri nyingi kutoka kwa mtumiaji asiyejua Linux.

Mfumo wa juu wa usimamizi wa kifurushi

APT (Zana ya Ufungaji ya Juu) yenyewe sio mfumo wa usimamizi wa kifurushi kwa maana halisi ya neno. Vitendo vyote vya kufungua, kujiandikisha kwenye mfumo na kutazama hifadhidata ya kifurushi hufanywa na huduma za kifurushi cha dpkg, wakati huduma za APT ni safu ambayo hutumiwa kutafuta vifurushi, angalia ukaguzi, kupakua kutoka kwa hazina, suluhisha utegemezi, na vile vile. kama idadi ya vitendo vingine.

APT inajumuisha seti zifuatazo za huduma:

huduma za kifurushi cha apt

apt-cache - hudhibiti kache ya vifurushi vinavyopatikana, vinavyotumika kawaida
kutafuta kifurushi na/au kupata habari kukihusu

apt-cdrom - hukuruhusu kuongeza CD/DVD kama chanzo cha kifurushi (hazina)

apt-config - inasoma maadili ya chaguzi zilizoainishwa kwenye usanidi
faili /etc/apt/apt.conf, inayotumiwa na huduma zingine za APT

apt-extracttemplates - dondoo za faili za usanidi za DebConf
kutoka kwa vifurushi, vinavyotumiwa na huduma zingine za APT

apt-ftparchive - huunda faili za index

apt-get - kusakinisha, kuondoa, kusasisha orodha ya vifurushi
na vifurushi vyenyewe, matumizi ya kati ya APT

apt-key - inadhibiti vitufe vya uthibitishaji vinavyotumika kwa uthibitishaji
uhalisi wa vyanzo vya kifurushi

apt-secure - huangalia uhalisi saini ya kidijitali vifurushi apt pamoja
imejumuishwa katika usambazaji na hazina

apt-sortpkgs - hupanga faili za faharisi

Huduma hutegemea faili zifuatazo za usanidi:

Faili za usanidi wa APT

/etc/apt/sources.list - orodha ya vyanzo vya kifurushi (hifadhi)
/etc/apt/apt.conf - faili kuu ya usanidi wa APT
/etc/apt/preferences - faili ya upendeleo, inadhibiti ni toleo gani la kifurushi litakuwa
imewekwa ikiwa kuna matoleo kadhaa kwenye hifadhi mara moja

APT ni rahisi na rahisi kutumia; mtumiaji wa kawaida anahitaji tu amri sita zilizo hapa chini:

Amri za Msingi za APT

apt-cache search mask - utaftaji wa kifurushi
apt-cache show kifurushi - tazama habari ya kifurushi
apt-get install kifurushi - kusakinisha kifurushi
apt-get remove kifurushi - ondoa kifurushi
apt-get update - sasisha kashe ya vifurushi vinavyopatikana
apt-get upgrade - sasisha vifurushi vyote

Amri mbili za mwisho kawaida huendeshwa moja baada ya nyingine, ambayo itasakinisha tena vifurushi vyote ambavyo matoleo mapya yanapatikana kwenye hifadhi. Ikiwa unahitaji kusasisha kifurushi maalum tu, basi baada ya "apt-get update" unapaswa kutekeleza amri "apt-get install package".

Usambazaji wa Ubuntu hurahisisha mchakato wa "kuwasiliana" na huduma za APT na kuupunguza hadi kubofya vikasha tiki vya kiolesura cha picha. Ina kidhibiti chake cha kifurushi kilicho rahisi sana (kinachoitwa "Kidhibiti Kifurushi"), Kidhibiti Usasishaji kinachoendeshwa na cron, kisakinishi cha picha cha vifurushi vya GDebi vilivyopakuliwa kwa mikono, na kiongezi chenye nguvu zaidi cha mchoro kwa huduma za Synaptic APT.

Wakati huo huo, APT ni ngumu zaidi na ni rahisi kuliko inavyoweza kuonekana mwanzoni. Kwa hiyo, katika sehemu zifuatazo tutaangalia njia kadhaa zisizo za kawaida za kuitumia.

Vyanzo vya Vifurushi vya Watu Wengine

Kwa kuongezea hazina kuu, ambayo ina vifurushi vyote kutoka kwa watengenezaji wa usambazaji, kuna vyanzo vingine vingi vya kifurushi ambavyo vinaweza kuwa na programu ya mtu wa tatu ambayo haipatikani kutoka kwa hazina rasmi, kutoa matoleo yake ya hivi karibuni, au kwa urahisi. kuwa kioo kwa kasi zaidi. Hifadhi inaweza kuwa saraka ya kawaida kwenye gari lako ngumu au CD.

Ili kufundisha APT kufanya kazi na hazina za watu wengine, fuata tu hatua nne rahisi:

Sehemu ya uri ni anwani ya hazina, ambayo katika hali nyingi ni anwani ya HTTP, lakini pia inaweza kuwa kiungo cha hazina ya ndani (faili:/root/repository), anwani ya hifadhi kwenye seva ya FTP au SSH. Sehemu ya "usambazaji" inaonyesha jina la usambazaji ambao vifurushi vinakusanywa. Kwa Debian, jina linaweza kuwa moja la majaribio thabiti, ya zamani, isiyo na msimamo, wakati kwa upande wa Ubuntu, unapaswa kuonyesha tu jina maalum la usambazaji (kwa mfano, jaunty), na vile vile. vyeo mbalimbali kulingana na hayo (kwa mfano, sasisho za jaunty, jaunty-backports, jaunty-usalama). Lazima niseme kwamba APT sio kinyume kabisa na vifurushi vya kuchanganya usambazaji mbalimbali kwenye mfumo mmoja, lakini katika kesi hii tu utakuwa na jukumu la matokeo. Kipengele hiki kwa kawaida hupewa jina kuu, mchango au lisilolipishwa kwa Debian na kuu, ulimwengu, anuwai, washirika na vikwazo kwa Ubuntu. Haya yote ni majina ya hazina tofauti za vifurushi, ambazo zimetenganishwa tu ili kutenganisha vifurushi kulingana na vigezo fulani. Kwa mfano, kuu ni vifurushi vilivyokusanywa na kikundi cha watengenezaji wa Ubuntu/Debian; kuna uhakikisho fulani wa ubora wa programu iliyomo ndani yake, ikiwa ni pamoja na masasisho ya wakati na urekebishaji wa hitilafu, wakati mchango na ulimwengu ni programu za watu wengine ambazo unasakinisha kwenye tovuti yako. hatari yako mwenyewe.

2. Ongeza kwa uwekaji apt ufunguo wa umma wa hazina, unaotumiwa kuthibitisha uhalisi na kutegemewa kwake. Kitufe kinaweza kupatikana kwa njia yoyote na kuongezwa kwa kuendesha amri ya "apt-key add key", lakini njia hii haifanyiki sana kutokana na usumbufu wake. Katika idadi kubwa ya kesi utakuwa unashughulika na timu

sudo apt-key adv --keyserver certificate-server --recv-keys key-id
ambayo huomba ufunguo moja kwa moja kutoka kwa seva ya udhibitisho (kwa Ubuntu hii ni keyserver.ubuntu.com). Hivi ndivyo watengenezaji wengi wa wahusika wengine wanavyosambaza programu zao kwa usambazaji wa Debian/Ubuntu (wakati wengine huchapisha tu vifurushi na zao. hundi) Kwa mfano, kwa kwenda kwenye ukurasa wa mradi unaovutiwa nao kwenye kupangisha launchpad.net na kubofya kiungo "Maelezo ya kiufundi kuhusu PPA hii", utaona mstari unaohitaji kuongezwa kwa /etc/apt/sources. .orodha, katika "Kitufe cha kutia saini:" kitaonyeshwa Kitambulisho cha Ufunguo.

3. Sasisha akiba ya vifurushi vinavyopatikana:

sudo apt-kupata sasisho
4. Sakinisha kifurushi kwa kutumia amri "apt-get install package".

Watengenezaji wengi huweka kiunga cha hazina na kitambulisho chake muhimu moja kwa moja kwenye kifurushi cha deni, kwa hivyo baada ya kupakua kifurushi, kukisakinisha na kutekeleza amri ya "apt-get update && apt-get upgrade" vifurushi vitasasishwa pamoja na ndugu zao. iliyoorodheshwa katika vyanzo.orodha. Hasa, hivi ndivyo vivinjari vya Opera na toleo la alpha la Google Chrome vinasambazwa.

Hifadhi iliyo kwenye CD ni rahisi zaidi kuongeza kwenye sources.list. Kuna amri maalum kwa hili, apt-cdrom. Unaingiza tu CD kwenye kiendeshi na kuendesha amri:

sudo apt-cdrom ongeza

Tricks na hali zisizo za kawaida

APT ni APT, ni rahisi na rahisi, lakini wakati mwingine huwezi kufanya bila hila, muhimu zaidi ambayo utajifunza kutoka kwa sehemu hii.

1. Kwa chaguo-msingi, amri ya "apt-get remove" huondoa kifurushi kabisa ikiwa hakuna faili yoyote iliyorekebishwa tangu usakinishaji, vinginevyo faili zilizobadilishwa zinabaki bila kuguswa. Kwa kawaida, faili za usanidi karibu hubadilika kila wakati, kwa hivyo apt-get huacha rundo la takataka ambayo lazima uisafishe mwenyewe. Amri ya "apt-get purge" badala ya "apt-get remove" inasuluhisha shida hii.

2. Mashabiki wa kuchezea mfumo, na vile vile wasimamizi wa mfumo, ambazo seva zake zimedukuliwa kuna uwezekano mkubwa zaidi kutaka kurudisha pakiti katika hali ya awali ambazo zilikuwa kabla ya udukuzi. Amri itasaidia na hii:

sudo apt-get install --reinstall kifurushi
3. Huduma za usimamizi wa kifurushi cha deni za kiwango cha chini (kama vile dselect na dpkg) hudumisha orodha maalum ya hali za kifurushi ambazo zinaweza kutumika kudhibiti ni vifurushi vipi vinapaswa kusakinishwa au kuondolewa katika hali ya bechi (hivi ndivyo dselect + dpkg inavyofanya kazi). Inaweza pia kutumika kwa madhumuni mengine mengi, kwa mfano, kuhamisha usanidi wa mfumo kwa mashine nyingine. Endesha amri ifuatayo:

dpkg --get-selections > faili
Hamisha faili kwa mashine nyingine na uendesha amri mbili juu yake:

paka faili > dpkg --set-selections
apt-get dselect-upgrade

Vifurushi vyote vya mfumo wa chanzo vitaongezwa kwenye mfumo. Kufanya faili ya hali ya kifurushi pia iwe na habari kuhusu vifurushi vinapaswa kuondolewa kutoka kwa mfumo, ongeza herufi "\*" baada ya hoja ya "--get-selections". Orodha ya hali haina matoleo ya vifurushi, hii inaweza kutumika baada ya kusakinisha zaidi toleo jipya kit cha usambazaji ili kuifikisha katika hali inayotakiwa.

4. Umeweka kiraka kwa faili ya mojawapo ya faili za vifurushi vya mfumo na hutaki kifurushi hiki kiboreshwe (na mabadiliko yako yote yameharibiwa) baada ya kupiga simu "apt-get upgrade". Katika kesi hii, orodha ya majimbo itakuja tena kukusaidia. Kifurushi kinaweza kugandishwa, na kusababisha apt-get kukataa kukisasisha na kukiruka:

echo -e "coreutils hold" | dpkg --set-selections
Unaweza kulazimisha sasisho la kifurushi kwa kubainisha bendera "-u" unapopiga simu apt-get.

5. Kama mfumo wowote wenye utendakazi wa mtandao, APT hukuruhusu kutumia proksi kufikia hazina. Ili kuwezesha kipengele hiki, ongeza laini ifuatayo kwenye /etc/apt/apt.conf faili:

Pata::http::Wakala "http://xxx.xxx.xx:yyyy"

Ambapo xxx.xxx.xx ni jina la proksi yako, yyyy ni mlango.

6. Kwa kawaida, huduma za APT huomba toleo jipya zaidi la kifurushi kutoka kwa wote walio katika akiba yake, kwa hivyo ikiwa umeongeza hazina mbalimbali za majaribio na zisizo imara kwenye sources.list, basi baada ya kusasisha utapokea usambazaji unaojumuisha vifurushi vya majaribio au visivyo imara pekee. , na rundo la matatizo yanayosababishwa na hali hii ya mambo. Walakini, hali inaweza kutatuliwa kwa urahisi kwa kuweka laini ifuatayo ndani /etc/apt/apt.conf:

APT::Toleo-Chaguo-msingi "kutolewa";

Ambapo toleo ni la zamani, thabiti, lisilo thabiti, la majaribio au la majaribio kwa Debian au jina la toleo la Ubuntu. Sasa, ikiwa unahitaji kusanikisha kifurushi kutoka kwa usambazaji maalum, andika tu jina lake baada ya hoja ya "-t" wakati wa kupiga simu apt-get:

sudo apt-get -t kifurushi kisicho thabiti cha kusakinisha
7. Vifurushi vyote vilivyopokelewa vya apt-get deb vimehifadhiwa kwenye saraka ya /var/cache/apt/archives, ambayo ina maana kwamba ukisakinisha upya mfumo, unaweza kunakili yaliyomo kwenye saraka kwenye diski/kizigeu kingine, na kisha kuirejesha. na uhifadhi trafiki ya usakinishaji wa wakati/kifurushi. Kwa kuongezea, hii kimsingi ni picha ya mfumo wako uliosanikishwa (hiyo sehemu yake uliyojisakinisha), ambayo inaweza kuhusishwa na rafiki (pamoja na orodha ya majimbo iliyoelezewa katika aya ya tatu) au, ikiwa haihitajiki, kufutwa. ili kupata nafasi.

8. Picha iliyofutwa ya mfumo iliyoelezewa katika aya iliyotangulia inaweza kurejeshwa kwa urahisi kwa kutumia muundo ulio hapa chini:

sudo dpkg --get-selections | grep -v "ondoa" | \
awk "(chapisha $1)" | xargs dpkg-repack

9. Isipokuwa vifurushi vya binary, hazina za Debian/Ubuntu pia zina vifurushi vya chanzo cha programu ambavyo vinaweza kupatikana na kujengwa kwa kutumia amri ifuatayo:

sudo apt-get -b source jina la kifurushi

Huduma za mtu wa tatu

Mfumo wa APT ulikwenda vizuri sana mwendo wa muda mrefu maendeleo, kwa hivyo pamoja na huduma rasmi zilizojumuishwa kwenye kifurushi kinachofaa, hazina za Debian na Ubuntu zimejaa huduma nyingi za mtu wa tatu ambazo zinaweza kutumika kufanya kazi zisizo za kawaida.
Muhimu zaidi wao huitwa apt-file na ni muhimu, kama unavyoweza kukisia kutoka kwa jina, ili kuamua ikiwa faili fulani ni ya kifurushi fulani. Sakinisha:

sudo apt-get install apt-file
Tunauliza apt-file kuunda kashe ya faili zote zilizosanikishwa kwenye mfumo wa kifurushi (itatafutwa):

utaftaji wa faili ya apt /usr/bin/apt-get
apt: /usr/bin/apt-get

Tunaomba orodha ya faili zote za kifurushi:

apt-faili orodha apt

Huduma rahisi inayoitwa apt-show-versions itakuonyesha ni vifurushi vipi vinaweza kuboreshwa, pamoja na matoleo na maelezo mengine. Iendeshe na bendera ya "-u" ili kupata orodha ya vifurushi pekee vya kusasishwa (badala ya orodha ya vifurushi vyote).

Ikiwa umeweka idadi kubwa ya vifurushi tofauti na sasa unataka kuondokana na takataka isiyohitajika, basi shirika la deborphan litasaidia katika suala hili, ambalo hutafuta vifurushi visivyotumiwa na utegemezi wa yatima. Endesha tu deborphan bila hoja zozote, na utaona orodha ya vifurushi, ambavyo unaweza kupitisha mara moja kama pembejeo kwa amri ya "apt-get remove", au endesha tu amri ifuatayo:

sudo apt-get remove `deborphan`

Kwa chaguo-msingi, deborphan huchakata tu vifurushi vilivyo na maktaba, lakini tabia hii inaweza kubadilishwa kwa kuongeza bendera "-a" kwenye ombi la amri:

Haupaswi kukimbilia mara moja kuondoa vifurushi vilivyoonyeshwa na matumizi, kwa sababu hata algorithm yenye nguvu zaidi ya heuristic haiwezi kuamua mahitaji yako ya kibinafsi. Kwa hivyo, programu ilinionyesha vifurushi google-chrome, inkscape na hata xorg.

Huduma ya apt-move itakuruhusu kuunda hazina ya ndani. Sakinisha programu, fungua /etc/apt-move.conf faili, taja katika LOCALDIR chaguo njia ya saraka ambayo hazina inapaswa kupatikana, na uendesha amri:

sasisho la sudo apt-move

Kama matokeo, vifurushi vyote vilivyopakuliwa kutoka kwa Mtandao kwa kutumia apt-get (saraka /var/cache/apt/archives) vitahamishwa hadi kwenye saraka iliyoainishwa kwenye usanidi, ambayo itaundwa. faili ya index. Hii ni njia rahisi ya kuunda hazina ya intraneti kwa visa hivyo wakati vifurushi vingi vinavyofanana vinahitaji kusanikishwa kwenye mashine nyingi.

Ili kuunda hazina ya ndani, pia ni rahisi sana kutumia seva ya wakala wa apt, ambayo hukuruhusu kuweka kache vifurushi vya deb vilivyopakuliwa kutoka kwa hazina kwenye upande wa seva. Ili kufanya hivyo, apt-proksi inasakinishwa kwenye mashine maalum (labda lango), na sources.list ya wateja inarekebishwa ili anwani ya mashine hii ibainishwe kama sehemu ya uri ya hazina zote. Kama matokeo, maombi yote ya vifurushi vya deb yanaelekezwa kwa apt-proksi, ambayo huomba kifurushi kutoka kwa hazina ya kichwa na kuihifadhi kwenye kashe yake, na majibu ya maombi yote yanayofuata ya kifurushi hiki yatarejeshwa kutoka kwa kache.

Kwanza, sasisha apt-proksi kwenye mashine iliyojitolea:

sudo apt-get install apt-proxy

Ifuatayo, fungua faili /etc/apt-proxy/apt-proxy-v2.conf, nenda kwenye sehemu na ubadilishe thamani ya chaguo la anwani na anwani ya IP ya mashine, na pia ueleze vyanzo vya pakiti vinavyotumiwa na apt- wakala, kwa mfano:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backends = http://ru.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1d


backends = http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d

Kawaida anwani hizi mbili zinatosha kufunika anuwai nzima ya vifurushi vilivyotolewa na watengenezaji wa Ubuntu. Anzisha tena apt-proksi:

sudo invoke-rc.d apt-proxy kuanzisha upya

Ili kubadilisha wateja watumie apt-proksi, chukua Ubuntu sources.list ya kawaida, badilisha sehemu zote za uri halisi na "http://IP-address-apt-proxy:9999/ubuntu/" na unakili faili hii kwa kila mteja.

Kuna huduma zingine nyingi zisizovutia ambazo hufanya kazi kwa kushirikiana na APT. Kwa mfano, apt-dater hukuruhusu kusasisha vifurushi kwenye idadi kubwa ya nodi za mbali kwa kutumia kiolesura cha pseudo-graphical. Programu ya aptsh inatekelezwa kiolesura cha amri, sawa na sh, juu ya maagizo ya kifurushi cha apt, aptfs ni mfumo wa faili wa kudhibiti APT. Huduma ya debdelta, ambayo hukuruhusu kusasisha vifurushi kwa kupakua deltas zao kutoka kwa Mtandao, inaweza kuwa mada ya nakala tofauti ikiwa kungekuwa na hazina moja iliyosasishwa kwa wakati.

Uwezo

Huduma ya apt-get na jamaa zake sio utekelezaji pekee wa APT unaopatikana. Njia mbadala yenye nguvu zaidi, inayofaa na inayotumika nyingi kwao inaitwa aptitude na ni utendakazi uliokolezwa wa apt-get, apt-cache na dselect katika sehemu moja.
Uwezo hukuruhusu kusakinisha/kusanidua, kutafuta, kusasisha na kufanya mambo mengine mengi kwa kutumia vifurushi kwa kutumia aina mbili za kiolesura: hali ya amri, sawa na apt-get na apt-cache, na modi iliyo na kiolesura cha uwongo cha picha, kinachokumbusha nje kiolesura cha dselect, lakini ni rahisi zaidi na kinachofanya kazi.

Katika hali ya mstari wa amri, uwezo unaweza kutumika kufanya mambo kama vile:

aptitude kufunga - ufungaji wa mfuko

kuondoa aptitude - ondoa kifurushi na utegemezi wa yatima

aptitude purge - ondoa kifurushi, utegemezi wa yatima
na faili zilizobaki za usanidi baada yao

utaftaji wa aptitude - tafuta kifurushi kwenye kashe (orodha ya vifurushi vinavyopatikana)

sasisho la aptitude - sasisho la kache

aptitude salama-upgrade - sasisha vifurushi

aptitude clean - ondoa vifurushi vilivyopakuliwa hapo awali

uboreshaji kamili wa uwezo - sasisha vifurushi,
hata kama kitendo hiki kinahitaji kuondoa vifurushi vyovyote

onyesho la aptitude - habari ya kifurushi

aptitude autoclean - ondoa vifurushi vya zamani

kushikilia aptitude - kuweka marufuku ya kusasisha kifurushi

Hali ya mwingiliano, inayopatikana wakati wa kuendesha aptitude bila mabishano, hukuruhusu kufanya vitendo vyote sawa kwa kutumia kiolesura cha picha bandia kilichojengwa kwenye maktaba ya ncurses. Inafanya kazi katika hali ya kundi (chagua vifurushi - kuanza mchakato wa ufungaji), hivyo itakuwa rahisi katika hali ambapo unahitaji kufunga idadi kubwa ya vifurushi.

mayai ya Pasaka

Watengenezaji wa huduma za APT waligeuka kuwa watu wenye ucheshi uliopotoka. Angalia tu matokeo ya amri ifuatayo:

sudo apt-get moo
Kinachoonekana kuwa mbaya zaidi ni kile ambacho waundaji wa uwezo waliunda katika programu yao. Jaribu:

sudo aptitude moo
Aina ya yai la Pasaka bila yai la Pasaka. SAWA:

uwezo wa sudo -v moo
uwezo wa sudo -vv moo
uwezo wa sudo -vvv moo
uwezo wa sudo -vvvv moo
uwezo wa sudo -vvvvv moo

Na wimbo wa mwisho:

uwezo wa sudo -vvvvv moo

Amri muhimu za apt-cache

apt-cache show kifurushi - habari ya kina juu ya kifurushi
apt-cache showpkg kifurushi - Habari za jumla kuhusu kifurushi
apt-cache inategemea kifurushi - orodha ya utegemezi wa kifurushi
apt-cache rdepends kifurushi - orodha ya utegemezi wa nyuma (ambaye anahitaji kifurushi maalum)

Kamusi ya APT

Kifurushi - programu, maktaba, msimbo wa chanzo au faili nyingine yoyote, pamoja na metadata zao, zilizowekwa kwenye kumbukumbu maalum iliyoundwa.

Hifadhi ni mahali pa kuhifadhi kwa vifurushi vya deb.

Akiba ya kifurushi kinachopatikana (au kache tu) ni faili inayohifadhi habari kuhusu vifurushi vyote vinavyopatikana kutoka kwa vyanzo vilivyoorodheshwa katika /etc/apt/sources.list. Cache inasasishwa kila wakati amri ya "apt-get update" inapoitwa.

Faili ya index - faili ya kichwa ya hifadhi iliyo na jina, toleo, ukubwa, fupi na Maelezo kamili na utegemezi kwa kila kifurushi. Inaitwa Packages.gz katika hali ya hazina ya jozi na Sources.gz kwa hazina ya msimbo wa chanzo. Imeundwa kwa kutumia pkg-scanpackages na dpkg-scansources huduma.

Apt keyring (literally: apt key ring) ni hifadhi ya funguo zinazothibitisha vyanzo vya kifurushi (hazina).

Kuna nini ndani?

Alama ya vifurushi vya Deb ni unyenyekevu wao. Kifurushi chochote cha Deb kina faili tatu: data.tar.gz, control.tar.gz na debian-binary, iliyopakiwa na kihifadhi kumbukumbu. Faili ya data.tar.gz ni maudhui ya kifurushi (binaries, man's, documentation, n.k.), control.tar.gz ni metadata, katika toleo rahisi faili mbili: control, iliyo na maelezo ya kifurushi, vitegemezi, size, n.k. .d., na md5sums ni hesabu za faili zote za kifurushi. Faili ya debian-binary ina toleo la umbizo la kifurushi cha Deb (kwa mfano, 2.0). Ili kufungua kifurushi, unaweza kutumia amri:

ar -xv package.deb && tar -xzf data.tar.gz

Zana ya Ufungaji wa hali ya juu ni zana ya hali ya juu ya kufanya kazi na vifurushi.

Kufanya kazi na vifurushi kwa kutumia dpkg.

dpkg ndio programu kuu kwenye mfumo wa kufanya kazi na vifurushi vya Debian. Ikiwa kuna vifurushi vya .deb, ni dpkg inayokuruhusu kusakinisha au kuchanganua yaliyomo. Hata hivyo, programu hii ina mtazamo wa sehemu tu ya ulimwengu wa Debian: inajua kile kilichowekwa kwenye mfumo, pamoja na kila kitu kilichopitishwa kwenye mstari wa amri, lakini haijui chochote kuhusu vifurushi vingine vinavyopatikana. Kwa hivyo, itashindwa ikiwa itakutana na utegemezi usioridhika. Zana kama apt, kwa upande mwingine, zitaunda orodha ya utegemezi kiotomatiki ili kila kitu kiweze kusanikishwa kiatomati iwezekanavyo.

dpkg au inafaa?

dpkg inapaswa kuzingatiwa kama zana ya kiwango cha chini (injini), na inafaa kama zana iliyo karibu na mtumiaji, ikipita mipaka ya kwanza. Zana hizi hufanya kazi pamoja, kila moja ikiwa na maalum yake, iliyoundwa kwa anuwai maalum ya kazi.

Kufunga vifurushi

dpkg kimsingi ni zana ya kusanikisha vifurushi vya Debian tayari vinavyopatikana (kwani haipakui chochote). Ili kusakinisha kifurushi, tumia -i au --install chaguo.

Kufunga kifurushi kwa kutumia dpkg

Dpkg -i man-db_2.7.0.2-5_amd64.deb




Kifurushi cha man-db (2.7.0.2-5) kinasanidiwa...

Tunaweza kuona kila hatua dpkg inatekelezwa, kwa hivyo tunajua mahali ambapo hitilafu yoyote inaweza kuwa imetokea. Ufungaji pia unaweza kufanywa katika hatua mbili: kwanza kufungua, kisha usanidi. Hii hufanya apt-get kupiga simu chache kwa dpkg (kila ombi kama hilo ni operesheni ya gharama kubwa kwa sababu ya hitaji la kupakia hifadhidata kwenye kumbukumbu, pamoja na orodha nzima ya faili zilizosakinishwa tayari).

Tenganisha upakiaji na usanidi

Dpkg --unpack man-db_2.7.0.2-5_amd64.deb

(Kusoma hifadhidata...kwa sasa kuna faili na saraka 86425 zilizosakinishwa.)
Inajitayarisha kufungua man-db_2.7.0.2-5_amd64.deb ...
Man-db (2.7.0.2-5) imetolewa ili kuchukua nafasi (2.7.0.2-5) ...
Vichochezi vya usaidizi wa mime (3.58) vinachakatwa...

Dpkg --configure man-db

Kifurushi cha man-db (2.7.0.2-5) kinasanidiwa...
Inasasisha hifadhidata ya kurasa za mwongozo ...

Wakati mwingine dpkg, kwa sababu moja au nyingine, haiwezi kufunga kifurushi na inarudi kosa; ikiwa mtumiaji anaagiza kupuuza kosa hili, onyo tu litatolewa; Kuna chaguzi mbalimbali --force-* kwa hili. Amri ya dpkg --force-help, au hati zake, itatoa orodha kamili ya chaguzi kama hizo. Wengi kosa la kawaida Kitu ambacho utalazimika kushughulika nacho mapema au baadaye ni mgongano wa faili. Wakati kifurushi kina faili ambayo tayari imesakinishwa na kifurushi kingine, dpkg itakataa kukisakinisha na tutapokea ujumbe kama huu:

Kifurushi cha libgdm hakijapakuliwa (kutoka kwa faili.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: hitilafu ya kuchakata kigezo /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
kujaribu kubatilisha "/usr/bin/gdmflexiserver" ambayo tayari iko kwenye kifurushi gdm3 3.4.1-9

Katika kesi hii, ikiwa unaamini kuwa kubadilisha faili hii hakuleti hatari kubwa kwa uthabiti wa mfumo wako (hii mara nyingi huwa hivyo), unaweza kutumia --force-overwrite chaguo, ambalo litamwambia dpkg kupuuza kosa hili. na ubadilishe faili.
Ingawa kuna chaguzi nyingi --force-*, --force-overwrite pekee ndiyo inayopendekezwa matumizi ya mara kwa mara. Zingine zimekusudiwa tu kwa kesi za kipekee, na ni bora kuwaacha peke yao kwa muda mrefu iwezekanavyo ili kufuata sheria zilizowekwa wakati kifurushi kiliundwa. Usisahau kwamba sheria hizi ni dhamana ya uadilifu na utulivu wa mfumo.

TAZAMA! Matumizi yenye ufanisi--nguvu-*

Usipokuwa mwangalifu, kutumia --force-* chaguo kunaweza kusababisha amri za APT kuacha kufanya kazi. Baadhi ya chaguzi hizi hukuruhusu kusakinisha kifurushi kilicho na utegemezi ambao haujafikiwa au ikiwa kuna mgongano. Kama matokeo, uthabiti wa mfumo katika suala la utegemezi umevunjwa, na amri za APT zitakataa kufanya kitu chochote isipokuwa kile ambacho kitarudisha mfumo katika hali thabiti (hii kawaida ni sawa na kusakinisha utegemezi unaokosekana au kuondoa kifurushi cha shida. ) Hapa kuna mfano wa ujumbe unaoonyesha hitilafu kama hiyo, ambayo ilipokelewa baada ya kusakinisha toleo jipya la rdesktop na kupuuza utegemezi wa toleo jipya zaidi la libc6:

apt-upgrade kamili

Unaweza kutaka kutumia "apt-get -f install" kurekebisha hitilafu hizi.
Vifurushi vilivyo na utegemezi ambao haujatimizwa:
rdesktop: Inategemea: libc6 (>= 2.5) lakini 2.3.6.ds1-13etch7 tayari imesakinishwa
E: Vitegemezi visivyotimizwa.

Jaribu kutumia -f.
Wasimamizi wasio na ujasiri ambao wanajiamini katika uchanganuzi wao wa hali wanaweza kupuuza onyo kuhusu tatizo la utegemezi au mzozo kwa kutumia chaguo linalofaa --force-*. Katika kesi hii, ikiwa unataka kuendelea kutumia apt au aptitude, unahitaji kuhariri /var/lib/dpkg/status na kuondoa/kubadilisha utegemezi au migogoro.
Kuhariri faili hii ni udukuzi mchafu na haufai kutumiwa isipokuwa katika hali mbaya zaidi. kesi kali. Mara nyingi suluhisho bora ni kuunda tena kifurushi kinachosababisha shida, "Jenga tena kifurushi kutoka kwa yake msimbo wa chanzo") au kutumia toleo lake jipya (labda lilisasishwa) kutoka kwa hazina kama vile bandari za nyuma (angalia Sehemu ya 6.1.2.4, "Programu thabiti iliyo na uoanifu wa nyuma").

Kuondoa kifurushi

Kuendesha dpkg na -r au --remove chaguo ikifuatiwa na jina la kifurushi kutaondoa kifurushi hicho. Uondoaji huu, hata hivyo, haujakamilika: faili zote za usanidi, hati za mtunzaji, faili za kumbukumbu (kumbukumbu za mfumo) na data nyingine ya mtumiaji inayotumiwa na kifurushi hiki itasalia. Kwa njia hii, ni rahisi kuondokana na programu kwa kuiondoa, lakini wakati huo huo bado inawezekana kuiweka tena na usanidi sawa. Ili kuondoa kabisa kila kitu kinachohusiana na kifurushi, tumia -P au --purge chaguo likifuatiwa na jina la kifurushi.

Uondoaji kamili wa kifurushi cha debian-cd

Dpkg -r debian-cd

(Kusoma hifadhidata...kwa sasa kuna faili na saraka 97747 zilizosakinishwa.)

Dpkg -P debian-cd

(Kusoma hifadhidata...kwa sasa kuna faili na saraka 97401 zilizosakinishwa.)
Kifurushi cha debian-cd (3.1.17) kinaondolewa...
Faili za usanidi za kifurushi cha debian-cd (3.1.17) zimefutwa...

maswali ya hifadhidata ya dpkg na kuchanganua faili za .deb

Kwa chaguo nyingi, kuna chaguo "muda mrefu" (maneno moja au zaidi yaliyotanguliwa na hyphen mbili) na chaguo "fupi" (barua moja, mara nyingi barua ya kwanza ya chaguo "ndefu", ikifuatiwa na hyphen moja). Mkataba huu ni wa kawaida sana kwamba tayari ni kiwango cha POSIX.
Kabla ya kumaliza sehemu hii, hebu tuangalie chaguzi za dpkg za kuuliza hifadhidata ya ndani ili kupata habari mbalimbali. Katika kesi hii, chaguzi za muda mrefu zitatajwa kwanza, na kisha chaguo fupi zinazofanana (ambazo, bila shaka, huchukua hoja sawa). Kwa hivyo, --listfiles kifurushi (au -L) huorodhesha faili zilizosanikishwa na kifurushi; --search faili (au -S) hutafuta kifurushi ambacho faili hii ni yake; --status package (au -s) inaonyesha habari kuhusu kifurushi fulani kilichosanikishwa; --list (au -l) inaonyesha orodha ya vifurushi, inayojulikana kwa mfumo, na hali zao; --contents file.deb (au -c) inaonyesha orodha ya faili kwenye kifurushi hiki; --info file.deb (au -I) inaonyesha habari ya kifurushi cha Debian.

Kurejesha habari kwa kutumia dpkg

Dpkg -L msingi-passwd

/.
/usr
/usr/sbin
/usr/sbin/sasisha-passwd
/usr/shiriki
/usr/share/man
/usr/share/man/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/man/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/man/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/users-and-groups
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/share/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/README

Dpkg -S /bin/date

vifaa vya msingi: /bin/date

Dpkg -s msingi

Kifurushi: vifaa vya msingi
Muhimu: ndiyo
Hali: kusakinisha ok imewekwa
Kipaumbele: kinahitajika
Sehemu: huduma
Ukubwa uliosakinishwa: 13822
Mtunzaji: Michael Stone
Usanifu: amd64
Multi-Arch: kigeni
Toleo: 8.13-3.5
Uingizwaji: mktemp, umeisha
Inategemea: dpkg (>= 1.15.4) | sakinisha-maelezo
Hutegemea: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
Migogoro: muda umeisha
Maelezo: Huduma za msingi za GNU
Kifurushi hiki kina faili ya msingi, ganda na upotoshaji wa maandishi
huduma ambazo zinatarajiwa kuwepo kwenye kila mfumo wa uendeshaji.
.
Hasa, kifurushi hiki ni pamoja na:
arch base64 basename paka chcon chgrp chmod chown chroot cksum comm cp
csplit kata tarehe dd df dir dircolors dirname du echo env expand expr
sababu ya uongo kundi fmt mara vikundi kichwa mwenyeji kitambulisho sakinisha jiunge kiungo ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
bandika pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty sum Sync mtihani wa tac tail tee
timeout touch tr true truncate tsort tty uname unpand uniq unlink
watumiaji vdir wc nani whoami ndiyo
Ukurasa wa nyumbani: http://gnu.org/software/coreutils

Dpkg -l "b*"

Inatamaniwa=haijulikani[u]/sakinisha[i]/futa[r]/safisha[p]/jitume[h]
| Hali=haijasakinishwa[n]/imesakinishwa[i]/imesanidiwa[c]/haijapakiwa[U]/imesanidiwa kiasi[F]/
imesakinishwa kwa kiasi[H]/trig-aWait/Trig-pend
|/ Hitilafu?=(hakuna)/usakinishaji upya unahitajika[R] (herufi kubwa
katika uwanja wa hali na makosa inaonyesha hali isiyo ya kawaida)
||/ Toleo la Jina Maelezo ya Usanifu
+++-============-==============-==============-================================
uhifadhi nakala<нет>(maelezo hayapatikani)
un msingi<нет>(maelezo hayapatikani)
un base-config<нет>(maelezo hayapatikani)
ii faili za msingi 7.1 amd64 Mfumo wa msingi wa Debian tofauti
ii base-passwd 3.5.26 amd64 nenosiri kuu la mfumo wa Debian
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x mzizi/mzizi 0 2013-01-02 19:28 ./
drwxr-xr-x mzizi/mzizi 0 2013-01-02 19:28 ./usr/
drwxr-xr-x mzizi/mzizi 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x mzizi/mzizi 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x mzizi/mzizi 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- mzizi/mzizi 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- mzizi/mzizi 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 2012-02-20 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- mzizi/mzizi 690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- mzizi/mzizi 1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

kifurushi kipya debian, toleo la 2.0.
ukubwa 1952176 byte: dhibiti urefu wa kumbukumbu 3312 byte.
1449 byte(s), mistari 30 ya udhibiti
4521 byte, mistari 65 md5sums
479 byte, mistari 13 * postinst #!/bin/sh
473 byte, mistari 13 * preinst #!/bin/sh
Kifurushi: gnupg
Toleo: 1.4.12-7
Usanifu: amd64
Mtunzaji: Debian GnuPG-Maintainers
Ukubwa Uliosakinishwa: 4627
Inategemea: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | sakinisha-maelezo, gpgv
Inapendekeza: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Inapendekeza: gnupg-doc, xloadimage | picha za uchawi | eog, libpcsclite1
Sehemu: huduma
Kipaumbele: muhimu
Multi-Arch: kigeni
Ukurasa wa nyumbani: http://www.gnupg.org
Maelezo: Mlinzi wa faragha wa GNU - uingizwaji wa PGP wa bure
GnuPG ni zana ya GNU ya mawasiliano salama na uhifadhi wa data.
Inaweza kutumika kusimba data kwa njia fiche na kuunda sahihi za kidijitali.
Inajumuisha kituo cha usimamizi wa ufunguo wa hali ya juu na inatii
na kiwango cha Internet cha OpenPGP kilichopendekezwa kama ilivyoelezwa katika RFC 4880.
[...]

KUACHA UNDANI: Ulinganisho wa Toleo

Kwa kuwa dpkg ni mpango wa usimamizi wa kifurushi cha Debian, pia ina utekelezwaji wa marejeleo wa mantiki ya kulinganisha nambari ya toleo. Kwa hivyo, ina --compare-versions chaguo ambayo hutumiwa na programu za nje (haswa hati za usanidi zinazoendeshwa na dpkg yenyewe). Chaguo hili linahitaji vigezo vitatu: nambari ya toleo, mwendeshaji wa kulinganisha, na nambari ya toleo la pili. Waendeshaji halali wa kulinganisha ni lt (chini kabisa kuliko), le (chini ya au sawa na), eq (sawa na), ne (si sawa na), ge (kubwa kuliko au sawa na), na gt (kubwa kuliko). Ikiwa ulinganisho ni sahihi, dpkg inarudisha 0 (mafanikio); ikiwa sivyo, basi thamani isiyo ya sifuri (kosa).

$ dpkg --compare-versions 1.2-3 gt 1.1-4
$ echo$?
0
$ dpkg --compare-toleo 1.2-3 lt 1.1-4
$ echo$?
1
$ dpkg --compare-matoleo 2.6.0pre3-1 lt 2.6.0-1
$ echo$?
1

makini na kushindwa bila kutarajiwa Ulinganisho wa mwisho: kwa dpkg, herufi pre, ambazo kwa ujumla huashiria kutolewa kabla, hazina maana maalum, na herufi za alfabeti zinalinganishwa kwa njia sawa na nambari (a.< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --compare-versions 2.6.0~pre3-1 lt 2.6.0-1
$ echo$?
0

dpkg faili ya kumbukumbu

dpkg huweka kumbukumbu ya vitendo vyake vyote ndani /var/log/dpkg.log. Logi hii ni ya kina sana, ikiandika kila hatua ya jinsi vifurushi vya dpkg vinachakatwa. Logi hii inasaidia sio tu kufuatilia tabia ya dpkg, lakini pia kudumisha historia ya mabadiliko katika mfumo: wakati halisi ambapo kila kifurushi kiliwekwa au kusasishwa kinaweza kupatikana, na habari hii inaweza kuwa muhimu sana katika kuamua sababu za mabadiliko ya tabia ya mfumo kwa ujumla. Kwa kuongeza, maelezo kuhusu matoleo yote yanarekodiwa na yanaweza kuangaliwa kwa urahisi dhidi ya changelog.Debian.gz kutoka kwa kifurushi husika au dhidi ya ripoti za hitilafu mtandaoni.

Usaidizi wa usanifu mbalimbali

Vifurushi vyote vya Debian vina uwanja wa Usanifu katika metadata zao. Sehemu hii inaweza kuwa na thamani "yote" (kwa vifurushi ambavyo vinajitegemea kwa usanifu) au jina la usanifu maalum ambao kifurushi kimekusudiwa (kwa mfano, "amd64", "armhf", ...). Katika kesi ya mwisho, dpkg kwa chaguo-msingi itaruhusu tu kifurushi kusakinishwa ikiwa usanifu wake unalingana na usanifu wa mfumo uliorejeshwa na dpkg --print-architecture.
Kizuizi hiki kinahakikisha kuwa hakuna jozi zilizokusanywa kwa usanifu mbaya kwenye mfumo. Hiyo itakuwa sawa, lakini (baadhi) ya kompyuta zinaweza kuendesha jozi za usanifu tofauti, ama asilia (kwa mfano, mifumo ya "amd64" inaendesha jozi za "i386") au kupitia emulators.

Kuwezesha usanifu mbalimbali

Usaidizi wa usanifu mwingi wa dpkg hukuruhusu kufafanua "usanifu wa kigeni" ambao unaweza kusanikishwa kwenye mfumo fulani. Hii ni rahisi kufanya na dpkg --add-architecture, kama inavyoonyeshwa kwenye mfano hapa chini. Pia kuna dpkg inayolingana --remove-architecture amri ya kuzima msaada wa usanifu wa kigeni, lakini inaweza kutumika tu ikiwa hakuna vifurushi vya usanifu huo vilivyobaki kwenye mfumo.

dpkg --print-architecture
amd64

dpkg: hitilafu ya kuchakata kumbukumbu gcc-4.9-base_4.9.1-19_armhf.deb (--sakinisha):
usanifu wa kifurushi (armhf) hailingani na mfumo (amd64)
Hitilafu zilipatikana wakati wa kuchakata:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --print-foreign-architectures
armhf
armel

Dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

Inachagua kifurushi ambacho hakikuchaguliwa hapo awali gcc-4.9-base:armhf.
(Kusoma hifadhidata ... 86425 faili na saraka zilizosakinishwa kwa sasa.)
Inajiandaa kufungua gcc-4.9-base_4.9.1-19_armhf.deb ...
Inafungua gcc-4.9-msingi:armhf (4.9.1-19) ...
Inasanidi gcc-4.9-msingi:armhf (4.9.1-19) ...

Dpkg --remove-architecture armhf

dpkg: kosa: haiwezi kuondoa usanifu "armhf" unaotumika sasa na hifadhidata

Dpkg --remove-architecture armel
dpkg --print-foreign-architectures
Usaidizi wa usanifu mwingi katika APT

APT itatambua kiotomatiki ikiwa dpkg imesanidiwa ili kutumia usanifu wa kigeni na itaanza kupakua faili zinazofaa za Vifurushi wakati wa mchakato wa kusasisha.
Vifurushi vya kigeni vinaweza kusanikishwa kwa kutumia apt install package:architecture command.

Kutumia binari za i386 za wamiliki kwenye mifumo ya amd64

Kuna matukio kadhaa ambapo usanifu mbalimbali unaweza kuwa na manufaa, lakini ya kawaida zaidi ni kuwezesha faili 32-bit (i386) kuendesha kwenye mifumo ya 64-bit (amd64), hasa kwa sababu baadhi ya programu za umiliki maarufu (kama Skype) ni tu. inapatikana kama matoleo 32-bit.

Mabadiliko yanayohusiana na usanifu mwingi

Ili kufanya usaidizi wa matao mengi kuwa muhimu sana, maktaba zilihitaji kufungwa tena, kuzihamishia kwenye saraka maalum ya usanifu ili nakala nyingi (kwa usanifu tofauti) ziweze kusakinishwa kwa wakati mmoja. Vifurushi vile vilivyosasishwa vina kichwa cha "Multi-Arch: sawa", kinachoonyesha mfumo wa usimamizi wa kifurushi kwamba usanifu tofauti wa kifurushi unaweza kusanikishwa pamoja (na kwamba vifurushi hivi vinaweza kukidhi utegemezi wa vifurushi vya usanifu sawa). Kwa kuwa usaidizi wa matao mengi uliongezwa kwa Debian Wheezy pekee, bado si maktaba zote ambazo zimebadilishwa.

Dpkg -s gcc-4.9-msingi

dpkg-query: hitilafu: --status inahitajika jina sahihi kifurushi, lakini "gcc-4.9-base" sio: jina la kifurushi lisiloeleweka "gcc-4.9-base" na zaidi ya mfano mmoja umewekwa.

Tumia --help chaguo ili kuonyesha usaidizi kwa hoja za kifurushi.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^Multi

Multi-Arch: sawa
Multi-Arch: sawa

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

Dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Inastahili kuzingatia kwamba vifurushi vilivyo na Multi-Arch: uwanja huo unapaswa kutajwa kwa jina la usanifu ili waweze kutambuliwa kipekee. Wanaweza pia kuwa na faili zilizoshirikiwa na matukio mengine ya mfuko huo; dpkg katika kesi hii inahakikisha kwamba vifurushi vyote vina faili za pamoja zinazofanana kidogo-kwa-bit. Matukio yote ya kifurushi lazima yawe toleo sawa, kwa hivyo lazima yasasishwe pamoja.
Usaidizi wa matao mengi pia huleta baadhi ya vipengele vya kuvutia kwa utaratibu wa kushughulikia utegemezi. Kutatua utegemezi kunahitaji ama kifurushi kilicho na alama "Multi-Arch: kigeni" au kifurushi kilicho na usanifu sawa (wakati wa kutatua utegemezi, vifurushi vya kujitegemea vya usanifu vinazingatiwa kuwa vya usanifu sawa na mfumo). Utegemezi unaweza pia kurejeshwa ili kuruhusu kifurushi cha usanifu wowote kukidhi kwa kutumia kifurushi: syntax yoyote, lakini vifurushi vya kigeni vinaweza kukidhi utegemezi kama huo ikiwa vimewekwa alama "Multi-Arch: kuruhusiwa".

Vifaa vilivyotumika.