RC.Lokal ist ein veraltetes Skript, das für Kompatibilitätszwecke für SystemV -Systeme aufbewahrt wird.
Es war einst eine universelle Datei, die in den meisten Linux -Verteilungen vorhanden war, da Linux -Administratoren Einfachheit übernommen hatten, Start -Skripte oder zusätzliche Dienste für den Start zu definieren.
Die Datei RC.Lokal enthält keine Informationen zu Systemstartkomponenten, sondern nur über Superuser-/Root -definierte Komponenten. Allerdings werden nicht alle Root -Startup -Programme in RC beschrieben.Lokal, aber nur diejenigen, die die Systemkomponenten nicht beeinträchtigen. Normalerweise rc.Lokal wird ausgeführt, nachdem normale Dienste gestartet wurden.
Neuere Linux -Systeme, einschließlich Systemd, ersetzte den RC.Lokales Skript, aber es kann trotzdem wiederhergestellt werden Eine empfohlene Lösung sein. Dieses Tutorial zeigt, wie das RC wiederhergestellt und verwendet wird.Lokales Skript und verwenden RC-Local von Systemd auf neueren Linux-Verteilungen.
Aktivieren /etc /rc.Lokale in Linux -Verteilungen mit Systemd:
WICHTIG: Es ist wichtig, sich an /etc /rc zu erinnern.Lokal wird eingestellt und ersetzt. Die aktuelle Methode zum Ausführen von Skripten am Start wird nach Anweisungen zum Aktivieren /etc /rc beschrieben.lokal. Dieses Tutorial ist für Benutzer mit spezifischen Anforderungen bestimmt.
Erstellen Sie zu Beginn die Datei /etc/rc.lokal Verwenden Sie den gewünschten Editor und sudo (oder root):
Nano /etc /rc.lokal
Fügen Sie den folgenden Code in der Datei ein und ersetzen Sie Mit dem Befehl möchten Sie beim Start ausführen. Verwenden Sie Sudo nicht. Wenn ein in diesem Skript enthaltener Befehl nicht ausgeführt wird, wird der Dienst, der RC aufruft.Lokal (RC-Local.Service) fällt aus.
#!/bin/sh -e
#
# RC.lokal
#
# Dieses Skript wird am Ende jedes Multiuser -Runlevels ausgeführt.
# Stellen Sie sicher, dass das Skript "0" zum Erfolg oder einer anderen anderen beendet
# Wert beim Fehler.
#
# Um dieses Skript zu aktivieren oder zu deaktivieren, ändern Sie einfach die Ausführung
# Bits.
#
# Standardmäßig tut dieses Skript nichts.
beenden 0
In meinem Beispiel werde ich den RC verwenden.Lokales Skript zum Aktualisieren der Sicherheits -Scan -Vuls -Datenbank jedes Mal, wenn das System startet. Sie können jedes Skript schreiben, das Sie am Anfang ausgeführt werden möchten, mit Ausnahme von Networking -Skripten (z.
Speicher die Datei (Strg+x Und Y) und geben Sie ihm Ausführungsberechtigungen, indem Sie den folgenden Befehl ausführen:
sudo chmod +x /etc /rc.lokal
Erstellen Sie die Datei /etc/systemd/system/rc-local.Service, laufen:
Nano/etc/systemd/system/rc-local.Service
Fügen Sie die folgenden Befehle ein und beenden Sie das Speichern durch Drücken Strg+x Und Y.
Execstart =/etc/rc.Lokalanfang
Timeoutsec = 0
StandardOutput = tty
RemaFterexit = ja
SysvstartPriority = 99
[Installieren]
Wantby by = multi-user.Ziel
RC-Local aktivieren:
sudo systemctl aktivieren RC-Local
Jetzt können Sie den RC-Local starten.Service, der die /etc /rc lesen wird.Lokale Datei. Führen Sie den unten gezeigten Befehl aus:
Systemctl Start RC-Local.Service
Sie können überprüfen, ob RC-Local ordnungsgemäß geladen wurde, indem Sie Folgendes ausführen:
Systemctl Status RC-Local.Service
Der richtige Weg (systemd):
Der oben beschriebene Prozess ist alt, veraltet und kann einige Dienste zum Absturz bringen.
In diesem Abschnitt wird der aktuelle Vorgang angezeigt, um Skripte oder Dienste unter dem Boot für Linux -Verteilungen mithilfe von Systemd zu starten.
Systemd ist ein Servicemanager, der Dienstekontrollgruppen (CGroup) zuweist und Prozesse verfolgt. Systemd ist der Prozess (PID) 1 für das Systemstart verantwortlich.
Um Dienste oder Skripte beim Start hinzuzufügen, müssen Sie eine erstellen Systemd -Einheit.
Systemd -Einheiten enthalten Dienste (.Service), Mountspunkte (.montieren), Geräte (.Gerät) oder Sockets (.Steckdose). Entgegen dem zuvor mit RC beschriebenen alten Prozess.Lokal.
Systemd -Einheiten befinden sich bei /etc/systemd/system, Und hier müssen wir die Systemd -Einheit für das Skript erstellen, das wir beim Start ausführen möchten.
Das folgende Bild zeigt den Inhalt der Einheit Teamviewer.Service.
Wo die [Einheit] Richtlinien:
Einige Richtlinien, die im Abschnitt [Service] verwendet werden, können mit [Einheit] geteilt werden.
Die einzige [Installation] -Richtlinie im obigen Beispiel ist gesuchtby.
Notiz: Sie können alle Systemd -Direktiven unter überprüfen
https: // www.Freedesktop.org/software/systemd/man/systemd.Richtlinien.html
Hinzufügen Ihrer eigenen Systemd -Einheit:
Um ein Skript bei Startup auszuführen, erstellen Sie es unter /etc/systemd/system mit seinem Namen gefolgt von einem Punkt und Dienst zum Beispiel, LinuxHint. Service. Sie können Nano wie in der folgenden Probe verwenden:
Fügen Sie Folgendes ein, ersetzen Sie <Skriptname oder Beschreibung> mit einer Beschreibung Ihres Skripts und wo /usr/sbin/linuxhint.Sch Schreiben Sie den richtigen Pfad.
[Einheit]
Beschreibung ==