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 74980 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:999 | 6350 | lågnivåsystem för pakethantering för Debian (filbaserat) |
apt
|
V:882, I:999 | 4632 | APT-frontend för att hantera paket med CLI:
apt/apt-get/apt-cache |
aptitude
|
V:36, I:189 | 4624 | APT-frontend för interaktiv hantering av paket med helskärmskonsol:
aptitude(8) |
tasksel
|
V:35, I:983 | 349 | APT-frontend för att installera valda uppgifter:
tasksel(8) |
unattended-upgrades
|
V:126, I:188 | 317 | förbättringspaket för APT för att möjliggöra automatisk installation av säkerhetsuppgraderingar |
gnome-software
|
V:163, I:270 | 4208 | Programvarucenter för GNOME (GUI APT front-end) |
synaptic
|
V:36, I:310 | 7788 | grafisk pakethanterare (GTK APT front-end) |
apt-utils
|
V:388, I:998 | 1148 | APT-verktygsprogram: apt-extracttemplates(1),
apt-ftparchive(1) och apt-sortpkgs(1) |
apt-listchanges
|
V:368, I:886 | 553 | verktyg för avisering av paketändringshistorik |
apt-listbugs
|
V:5, I:7 | 514 | listar kritiska buggar före varje APT-installation |
apt-file
|
V:15, I:60 | 89 | APT-verktyget för paketsökning - kommandoradsgränssnitt |
apt-rdepends
|
V:0, I:4 | 39 | rekursiv lista över paketberoenden |
Här följer några viktiga punkter för paketkonfiguration på Debian-systemet.
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.
Gör systemet dubbelstartbart genom att
installera den stable delen av Debian-systemet på en
annan partition
Ha installations-CD:n till hands för räddningsstarten
Ö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).
För systemet trixie med den typiska
HTTP-åtkomsten ser källistan i enradig
stil ut som följer:
deb http://deb.debian.org/debian/ trixie main non-free-firmware contrib non-free deb-src 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-src http://security.debian.org/debian-security trixie-security main non-free-firmware contrib non-free
Alternativt är motsvarande källista i deb822-style följande.
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
De viktigaste punkterna i källistan är följande.
Format med en rad
Dess definitionsfiler finns i filerna
"/etc/apt/sources.list" och
"/etc/apt/sources.list.d/*.list".
Varje rad definierar datakällan för APT-systemet.
Raden "deb" definierar de binära paketen.
Raden "deb-src" definierar källkodspaketen.
Det första argumentet är rot-URL:en för Debian-arkivet.
Det andra argumentet är distributionsnamnet med antingen svitnamnet eller kodnamnet.
Det tredje och följande argumenten är en lista över giltiga namn på arkivområden i Debian-arkivet.
Deb822-liknande format
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/ | experimentell |
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 |
73518 | DFSG-kompatibel och inget beroende av non-free |
icke-fri-firmware |
50 | inte DFSG-kompatibel, firmware krävs för rimlig upplevelse av systeminstallationen |
contrib |
376 | Uppfyller DFSG men har beroende till non-free |
icke-fri |
1036 | 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/paketnamn" |
| Buggrapporten med känt buggnummer | sensible-browser
"https://bugs.debian.org/buggnummer" |
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-sökning regex |
aptit sökning regex |
apt-cache sök 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 | aptit varför inte 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 |
|---|---|
Paketvy |
se Tabell 2.10, ”Kategoriseringen av standardpaketets vyer” (standard) |
Rekommendationer från revisionen |
lista paket som rekommenderas av vissa installerade paket men som ännu inte har installerats |
Platt Paketlista |
lista paket utan kategorisering (för användning med regex) |
Debtags webbläsare |
lista paket kategoriserade enligt deras debtags-poster |
Källa Paket Visa |
lista paket grupperade efter källpaket |
|
Notera |
|---|---|
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 |
|---|---|
Uppgraderingsbara paket |
lista paket organiserade som sektion →
område → paket |
Nya paket |
, , |
Installerade paket |
, , |
Inte installerade paket |
, , |
Föråldrade och lokalt skapade förpackningar |
, , |
Virtuella paket |
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_namn |
| matcha på beskrivning | ~dregex_beskrivning |
| 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:]mönster |
| matcha paket till vilka det mönstermatchande paketet deklarerar bruten beroendetyp | ~RB[type:]mönster |
| 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|~Rrekommenderar:~i |
| matcha mönsterpaket med filtrerad version | ~S filtermönster |
| 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. |
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
paketnamn_mönster |
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 paketnamnsmönster |
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 binärt_paketnamn |
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 källa 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
paketnamn_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
paketnamn_version-debian.revision_arch.deb |
installera ett lokalt paket till systemet |
apt install
/sökväg/till/paketfilnamn.deb |
installera ett lokalt paket i systemet och under tiden försöka lösa beroendet automatiskt |
debi
paketnamn_version-debian.revision_arch.dsc |
installera lokala paket till systemet |
dpkg --get-selections '*' >selection.txt |
spara dpkg nivå paketval statusinformation |
dpkg --set-selections <val.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) |
Paket |
toppen av varje kombination av distribution/område/binär-arkitektur | sammanlänkad debian/control för binära paket |
Källor |
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) |
paketnamn_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 |
epok: |
[0-9]+: |
valfritt |
uppströms-version |
[-a-zA-Z0-9.+:]+ [-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 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.
Du bör installera alla beroendepaket med hjälp av APT-system eller
"sudo dpkg -i ...".
Konfigurera sedan alla delvis installerade paket med följande kommando.
# dpkg --configure -a
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/*
")
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.)
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
Följ sedan Avsnitt 2.6, ”Återhämtning från ett trasigt system”.
Eftersom dpkg är ett paketverktyg på mycket låg nivå kan
det fungera i mycket dåliga situationer, t.ex. om systemet inte går att
starta utan nätverksanslutning. Låt oss anta att
foo-paketet var trasigt och behöver ersättas.
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
|
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 det inte går att starta systemet från hårddisken bör du försöka hitta andra sätt att starta det.
Starta upp systemet med hjälp av CD-skivan med debian-installer i räddningsläge.
Montera det omstartbara systemet på hårddisken till
"/target".
Installera en äldre version av foo-paketet på följande
sätt.
# dpkg --root /target -i /path/to/foo_old_version_arch.deb
Detta exempel fungerar även om dpkg-kommandot på
hårddisken är trasigt.
|
Tips |
|---|---|
|
Alla GNU/Linux-system som startas av ett annat system på hårddisk, live GNU/Linux-CD, startbar USB-sticka eller netboot kan användas på samma sätt för att rädda ett trasigt system. |
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. |
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.6, ”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 |
|---|---|---|---|
approx
|
V:0, I:0 | 8308 | proxyserver för cachning av Debian-arkivfiler (kompilerat OCaml-program ) |
apt-cacher
|
V:0, I:0 | 267 | Cachelagringsproxy för Debians paket- och källfiler (Perl-program) |
apt-cacher-ng
|
V:4, I:4 | 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: