InnehÄllsförteckning
apt mot apt-get /
apt-cache mot aptitude
testing med vissa paket frÄn
unstable
unstable med vissa paket frÄn
experimental
|
Notera |
|---|---|
|
Detta kapitel Àr skrivet med antagandet att den senaste stabila versionen Àr
codename: APT-systemets datakÀlla kallas i detta dokument för kÀllistan. Den kan definieras var som helst i
filerna " |
Debian Àr en frivilligorganisation som bygger konsekventa distributioner av förkompilerade binÀra paket med fri programvara och distribuerar dem frÄn sitt arkiv.
Debian-arkivet erbjuds av mÄnga fjÀrranslutna spegelsajter för Ätkomst via HTTP- och FTP-metoder. Det finns ocksÄ tillgÀngligt som CD-ROM/DVD.
Det nuvarande pakethanteringssystemet i Debian som kan utnyttja alla dessa resurser Àr Advanced Packaging Tool (APT).
Debians pakethanteringssystem, nÀr det anvÀnds pÄ rÀtt sÀtt, erbjuder anvÀndaren att installera konsekventa uppsÀttningar av binÀra paket till systemet frÄn arkivet. För nÀrvarande finns det 74874 paket tillgÀngliga för arkitekturen amd64.
Debians pakethanteringssystem har en rik historia och mÄnga valmöjligheter för anvÀndarprogrammet i frontend och metoden för arkivÄtkomst i backend som ska anvÀndas. För nÀrvarande rekommenderar vi följande.
apt(8) för alla interaktiva kommandoradsoperationer,
inklusive installation, borttagning och dist-uppgradering av paket.
apt-get(8) för att anropa Debians pakethanteringssystem
frÄn skript. Det Àr ocksÄ ett reservalternativ nÀr apt
inte Àr tillgÀngligt (ofta med Àldre Debian-system).
aptitude(8) för ett interaktivt textgrÀnssnitt för att
hantera de installerade paketen och söka efter tillgÀngliga paket.
Tabell 2.1. Lista över Debians verktyg för pakethantering
| paket | popcon | storlek | beskrivning |
|---|---|---|---|
dpkg
|
V:894, I:1000 | 6399 | lÄgnivÄsystem för pakethantering för Debian (filbaserat) |
apt
|
V:882, I:1000 | 4670 | APT-frontend för att hantera paket med CLI:
apt/apt-get/apt-cache |
aptitude
|
V:35, I:180 | 4622 | APT-frontend för interaktiv hantering av paket med helskÀrmskonsol:
aptitude(8) |
tasksel
|
V:37, I:984 | 349 | APT-frontend för att installera valda uppgifter:
tasksel(8) |
unattended-upgrades
|
V:125, I:184 | 317 | förbÀttringspaket för APT för att möjliggöra automatisk installation av sÀkerhetsuppgraderingar |
gnome-software
|
V:166, I:274 | 4476 | Programvarucenter för GNOME (GUI APT front-end) |
synaptic
|
V:37, I:304 | 7788 | grafisk pakethanterare (GTK APT front-end) |
apt-utils
|
V:403, I:998 | 1151 | APT-verktygsprogram: apt-extracttemplates(1),
apt-ftparchive(1) och apt-sortpkgs(1) |
apt-listchanges
|
V:385, I:889 | 547 | verktyg för avisering av paketÀndringshistorik |
apt-listbugs
|
V:5.6, I:7.6 | 514 | listar kritiska buggar före varje APT-installation |
apt-file
|
V:16, I:58 | 89 | APT-verktyget för paketsökning - kommandoradsgrÀnssnitt |
apt-rdepends
|
V:0.4, I:4.7 | 39 | rekursiv lista över paketberoenden |
HÀr följer nÄgra viktiga punkter för paketkonfiguration pÄ Debian-systemet.
For the modern Desktop environment, rebooting of the system after package configuration change and package upgrade is a good idea to ensure the system to function properly.
Den manuella konfigurationen av systemadministratören respekteras. Med andra ord, paketkonfigurationssystemet gör ingen pÄtrÀngande konfiguration för bekvÀmlighetens skull.
Varje paket levereras med ett eget konfigurationsskript med standardiserat
anvÀndargrÀnssnitt som heter debconf(7) för att
underlÀtta den första installationen av paketet.
Debian-utvecklarna gör sitt bÀsta för att göra din uppgraderingsupplevelse felfri med hjÀlp av skript för paketkonfiguration.
Alla funktioner i paketerade program Àr tillgÀngliga för systemadministratören. Men de som innebÀr sÀkerhetsrisker Àr inaktiverade i standardinstallationen.
Om du manuellt aktiverar en tjÀnst med vissa sÀkerhetsrisker Àr du ansvarig för riskbegrÀnsningen.
Esoterisk konfiguration kan aktiveras manuellt av systemadministratören. Detta kan skapa störningar med populÀra generiska hjÀlpprogram för systemkonfigurationen.
|
Varning |
|---|---|
|
Installera inte paket frÄn en slumpmÀssig blandning av sviter. Det bryter förmodligen paketkonsistensen som krÀver djup kunskap om systemhantering, t.ex. kompilatorns ABI, biblioteksversion, tolkfunktioner etc. |
Debian-systemadministratören som Àr nybörjare
bör hÄlla sig till den stable stabila utgÄvan av Debian
och endast anvÀnda sÀkerhetsuppdateringar. Tills du förstÄr Debiansystemet
mycket vÀl, bör du följa följande försiktighetsÄtgÀrder.
Inkludera inte testing
eller unstable i
kÀllistan.
Blanda inte standard Debian med andra icke-Debian-arkiv som Ubuntu i kÀllistan.
Skapa inte "/etc/apt/preferences".
Ăndra inte standardbeteendet för pakethanteringsverktyg via konfigurationsfiler utan att kĂ€nna till de fullstĂ€ndiga konsekvenserna.
Installera inte slumpmÀssiga paket med "dpkg -i
random_package".
Installera aldrig slumpmÀssiga paket med "dpkg --force-all -i
random_package".
Radera eller Àndra inte filer i "/var/lib/dpkg/".
Skriv inte över systemfiler genom att installera program som kompilerats direkt frÄn kÀllan.
Installera dem i "/usr/local" eller
"/opt", om det behövs.
De icke-kompatibla effekter som orsakas av brott mot ovanstÄende försiktighetsÄtgÀrder för Debians pakethanteringssystem kan göra ditt system obrukbart.
Den seriösa Debian-systemadministratören som driver verksamhetskritiska servrar bör vidta extra försiktighetsÄtgÀrder.
Installera inte nÄgra paket, inklusive sÀkerhetsuppdateringar frÄn Debian, utan att noggrant testa dem med din specifika konfiguration under sÀkra förhÄllanden.
I slutÀndan Àr det du som systemadministratör som Àr ansvarig för ditt system.
Debiansystemets lÄnga stabilitetshistoria Àr ingen garanti i sig.
|
Observera |
|---|---|
|
För din produktionsserver rekommenderas
den |
Trots mina varningar ovan vet jag att mÄnga lÀsare av detta dokument kanske
vill köra de nyare testing eller
unstable sviterna.
Upplysning med följande rÀddar en person frÄn den eviga karmiska kampen i uppgraderingshelvetet och lÄter honom nÄ Debian-nirvana.
Denna lista Àr avsedd för den sjÀlvadministrerade Desktop-miljön.
AnvÀnd testing eftersom den praktiskt taget Àr den
rullande utgÄvan som automatiskt hanteras av Debianarkivets
QA-infrastruktur, sÄsom Debians kontinuerliga integration,
praxis för uppladdning av endast
kÀllkod och spÄrning av
biblioteksövergÄngar. Paketen i testing
uppdateras tillrÀckligt ofta för att erbjuda alla de senaste funktionerna.
Ange kodnamnet som motsvarar testing (
"forky;" under utgivningscykeln
trixie as stable ) i
kÀllistan.
Uppdatera kodnamnet i kÀllistan manuellt till det nya kodnamnet först efter att du sjÀlv har utvÀrderat situationen i ungefÀr en mÄnad efter att den stora sviten har slÀppts. Debians sÀndlista för anvÀndare och utvecklare Àr ocksÄ bra informationskÀllor för detta.
Det Àr inte rekommenderat att anvÀnda den unstable
sviten. Den unstable sviten Àr bra för att felsöka paket som utvecklare men
tenderar att utsÀtta dig för onödiga risker vid normal anvÀndning pÄ
skrivbordet. Ăven om Debiansystemets unstable -svit för
det mesta ser mycket stabil ut, har det förekommit en del paketproblem och
nÄgra av dem var inte sÄ triviala att lösa.
HÀr Àr nÄgra grundlÀggande försiktighetsÄtgÀrder för att sÀkerstÀlla snabb och enkel ÄterhÀmtning frÄn buggar i Debian-paket.
Make the rescue system available by following Avsnitt 3.2, âRescue systemâ.
Gör systemet dubbelstartbart genom att
installera den stable delen av Debian-systemet pÄ en
annan partition
ĂvervĂ€g att installera apt-listbugs för att kontrollera
informationen i Debian Bug
Tracking System (BTS) före uppgraderingen
LÀr dig infrastrukturen för paketsystemet tillrÀckligt för att kunna lösa problemet
|
Observera |
|---|---|
|
Om du inte kan göra nÄgon av dessa försiktighetsÄtgÀrder Àr du förmodligen
inte redo för |
|
Tips |
|---|---|
|
Debianarkivets officiella policy definieras i Debians policyhandbok, kapitel 2 - Debianarkivet. |
LÄt oss titta in i Debian-arkivet frÄn en systemanvÀndares perspektiv.
En systemanvÀndare fÄr tillgÄng till Debian-arkivet med hjÀlp av APT-systemet.
APT-systemet specificerar sin datakÀlla som kÀllistan och den beskrivs i
sources.list(5).
For the trixie system with the typical HTTP
access, the source list is provided in
the modern deb822-style in
"/etc/apt/sources.list.d/debian.sources" as the
following:
Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: trixie Components: main non-free-firmware contrib non-free Types: deb deb-src URIs: http://security.debian.org/debian-security/ Suites: trixie-security Components: main non-free-firmware contrib non-free
|
Tips |
|---|---|
|
If the source list is provided in the
older deprecated one-line-style in
" $ sudo apt modernize-sources |
Key points of the source list in deb822-style are followings.
Dess definitionsfiler finns i filerna
"/etc/apt/sources.list.d/*.sources".
Varje block av rader som Ätskiljs av en blankrad definierar datakÀllan för APT-systemet.
I strofen "Types:" definieras listan över typer,
t.ex. "deb" och "deb-src".
Stanza "URIs:" definierar listan med rot-URI:er för
Debian-arkivet.
I strofen "Suites:" definieras listan över
distributionsnamn med hjÀlp av antingen svitnamnet eller kodnamnet.
Stanza "Components:" definierar listan över giltiga namn
pÄ arkivomrÄden i Debian-arkivet.
Definitionen för "deb-src" kan sÀkert utelÀmnas om det
bara Àr för aptitude som inte har tillgÄng till
kÀllrelaterade metadata. Det pÄskyndar uppdateringarna av arkivets metadata.
URL:en kan vara "https://", "http://",
"ftp://", "file://", ....
Rader som börjar med "#" Àr kommentarer och ignoreras.
HÀr brukar jag anvÀnda kodnamnet "trixie"
eller "forky" istÀllet för svitnamnet
"stable" eller "testing" för att
undvika överraskningar nÀr nÀsta stable slÀpps.
|
Tips |
|---|---|
|
Om " |
HÀr Àr listan över URL-adresser till Debians arkivplatser och svitnamn eller
kodnamn som anvÀnds i konfigurationsfilen efter
trixie -utgÄvan.
Tabell 2.2. Lista över Debians arkivplatser
| arkiv URL | svitens namn | kodnamn | syftet med förvaret |
|---|---|---|---|
| http://deb.debian.org/debian/ | stable |
trixie |
Quasi-statisk stable release efter omfattande kontroller |
| http://deb.debian.org/debian/ | testing |
forky |
Dynamisk provning efter ordentliga kontroller och korta
vÀntetider |
| http://deb.debian.org/debian/ | unstable |
sid |
Dynamisk unstable release efter minimala kontroller och
inga vÀntetider |
| http://deb.debian.org/debian/ | experimental |
N/A | Experimenterande av utvecklare före lansering (valfritt, endast för utvecklare) |
| http://deb.debian.org/debian/ | stable-proposed-updates |
trixie-proposed-updates |
Uppdateringar för nÀsta stable punktutgÄva (valfritt) |
| http://deb.debian.org/debian/ | stable-updates |
trixie-updates |
DelmÀngd av sviten stable-proposed-updates som behöver
brÄdskande uppdateringar, t.ex. tidszonsdata (valfritt) |
| http://deb.debian.org/debian/ | stable-backports |
trixie-backports |
SlumpmÀssig samling av omkompilerade paket, mestadels frÄn
testversionen (valfritt) |
| http://security.debian.org/debian-security/ | stable-security |
trixie-security |
SÀkerhetsuppdateringar för den stable versionen (viktigt) |
| http://security.debian.org/debian-security/ | testing-security |
forky-security |
Detta stöds inte aktivt och anvÀnds inte heller av sÀkerhetsteamet |
|
Observera |
|---|---|
|
Endast ren |
|
Observera |
|---|---|
|
Du bör i princip bara ange en av sviterna |
|
Tips |
|---|---|
|
För Debian-systemet med den |
|
Notera |
|---|---|
|
SÀkerhetsbuggarna för det |
Tabell 2.3. Lista över Debians arkivomrÄde
| omrÄde | antal paket | kriterier för förpackningskomponent |
|---|---|---|
main |
73397 | DFSG-kompatibel och inget beroende av non-free |
non-free-firmware |
64 | inte DFSG-kompatibel, firmware krÀvs för rimlig upplevelse av systeminstallationen |
contrib |
378 | Uppfyller DFSG men har beroende till non-free |
non-free |
1035 | inte DFSG-kompatibel och inte i icke-fri-firmware |
HÀr Àr antalet paket i ovanstÄende för arkitekturen amd64. OmrÄdet
main tillhandahĂ„ller Debian-systemet (se Avsnitt 2.1.6, âDebian Ă€r 100% fri programvaraâ).
Debians arkivorganisation kan studeras bÀst genom att rikta webblÀsaren mot
varje arkiv-URL med dists eller pool
som tillÀgg.
Distributionen benÀmns pÄ tvÄ sÀtt, sviten eller kodnamnet. Ordet distribution anvÀnds alternativt som synonym till sviten i mÄnga dokumentationer. FörhÄllandet mellan sviten och kodnamnet kan sammanfattas enligt följande.
Tabell 2.4. FörhÄllandet mellan svit och kodnamn
| Tid | svit = stable |
svit = testing |
svit = unstable |
|---|---|---|---|
efter trixie release |
kodnamn = trixie |
kodnamn = forky |
kodnamn = sid |
efter forky release |
kodnamn = forky |
kodnamn = duke |
kodnamn = sid |
Kodnamnens historia beskrivs i Debians FAQ: 6.2.1 Vilka andra kodnamn har anvÀnts tidigare?
I den striktare Debian-arkivterminologin anvĂ€nds ordet "section" specifikt för kategorisering av paket efter tillĂ€mpningsomrĂ„de. (Ăven om ordet "huvudavsnitt" ibland kan anvĂ€ndas för att beskriva Debian-arkivets omrĂ„de med namnet "main")
Varje gÄng en ny uppladdning görs av en Debian-utvecklare (DD) till det
unstable arkivet (via inkommande bearbetning), mÄste DD sÀkerstÀlla att
de uppladdade paketen Àr kompatibla med den senaste uppsÀttningen paket i
det senaste unstable arkivet.
Om DD bryter denna kompatibilitet avsiktligt för en viktig biblioteksuppgradering etc., finns det vanligtvis ett meddelande pÄ sÀndlistan debian-devel etc.
Innan en uppsÀttning paket flyttas av Debians arkivunderhÄllsskript frÄn det
unstable arkivet till testarkivet,
kontrollerar arkivunderhÄllsskriptet inte bara paketens mognadsgrad (ca 2-10
dagar gamla) och status för RC-buggrapporterna, utan försöker ocksÄ se till
att de Àr kompatibla med den senaste uppsÀttningen paket i
testarkivet. Denna process gör
testarkivet mycket aktuellt och anvÀndbart.
Genom den gradvisa arkivfrysningsprocessen som leds av releaseteamet mognar
testing sÄ att det blir helt konsekvent och buggfritt med
vissa manuella ingrepp. DĂ€refter skapas den nya stable
utgÄvan genom att kodnamnet för det gamla arkivet testing
tilldelas det nya stable arkivet och det nya kodnamnet
skapas för det nya arkivet testing. Det ursprungliga
innehÄllet i det nya arkivet testing Àr exakt detsamma
som i det nyutgivna stable arkivet.
BÄde de unstable och de testande
arkiven kan drabbas av tillfÀlliga störningar pÄ grund av flera faktorer.
Uppladdning av trasiga paket till arkivet (mest för
unstable)
Fördröjning av att acceptera nya paket i arkivet (mest för
unstable)
Problem med timing för arkivsynkronisering (bÄde för
testing och unstable)
Manuella ingrepp i arkivet, t.ex. borttagning av paket (mer för
testing) etc.
SÄ om du nÄgonsin bestÀmmer dig för att anvÀnda dessa arkiv bör du kunna fixa eller arbeta runt den hÀr typen av problem.
|
Observera |
|---|---|
|
Under nÄgra mÄnader efter en ny |
|
Tips |
|---|---|
|
Vid spÄrning av |
Se Debians policyhandbok för arkivdefinitioner.
Debian Àr en 100% free programvara pÄ grund av följande:
Debian installerar endast fri programvara som standard för att respektera anvÀndarnas friheter.
Debian tillhandahÄller endast fri programvara i main.
Debian rekommenderar att man endast kör fri programvara frÄn
main.
Inga paket i main depend eller rekommenderar paket i
non-free eller non-free-firmware eller
contrib.
Vissa mÀnniskor undrar om följande 2 fakta motsÀger varandra eller inte.
"Debian kommer att förbli 100% free". (Första villkoret i Debians sociala kontrakt)
Debians servrar innehÄller en del paket för
non-free-firmware, non-free och
contrib.
Dessa motsÀger inte varandra, pÄ grund av följande.
Debian-systemet Àr 100% free och dess paket finns pÄ Debian-servrar i
main.
Paket utanför Debiansystemet finns pÄ Debians servrar i omrÄdena
non-free, non-free-firmware och
contrib.
Dessa förklaras exakt i de 4:e och 5:e villkoren i Debians sociala kontrakt:
VÄra prioriteringar Àr vÄra anvÀndare och fri programvara
Vi kommer att vÀgledas av vÄra anvÀndares och den fria programvarugemenskapens behov. Vi kommer att sÀtta deras intressen först i vÄra prioriteringar. Vi kommer att stödja vÄra anvÀndares behov av drift i mÄnga olika typer av datormiljöer. Vi kommer inte att motsÀtta oss icke-fria verk som Àr avsedda att anvÀndas pÄ Debiansystem, eller försöka ta ut en avgift av personer som skapar eller anvÀnder sÄdana verk. Vi kommer att tillÄta andra att skapa distributioner som innehÄller bÄde Debiansystemet och andra verk, utan nÄgon avgift frÄn oss. För att frÀmja dessa mÄl kommer vi att tillhandahÄlla ett integrerat system med material av hög kvalitet utan nÄgra juridiska restriktioner som skulle förhindra sÄdan anvÀndning av systemet.
Verk som inte uppfyller vÄra standarder för fri programvara
Vi Àr medvetna om att vissa av vÄra anvÀndare krÀver anvÀndning av verk som
inte överensstÀmmer med Debians riktlinjer för fri programvara. Vi har
skapat omrÄdena "non-free",
"non-free-firmware" och "contrib" i
vÄrt arkiv för dessa verk. Paketen i dessa omrÄden Àr inte en del av
Debiansystemet, Àven om de har konfigurerats för att anvÀndas med Debian. Vi
uppmuntrar cd-tillverkare att lÀsa licenserna för paketen i dessa omrÄden
och avgöra om de kan distribuera paketen pĂ„ sina cd-skivor. Ăven om
icke-fria verk inte Àr en del av Debian, stöder vi deras anvÀndning och
tillhandahÄller infrastruktur för icke-fria paket (sÄsom vÄrt
buggspÄrningssystem och vÄra e-postlistor). Debians officiella media kan
innehÄlla inbyggd programvara som annars inte Àr en del av Debiansystemet
för att möjliggöra anvÀndning av Debian med maskinvara som krÀver sÄdan
inbyggd programvara.
|
Notera |
|---|---|
|
Den faktiska texten i den 5:e termen i det nuvarande Debian Social Contract 1.2 skiljer sig nÄgot frÄn ovanstÄende text. Denna redaktionella avvikelse Àr avsiktlig för att göra detta anvÀndardokument konsekvent utan att Àndra det verkliga innehÄllet i det sociala kontraktet. |
AnvÀndare bör vara medvetna om riskerna med att anvÀnda paket i omrÄdena
non-free, non-free-firmware och
contrib:
brist pÄ frihet för sÄdana programvarupaket
brist pÄ stöd frÄn Debian för sÄdana programpaket (Debian kan inte stödja programvara pÄ rÀtt sÀtt utan att ha tillgÄng till kÀllkoden)
kontaminering av ditt 100% free Debian-system
Debians riktlinjer för fri programvara Àr standarderna för fri programvara för Debian. Debian tolkar "programvara" i vidaste bemÀrkelse, inklusive dokument, inbyggd programvara, logotyp och illustrationer i paketet. Detta gör Debians standarder för fri programvara mycket strikta.
Typiska paket för non-free,
non-free-firmware och contrib
inkluderar fritt distribuerbara paket av följande typer:
Dokumentpaket under GNU Free
Documentation License med invarianta avsnitt som de för GCC och
Make. (finns mestadels i avsnittet non-free/doc.)
Firmwarepaket som innehÄller binÀr data utan kÀlla, t.ex. de som listas i
Avsnitt 9.10.5, âDrivrutiner för hĂ„rdvara och firmwareâ som
non-free-firmware. (finns oftast i avsnittet
non-free-firmware/kernel.)
Spel- och typsnittspaket med restriktioner för kommersiell anvÀndning och/eller Àndring av innehÄll.
Observera att antalet paket i non-free-,
non-free-firmware- och contrib Àr
mindre Àn 2% jÀmfört med antalet i main. Att ge tillgÄng
till omrÄdena non-free,
non-free-firmware och contrib döljer
inte kÀllan till paketen. Interaktiv helskÀrmsanvÀndning av
aptitude(8) ger dig full insyn och kontroll över vilka
paket som installeras frÄn vilket omrÄde för att hÄlla ditt system sÄ fritt
som du önskar.
Debiansystemet erbjuder en konsekvent uppsÀttning binÀra paket genom sin mekanism för deklaration av binÀra beroendeversioner i kontrollfilsfÀlten. HÀr Àr en lite förenklad definition för dem.
"Depends"
Detta förklarar ett absolut beroende och alla paket som anges i detta fÀlt mÄste installeras samtidigt eller i förvÀg.
"Pre-Depends"
Detta Àr som Depends, förutom att det krÀver en fullstÀndig installation av de listade paketen i förvÀg.
"Recommends"
Detta deklarerar ett starkt, men inte absolut, beroende. De flesta anvÀndare vill inte ha paketet om inte alla paket som anges i det hÀr fÀltet Àr installerade.
"Suggests"
Detta deklarerar ett svagt beroende. MÄnga anvÀndare av detta paket kan dra nytta av att installera paket som listas i detta fÀlt men kan ha rimliga funktioner utan dem.
"Enhances"
Detta förklarar ett svagt beroende som Suggests men fungerar i motsatt riktning.
"Breaks"
Detta deklarerar en paketinkompatibilitet, vanligtvis med nÄgon versionsspecifikation. Lösningen Àr i allmÀnhet att uppgradera alla paket som listas i detta fÀlt.
"Conflicts"
Detta förklarar en absolut inkompatibilitet. Alla paket som anges i det hÀr fÀltet mÄste tas bort för att installera det hÀr paketet.
"Replaces"
Detta deklareras nÀr filer som installeras av detta paket ersÀtter filer i de listade paketen.
"Provides"
Detta deklareras nÀr detta paket innehÄller alla filer och funktioner i de listade paketen.
|
Notera |
|---|---|
|
Observera att det Àr den sundaste konfigurationen att definiera "Provides", "Conflicts" och "Replaces" samtidigt för ett virtuellt paket. Detta sÀkerstÀller att endast ett verkligt paket som tillhandahÄller detta virtuella paket kan installeras vid varje tillfÀlle. |
Den officiella definitionen, inklusive kÀllkodsberoende, finns i Policy Manual: Kapitel 7 - Deklaration av relationer mellan paket.
HÀr följer en sammanfattning av det förenklade hÀndelseflödet för APT:s pakethantering.
Uppdatera ("apt
update", "aptitude update" eller
"apt-get update"):
HÀmta arkivmetadata frÄn fjÀrrarkiv
Rekonstruktion och uppdatering av lokala metadata för anvÀndning av APT
Uppgradera ("apt
upgrade" och "apt full-upgrade" eller
"aptitude safe-upgrade" och "aptitude
full-upgrade" eller "apt-get upgrade" samt
"apt-get dist-upgrade"):
VĂ€lj kandidatversionen, som vanligtvis Ă€r den senaste tillgĂ€ngliga versionen för alla installerade paket (se Avsnitt 2.7.7, âJustera kandidatversionen med apt-pinningâ för undantag)
Lösning av paketberoenden
HÀmta utvalda binÀra paket frÄn fjÀrrarkivet om kandidatversionen skiljer sig frÄn den installerade versionen
Packa upp hÀmtade binÀra paket
Kör preinst skript
Installera binÀra filer
Kör postinst skript
Installera ("apt install
âŠ", aptitude install âŠ" eller "apt-get
install âŠ"):
VÀlj paket som listas pÄ kommandoraden
Lösning av paketberoenden
HÀmta utvalda binÀra paket frÄn fjÀrrarkiv
Packa upp hÀmtade binÀra paket
Kör preinst skript
Installera binÀra filer
Kör postinst skript
Ta bort ("apt remove
âŠ", "aptitude remove âŠ" eller "apt-get
remove âŠ"):
VÀlj paket som listas pÄ kommandoraden
Lösning av paketberoenden
Kör prerm skript
Ta bort installerade filer utom konfigurationsfiler
Kör postrm skript
Rensning ("apt purge",
"aptitude purge ..." eller "apt-get purge
..."):
VÀlj paket som listas pÄ kommandoraden
Lösning av paketberoenden
Kör prerm skript
Ta bort installerade filer inklusive konfigurationsfiler
Kör postrm skript
HÀr har jag avsiktligt hoppat över tekniska detaljer för helhetsbildens skull.
Du bör lÀsa den fina officiella dokumentationen. Det första dokumentet att
lÀsa Àr det Debian-specifika
"/usr/share/doc/package_name/README.Debian".
Annan dokumentation i
"/usr/share/doc/package_name/" bör
ocksĂ„ lĂ€sas. Om du har stĂ€llt in shell som Avsnitt 1.4.2, âAnpassa bashâ, skriv följande.
$ cd package_name
$ pager README.Debian
$ mc
Du kan behöva installera motsvarande dokumentationspaket med suffixet
"-doc" för att fÄ mer detaljerad information.
Om du upplever problem med ett specifikt paket, se till att först kolla upp Debians felhanteringssystem (BTS).
Tabell 2.5. Lista över viktiga webbplatser för att lösa problem med ett specifikt paket
| webbplats | kommando |
|---|---|
| Webbsidan för Debians felhanteringssystem (BTS) | sensible-browser "https://bugs.debian.org/" |
| Felrapporten för ett kÀnt paketnamn | sensible-browser
"https://bugs.debian.org/package_name" |
| Buggrapporten med kÀnt buggnummer | sensible-browser
"https://bugs.debian.org/bug_number" |
Sök pÄ Google med sökord som
"site:debian.org",
"site:wiki.debian.org",
"site:lists.debian.org", etc.
NÀr du lÀmnar in en felrapport ska du anvÀnda kommandot
reportbug(1).
NÀr du stöter pÄ mer Àn tvÄ liknande paket och undrar vilket du ska installera utan att "pröva dig fram", bör du anvÀnda lite sunt förnuft. Jag anser att följande punkter Àr bra indikationer pÄ vilka paket som Àr att föredra.
Essential (VĂ€sentlig): yes > no
Area (OmrÄde): main > contrib > non-free
Priority: required > important > standard > optional > extra
Uppgifter: paket som listas i uppgifter som "Skrivbordsmiljö"
Paket som vÀljs av beroendepaketet (t.ex. gcc-10 av
gcc)
Popcon: högre i röst- och installationsantal
Changelog: regelbundna uppdateringar av underhÄllaren
BTS: Inga RC-buggar (inga kritiska, inga allvarliga och inga allvarliga buggar)
BTS: underhÄllare som svarar pÄ felrapporter
BTS: högre antal av de nyligen ÄtgÀrdade buggarna
BTS: lÀgre antal kvarvarande buggar som inte finns pÄ önskelistan
Debian Àr ett frivilligt projekt med en distribuerad utvecklingsmodell, och dess arkiv innehÄller mÄnga paket med olika fokus och kvalitet. Du mÄste fatta ditt eget beslut om vad du ska göra med dem.
Oavsett vilken svit av Debian-system du vĂ€ljer att anvĂ€nda, kanske du Ă€ndĂ„ vill köra versioner av program som inte finns tillgĂ€ngliga i den sviten. Ăven om du hittar binĂ€ra paket av sĂ„dana program i andra Debian-sviter eller i andra icke-Debian-resurser, kan deras krav stĂ„ i konflikt med ditt nuvarande Debian-system.
Ăven om du kan justera pakethanteringssystemet med apt-pinning-teknik etc. som beskrivs i Avsnitt 2.7.7, âJustera kandidatversionen med apt-pinningâ för att installera sĂ„dana osynkroniserade binĂ€ra paket, har sĂ„dana justeringsmetoder endast begrĂ€nsade anvĂ€ndningsomrĂ„den eftersom de kan förstöra dessa program och ditt system.
Innan du brutalt installerar sÄdana osynkroniserade paket bör du söka efter alla tillgÀngliga alternativa sÀkrare tekniska lösningar som Àr kompatibla med ditt nuvarande Debian-system.
Installera sĂ„dana program med motsvarande sandboxade uppströms binĂ€ra paket (se Avsnitt 7.7, âSandlĂ„daâ).
MÄnga GUI-program, t.ex. LibreOffice och GNOME-program, finns tillgÀngliga som Flatpak-, Snap- eller AppImage-paket.
Skapa en chroot eller liknande miljö och kör sĂ„dana program i den (se Avsnitt 9.11, âVirtualiserat systemâ).
CLI-kommandon kan enkelt köras under dess kompatibla chroot (se Avsnitt 9.11.4, âChroot-systemâ).
Flera fullstĂ€ndiga skrivbordsmiljöer kan enkelt provas utan omstart (se Avsnitt 9.11.5, âFlera skrivbordssystemâ).
Bygg sjÀlv önskade versioner av binÀra paket som Àr kompatibla med ditt nuvarande Debian-system.
Förvaringsbaserade pakethanteringsÄtgÀrder i Debiansystemet kan utföras av
mÄnga APT-baserade pakethanteringsverktyg som finns tillgÀngliga i
Debiansystemet. HÀr förklarar vi 3 grundlÀggande pakethanteringsverktyg:
apt, apt-get /
apt-cache och aptitude.
Du mÄste ha root-behörighet för att kunna utföra pakethanteringsÄtgÀrder som innebÀr paketinstallation eller uppdatering av paketmetadata.
Ăven om aptitude Ă€r ett mycket trevligt interaktivt
verktyg som författaren huvudsakligen anvÀnder, bör du kÀnna till nÄgra
försiktiga fakta:
Kommandot aptitude rekommenderas inte för
systemuppgradering frÄn release till release pÄ det
stable Debian-systemet efter den nya releasen.
AnvÀndning av "apt full-upgrade" eller "apt-get
dist-upgrade" rekommenderas för detta. Se fel #411280.
Kommandot aptitude föreslÄr ibland massborttagning av
paket för systemuppgraderingen pÄ det testande eller
unstable Debian-systemet.
Den hÀr situationen har skrÀmt mÄnga systemadministratörer. FÄ inte panik.
Detta verkar frÀmst bero pÄ versionsskillnader mellan paket som Àr beroende
av eller rekommenderas av ett metapaket som gnome-core.
Detta kan lösas genom att vÀlja "Cancel pending actions" i kommandomenyn för
aptitude, avsluta aptitude och anvÀnda
"apt full-upgrade".
Kommandona apt-get och apt-cache Àr de
mest grundlÀggande APT-baserade
pakethanteringsverktygen.
apt-get och apt-cache erbjuder endast
anvÀndargrÀnssnittet för kommandoraden.
apt-get Àr mest lÀmpligt för större systemuppgraderingar mellan releaser etc.
apt-get erbjuder en robust lösning för paketberoenden.
apt-get Àr mindre krÀvande nÀr det gÀller
hÄrdvaruresurser. Det förbrukar mindre minne och körs snabbare.
apt-cache erbjuder en standardregexbaserad sökning pÄ paketets namn och
beskrivning.
apt-get och apt-cache kan hantera
flera versioner av paket med hjÀlp av
/etc/apt/preferences men det Àr ganska besvÀrligt.
Kommandot apt Àr ett kommandoradsgrÀnssnitt pÄ hög nivÄ
för pakethantering. Det Àr i grunden ett omslag för
apt-get, apt-cache och liknande
kommandon, ursprungligen avsett som ett grÀnssnitt för slutanvÀndare och
aktiverar vissa alternativ som Àr bÀttre lÀmpade för interaktiv anvÀndning
som standard.
apt tillhandahÄller en vÀnlig förloppsindikator nÀr du
installerar paket med apt install.
apt kommer att ta bort
cachade .deb-paket som standard efter lyckad installation
av hÀmtade paket.
|
Tips |
|---|---|
|
AnvÀndare rekommenderas att anvÀnda det nya kommandot
|
Kommandot aptitude Àr det mest mÄngsidiga APT-baserade verktyget för
pakethantering.
aptitude erbjuder anvÀndargrÀnssnittet för interaktiv
text i fullskÀrm.
aptitude erbjuder Àven ett anvÀndargrÀnssnitt för
kommandoraden.
aptitude Àr mest lÀmpad för den dagliga interaktiva pakethanteringen,
t.ex. kontroll av installerade paket och sökning efter tillgÀngliga paket.
aptitude Àr mer krÀvande nÀr det gÀller
hÄrdvaruresurser. Den förbrukar mer minne och körs lÄngsammare.
aptitude erbjuder en förbÀttrad regexbaserad sökning pÄ alla paketets
metadata.
aptitude kan hantera flera versioner av paket utan att
anvÀnda /etc/apt/preferences och det Àr ganska intuitivt.
HÀr följer grundlÀggande ÄtgÀrder för pakethantering via kommandoraden med
apt(8), aptitude(8) och
apt-get(8) /apt-cache(8).
Tabell 2.6. GrundlÀggande pakethantering med kommandoraden med
apt(8), aptitude(8) och
apt-get(8) /apt-cache(8)
apt-syntax |
aptitude-syntax |
syntax för apt-get/apt-cache |
beskrivning |
|---|---|---|---|
apt update |
aptitude update |
apt-get update |
uppdatera metadata för paketarkiv |
apt install foo |
aptitude install foo |
apt-get install foo |
installera kandidatversionen av "foo"-paketet med dess
beroenden |
apt upgrade |
aptitude safe-upgrade |
apt-get upgrade |
installera kandidatversionen av installerade paket utan att ta bort nÄgra andra paket |
apt full-upgrade |
aptitude full-upgrade |
apt-get dist-upgrade |
installera kandidatversionen av installerade paket samtidigt som andra paket tas bort vid behov |
apt remove foo |
aptitude remove foo |
apt-get remove foo |
ta bort paketet "foo" och lÀmna kvar dess
konfigurationsfiler |
apt autoremove |
N/A | apt-get autoremove |
ta bort automatiskt installerade paket som inte lÀngre behövs |
apt purge foo |
aptitude purge foo |
apt-get purge foo |
rensa paketet "foo" med dess konfigurationsfiler |
apt clean |
aptitude clean |
apt-get clean |
tömma det lokala arkivet pÄ hÀmtade paketfiler helt och hÄllet |
apt autoclean |
aptitude autoclean |
apt-get autoclean |
rensa ut det lokala arkivet med hÀmtade paketfiler för förÄldrade paket |
apt show foo |
aptitude show foo |
apt-cache show foo |
visa detaljerad information om "foo" paketet |
apt search regex |
aptitude search regex |
apt-cache search regex |
sök paket som matchar regex |
| N/A | aptit varför regex |
N/A | förklara anledningen till att paket för regexmatchning bör installeras |
| N/A | aptitude why-not regex |
N/A | förklara orsaken till att paket för regexmatchning inte kan installeras |
apt list --manual-installed |
aptitude search '~i!~M' |
apt-mark showmanual |
lista manuellt installerade paket |
apt / apt-get och
aptitude kan blandas utan större problem.
"aptitude why regex" kan lista mer
information genom "aptitude -v why
regex". Liknande information kan erhÄllas
med "apt rdepends package" eller
"apt-cache rdepends package".
NÀr kommandot aptitude startas i kommandoradslÀget och
stöter pÄ problem, t.ex. paketkonflikter, kan du vÀxla till det interaktiva
helskÀrmslÀget genom att trycka pÄ "e"-tangenten senare
vid prompten.
|
Notera |
|---|---|
|
Ăven om kommandot |
Du kan ange kommandoalternativ direkt efter "aptitude".
Tabell 2.7. AnmÀrkningsvÀrda kommandoalternativ för aptitude(8)
| kommandoalternativ | beskrivning |
|---|---|
-s |
simulera resultatet av kommandot |
-d |
endast nedladdning men ingen installation/uppgradering |
-D |
visa korta förklaringar före automatiska installationer och borttagningar |
Se aptitude(8) och "aptitude user's manual" pÄ
"/usr/share/doc/aptitude/README" för mer information.
För interaktiv pakethantering startar du aptitude i
interaktivt lÀge frÄn konsolens shellprompt pÄ följande sÀtt.
$ sudo aptitude -u Password:
Detta uppdaterar den lokala kopian av arkivinformationen och visar
paketlistan i helskÀrmen med meny. Aptitude placerar sin konfiguration i
"~/.aptitude/config".
|
Tips |
|---|---|
|
Om du vill anvÀnda roots konfiguration i stÀllet för anvÀndarens anvÀnder du
" |
|
Tips |
|---|---|
|
|
Viktiga tangenttryckningar för att blÀddra igenom status för paket och för att ange "planerad ÄtgÀrd" för dem i detta helskÀrmslÀge Àr följande.
Tabell 2.8. Lista över nyckelbindningar för aptitude
| nyckel | nyckelbindning |
|---|---|
F10 eller Ctrl-t |
meny |
? |
visa hjÀlp för tangenttryckning (mer fullstÀndig lista) |
F10 â HjĂ€lp â AnvĂ€ndarhandbok |
display AnvÀndarmanual |
u |
uppdatera paketets arkivinformation |
+ |
markera paketet för uppgradering eller installation |
- |
markera paketet för borttagning (behÄll konfigurationsfiler) |
_ |
markera paketet för rensning (ta bort konfigurationsfiler) |
= |
lÀgga paketet pÄ is |
U |
markera alla uppgraderingsbara paket (fungerar som fullstÀndig uppgradering) |
g |
pÄbörja nedladdning och installation av valda paket |
q |
lÀmna aktuell skÀrm och spara Àndringar |
x |
lÀmna aktuell skÀrm och kassera Àndringar |
Ange |
visa information om ett paket |
C |
visa ett pakets changelog |
l |
Àndra grÀnsen för de visade paketen |
/ |
sök efter den första matchen |
\ |
upprepa den senaste sökningen |
Filnamnsspecifikationen pÄ kommandoraden och menyprompten efter att du har
tryckt pÄ "l" och "//" anvÀnder
Aptitude regex enligt beskrivningen nedan. Aptitude regex kan uttryckligen
matcha ett paketnamn med hjÀlp av en strÀng som inleds med
"~n" och följs av paketnamnet.
|
Tips |
|---|---|
|
Du mÄste trycka pÄ " |
I det interaktiva helskÀrmslÀget för aptitude(8) visas
paketen i paketlistan som i nÀsta exempel.
idA libsmbclient -2220kB 3.0.25a-1 3.0.25a-2
HÀr betyder denna linje frÄn vÀnster som följande.
Flaggan "nuvarande tillstÄnd" (den första bokstaven)
Flaggan för "planerad ÄtgÀrd" (den andra bokstaven)
Den "automatiska" flaggan (den tredje bokstaven)
Paketets namn
FörÀndringen i anvÀndningen av diskutrymme till följd av "planerad ÄtgÀrd"
Den aktuella versionen av paketet
Kandidatversionen av paketet
|
Tips |
|---|---|
|
Den fullstÀndiga listan över flaggor finns lÀngst ned pÄ hjÀlpskÀrmen och visas genom att trycka pÄ
" |
Kandidatversionen vÀljs enligt de
aktuella lokala preferenserna (se apt_preferences(5) och
Avsnitt 2.7.7, âJustera kandidatversionen med apt-pinningâ).
Flera olika typer av paketvyer finns tillgÀngliga under menyn
"Vyer".
Tabell 2.9. Lista över vyer för lÀmplighet
| visa | beskrivning av vy |
|---|---|
Package View |
se Tabell 2.10, âKategoriseringen av standardpaketets vyerâ (standard) |
Audit Recommendations |
lista paket som rekommenderas av vissa installerade paket men som Ànnu inte har installerats |
Flat Package List |
lista paket utan kategorisering (för anvÀndning med regex) |
Debtags Browser |
lista paket kategoriserade enligt deras debtags-poster |
Source Package View |
lista paket grupperade efter kÀllpaket |
|
Notera |
|---|---|
|
HjÀlp oss att förbÀttra mÀrkningen av paket med debtags! |
Standardfunktionen "Package View" kategoriserar paket
ungefÀr som dselect med nÄgra extra funktioner.
Tabell 2.10. Kategoriseringen av standardpaketets vyer
| kategori | beskrivning av vy |
|---|---|
Upgradable Packages |
lista paket organiserade som sektion â
omrĂ„de â paket |
New Packages |
, , |
Installed Packages |
, , |
Not Installed Packages |
, , |
Obsolete and Locally Created Packages |
, , |
Virtual Packages |
lista paket med samma funktion |
Uppgifter |
lista paket med olika funktioner som vanligtvis behövs för en uppgift |
|
Tips |
|---|---|
|
|
Aptitude erbjuder flera alternativ för att söka efter paket med hjÀlp av regex-formeln.
Shell kommandorad:
"aptitude search 'aptitude_regex'"
för att lista installationsstatus, paketnamn och kort beskrivning av
matchande paket
"aptitude show 'package_name'" för
att visa en detaljerad beskrivning av paketet
Interaktivt helskÀrmslÀge:
"l" för att begrÀnsa paketvisningen till matchande paket
"/" för sökning till ett matchande paket
"\" för bakÄtriktad sökning till ett matchande paket
"n" för hitta nÀsta
"N" för find-next (bakÄt)
|
Tips |
|---|---|
|
StrÀngen för package_name behandlas som den exakta
strÀngmatchningen till paketnamnet om den inte uttryckligen inleds med
" |
Aptitude-regexformeln Ă€r mutt-liknande utökad ERE (se Avsnitt 1.6.2, âVanliga uttryckâ) och
betydelserna av de aptitude-specifika speciella
matchningsregeltillÀggen Àr följande.
Tabell 2.11. Lista över regexformeln för lÀmplighet
| beskrivning av den utökade matchningsregeln | regex-formel |
|---|---|
| matcha pÄ förpackningsnamn | ~nregex_name |
| matcha pÄ beskrivning | ~dregex_description |
| matcha pÄ uppgiftsnamn | ~tregex_task |
| match pÄ debtag | ~Gregex_debtag |
| matcha pÄ underhÄllare | ~mregex_maintainer |
| match pÄ paketavsnitt | ~sregex_section |
| matcha pÄ paketversion | ~Vregex_version |
| matcharkiv | ~A{trixie,forky,sid} |
| matcha ursprung | ~O{debian,âŠ} |
| matcha prioritet | ~p{extra,important,optional,required,standard} |
| matcha viktiga paket | ~E |
| matcha virtuella paket | ~v |
| matcha nya paket | ~N |
| matchning med pÄgÄende ÄtgÀrd | ~a{install,upgrade,downgrade,remove,purge,hold,keep} |
| matcha installerade paket | ~i |
| matcha installerade paket med A-mÀrkning(automatiskt installerade paket) | ~M |
| matcha installerade paket utan A-mÀrkning(administratörsvalda paket) | ~i!~M |
| matcha installerade och uppgraderingsbara paket | ~U |
| match avlÀgsnade men inte rensade paket | ~c |
| matchade borttagna, rensade eller kan tas bort paket | ~g |
| matcha paket som deklarerar ett brutet beroende | ~b |
| matcha paket som deklarerar brutna beroenden av typen | ~Btype |
| matcha mönsterpaket som deklarerar beroende av typen | ~D[type:]mönster |
| matcha mönsterpaket som deklarerar brutet beroende av typen | ~DB[type:]mönster |
| matcha paket till vilka det mönstermatchande paketet deklarerar beroendetyp | ~R[type:]pattern |
| matcha paket till vilka det mönstermatchande paketet deklarerar bruten beroendetyp | ~RB[type:]pattern |
| matcha paket som vissa andra installerade paket Àr beroende av | ~R~i |
| matcha paket som inga andra installerade paket Àr beroende av | !~R~i |
| matcha paket som vissa andra installerade paket Àr beroende av eller rekommenderar | ~R~i|~Rrecommends:~i |
| matcha mönsterpaket med filtrerad version | ~S filter pattern |
| matcha alla paket (true) | ~T |
| matcha inga paket (false) | ~F |
Regex-delen Àr samma ERE som anvÀnds i
typiska Unix-liknande textverktyg som anvÀnder "^",
".*", "$" etc. som i
egrep(1), awk(1) och
perl(1).
Beroendetypen Àr en av (depends, predepends, recommends, suggests, conflicts, replaces, provides) som anger paketets inbördes förhÄllande.
Standardberoendetypen Àr "depends".
|
Tips |
|---|---|
|
NÀr regex_pattern Àr en nollstrÀng placeras
" |
HÀr Àr nÄgra genvÀgar.
"~Pterm" ==
"~Dprovides:term"
"~Cterm" ==
"~Dkonflikter:term"
"âŠ~W term" == "(âŠ|term)"
AnvÀndare som Àr bekanta med mutt lÀr sig snabbt,
eftersom mutt var inspirationen till uttryckssyntaxen. Se "SĂKNING,
BEGRĂNSNING OCH UTTRYCK" i "AnvĂ€ndarhandboken"
"/usr/share/doc/aptitude/README".
|
Notera |
|---|---|
|
Med |
Valet av ett paket i aptitude drar inte bara in paket som
definieras i dess "Depends:"-lista utan Àven i
"Recommends:"-listan om menyn "F10 â
Options â Preferences â Dependency handling" Ă€r instĂ€lld i enlighet med
detta. Dessa automatiskt installerade paket tas bort automatiskt om de inte
lÀngre behövs under aptitude.
Flaggan som styr kommandot aptitude Àr "auto
install"-beteende kan ocksÄ manipuleras med kommandot
apt-mark(8) frÄn apt-paketet.
Du kan kontrollera paketaktivitetshistoriken i loggfilerna.
Tabell 2.12. Loggfiler för paketaktiviteter
| fil | innehÄll |
|---|---|
/var/log/dpkg.log |
Logg över aktivitet pÄ dpkg-nivÄ för alla
paketaktiviteter |
/var/log/apt/term.log |
Logg över generisk APT-aktivitet |
/var/log/aptitude |
Logg över aktiviteten för kommandot aptitude |
I verkligheten Ă€r det inte sĂ„ lĂ€tt att snabbt fĂ„ en meningsfull förstĂ„else frĂ„n dessa loggar. Se Avsnitt 9.3.9, âRegistrering av Ă€ndringar i konfigurationsfilerâ för ett enklare sĂ€tt.
HÀr Àr nÄgra exempel pÄ aptitude(8)-operationer.
Du kan söka efter paket som uppfyller dina behov med
aptitude frÄn paketbeskrivningen eller frÄn listan under
"Tasks".
Följande kommando listar paket med regex-matchning pÄ paketnamn.
$ aptitude search '~n(pam|nss).*ldap' p libnss-ldap - NSS module for using LDAP as a naming service p libpam-ldap - Pluggable Authentication Module allowing LDAP interfaces
Detta Àr mycket praktiskt om du vill hitta det exakta namnet pÄ ett paket.
Regexet "~dipv6" i vyn "New Flat Package List" med
prompten "l" begrÀnsar vyn till paket med matchande
beskrivning och lÄter dig blÀddra igenom deras information interaktivt.
Du kan rensa bort alla ÄterstÄende konfigurationsfiler för borttagna paket.
Kontrollera resultatet av följande kommando.
# aptitude search '~c'
Om du tror att de listade paketen Àr OK att rensa, kör följande kommando.
# aptitude purge '~c'
Du kanske vill göra samma sak i det interaktiva lÀget för att fÄ mer detaljerad kontroll.
Du anger regex "~c" i vyn "New Package View" med prompten
"l". Detta begrÀnsar paketvyn till att endast omfatta
paket som matchas med regex, dvs. "borttagna men inte rensade". Alla dessa
regex-matchade paket kan visas genom att trycka pÄ "[" i
rubrikerna pÄ översta nivÄn.
Sedan trycker du pÄ "_" vid rubriker pÄ högsta nivÄ,
t.ex. "Ej installerade paket". Endast regexmatchade paket under rubriken
markeras för att rensas med detta. Du kan utesluta vissa paket som ska
rensas genom att trycka pÄ "=" interaktivt för vart och
ett av dem.
Den hÀr tekniken Àr ganska praktisk och fungerar för mÄnga andra kommandotangenter.
SÄ hÀr stÀdar jag upp status för automatisk/manuell installation av paket (efter att ha anvÀnt installationsprogram för paket som inte Àr aptitude etc.).
Starta aptitude i interaktivt lÀge som root.
Skriv "u", "U", "f"
och "g" för att uppdatera och uppgradera paketlistan och
paketen.
Skriv "l" för att ange paketets visningsgrÀns som
"~i(~R~i|~Rrecommends:~i)" och skriv
"M" över "Installed Packages" som
automatiskt installerat.
Skriv "l" för att ange paketets visningsgrÀns som
"~prequired|~pimportant|~pstandard|~E" och skriv
"m" över "Installed Packages" som
manuellt installerat.
Skriv "l" för att ange grÀnsen för paketvisning som
"~i!~M" och ta bort oanvÀnda paket genom att skriva
"-" över vart och ett av dem efter att ha exponerat dem
genom att skriva "[" över "Installerade
paket".
Skriv "l", för att ange paketets visningsgrÀns som
"~i"; skriv sedan "m" över
"Tasks", för att markera det paketet som manuellt
installerat.
Avsluta aptitude.
Starta "apt-get -s autoremove|less" som root för att
kontrollera vad som inte anvÀnds.
Starta om aptitude i interaktivt lÀge och markera
nödvÀndiga paket som "m".
Starta om "apt-get -s autoremove|less" som root för att
kontrollera att REMOVED endast innehÄller förvÀntade paket.
Starta "apt-get autoremove|less" som root för att
automatiskt ta bort oanvÀnda paket.
"m"-ÄtgÀrden över "Tasks" Àr valfri
för att förhindra massuttag av paket i framtiden.
|
Notera |
|---|---|
|
NĂ€r du flyttar till en ny version bör du övervĂ€ga att utföra en ren installation av det nya systemet, Ă€ven om Debian kan uppgraderas enligt beskrivningen nedan. Detta ger dig en chans att ta bort skrĂ€p som samlats in och exponerar dig för den bĂ€sta kombinationen av de senaste paketen. Naturligtvis bör du göra en fullstĂ€ndig sĂ€kerhetskopiering av systemet till en sĂ€ker plats (se Avsnitt 10.2, âBackup och Ă„terstĂ€llningâ) innan du gör detta. Jag rekommenderar att du gör en dual boot-konfiguration med olika partitioner för att fĂ„ den smidigaste övergĂ„ngen. |
Du kan göra en systemomfattande uppgradering till en nyare version genom att
Àndra innehÄllet i kÀllistan som pekar pÄ
en ny version och köra kommandot "apt update; apt
dist-upgrade".
För att uppgradera frÄn stable till
testing eller unstable under
utgivningscykeln
trixie-as-stable ersÀtter
du "trixie" i kĂ€llistexemplet pĂ„ Avsnitt 2.1.5, âGrunderna i Debian-arkivetâ med
"forky" eller "sid".
I verkligheten kan du stöta pÄ vissa komplikationer pÄ grund av vissa
problem med paketövergÄngen, frÀmst pÄ grund av paketberoenden. Ju större
skillnaden mellan uppgraderingarna Àr, desto större Àr sannolikheten att du
fÄr större problem. För övergÄngen frÄn den gamla stable
till den nya stable efter lanseringen kan du lÀsa dess
nya Release Notes och följa den exakta
proceduren som beskrivs i den för att minimera problem.
NÀr du bestÀmmer dig för att flytta frÄn stable till
testing innan den formella releasen finns det inga Release Notes som kan hjÀlpa dig. Skillnaden
mellan stable och testing kan ha
blivit ganska stor efter den föregÄende stable releasen
och gör uppgraderingssituationen komplicerad.
Du bör vidta försiktighetsÄtgÀrder för den fullstÀndiga uppgraderingen samtidigt som du samlar in den senaste informationen frÄn sÀndlistan och anvÀnder sunt förnuft.
LĂ€s tidigare "Release Notes".
SÀkerhetskopiera hela systemet (sÀrskilt data- och konfigurationsinformation).
Ha startbart media till hands för trasig bootloader.
Informera anvÀndarna om systemet i god tid.
Registrera uppgraderingsaktivitet med skript(1).
AnvÀnd "unmarkauto" pÄ nödvÀndiga paket, t.ex. "aptitude unmarkauto
vim", för att förhindra borttagning.
Minimera antalet installerade paket för att minska risken för paketkonflikter, t.ex. genom att ta bort paket för skrivbordsuppgifter.
Ta bort filen "/etc/apt/preferences" (inaktivera
apt-pinning).
Försök att uppgradera stegvis: oldstable â
stable â testing â
unstable.
Uppdatera kÀllistan sÄ att den endast
pekar pÄ det nya arkivet och kör "aptitude update".
Installera eventuellt nya kÀrnpaket
först, t.ex. "aptitude install perl".
Kör kommandot "apt-get -s dist-upgrade" för att bedöma
effekten.
Kör kommandot "apt-get dist-upgrade" till sist.
|
Observera |
|---|---|
|
Det Àr inte klokt att hoppa över en större Debian-utgÄva nÀr man uppgraderar
mellan |
|
Observera |
|---|---|
|
I tidigare "Release Notes" har GCC, Linux Kernel, initrd-tools, Glibc, Perl, APT tool chain etc. krÀvt sÀrskild uppmÀrksamhet för systemomfattande uppgradering. |
|
Observera |
|---|---|
|
"Release Notes" may not cover all possible cases. If you change low level configurations, your next upgrade may fail badly as "... segfault after upgrade ...". |
För dagliga uppgradering i unstable, se Avsnitt 2.4.3, âSkydd för paketproblemâ.
HÀr Àr en lista över andra pakethanteringsoperationer för vilka
aptitude Àr för hög nivÄ eller saknar nödvÀndiga
funktioner.
Tabell 2.13. Lista över avancerade ÄtgÀrder för pakethantering
| kommando | ÄtgÀrd |
|---|---|
COLUMNS=120 dpkg -l
package_name_pattern |
lista status för ett installerat paket för felrapporten |
dpkg -L paketnamn |
lista innehÄllet i ett installerat paket |
dpkg -L paketnamn | egrep
'/usr/share/man/man.*/.+' |
lista manpages för ett installerat paket |
dpkg -S fil_namn_mönster |
lista installerade paket som har matchande filnamn |
apt-file search filnamnsmönster |
lista paket i arkivet som har matchande filnamn |
apt-file list package_name_pattern |
lista innehÄllet i matchande paket i arkivet |
dpkg-reconfigure paketnamn |
konfigurera om det exakta paketet |
dpkg-reconfigure -plow paketnamn |
konfigurera om det exakta paketet med den mest detaljerade frÄgan |
configure-debian |
omkonfigurera paket frÄn helskÀrmsmenyn |
dpkg --audit |
granskningssystem för delvis installerade paket |
dpkg --configure -a |
konfigurera alla delvis installerade paket |
apt-cache policy binary_package_name |
visa tillgÀnglig versions-, prioritets- och arkivinformation för ett binÀrt paket |
apt-cache madison paketnamn |
visa tillgÀnglig version, arkivinformation för ett paket |
apt-cache showsrc binÀr_paketnamn |
visa information om kÀllpaketet för ett binÀrt paket |
apt-get build-dep paket_namn |
installera nödvÀndiga paket för att bygga paket |
aptitude build-dep paket_namn |
installera nödvÀndiga paket för att bygga paket |
apt-get source paketnamn |
ladda ner en kÀlla (frÄn standardarkivet) |
dget URL för dsc-fil |
ladda ner ett kÀllpaket (frÄn annat arkiv) |
dpkg-source -x
package_name_version-debian.revision.dsc |
bygg ett kÀlltrÀd frÄn en uppsÀttning kÀllkodspaket
("*.orig.tar.gz" och
"*.debian.tar.gz"/"*.diff.gz") |
debuild binary |
bygga paket frÄn ett lokalt kÀlltrÀd |
make-kpkg kernel_image |
bygga ett kernelpaket frÄn ett kernelkÀlltrÀd |
make-kpkg --initrd kernel_image |
bygga ett kernelpaket frÄn ett kernelkÀlltrÀd med initramfs aktiverat |
dpkg -i
package_name_version-debian.revision_arch.deb |
installera ett lokalt paket till systemet |
apt install
/path/to/package_filename.deb |
installera ett lokalt paket i systemet och under tiden försöka lösa beroendet automatiskt |
debi
package_name_version-debian.revision_arch.dsc |
installera lokala paket till systemet |
dpkg --get-selections '*' >selection.txt |
spara dpkg nivÄ paketval statusinformation |
dpkg --set-selections <selection.txt |
set dpkg level information om status för val av paket |
echo paketnamn hold | dpkg
--set-selections |
stÀlla in paketvalsstatus pÄ dpkg-nivÄ för ett paket att
hÄlla (motsvarande "aptitude
hold package_name") |
|
Notera |
|---|---|
|
För ett paket med multi-arch-funktionen kan
du behöva ange arkitekturnamnet för vissa kommandon. AnvÀnd till exempel
" |
|
Observera |
|---|---|
|
Paketverktyg pÄ lÀgre nivÄ som " |
VÀnligen notera följande.
Alla kommandon för systemkonfiguration och installation mÄste köras frÄn root.
Till skillnad frĂ„n aptitude som anvĂ€nder regex (se Avsnitt 1.6.2, âVanliga uttryckâ) anvĂ€nder andra kommandon för
pakethantering mönster som shell glob (se Avsnitt 1.5.6, âSkal globâ).
apt-file(1) som tillhandahÄlls av
apt-file-paketet mÄste köra "apt-file
update" i förvÀg.
configure-debian(8) som tillhandahÄlls av paketet
configure-debian anvÀnder
dpkg-reconfigure(8) som backend.
dpkg-reconfigure(8) kör paketskript med
debconf(1) som backend.
kommandona "apt-get build-dep", "apt-get
source" och "apt-cache showsrc" krÀver att
"deb-src" anges i kÀllistan.
dget(1), debuild(1) och
debi(1) krÀver paketet devscripts.
Se (om)paketeringsproceduren med hjÀlp av "apt-get
source" pĂ„ Avsnitt 2.7.13, âPortering av ett paket till det stabila systemetâ.
kommandot make-kpkg krÀver paketet
kernel-package (se Avsnitt 9.10, âKĂ€rnanâ).
Se Avsnitt 12.9, âSkapa Debian-paketâ för allmĂ€nna förpackningar.
Installationen av debsums möjliggör verifiering av
installerade paketfiler mot MD5sum-vÀrden i filen
"/var/lib/dpkg/info/*.md5sums" med
debsums(1). Se Avsnitt 10.3.5, âMD5-summanâ för
information om hur MD5sum fungerar.
|
Notera |
|---|---|
|
Eftersom MD5sum-databasen kan manipuleras av en inkrÀktare Àr
|
MÄnga anvÀndare föredrar att följa de testversioner (eller unstable versioner) av Debian-systemet som innehÄller nya funktioner och paket. Detta gör systemet mer benÀget att drabbas av de kritiska paketbuggarna.
Installationen av paketet apt-listbugs skyddar ditt
system mot kritiska buggar genom att Debian BTS automatiskt kontrolleras för
kritiska buggar vid uppgradering med APT-systemet.
Installationen av paketet apt-listchanges ger viktiga
nyheter i "NEWS.Debian" vid uppgradering med
APT-systemet.
Ăven om det numera Ă€r lĂ€tt att söka i paketets metadata genom att besöka Debians webbplats https://packages.debian.org/, ska vi titta pĂ„ mer traditionella sĂ€tt.
Kommandona grep-dctrl(1),
grep-status(1) och grep-available(1)
kan anvÀndas för att söka i alla filer som har det allmÀnna formatet för en
Debian-paketkontrollfil.
"dpkg -S file_name_pattern" kan
anvÀndas för att söka efter paketnamn som innehÄller filer med matchande
namn som installerats av dpkg. Men detta förbiser filer
som skapats av underhÄllsskript.
Om du behöver göra en mer detaljerad sökning i dpkg:s metadata mÄste du köra
kommandot "grep -e regex_pattern *" i katalogen
"/var/lib/dpkg/info/". Detta gör att du kan söka pÄ ord
som nÀmns i paketskript och installationsfrÄgetexter.
Om du vill söka efter paketberoenden rekursivt bör du anvÀnda
apt-rdepends(8).
LÄt oss lÀra oss hur Debians pakethanteringssystem fungerar internt. Detta bör hjÀlpa dig att skapa din egen lösning pÄ vissa paketproblem.
Metadatafiler för varje distribution lagras under
"dist/codename" pÄ varje
Debian-spegelsida, t.ex. "http://deb.debian.org/debian/".
Dess arkivstruktur kan blÀddras igenom med webblÀsaren. Det finns 6 typer av
nyckelmetadata.
Tabell 2.14. InnehÄllet i Debian-arkivets metadata
| fil | plats | innehÄll |
|---|---|---|
Release |
toppen av distributionen | arkivbeskrivning och integritetsinformation |
Release.gpg |
toppen av distributionen | signaturfil för filen "Release" signerad med arkivnyckeln |
Contents-architecture |
toppen av distributionen | lista över alla filer för alla paket i det aktuella arkivet |
Release |
toppen av varje kombination av distribution/omrÄde/arkitektur | arkivbeskrivning som anvÀnds för regeln i
apt_preferences(5) |
Packages |
toppen av varje kombination av distribution/omrÄde/binÀr-arkitektur | sammanlÀnkad debian/control för binÀra paket |
Sources |
toppen av varje kombination av distribution/omrÄde/kÀlla | sammanlÀnkad debian/control för kÀllkodspaket |
I det senaste arkivet lagras dessa metadata som komprimerade och differentierade filer för att minska nÀtverkstrafiken.
|
Tips |
|---|---|
|
Filen " |
Varje svit i Debian-arkivet har en "Release"-fil pÄ
högsta nivÄn,
t.ex.
"http://deb.debian.org/debian/dists/unstable/Release",
enligt följande.
Origin: Debian Label: Debian Suite: unstable Codename: sid Date: Sat, 14 May 2011 08:20:50 UTC Valid-Until: Sat, 21 May 2011 08:20:50 UTC Architectures: alpha amd64 armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc Components: main contrib non-free Description: Debian x.y Unstable - Not Released MD5Sum: bdc8fa4b3f5e4a715dd0d56d176fc789 18876880 Contents-alpha.gz 9469a03c94b85e010d116aeeab9614c0 19441880 Contents-amd64.gz 3d68e206d7faa3aded660dc0996054fe 19203165 Contents-armel.gz ...
|
Notera |
|---|---|
|
HĂ€r kan du lĂ€sa min motivering till att anvĂ€nda "suite" och "codename" i Avsnitt 2.1.5, âGrunderna i Debian-arkivetâ. "Distribution" anvĂ€nds nĂ€r man hĂ€nvisar till bĂ„de "suite" och "codename". Alla arkivnamn för "area" som erbjuds av arkivet listas under "Components". |
Integriteten hos filen "Release" pÄ högsta nivÄn
verifieras av en kryptografisk infrastruktur som kallas secure apt och som beskrivs i
apt-secure(8).
Den kryptografiska signaturfilen "Release.gpg" skapas
frÄn den autentiska toppnivÄfilen "Release" och den
hemliga Debian-arkivnyckeln.
De offentliga Debian-arkivnycklarna installeras lokalt med det senaste
paketet debian-archive-keyring.
Det sÀkra APT-systemet verifierar
automatiskt integriteten hos den nedladdade filen
"Release" pÄ högsta nivÄn kryptografiskt med hjÀlp av
filen "Release.gpg" och de lokalt installerade offentliga
Debian-arkivnycklarna.
Integriteten hos alla "Packages"- och
"Sources"-filer verifieras med hjÀlp av MD5sum-vÀrden i
"Release"-filen pÄ högsta nivÄn. Integriteten för alla
paketfiler verifieras genom att anvÀnda MD5sum-vÀrden i filerna
"Packages" och "Sources". Se
debsums(1) och Avsnitt 2.4.2, âVerifiering av installerade paketfilerâ.
Eftersom verifieringen av kryptografiska signaturer Àr en mycket mer
processorkrÀvande process Àn berÀkningen av MD5sum-vÀrdet, ger anvÀndningen
av MD5sum-vÀrdet för varje paket samtidigt som kryptografisk signatur
anvÀnds för "Release"-filen pÄ högsta nivÄ god sÀkerhet med hög
prestanda (se Avsnitt 10.3, âInfrastruktur för datasĂ€kerhetâ).
Om posten i kÀllistan anger alternativet
"signed-by" verifieras integriteten hos den nedladdade
"Release"-filen pÄ högsta nivÄn med hjÀlp av den angivna
offentliga nyckeln. Detta Àr anvÀndbart nÀr kÀllistan innehÄller icke-Debian-arkiv.
|
Tips |
|---|---|
|
AnvÀndningen av kommandot |
Du kan ocksÄ manuellt verifiera integriteten hos filen
"Release" med filen "Release.gpg" och
den offentliga Debian-arkivnyckeln som finns pÄ ftp-master.debian.org med hjÀlp av
gpg.
|
Tips |
|---|---|
|
Filerna pÄ arkivnivÄn " |
Det finns "Release"-filer pÄ arkivnivÄ för alla
arkivplatser som anges i kÀllistan,
t.ex.
"http://deb.debian.org/debian/dists/unstable/main/binary-amd64/Release"
eller
"http://deb.debian.org/debian/dists/sid/main/binary-amd64/Release"
enligt följande.
Archive: unstable Origin: Debian Label: Debian Component: main Architecture: amd64
|
Observera |
|---|---|
|
För " |
För vissa arkiv, t.ex. experimental och
trixie-backports, som innehÄller paket som
inte bör installeras automatiskt, finns det en extra rad,
t.ex.
"http://deb.debian.org/debian/dists/experimental/main/binary-amd64/Release"
enligt följande.
Archive: experimental Origin: Debian Label: Debian NotAutomatic: yes Component: main Architecture: amd64
Observera att för normala arkiv utan "NotAutomatic: yes"
Àr standardvÀrdet för Pin-Priority 500, medan för specialarkiv med
"NotAutomatic: yes" Àr standardvÀrdet för Pin-Priority 1
(se apt_preferences(5) och Avsnitt 2.7.7, âJustera kandidatversionen med apt-pinningâ).
NÀr APT-verktyg, sÄsom aptitude,
apt-get, synaptic,
apt-file, auto-apt, ... anvÀnds, mÄste
vi uppdatera de lokala kopiorna av metadata som innehÄller
Debian-arkivinformationen. Dessa lokala kopior har följande filnamn som
motsvarar de angivna distributions-,
omrÄdes- och arkitekturnamnen i
kĂ€llistan (se Avsnitt 2.1.5, âGrunderna i Debian-arkivetâ).
"/var/lib/apt/lists/deb.debian.org_debian_dists_distribution_Release"
"/var/lib/apt/lists/deb.debian.org_debian_dists_distribution_Release.gpg"
"/var/lib/apt/lists/deb.debian.org_debian_dists_distribution_area_binary-architecture_Packages"
"/var/lib/apt/lists/deb.debian.org_debian_dists_distribution_area_source_Sources"
"/var/cache/apt/apt-file/deb.debian.org_debian_dists_distribution_Contents-arkitektur.gz"
(för apt-file)
De första 4 typerna av filer delas av alla relevanta APT-kommandon och
uppdateras frÄn kommandoraden med "apt-get update" eller
"aptitude update". Metadata för
"Packages" uppdateras om "deb" anges i
kÀllistan. Metadata för
"Sources" uppdateras om "deb-src"
anges i kÀllistan.
Metadata för "Packages" och "Sources"
innehÄller "Filename:"-stanza som pekar pÄ filplatsen för
binÀr- och kÀllkodspaketen. För nÀrvarande finns dessa paket under
katalogtrÀdet "pool/" för att underlÀtta övergÄngen
mellan olika utgÄvor.
Lokala kopior av metadata för "Packages" kan sökas
interaktivt med hjÀlp av aptitude. Det specialiserade
sökkommandot grep-dctrl(1) kan söka i lokala kopior av
metadata för "Packages" och "Sources".
Den lokala kopian av metadata för
"Contents-architecture" kan
uppdateras med "apt-file update" och dess plats skiljer
sig frÄn de andra 4. Se apt-file(1). (
Auto-Apt anvÀnder som standard en annan plats för den
lokala kopian av
"Contents-architecture.gz")
Förutom de fjÀrrhÀmtade metadata lagrar APT-verktyget efter
Lenny sin lokalt genererade information om
installationsstatus i "/var/lib/apt/extended_states", som
anvÀnds av alla APT-verktyg för att spÄra alla automatiskt installerade
paket.
Förutom de metadata som hÀmtas pÄ distans lagrar kommandot
aptitude sin lokalt genererade information om
installationsstatus i "/var/lib/aptitude/pkgstates", som
endast anvÀnds av kommandot.
Alla paket som hÀmtas pÄ distans via APT-mekanismen lagras i
"/var/cache/apt/archives" tills de rensas.
Denna policy för rensning av cachefiler för aptitude kan
stĂ€llas in under "Alternativ" â
"InstÀllningar" och den kan tvingas fram via menyn
"Rensapaketcache" eller "RensaförÄldrade
filer" under "Ă
tgÀrder".
Debians paketfiler har sÀrskilda namnstrukturer.
Tabell 2.15. Namnstrukturen för Debian-paket
| paket typ | namn struktur |
|---|---|
Det binÀra paketet (a.k.a deb) |
paketnamn_upstream-version-debian.revision_arkitektur.deb |
Det binÀra paketet för debian-installer (Àven kallat
udeb) |
paketnamn_upstream-version-debian.revision_arkitektur.udeb |
| KÀllkodspaketet (uppströmskÀlla) | paketnamn_upstream-version-debian.revision.orig.tar.gz |
KĂ€llkodspaketet 1.0 (Debian-Ă€ndringar) |
package-name_upstream-version-debian.revision.diff.gz |
KĂ€llkodspaketet 3.0 (quilt ) (Debian-Ă€ndringar) |
paketnamn_upstream-version-debian.revision.debian.tar.gz |
| KĂ€llpaketet (beskrivning) | paketnamn_upstream-version-debian.revision.dsc |
|
Tips |
|---|---|
|
HÀr beskrivs endast de grundlÀggande formaten för kÀllkodspaket. Se mer pÄ
|
Tabell 2.16. De anvÀndbara tecknen för varje komponent i Debian-paketets namn
| namn komponent | anvÀndbara tecken (ERE regex) | existens |
|---|---|---|
paket-namn |
[a-z0-9][-a-z0-9.+]+ |
krÀvs |
epoch: |
[0-9]+: |
valfritt |
upstream-version |
[-a-zA-Z0-9.+:]+ |
krÀvs |
debian.revision |
[a-zA-Z0-9.+~]+ |
valfritt |
|
Notera |
|---|---|
|
Du kan kontrollera paketets versionsordning med |
|
Notera |
|---|---|
|
Debian-installer (d-i) anvÀnder
|
dpkg(1) Àr verktyget pÄ lÀgsta nivÄ för Debians
pakethantering. Det Àr mycket kraftfullt och mÄste anvÀndas med
försiktighet.
Under installationen av paketet med namnet
"paketets_namn", bearbetar
dpkg det i följande ordning.
Packa upp deb-filen (motsvarande "ar -x")
Kör"package_name.preinst" med
debconf(1)
Installera paketets innehÄll i systemet ("tar
-x"-motsvarighet)
Kör"package_name.postinst" med
debconf(1)
Debconf-systemet tillhandahÄller standardiserad
anvÀndarinteraktion med I18N- och L10N-stöd (Kapitel 8, I18N och L10N).
Tabell 2.17. De anmÀrkningsvÀrda filer som skapats av dpkg
| fil | beskrivning av innehÄll |
|---|---|
/var/lib/dpkg/info/package_name.conffiles |
lista över konfigurationsfiler. (kan Àndras av anvÀndaren) |
/var/lib/dpkg/info/package_name.list |
lista över filer och kataloger som installerats av paketet |
/var/lib/dpkg/info/package_name.md5sums |
lista över MD5-hashvÀrden för filer som installerats av paketet |
/var/lib/dpkg/info/package_name.preinst |
paketskript som ska köras innan paketet installeras |
/var/lib/dpkg/info/package_name.postinst |
paketskript som ska köras efter installationen av paketet |
/var/lib/dpkg/info/package_name.prerm |
paketskript som ska köras innan paketet tas bort |
/var/lib/dpkg/info/package_name.postrm |
paketskript som ska köras efter att paketet har tagits bort |
/var/lib/dpkg/info/package_name.config |
paket skript för debconf system |
/var/lib/dpkg/alternatives/package_name |
den alternativa information som anvÀnds av kommandot
update-alternatives |
/var/lib/dpkg/available |
information om tillgÀnglighet för alla paket |
/var/lib/dpkg/diversions |
den avledningsinformation som anvÀnds av dpkg(1) och som
stÀlls in av dpkg-divert(8) |
/var/lib/dpkg/statoverride |
information om stat-överstyrning som anvÀnds av dpkg(1)
och stÀlls in av dpkg-statoverride(8) |
/var/lib/dpkg/status |
statusinformation för alla paket |
/var/lib/dpkg/status-old |
den första generationens sÀkerhetskopia av filen
"var/lib/dpkg/status" |
/var/backups/dpkg.status* |
andra generationens sÀkerhetskopia och Àldre versioner av filen
"var/lib/dpkg/status" |
Filen "status" anvÀnds ocksÄ av verktyg som
dpkg(1), "dselect update" och
"apt-get -u dselect-upgrade".
Det specialiserade sökkommandot grep-dctrl(1) kan söka i
de lokala kopiorna av metadata för "status" och
"available".
|
Tips |
|---|---|
|
I debian-installer-miljön anvÀnds
kommandot |
Debian-systemet har en mekanism för att installera överlappande program pÄ
ett fredligt sÀtt med hjÀlp av update-alternatives(1).
Du kan till exempel lÄta vi-kommandot vÀlja att köra
vim samtidigt som du installerar bÄde
vim- och nvi-paket.
$ ls -l $(type -p vi)
lrwxrwxrwx 1 root root 20 2007-03-24 19:05 /usr/bin/vi -> /etc/alternatives/vi
$ sudo update-alternatives --display vi
...
$ sudo update-alternatives --config vi
Selection Command
----------------------------------------------
1 /usr/bin/vim
*+ 2 /usr/bin/nvi
Enter to keep the default[*], or type selection number: 1
Debians alternativsystem behÄller sitt urval som symlÀnkar i
"/etc/alternatives/". Urvalsprocessen anvÀnder
motsvarande fil i "/var/lib/dpkg/alternatives/".
Stat-överskrivningar som tillhandahÄlls
av kommandot dpkg-statoverride(8) Àr ett sÀtt att tala om
för dpkg(1) att anvÀnda en annan Àgare eller ett annat
lÀge för en fil nÀr ett paket
installeras. Om "--update" anges och filen finns, sÀtts
den omedelbart till den nya Àgaren och det nya lÀget.
|
Observera |
|---|---|
|
Om systemadministratören direkt Àndrar Àgare eller lÀge för en fil som Àgs av paketet med hjÀlp av kommandona
|
|
Notera |
|---|---|
|
Jag anvÀnder ordet fil hÀr, men i sjÀlva
verket kan det vara vilket filsystemobjekt som helst som
|
Filavledningar som tillhandahÄlls av
kommandot dpkg-divert(8) Àr ett sÀtt att tvinga
dpkg(1) att inte installera en fil pÄ dess standardplats,
utan pÄ en avledd plats. AnvÀndningen av
dpkg-divert Àr avsedd för skript för paketunderhÄll. Den
tillfÀlliga anvÀndningen av systemadministratören Àr förÄldrad.
NÀr testing eller unstable system körs
förvÀntas administratören ÄterhÀmta sig frÄn en trasig
pakethanteringssituation.
|
Observera |
|---|---|
|
Vissa metoder som beskrivs hÀr Àr högriskÄtgÀrder. Du har blivit varnad! |
Om ett grafiskt grÀnssnittsprogram för skrivbord upplevde instabilitet efter en betydande uppgradering av uppströmsversionen, bör du misstÀnka störningar i gamla lokala konfigurationsfiler som skapats av det. Om det Àr stabilt under ett nyskapat anvÀndarkonto bekrÀftas denna hypotes. (Detta Àr ett fel i paketeringen som vanligtvis undviks av paketeraren)
För att ÄterstÀlla stabiliteten bör du flytta motsvarande lokala konfigurationsfiler och starta om GUI-programmet. Du kan behöva lÀsa innehÄllet i gamla konfigurationsfiler för att Äterskapa konfigurationsinformation senare. (Radera dem inte för snabbt.)
Cachningsfel i paketdata orsakar spÀnnande fel, t.ex. "GPG-fel: ... ogiltigt: BADSIG ..." med APT.
Du bör ta bort alla cachade data med "sudo rm -rf /var/lib/apt/*
" och försöka igen. (Om apt-cacher-ng anvÀnds
bör du Àven köra "sudo rm -rf /var/cache/apt-cacher-ng/*
")
Since dpkg is very low level package tool, it can
function without network connection.
Let's assume foo package was broken and needs to be
fixed.
Du kan fortfarande hitta cachade kopior av Àldre buggfria versioner av
foo-paketet i paketets cachekatalog:
"/var/cache/apt/archives/". (Om inte, kan du hÀmta den
frÄn arkivet pÄ https://snapshot.debian.org/ eller
kopiera den frÄn paketcachen pÄ en fungerande maskin)
Om du kan starta upp systemet kan du installera det med följande kommando.
# dpkg -i /path/to/foo_old_version_arch.deb
Om ett försök att installera ett paket pÄ det hÀr sÀttet misslyckas pÄ grund
av vissa beroendeövertrÀdelser och du verkligen mÄste göra detta som en
sista utvÀg, kan du ÄsidosÀtta beroendet med hjÀlp av
dpkg:s "--ignore-depends",
"--force-depends" och andra alternativ. Om du gör detta
mÄste du anstrÀnga dig ordentligt för att ÄterstÀlla korrekt beroende
senare. Se dpkg(8) för mer information.
|
Notera |
|---|---|
|
Om ditt system Ă€r allvarligt trasigt bör du göra en fullstĂ€ndig sĂ€kerhetskopia av systemet pĂ„ en sĂ€ker plats (se Avsnitt 10.2, âBackup och Ă„terstĂ€llningâ) och utföra en ren installation. Detta Ă€r mindre tidskrĂ€vande och ger bĂ€ttre resultat i slutĂ€ndan. |
|
Tips |
|---|---|
|
Om systemhaveriet Ă€r mindre kan man alternativt nedgradera hela systemet som i Avsnitt 2.7.11, âAkut nedgraderingâ genom att anvĂ€nda APT-systemet pĂ„ högre nivĂ„. |
Om du försöker installera ett paket med "sudo dpkg -i
..." pÄ ett system dÀr alla beroendepaket inte Àr installerade,
kommer paketinstallationen att misslyckas som delvis installerad.
You should install all dependency packages by repeatedly using
"sudo dpkg -i ..." or by using:
# apt --fix-broken install
Konfigurera sedan alla delvis installerade paket med följande kommando.
# dpkg --configure -a
Pakethanteringssystem pÄ arkivnivÄ, t.ex. aptitude(8)
eller apt-get(1), försöker inte ens installera paket med
överlappande filer med hjĂ€lp av paketberoenden (se Avsnitt 2.1.7, âBeroenden av paketâ).
Fel frÄn paketunderhÄllaren eller distribution av inkonsekvent blandade
arkivkĂ€llor (se Avsnitt 2.7.6, âPaket frĂ„n blandade arkivkĂ€llor utan apt-pinningâ)
av systemadministratören kan skapa en situation med felaktigt definierade
paketberoenden. NÀr du installerar ett paket med överlappande filer med
aptitude(8) eller apt-get(1) i en
sÄdan situation, ser dpkg(1) som packar upp paketet till
att returnera fel till det anropande programmet utan att skriva över
befintliga filer.
|
Observera |
|---|---|
|
AnvÀndningen av tredjepartspaket medför betydande systemrisker via
underhÄllsskript som körs med root-rÀttigheter och kan göra vad som helst
med ditt system. Kommandot |
Du kan komma runt en sÄdan trasig installation genom att ta bort det gamla
felaktiga paketet, gamla
paketetförst.
$ sudo dpkg -P old-package
NÀr ett kommando i paketskriptet av nÄgon anledning returnerar ett felmeddelande och skriptet avslutas med ett felmeddelande avbryter pakethanteringssystemet sin ÄtgÀrd och fÄr delvis installerade paket. NÀr ett paket innehÄller buggar i sina borttagningsskript kan paketet bli omöjligt att ta bort och ganska otrevligt.
För problemet med paketskriptet
"paketets_namn", bör du titta pÄ
följande paketskript.
"/var/lib/dpkg/info/package_name.preinst"
"/var/lib/dpkg/info/package_name.postinst"
"/var/lib/dpkg/info/package_name.prerm"
"/var/lib/dpkg/info/package_name.postrm"
Redigera det felaktiga paketskriptet frÄn roten med hjÀlp av följande tekniker.
inaktivera den krÀnkande raden genom att föregÄ "#"
tvinga fram en lyckad retur genom att lÀgga till "||
true" pÄ den felaktiga raden
Konfigurera sedan alla delvis installerade paket med följande kommando.
# dpkg --configure -a
Om "/var/lib/dpkg/status" blir korrupt av nÄgon
anledning, förlorar Debiansystemet data om paketval och drabbas hÄrt. Leta
efter den gamla filen "/var/lib/dpkg/status" i
"/var/lib/dpkg/status-old" eller
"/var/backups/dpkg.status.*".
Att ha "/var/backups/" i en separat partition kan vara en
bra idé eftersom den hÀr katalogen innehÄller massor av viktiga systemdata.
Vid allvarliga skador rekommenderar jag att man gör en nyinstallation efter
att ha tagit en sĂ€kerhetskopia av systemet. Ăven om allt i
"/var/" Àr borta kan du fortfarande Äterskapa viss
information frÄn kataloger i "/usr/share/doc/" för att
vÀgleda din nya installation.
Installera om det minimala systemet (skrivbordet).
# mkdir -p /path/to/old/system
Montera det gamla systemet pÄ "/path/to/old/system/".
# cd /path/to/old/system/usr/share/doc # ls -1 >~/ls1.txt # cd /usr/share/doc # ls -1 >>~/ls1.txt # cd # sort ls1.txt | uniq | less
Sedan presenteras du med paketnamn som ska installeras. (Det kan finnas
nÄgra icke-paketnamn som "texmf".)
För enkelhetens skull presenteras exemplen pÄ kÀllistan i det hÀr avsnittet som
"/etc/apt/sources.list" i enradig stil efter utgÄvan
trixie.
Ăven om namnet pĂ„ underhĂ„llaren som anges i
"/var/lib/dpkg/available" och
"/usr/share/doc/package_name/changelog" ger viss
information om "vem som ligger bakom paketeringsaktiviteten", Àr den
faktiska uppladdaren av paketet nÄgot
dunkel. who-uploads(1) i
devscripts-paketet identifierar den faktiska uppladdaren
av Debians kÀllkodspaket.
Om du vill begrÀnsa nedladdningsbandbredden för APT till t.ex. 800Kib/sek (=100kiB/sek) ska du konfigurera APT med följande konfigurationsparameter.
APT::Acquire::http::Dl-Limit "800";
Paketet apt levereras med ett eget cron-skript
"/etc/cron.daily/apt" för att stödja automatisk
nedladdning av paket. Detta skript kan förbÀttras för att utföra automatisk
uppgradering av paket genom att installera paketet
unattended-upgrades. Dessa kan anpassas med parametrar i
"/etc/apt/apt.conf.d/02backup" och
"/etc/apt/apt.conf.d/50unattended-upgrades" som beskrivs
i "/usr/share/doc/unattended-upgrades/README".
Paketet unattended-upgrades Àr huvudsakligen avsett för
sÀkerhetsuppgraderingar av stable system. Om risken för
att ett befintligt stable system bryts ned av den
automatiska uppgraderingen Àr mindre Àn risken för att systemet bryts ned av
en inkrÀktare som anvÀnder ett sÀkerhetshÄl som har tÀppts till av
sÀkerhetsuppdateringen, bör du övervÀga att anvÀnda denna automatiska
uppgradering med konfigurationsparametrar enligt följande.
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::Unattended-Upgrade "1";
Om du kör ett testing eller unstable
system vill du inte anvÀnda den automatiska uppgraderingen eftersom systemet
dĂ„ sĂ€kert gĂ„r sönder nĂ„gon dag. Ăven i sĂ„dana testing
eller unstable fall kan du ÀndÄ vilja hÀmta paket i
förvÀg för att spara tid för den interaktiva uppgraderingen med
konfigurationsparametrar som följande.
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::Unattended-Upgrade "0";
Det finns stable-updates (
"trixie-updates" under utgivningscykeln
trixie-as-stable ) och
backports.debian.org-arkiv som
tillhandahÄller uppgraderingspaket för stable.
För att kunna anvÀnda dessa arkiv mÄste du lista alla nödvÀndiga arkiv i
filen "/etc/apt/sources.list" enligt följande.
deb http://deb.debian.org/debian/ trixie main non-free-firmware contrib non-free deb http://security.debian.org/debian-security trixie-security main non-free-firmware contrib non-free deb http://deb.debian.org/debian/ trixie-updates main non-free-firmware contrib non-free deb http://deb.debian.org/debian/ trixie-backports main non-free-firmware contrib non-free
Det finns inget behov av att ange Pin-Priority-vÀrdet explicit i filen
"/etc/apt/preferences". NĂ€r nyare paket blir
tillgÀngliga ger standardkonfigurationen de flesta rimliga uppgraderingar
(se Avsnitt 2.5.3, â"Release"-filer pĂ„ arkivnivĂ„â).
Alla installerade Àldre paket uppgraderas till nyare frÄn
trixie-updates.
Endast manuellt installerade Àldre paket frÄn
trixie-backports uppgraderas till nyare paket
frÄn trixie-backports.
NĂ€r du vill installera ett paket med namnet
"paket-namn" med dess beroende frÄn
trixie-backports arkiv manuellt, anvÀnder du
följande kommando medan du byter mÄlversion med alternativet
"-t".
$ sudo apt-get install -t trixie-backports package-name
|
Varning |
|---|---|
|
Installera inte för mĂ„nga paket frĂ„n backports.debian.org-arkiven. Det kan orsaka komplikationer med paketberoenden. Se Avsnitt 2.1.11, âHur man hanterar motstridiga kravâ för alternativa lösningar. |
|
Varning |
|---|---|
|
Du bör vara medveten om att det externa paketet fĂ„r root-behörighet till ditt system. Du bör endast anvĂ€nda det betrodda externa paketarkivet. Se Avsnitt 2.1.11, âHur man hanterar motstridiga kravâ för alternativa lösningar. |
Du kan anvÀnda sÀker APT med Debian-kompatibla externa paketarkiv genom att
lÀgga till det i kÀllistan och dess
arkivnyckelfil i katalogen "/etc/apt/trusted.gpg.d/". Se
sources.list(5), apt-secure(8) och
apt-key(8).
|
Observera |
|---|---|
|
Installation av paket frÄn blandade arkivkÀllor stöds inte av den officiella
Debian-distributionen, med undantag för officiellt stödda sÀrskilda
kombinationer av arkiv, t.ex. |
HÀr Àr ett exempel pÄ ÄtgÀrder för att inkludera specifika paket med nyare
uppströmsversioner som finns i unstable nÀr du spÄrar
testing för ett enstaka tillfÀlle.
Ăndra filen "/etc/apt/sources.list" tillfĂ€lligt till en
enda "unstable"-post.
Kör "aptitude update".
Kör "aptitude install paket-namn".
Ă
terstÀll den ursprungliga filen "/etc/apt/sources.list"
för testing.
Kör "aptitude update".
Du skapar inte filen "/etc/apt/preferences" och behöver
inte heller oroa dig för apt-pinning med
detta manuella tillvÀgagÄngssÀtt. Men detta Àr mycket besvÀrligt.
|
Observera |
|---|---|
|
NÀr du anvÀnder blandade arkivkÀllor mÄste du sjÀlv se till att paketen Àr kompatibla, eftersom Debian inte garanterar det. Om paket inte Àr kompatibla kan det leda till att systemet inte fungerar. Du mÄste kunna bedöma dessa tekniska krav. AnvÀndningen av blandade kÀllor av slumpmÀssiga arkiv Àr helt valfri och det Àr inget jag uppmuntrar dig att anvÀnda. |
AllmÀnna regler för installation av paket frÄn olika arkiv Àr följande.
Icke-binÀra paket ( "Architecture: all") Àr sÀkrare att installera.
dokumentationspaket: inga sÀrskilda krav
tolkprogramspaket: kompatibel tolk mÄste finnas tillgÀnglig
BinÀra paket (icke "Architecture: all") möter vanligtvis
mÄnga vÀgspÀrrar och Àr osÀkra att
installera.
kompatibilitet med biblioteksversioner (inklusive "libc")
relaterat verktyg programversion kompatibilitet
ABI-kompatibilitet för kÀrnan
Kompatibilitet med C++ ABI
âŠ
|
Notera |
|---|---|
|
För att göra ett paket sÀkrare att installera kan vissa kommersiella, icke-fria binÀra programpaket innehÄlla helt statiskt lÀnkade bibliotek. Du bör ÀndÄ kontrollera ABI-kompatibilitetsproblem etc. för dem. |
|
Notera |
|---|---|
|
Förutom för att undvika trasiga paket pĂ„ kort sikt, Ă€r det i allmĂ€nhet en dĂ„lig idĂ© att installera binĂ€ra paket frĂ„n icke-Debian-arkiv. Du bör söka efter alla tillgĂ€ngliga alternativa sĂ€krare tekniska lösningar som Ă€r kompatibla med ditt nuvarande Debian-system (se Avsnitt 2.1.11, âHur man hanterar motstridiga kravâ). |
|
Varning |
|---|---|
|
Om en nybörjare anvÀnder apt-pinning-tekniken kan det leda till stora problem. Du mÄste undvika att anvÀnda den hÀr tekniken utom nÀr du absolut behöver den. |
Utan filen "/etc/apt/preferences" vÀljer APT-systemet den
senast tillgÀngliga versionen som kandidatversion med hjÀlp av versionsstrÀngen.
Detta Àr det normala tillstÄndet och den mest rekommenderade anvÀndningen av
APT-systemet. Alla officiellt stödda kombinationer av arkiv krÀver inte
filen "/etc/apt/preferences" eftersom vissa arkiv som
inte bör anvÀndas som automatisk kÀlla för uppgraderingar markeras som
NotAutomatic och hanteras pÄ rÀtt sÀtt.
|
Tips |
|---|---|
|
JÀmförelseregeln för versionsstrÀngar kan verifieras med
t.ex. " |
NĂ€r du regelbundet installerar paket frĂ„n blandade arkivkĂ€llor (se Avsnitt 2.7.6, âPaket frĂ„n blandade arkivkĂ€llor utan apt-pinningâ) kan du automatisera
dessa komplicerade operationer genom att skapa filen
"/etc/apt/preferences" med rÀtt poster och justera
paketvalsregeln för kandidatversionen
enligt beskrivningen i apt_preferences(5). Detta kallas
apt-pinning.
NÀr du anvÀnder apt-pinning mÄste du sjÀlv se till att paketen Àr kompatibla eftersom Debian inte garanterar det. Apt-pinning Àr en helt frivillig ÄtgÀrd och jag uppmuntrar inte till att anvÀnda den.
Release-filer pĂ„ arkivnivĂ„ (se Avsnitt 2.5.3, â"Release"-filer pĂ„ arkivnivĂ„â) anvĂ€nds för regeln i
apt_preferences(5). SÄledes fungerar apt-pinning endast med "suite"-namn för normala Debian-arkiv och Debian-arkiv för sÀkerhet. (Detta
skiljer sig frÄn Ubuntu-arkiv.) Du kan
t.ex. göra "Pin: release a=unstable" men inte
"Pin: release a=sid" i filen
"/etc/apt/preferences".
NÀr du anvÀnder icke-Debian-arkiv som en del av apt-pinning bör du kontrollera vad de Àr avsedda för och Àven kontrollera deras trovÀrdighet. Ubuntu och Debian Àr till exempel inte avsedda att blandas.
|
Notera |
|---|---|
|
Ăven om du inte skapar filen " |
HÀr följer en förenklad förklaring av apt-pinning-tekniken.
APT-systemet vÀljer det uppgraderingspaket med högst Pin-prioritet frÄn
tillgÀngliga paketkÀllor som definieras i filen
"/etc/apt/sources.list" som kandidatversionspaket. Om paketets Pin-Priority Àr
större Àn 1000, tas denna versionsbegrÀnsning för uppgradering bort för att möjliggöra nedgradering
(se Avsnitt 2.7.11, âAkut nedgraderingâ).
Pin-Priority-vÀrdet för varje paket definieras av "Pin-Priority"-poster i
filen "/etc/apt/preferences" eller anvÀnder dess
standardvÀrde.
Tabell 2.18. Lista över anmÀrkningsvÀrda Pin-Priority-vÀrden för apt-pinning-teknik.
| Pin-prioritet | apt-pinning effekter till paketet |
|---|---|
| 1001 | installera paketet Àven om detta utgör en nedgradering av paketet |
| 990 | anvÀnds som standard för mÄlversionens arkiv |
| 500 | anvÀnds som standard för det normala arkivet |
| 100 | anvÀnds som standard för arkiven NotAutomatic och ButAutomaticUpgrades |
| 100 | anvÀnds för det installerade paketet |
| 1 | anvÀnds som standard för NotAutomatic-arkivet |
| -1 | installera aldrig paketet Àven om det rekommenderas |
MÄlarkivet för utgÄvan kan anges med
kommandoradsalternativet,t.ex. "apt-get install -t testing
some-package"
Arkivet NotAutomatic and ButAutomaticUpgrades skapas genom att arkivservern
har en Release-fil pĂ„ arkivnivĂ„ (se Avsnitt 2.5.3, â"Release"-filer pĂ„ arkivnivĂ„â) som innehĂ„ller bĂ„de
"NotAutomatic: yes" och "ButAutomaticUpgrades:
yes". NotAutomatic-arkivet
skapas genom att arkivservern har en Release-fil pÄ arkivnivÄ som endast
innehÄller "NotAutomatic:yes".
Situationen med apt-pinning av
paket frÄn flera arkivkÀllor visas av
"apt-cache policy package".
En rad som börjar med "Package pin:" listar
paketversionen av pin om associationen
bara med paket Àr definierad, t.ex. "Package
pin: 0.190".
Ingen rad med "PaketnÄl:" finns om ingen association bara
med paketet Àr definierad.
Pin-Priority-vÀrdet som bara Àr associerat med paketet
anges till höger om alla versionsstrÀngar, t.ex. "0.181
700".
"0" anges pÄ höger sida av alla versionsstrÀngar om ingen
koppling till paketet har definierats,
t.ex. "0.181 0".
Arkivens Pin-Priority-vÀrden (definierade som "Package:
*" i filen "/etc/apt/preferences") listas till
vÀnster om alla arkivsökvÀgar, t.ex. "100
http://deb.debian.org/debian/ trixie-backports/main
Packages".
|
Varning |
|---|---|
|
Om en nybörjare anvÀnder apt-pinning-tekniken kan det leda till stora problem. Du mÄste undvika att anvÀnda den hÀr tekniken utom nÀr du absolut behöver den. |
Om du inte vill att vissa paket ska hÀmtas automatiskt av "Recommends" mÄste
du skapa filen "/etc/apt/preferences" och uttryckligen
lista alla dessa paket högst upp i den pÄ följande sÀtt.
Package: package-1 Pin: version * Pin-Priority: -1 Package: package-2 Pin: version * Pin-Priority: -1
|
Varning |
|---|---|
|
Om en nybörjare anvÀnder apt-pinning-tekniken kan det leda till stora problem. Du mÄste undvika att anvÀnda den hÀr tekniken utom nÀr du absolut behöver den. |
HÀr Àr ett exempel pÄ apt-pinning-teknik
för att inkludera specifika nyare uppströmsversionspaket som finns i
unstable regelbundet uppgraderade nÀr man följer
testing. Du listar alla nödvÀndiga arkiv i filen
"/etc/apt/sources.list" enligt följande.
deb http://deb.debian.org/debian/ testing main contrib non-free deb http://deb.debian.org/debian/ unstable main contrib non-free deb http://security.debian.org/debian-security testing-security main contrib
StÀll in filen "/etc/apt/preferences" enligt följande.
Package: * Pin: release a=unstable Pin-Priority: 100
NĂ€r du vill installera ett paket med namnet
"paket-namn" med dess beroenden frÄn
unstable-arkivet under denna konfiguration, ger du
följande kommando som byter mÄlversion med alternativet
"-t" (Pin-prioritet för unstable blir
990).
$ sudo apt-get install -t unstable package-name
Med den hÀr konfigurationen uppgraderas paket som installerades frÄn
testarkivet med det aktuella
testarkivet och paket som installerades frÄn det
unstable arkivet med det aktuella
unstable arkivet genom att köra
"apt-get upgrade" och
"apt-getdist-upgrade" (eller "aptitude
safe-upgrade" och "aptitude full-upgrade").
|
Observera |
|---|---|
|
Var försiktig sÄ att du inte tar bort " |
|
Tips |
|---|---|
|
Jag brukar redigera filen " |
|
Tips |
|---|---|
|
Om " |
Om du vill spÄra vissa paket i unstable automatiskt utan
inledande installation av "-t unstable", mÄste du skapa
filen "/etc/apt/preferences" och uttryckligen lista alla
dessa paket högst upp i den enligt följande.
Package: package-1 Pin: release a=unstable Pin-Priority: 700 Package: package-2 Pin: release a=unstable Pin-Priority: 700
Dessa anger Pin-Priority-vÀrdet för varje specifikt paket. För att till
exempel spÄra den senaste unstable versionen av denna
"Debian Reference" pÄ engelska, bör du ha följande poster i filen
"/etc/apt/preferences".
Package: debian-reference-en Pin: release a=unstable Pin-Priority: 700 Package: debian-reference-common Pin: release a=unstable Pin-Priority: 700
|
Tips |
|---|---|
|
Denna apt-pinning-teknik Àr giltig Àven
nÀr du spÄrar |
|
Varning |
|---|---|
|
Om en nybörjare anvÀnder apt-pinning-tekniken kan det leda till stora problem. Du mÄste undvika att anvÀnda den hÀr tekniken utom nÀr du absolut behöver den. |
HÀr Àr ett annat exempel pÄ apt-pinning-teknik för att inkludera specifika
nyare uppströmsversionspaket som finns i experimental
medan de spÄrar unstable. Du listar alla nödvÀndiga
arkiv i filen "/etc/apt/sources.list" enligt följande.
deb http://deb.debian.org/debian/ unstable main contrib non-free deb http://deb.debian.org/debian/ experimental main contrib non-free deb http://security.debian.org/ testing-security main contrib
StandardvÀrdet för Pin-Priority för experimentella arkiv
Àr alltid 1 (<<100) eftersom det inte Àr ett
automatiskt arkiv (se Avsnitt 2.5.3, â"Release"-filer pĂ„ arkivnivĂ„â). Det finns inget behov av att
ange Pin-Priority-vÀrdet explicit i filen
"/etc/apt/preferences" bara för att anvÀnda
experimentarkivet, sÄvida du inte vill spÄra vissa paket
i det automatiskt för nÀsta uppgradering.
|
Varning |
|---|---|
|
Om en nybörjare anvÀnder apt-pinning-tekniken kan det leda till stora problem. Du mÄste undvika att anvÀnda den hÀr tekniken utom nÀr du absolut behöver den. |
|
Observera |
|---|---|
|
Nedgradering stöds inte officiellt av Debian, vilket Àr meningen. Det bör endast göras som en del av en nödÄterstÀllningsprocess. Trots detta Àr det kÀnt att det fungerar bra vid mÄnga incidenter. För kritiska system bör du sÀkerhetskopiera alla viktiga data pÄ systemet efter ÄterstÀllningen och installera om det nya systemet frÄn grunden. |
Du kan ha turen att kunna nedgradera frÄn ett nyare arkiv till ett Àldre
arkiv för att ÄterstÀlla en trasig systemuppgradering genom att manipulera
kandidatversionen (se Avsnitt 2.7.7, âJustera kandidatversionen med apt-pinningâ). Detta Ă€r ett lata alternativ till
trÄkiga ÄtgÀrder med mÄnga "dpkg -i
broken-package_old-version.deb"-kommandon
(se Avsnitt 2.6.3, âRĂ€ddning med kommandot dpkgâ).
Sök rader i filen "/etc/apt/sources.list" som spÄrar
unstable som följande.
deb http://deb.debian.org/debian/ sid main contrib non-free
ErsÀtt det med följande för att spÄra testing.
deb http://deb.debian.org/debian/ forky main contrib non-free
StÀll in filen "/etc/apt/preferences" enligt följande.
Package: * Pin: release a=testing Pin-Priority: 1010
Kör "apt-get update; apt-get dist-upgrade" för att tvinga
fram nedgradering av paket i hela systemet.
Ta bort den hÀr speciella filen "/etc/apt/preferences"
efter denna akuta nedgradering.
|
Tips |
|---|---|
|
Det Àr en bra idé att ta bort (inte rensa!) sÄ mÄnga paket som möjligt för att minimera beroendeproblem. Du kan behöva ta bort och installera vissa paket manuellt för att fÄ systemet nedgraderat. LinuxkÀrnan, bootloader, udev, PAM, APT och nÀtverksrelaterade paket och deras konfigurationsfiler krÀver sÀrskild uppmÀrksamhet. |
Om du ska kompilera ett program frÄn kÀllkod för att ersÀtta Debian-paketet,
Àr det bÀst att göra det till ett riktigt lokalt debianiserat
paket(*.deb) och anvÀnda privat arkiv.
Om du vÀljer att kompilera ett program frÄn kÀllkod och installera dem under
"/usr/local" istÀllet, kan du behöva anvÀnda
equivs som en sista utvÀg för att tillgodose det saknade
paketberoendet.
Package: equivs Priority: optional Section: admin Description: Circumventing Debian package dependencies This package provides a tool to create trivial Debian packages. Typically these packages contain only dependency information, but they can also include normal installed files like other packages do. . One use for this is to create a metapackage: a package whose sole purpose is to declare dependencies and conflicts on other packages so that these will be automatically installed, upgraded, or removed. . Another use is to circumvent dependency checking: by letting dpkg think a particular package name and version is installed when it isn't, you can work around bugs in other packages' dependencies. (Please do still file such bugs, though.)
|
Observera |
|---|---|
|
Det finns ingen garanti för att det förfarande som beskrivs hÀr fungerar utan extra manuella insatser pÄ grund av systemskillnader. |
För partiella uppgraderingar av det stable systemet Àr
det önskvÀrt att bygga om ett paket inom dess miljö med hjÀlp av
kÀllpaketet. PÄ sÄ sÀtt undviks omfattande uppgraderingar av paket pÄ grund
av deras beroenden.
LÀgg till följande poster i "/etc/apt/sources.list" i ett
stable system.
deb-src http://deb.debian.org/debian unstable main contrib non-free
Installera de paket som krÀvs för kompilering och ladda ner kÀllkodspaketet enligt följande.
# apt-get update # apt-get dist-upgrade # apt-get install fakeroot devscripts build-essential # apt-get build-dep foo $ apt-get source foo $ cd foo*
Uppdatera vissa verktygskedjepaket som dpkg och
debhelper frÄn bakÄtporteringspaketen om de krÀvs för
bakÄtporteringen.
Utför följande.
$ dch -i
Bump-paketversion, t.ex. en som har tillÀgget "+bp1" i
"debian/changelog"
Bygg paket och installera dem i systemet pÄ följande sÀtt.
$ debuild $ cd .. # debi foo*.changes
Eftersom spegling av hela underavsnitt av Debian-arkivet slösar med
diskutrymme och nÀtverksbandbredd, Àr distribution av en lokal proxyserver
för APT ett önskvÀrt övervÀgande nÀr du administrerar mÄnga system pÄ LAN. APT kan konfigureras att anvÀnda generiska
webbproxyservrar (http) sĂ„som squid (se Avsnitt 6.5, âAndra nĂ€tverksapplikationsservrarâ) som beskrivs i apt
.conf(5) och i
"/usr/share/doc/apt/examples/configure-index.gz".
Miljövariabeln "$http_proxy" kan anvÀndas för att
ÄsidosÀtta proxyserverinstÀllningen i filen
"/etc/apt/apt.conf".
Det finns proxyverktyg speciellt för Debian-arkiv. Du bör kontrollera BTS innan du anvÀnder dem.
Tabell 2.19. Lista över proxyverktyg speciellt för Debian-arkiv
| paket | popcon | storlek | beskrivning |
|---|---|---|---|
apt-cacher
|
V:0.36, I:0.43 | 267 | Cachelagringsproxy för Debians paket- och kÀllfiler (Perl-program) |
apt-cacher-ng
|
V:4.1, I:4.3 | 1968 | Caching-proxy för distribution av programvarupaket (kompilerat C++-program) |
|
Observera |
|---|---|
|
NÀr Debian omorganiserar sin arkivstruktur tenderar dessa specialiserade proxyverktyg att krÀva kodomskrivningar av paketunderhÄllaren och kanske inte fungerar pÄ ett tag. à andra sidan Àr generiska webbproxyservrar (http) mer robusta och lÀttare att hantera sÄdana förÀndringar. |
Du kan lÀsa mer om pakethanteringen i följande dokumentationer.
PrimÀr dokumentation om pakethanteringen:
aptitude(8), dpkg(1),
tasksel(8), apt(8),
apt-get(8), apt-config(8),
apt-secure(8), sources.list(5),
apt.conf(5) och apt_preferences(5);
"/usr/share/doc/apt-doc/guide.html/index.html" och
"/usr/share/doc/apt-doc/offline.html/index.html" frÄn
paketet apt-doc; och
"/usr/share/doc/aptitude/html/en/index.html" frÄn paketet
aptitude-doc-en.
Officiella och detaljerade dokumentationer om Debian-arkivet:
Handledning för att bygga ett Debian-paket för Debian-anvÀndare: