Rc.Lokalt er et foreldet skript som holdes for kompatibilitetsformål for SystemV -systemer.
Det var en gang en universell fil som var til stede i de fleste Linux -distribusjoner på grunn av sin enkelhet for Linux -administratorer å definere oppstartsskript eller tilleggstjenester å starte.
Filen RC.Lokalt inneholder ikke informasjon om systemstartkomponenter, men bare superbruker/rotdefinerte komponenter. Imidlertid er ikke alle rotoppstartsprogrammer beskrevet i RC.Lokale, men bare de som ikke forstyrrer systemkomponenter. Vanligvis RC.Lokalt utføres etter at normale tjenester er startet.
Nyere Linux -systemer, inkludert SystemD, erstattet RC.lokalt manus, men det kan gjenopprettes til tross for Å være en anbefalt løsning. Denne opplæringen viser hvordan du gjenoppretter og bruker RC.Lokalt manus og bruk RC-LOCAL av SystemD på nyere Linux-distribusjoner.
Aktivering /etc /rc.Lokal i Linux -distribusjoner ved bruk av SystemD:
VIKTIG: Det er viktig å huske /etc /rc.Lokal er avbrutt og erstattet. Gjeldende metode for å kjøre skript ved oppstart er beskrevet etter instruksjoner for å aktivere /etc /rc.lokal. Denne opplæringen er beregnet på brukere med spesifikke behov.
For å starte, opprette filen /etc/rc.lokal Bruke redaktøren du vil ha og sudo (eller root):
nano /etc /rc.lokal
Lim inn koden nedenfor i filen, og erstatt Med kommandoen vil du kjøre ved oppstart. Ikke bruk sudo. Hvis en kommando inkludert i dette skriptet ikke klarer å utføre, vil tjenesten som vil ringe RC.Lokal (RC-LOCAL.service) vil mislykkes.
#!/bin/sh -e
#
# RC.lokal
#
# Dette skriptet blir utført på slutten av hver multuser -løp.
# Forsikre deg om at skriptet vil "avslutte 0" ved suksess eller andre
# Verdi på feil.
#
# For å aktivere eller deaktivere dette skriptet, bare endre utførelsen
# biter.
#
# Som standard gjør dette skriptet ingenting.
Avslutt 0
I mitt eksempel vil jeg bruke RC.Lokalt manus for å oppdatere sikkerhetsskannen Vuls -databasen hver gang systemet starter. Du kan skrive hvilket som.
Lagre filen (Ctrl+x og Y) og gi den utførelsesstillatelser ved å kjøre kommandoen nedenfor:
sudo chmod +x /etc /rc.lokal
Opprett filen /etc/systemd/system/rc-local.service, løpe:
nano/etc/systemd/system/rc-lokalt.service
Lim inn følgende kommandoer og avsluttende lagring ved å trykke på Ctrl+x og Y.
Execstart =/etc/rc.Lokal start
TimeoutSec = 0
StandardOutput = tty
RESTEFTEREXIT = Ja
SysvStartPriority = 99
[Installere]
WantedBy = Multi-User.mål
Aktiver RC-LOCAL:
sudo SystemCTL aktiver RC-LOCAL
Nå kan du starte RC-LOCAL.Service, som vil lese /etc /rc.lokal fil. Kjør kommandoen vist nedenfor:
SystemCTL Start RC-Local.service
Du kan sjekke om RC-LOCAL ble lastet ordentlig ved å kjøre følgende:
SystemCTL-status RC-LOCAL.service
Riktig måte (SystemD):
Prosessen beskrevet ovenfor er gammel, foreldet og kan krasje noen tjenester.
Denne delen viser den nåværende prosessen for å starte skript eller tjenester ved oppstart for Linux -distribusjoner ved hjelp av SystemD.
SystemD er en Services Manager som tildeler Services Control Groups (CGroup) og sporer prosesser. SystemD er prosessen (PID) 1 ansvarlig for systemstarten.
For å legge til tjenester eller skript ved oppstart, må du opprette en Systemd Unit.
SystemD -enheter inkluderer tjenester (.service), Mount Points (.montering), enheter (.enhet) eller stikkontakter (.stikkontakt). I motsetning til den gamle prosessen beskrevet tidligere med RC.Lokal, i stedet for å redigere den samme filen som inneholder informasjon om brukerskript, må du opprette en SystemD -tjenesteenhet for hvert skript du vil kjøre ved oppstart.
Systemd -enheter er lokalisert på /etc/systemd/system, Og det er der vi trenger å opprette SystemD -enheten for skriptet vi vil kjøre på Boot.
Følgende bilde viser innholdet i enheten TeamViewer.service.
Hvor [enheten] direktiver:
Noen direktiver som brukes i [Service] -delen kan deles med [enhet].
Det eneste [installasjon] -direktivet i eksemplet over er WantedBy.
Merk: Du kan sjekke alle SystemD -direktiver på
https: // www.Freedesktop.org/programvare/systemd/man/systemd.direktiver.html
Legge til din egen SystemD -enhet:
For å kjøre et skript ved oppstart, lag det under /etc/systemd/system med navnet etterfulgt av en prikk og tjeneste, for eksempel, Linuxhint. Service. Du kan bruke Nano som i følgende prøve:
Lim inn følgende, erstatte <Skriptnavn eller beskrivelse> med en beskrivelse av skriptet ditt og hvor /usr/sbin/linuxhint.sh Skriv riktig vei.
[Enhet]
Beskrivelse ==