Inhoudsopgave
Installeer het pakket libpaper1
en
het zal u vragen naar een standaardpapiergrootte die voor het hele systeem
geldt. Deze instelling wordt opgeslagen in het bestand
/etc/papersize
.
Gebruikers kunnen de instelling van de papiergrootte omzeilen met de
omgevingsvariabele PAPERSIZE
. Raadpleeg voor bijkomende
informatie de man-pagina
papersize(5).
Veel apparaatbestanden in de map /dev
behoren toe aan
vooraf gedefinieerde groepen. Bijvoorbeeld, /dev/sr0
behoort toe aan de groep cdrom
.
Indien u wilt dat een bepaalde gebruiker toegang heeft tot een van deze apparaten, moet u de gebruiker gewoon toevoegen aan de groep waartoe het apparaat behoort, d.w.z. doe:
adduser gebruiker groep
Op die manier hoeft u de bestandspermissies van het apparaat niet te wijzigen.
Indien u dit doet vanuit een gebruikersshell of vanuit een grafische
werkomgeving, dan moet u eerst uitloggen en weer inloggen om effectief een
lid van die groep te worden. Om na te gaan tot welke groepen u behoort,
gebruikt u het commando groups
.
Als u de toegangspermissies van een randapparaat wijzigt, moet u weten dat
ten gevolge van de introductie van udev
, de kans bestaat
dat deze bij het opstarten van het systeem voor sommige apparaten aangepast
worden. Indien dit het geval is voor de randapparaten waarin u
geïnteresseerd bent, dan zult u de regels in /etc/udev
moeten aanpassen.
In Debian plaatsen grafische programma's (X-programma's) de informatie over
de hulpbronnen van hun toepassing in de map
/etc/X11/app-defaults/
. Indien u globale aanpassingen
wilt maken aan grafische toepassingen, moet u die aanpassingen in deze
bestanden plaatsen. Zij staan gemarkeerd als configuratiebestanden, waardoor
hun inhoud bewaard blijft bij opwaarderingen.
Zoals alle Unix-varianten start Debian op door het programma
init
uit te voeren. Zoals de meeste Linux-distributies,
gebruikt een standaard Debian-systeem systemd
als
implementatie van init
. De traditionele System-V
implementatie van init en andere methodes worden ook
ondersteund. [5]
Om de volgorde te bepalen waarin diensten worden opgestart, maken traditionele Unix-systemen in System-V stijl gebruik van runlevels. Onder systemd worden deze vervangen door targets. Om het standaard-target te kennen waarnaartoe systemd het systeem zal brengen, gebruikt u het commando
systemctl get-default
Tijdens het opstarten start systemd de diensten en andere targets die
vermeld worden in het standaard target-bestand
/lib/systemd/system/default.target
. De bestanden voor
deze diensten en targets worden geïnstalleerd en de dienst wordt
geactiveerd tijdens de pakketinstallatie van
Debian. Indien u wilt dat een specifieke dienst niet wordt gestart bij het
opstarten, kunt u in plaats van het overeenkomstige pakket te verwijderen,
het volgende commando uitvoeren:
systemctl disable dienst
.service
waarbij u de naam van het service-bestand gebruikt, zoals het in
/lib/systemd/system
geïnstalleerd is (gewoonlijk
gebaseerd op de naam van het pakket).
The service file
/lib/systemd/system/rc-local.service
provides an easy way
to run customized scripts in the file /etc/rc.local
after
boot-up, similar to what's offered on Debian systems running System-V style
init. Beware: this script will fail if it tries to interact with the
console such as asking for a user password or trying to clear the screen.
U kunt de toestand van elke dienst controleren met het commando
service pakket
status
. Om een dienst te starten of te stoppen gebruikt u de commando's
service pakket
start
en
service pakket
stop
. Het commando service
werkt op een Debian-systeem met
elk ondersteund init-systeem, niet enkel met systemd. Indien u echter
verkiest om op elk door systemd ondersteund Linux-systeem hetzelfde commando
te gebruiken om de toestand van een dienst te controleren, moet u het
volgende commando uitvoeren:
systemctl status pakket
.service
om diezelfde informatie te verkrijgen.
Voor bijkomende informatie over systemd voor Debian, raadpleegt u https://wiki.debian.org/systemd.
Debian ondersteunt het opstarten van de computer met het traditionele System
V init via het pakket sysvinit-core. Het configuratiebestand voor System V
init
(dat /etc/inittab
is) bepaalt dat
het eerste script dat uitgevoerd moet worden,
/etc/init.d/rcS
is. Dat script voert alle scripts uit
/etc/rcS.d/
uit door subprocessen af te splitsen om
initialisatietaken uit te voeren, zoals het controleren en aankoppelen van
bestandssystemen, het laden van modules, het starten van netwerkdiensten,
het instellen van de klok en andere initialisatietaken.
Nadat het opstartproces voltooid is, voert init
alle
start-scripts uit die zich in de map bevinden die gespecificeerd wordt door
het standaard 'runlevel' (dit 'runlevel' wordt opgegeven door het element
id
in /etc/inittab
). Zoals de meeste
vormen van Unix die compatibel zijn met System V, heeft Linux 7 'runlevels':
0 (stop het systeem),
1 (één-gebruikersmodus),
2 tot 5 (verschillende meerdere-gebruikersmodi), en
6 (herstart het systeem).
Op Debian-systemen staat id=2 ingesteld, wat aangeeft dat het
standaard-runlevel '2' is als naar de meerdere-gebruikers-toestand
overgegaan wordt en dat de scripts uit /etc/rc2.d/
uitgevoerd zullen worden.
Debian past een onderling afhankelijke opstartvolgorde toe via
insserv met behulp van de LSB-headers van elk script
onder /etc/init.d/
, evenals het gelijktijdig parallel
opstarten via het gebruik van startpar om het
opstartproces te versnellen.
De scripts in elk van de /etc/rcN.d/
-mappen zijn gewoon
symbolische koppelingen naar scripts in /etc/init.d/
. Het
zijn echter de namen van de bestanden in elk van de
/etc/rcN.d/
-mappen die gebruikt worden om aan te geven op
welke wijze de scripts in
/etc/init.d/
zullen uitgevoerd worden. Meer specifiek
worden vooraleer een 'runlevel' binnengegaan wordt, alle scripts uitgevoerd
die beginnen met 'K'. Dit zijn scripts die diensten doden. Daarna worden
alle scripts die beginnen met 'S' uitgevoerd. Deze scripts starten
diensten. Het uit twee cijfers bestaand getal dat na de 'K' of 'S' volgt,
geeft de volgorde aan waarin het script uitgevoerd wordt. Scripts met het
laagste getal worden eerst uitgevoerd.
Een dergelijke benadering werkt, omdat de scripts in
/etc/init.d/
allemaal een argument nodig hebben dat
'start', 'stop', 'reload', 'restart' of 'force-reload' kan zijn en dan de
taak uitvoeren die door dat argument opgegeven wordt. Zelfs nadat een
systeem opgestart werd kunnen deze scripts gebruikt worden om verschillende
processen te controleren.
Bijvoorbeeld, met het argument 'reload' stuurt het commando
/etc/init.d/sendmail reload
de sendmail-daemon het signaal om zijn configuratiebestand opnieuw in te lezen.
Merk op dat invoke-rc.d niet gebruikt zou moeten worden
om de scripts uit /etc/init.d/
aan te roepen. In plaats
daarvan moet service gebruikt worden.
Indien u houdt van System V init, maar niet van de koppelingen in
/etc/rc?.d/*, kunt u het pakket file-rc
installeren. Dat zet de koppelingen om
in één enkel configuratiebestand /etc/runlevel.conf.
Indien u niet van System V en ook niet van systemd houdt, voelt u misschien
wel iets voor openrc
of runit
of daemontools
.
Sommige gebruikers willen bijvoorbeeld een nieuwe server creëren door een groep Debian-pakketten te installeren evenals een lokaal gemaakt pakket dat uit configuratiebestanden bestaat. Dit is over het algemeen geen goed idee, omdat dpkg niet op de hoogte zal zijn van die configuratiebestanden die zich in een ander pakket bevinden, en dus mogelijk conflicterende configuraties kan neerschrijven wanneer een van de pakketten uit de initiële "groep' opgewaardeerd wordt.
Maak in de plaats daarvan een lokaal pakket dat de configuratiebestanden van de betreffende "groep" Debian-pakketten aanpast. Dan zal dpkg en de rest van het pakketbeheersysteem zien dat de bestanden gewijzigd werden door de lokale "systeembeheerder" en zullen ze geen poging doen om ze te overschrijven wanneer deze pakketten opgewaardeerd worden.
Verondersel dat een systeembeheerder of een lokale gebruiker liever een
programma "lokale-login" wil gebruiken in plaats van het programma "login"
warin door het Debian-pakket login
voorzien wordt.
Overschrijf
/bin/login
niet met
lokale-login
.
Het systeem voor pakketbeheer zal geen kennis hebben van deze wijziging en
zal uw aangepaste /bin/login
gewoon overschrijven als het
pakket login
(of elk pakket dat voorziet in
/bin/login
) geïnstalleerd of opgewaardeerd wordt.
Doe liever het volgende:
Geef de opdracht:
dpkg-divert --divert /bin/login.debian /bin/login
om er voor te zorgen dat alle toekomstige installaties van het Debian-pakket
login
het bestand
/bin/login
naar /bin/login.debian
schrijven.
Voer dan de volgende opdracht uit:
cp login-local /bin/login
om uw eigen lokaal gebouwd programma op zijn plaats te zetten.
Gebruik de opdracht dpkg-divert --list
om te zien welke
afgeleiden er momenteel actief zijn op uw systeem.
Meer informatie wordt gegeven in de man-pagina dpkg-divert(8).
Geef de opdracht:
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > mijn_Pakketten
waarbij
BIN-DIR een map is waar Debian-archiefbestanden (die gewoonlijk de extensie ".deb" hebben) opgeslagen worden.
OVERRIDE_FILE is een bestand dat bewerkt wordt door de onderhouders van de
distributie en gewoonlijk opgeslagen wordt op een Debian-archief in
indices/override.main.gz
voor de Debian-pakketten in de
distributie "main". Voor lokale pakketten kunt u dit negeren.
PATHPREFIX een optionele tekenreeks is die vooraan
toegevoegd kan worden voor mijn_Pakketten
, het bestand
dat aangemaakt wordt.
Eens u het bestand mijn_Pakketten
gebouwd heeft, moet u
het pakketbeheersysteem erover informeren door het volgende commando te
gebruiken:
dpkg --merge-avail mijn_Pakketten
Indien u APT gebruikt, kunt u ook de lokale pakketbron toevoegen aan uw bestand sources.list(5).
Er zijn verschillende gevallen waarin twee pakketten voorzien in twee verschillenden versies van een programma, die beide dezelfde kernfunctionaliteit bieden. Gebruikers kunnen het ene verkiezen boven het andere uit gewoonte of omdat de gebruikersinterface van het ene pakket iets meer bevalt dan die van het andere. Andere gebruikers op hetzelfde systeem kunnen een andere keuze maken.
Debian gebruikt een "virtueel" pakketsysteem om systeembeheerders toe te laten hun voorkeursgereedschappen te kiezen (of de gebruikers deze te laten kiezen) als er twee of meer zijn die dezelfde basisfunctionaliteit bieden, en om zonder een specifiek pakket op te geven, toch te voldoen aan de vereisten inzake pakketafhankelijkheden.
Er zouden op een systeem bijvoorbeeld twee verschillende versies van een
nieuwslezerprogramma kunnen staan. Het nieuwsserverpakket kan de
aanwezigheid op het systeem van een nieuwslezer
'aanbevelen', maar de keuze tussen tin
en
trn
wordt overgelaten aan de individuele gebruiker. Aan
de aanbeveling wordt voldaan door zowel het pakket tin
als het pakket trn
te laten voorzien in het virtuele pakket
news-reader
. Welk programma
aanroepen wordt, wordt bepaald door een koppeling die van een bestand met de
virtuele pakketnaam /etc/alternatives/news-reader
verwijst naar het gekozen bestand, bijv. /usr/bin/trn
.
Een enkele koppeling volstaat niet om het gebruik van een alternatief
programma ten volle te ondersteunen. Normaal moeten ook man-pagina's, en
eventuele andere ondersteunende bestanden ook geselecteerd worden. Het
Perl-script update-alternatives
biedt een manier om
ervoor te zorgen dat alle bestanden die met een opgegeven pakket verband
houden, geselecteerd worden als de systeemstandaard.
Om bijvoorbeeld na te gaan welke uitvoerbare bestanden voorzien in 'x-window-manager', geeft u de opdracht:
update-alternatives --display x-window-manager
Indien u dit wenst te veranderen, geef dan het commando:
update-alternatives --config x-window-manager
en volg de instructies op het scherm (eigenlijk het cijfer invoeren dat naast het item staat dat u meer verkiest).
Indien een pakket om een of andere reden zichzelf niet als 'window manager' bekendmaakt (stel een bugrapport op als dit een fout is), of indien u een windowmanager uit de map /usr/local gebruikt, zullen de keuzemogelijkheden op het scherm uw voorkeurprogramma niet vermelden. U kunt de koppeling bijwerken via commandoregelopties zoals deze:
update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50
Het eerste argument voor de optie '--install' is de symbolische koppeling die wijst naar /etc/alternatives/NAAM, waarbij NAAM het tweede argument is. Het derde argument is het programma waarnaar /etc/alternatives/NAAM moet verwijzen en het vierde argument is de prioriteit (hogere waarden betekenen een grotere kans dat het alternatief automatisch uitgekozen wordt).
Om een alternatief dat u toevoegde, te verwijderen, geeft u gewoon het commando:
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
[5] In 2014 stapte Debian voor zijn standaard "init system" over van System V naar systemd. In april 2015 was Debian 8 "jessie" de eerste release met systemd als standaard init. Vier beslissingen van het Technisch Comité van Debian waren daarbij betrokken: Bug #727708 11-02-2014: "Het comité heeft beslist dat in jessie het standaard init systeem voor Linux-architecturen systemd moet zijn." Bug #746715 01-08-2014: "Het technisch comité verwacht van de pakketonderhouders dat zij de verschillende beschikbare init systemen zullen blijven ondersteunen", en redelijke bijdragen zullen incorporeren. Bug #746578 15-11-2014: "Het comité heeft beslist dat systemd-shim als eerste alternatieve vereiste voor libpam-systemd vermeld moet worden in plaats van systemd-sysv." Deze beslissing maakte makkelijker om een Debian systeem zonder systemd draaiend te houden. Bug #76219404-11-2017: "Over het automatisch omschakelen van init-systeem tijdens de opwaardering"