So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
Unter Linux werden viele Objekte als Datei betrachtet, unabhängig davon, ob es sich bei dem Objekt tatsächlich um eine Datei, ein Gerät, ein Verzeichnis oder einen Socket handelt. Das Auflisten einer Datei ist einfach, dafür ist die Shell integriert ls
. Was aber, wenn ein Benutzer sehen möchte, welche Dateien derzeit vom Webserverprozess geöffnet werden? Oder ob dieser Benutzer herausfinden wollte, welche Dateien in einem bestimmten Verzeichnis geöffnet sind? Hier lsof
kommt das Spiel ins Spiel. Stellen Sie sich vor , lsof
wie ein ls
mit dem Zusatz „offener Dateien“.
Bitte beachten Sie, dass die BSDs zwar ein anderes Dienstprogramm für diesen Job haben fstat
, aber auch einige andere Unix-Varianten (z. B. Solaris) besitzen lsof
. Die Optionen und Flags unterscheiden sich auf den anderen Plattformen ebenso wie das Aussehen der Ausgabe, aber im Allgemeinen sollte das Wissen in diesem Artikel auch für sie gelten.
Schauen wir uns zunächst das Format der lsof
Ausgabe an und wie sie gelesen werden soll. Die übliche Ausgabe lsof
ohne Parameter würde wie folgt aussehen. Dies wurde aus Gründen der Lesbarkeit gekürzt.
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
Diese Spalten bedeuten Folgendes:
init
.init
es ist fast immer root
.cwd
- Das aktuelle Arbeitsverzeichnis (möglicherweise stellen Sie die Ähnlichkeit mit dem pwd
Befehl fest, der das aktuelle Arbeitsverzeichnis druckt).rtd
- Das Stammverzeichnis eines Prozesses.txt
- A text file
, dies kann entweder eine Konfigurationsdatei bedeuten, die sich auf den Prozess bezieht, oder der "Quellcode", der sich auf den Prozess bezieht (oder zu diesem gehört).mem
- Eine sogenannte "Speicherzuordnungsdatei", dh ein Segment des virtuellen Speichers (gelesen: RAM), das einer Datei zugewiesen wurde.r
- Lesen.w
- Schreiben.u
- Lesen und Schreiben.REG
- Eine reguläre Datei.DIR
- Ein Verzeichnis.FIFO
- Als Erster rein, als erster raus.Das mag vorerst ein bisschen überwältigend sein, aber wenn Sie lsof
ein paar Mal damit arbeiten, wird es schnell in Ihr Gehirn eindringen .
Wie oben erwähnt, wurde die Ausgabe von lsof
hier verkürzt. lsof
Erzeugt ohne Argumente oder Filter Hunderte von Ausgabezeilen, die Sie nur verwirren.
Es gibt zwei grundlegende Ansätze, um dieses Problem zu lösen:
lsof
Befehlszeilenoptionen, um die Ergebnisse einzugrenzen.grep
.Während die letztere Option möglicherweise komfortabler klingt, da Sie sich die lsof
Befehlszeilenoptionen nicht merken müssen , ist sie im Allgemeinen nicht so flexibel und effizient, sodass wir uns an die erste halten.
Stellen Sie sich vor, Sie möchten eine Datei mit Ihrem bevorzugten Texteditor öffnen und der Texteditor teilt Ihnen mit, dass sie nur im schreibgeschützten Modus geöffnet werden kann, da bereits ein anderes Programm darauf zugreift. lsof
hilft Ihnen herauszufinden, wer der Täter ist:
lsof /path/to/your/file
Dies erzeugt eine Ausgabe ähnlich der folgenden:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Anscheinend hast du vergessen, eine ältere Sitzung zu schließen! Ein sehr ähnliches Problem tritt auf, wenn Sie versuchen, die Bereitstellung einer NFS-Freigabe aufzuheben, und umount
Ihnen mitteilen , dass dies nicht möglich ist, da noch etwas auf den bereitgestellten Ordner zugreift. Auch hier lsof
können Sie bei der Identifizierung des Täters helfen:
lsof +D /path/to/your/directory/
Beachten Sie den abschließenden Schrägstrich, der wichtig ist. Andernfalls lsof
wird davon ausgegangen, dass Sie eine reguläre Datei meinen. Lassen Sie sich nicht durch das +
vor der Flagge stehende - es lsof
gibt so viele Befehlszeilenoptionen, die es +
zusätzlich zu den allgemeineren benötigt -
. Die Ausgabe würde folgendermaßen aussehen:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
Das bedeutet, dass der Prozess mocp
mit der PID 5637
, die dem Benutzer music
gehört, eine aufgerufene Datei geöffnet hat RMS_GNU_SONG.ogg
. Selbst nach dem Schließen dieses Prozesses besteht jedoch immer noch ein Problem: Das NFS-Volume kann nicht ausgehängt werden.
lsof
hat ein -c
Flag, das Dateien anzeigt, die einen beliebigen Prozessnamen geöffnet haben.
lsof -c mocp
Das würde eine Ausgabe erzeugen, die so aussieht:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
In diesem Beispiel wird eine andere Instanz mocp
ausgeführt, die verhindert, dass Sie die Freigabe der Freigabe aufheben. Nach dem Herunterfahren dieses Prozesses möchten Sie sicherstellen, dass dem Benutzer music
keine anderen potenziell problematischen Dateien geöffnet sind. lsof
hat ein -u
Flag zum Anzeigen von Dateien, die von einem bestimmten Benutzer geöffnet wurden. Denken Sie daran, dass eine Datei nicht immer nur eine normale Datei auf Ihrer Festplatte ist!
lsof -u music
Sie können auch mehrere durch Kommas getrennte Benutzer übergeben:
lsof -u music,moremusic
Ein wichtiger Hinweis zum Standardverhalten von lsof
: Die Ergebnisse sind ODER- basiert. Dies bedeutet, dass Dateiergebnisse von Prozessen geöffnet werden, die entweder dem Benutzer music
oder dem Benutzer gehören moremusic
. Wenn Sie Ergebnisse sehen möchten, die mit Prozessen übereinstimmen, die beiden Benutzern gehören, müssen Sie das Flag übergeben -a
:
lsof -au music, moremusic
Da sich beide Benutzer in der Gruppe befinden musicusers
, können Sie auch Dateien basierend auf der Gruppe auflisten:
lsof -g musicusers
Sie können auch Befehlszeilenflags kombinieren:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
In der letzten Zeile haben wir ein weiteres spezielles Flag hinzugefügt - ^
das für ein logisches NICHT steht . Wenn die Ausgabe nach dem Ausführen dieses Befehls leer ist, ist das Aufheben der Bereitstellung höchstwahrscheinlich erfolgreich.
In den vorherigen Beispielen haben wir uns hauptsächlich reguläre Dateien angesehen. Wie wäre es mit Sockets und Netzwerkverbindungen?
Um alle aktuellen Netzwerkverbindungen aufzulisten, lsof
hat das -i
Flag:
lsof -i
Die Ausgabe sieht ähnlich aus wie die, die wir bisher gesehen haben ...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... bis auf einen Unterschied: Anstelle von Dateinamen oder Verzeichnissen werden in der Spalte NAME
jetzt Verbindungsinformationen angezeigt. Jede Verbindung besteht aus folgenden Teilen:
Wie bei vielen anderen Tools, können Sie lösen DNS - Namen Opt-out und Ports ( -n
und -P
sind). Das Flag -i
nimmt zusätzliche Parameter an. Sie können festlegen , ob oder nicht zeigen tcp
, udp
oder icmp
Verbindungen oder bestimmte Ports:
lsof -i :25
or
lsof -i :smtp
Auch hier können Parameter kombiniert werden. Das folgende Beispiel ...
lsof -i tcp:80
... zeigt Ihnen nur TCP-Verbindungen über Port 80 an. Sie können es auch mit den Optionen kombinieren, die Sie bereits aus "klassischen" Dateien kennen:
lsof -a -u httpd -i tcp
Dies zeigt Ihnen alle vom Benutzer geöffneten TCP-Verbindungen httpd
. Beachten Sie das -a
Flag, das das Standardverhalten von ändert lsof
(wie bereits erwähnt). Wie bei den meisten Befehlszeilentools können Sie extrem tief gehen. Im Folgenden werden nur TCP-Verbindungen angezeigt, deren Status "ESTABLISHED" lautet:
lsof -i -s TCP:ESTABLISHED
An dieser Stelle sollten Sie ein grundlegendes Verständnis der Funktionsweise lsof
sowie einiger gängiger Anwendungsfälle haben. Weitere Informationen finden Sie in der Manpage von lsof
auf Ihrem System.
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
McMyAdmin ist ein Minecraft-Server-Kontrollfeld, mit dem Sie Ihren Server verwalten können. Obwohl McMyAdmin kostenlos ist, gibt es mehrere Editionen, von denen einige pai sind
TeamTalk ist ein Konferenzsystem, mit dem Benutzer hochwertige Audio- / Videogespräche führen, Text chatten, Dateien übertragen und Bildschirme freigeben können. Es i
Verwenden Sie ein anderes System? Einführung CyberPanel ist eines der ersten Control Panels auf dem Markt, das sowohl Open Source als auch OpenLiteSpeed verwendet. Was ist das?
PhpBB ist ein Open Source Bulletin Board Programm. Dieser Artikel zeigt Ihnen, wie Sie phpBB auf einem Apache-Webserver unter Ubuntu 16.04 installieren. Es wurde geschrieben
Es kann gefährlich sein, nur einen Benutzer zu haben, nämlich root. Lassen Sie uns das beheben. Vultr bietet uns die Freiheit, mit unseren Benutzern und unseren Servern zu tun, was wir wollen
Verwenden Sie ein anderes System? ESpeak kann TTS-Audiodateien (Text-to-Speech) generieren. Diese können aus vielen Gründen nützlich sein, z. B. um Ihr eigenes Turin zu erstellen
Verwenden Sie ein anderes System? Thelia ist ein Open-Source-Tool zum Erstellen von E-Business-Websites und zum Verwalten von Online-Inhalten, die in PHP geschrieben wurden. Thelia Quellcode i
Verwenden Sie ein anderes System? Fuel CMS ist ein CodeIgniter-basiertes Content-Management-System. Der Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen, wie t
Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein
Cockpit ist ein kostenloses Open Source-Programm für die Linux-Serververwaltung. Es ist sehr leicht und hat eine schöne, einfach zu bedienende Weboberfläche. Es erlaubt System
Gollum ist die Git-basierte Wiki-Software, die als Backend des GitHub-Wikis verwendet wird. Durch die Bereitstellung von Gollum können Sie ein GitHub-ähnliches Wiki-System auf Ihnen hosten
Einführung Haben Sie Probleme mit der Konnektivität, wenn Besucher aus anderen Ländern auf Ihre Website zugreifen? Ich frage mich, warum die Download-Geschwindigkeit von Ihrem Foreig
Verwenden Sie ein anderes System? Gitea ist ein alternatives Open-Source-Versionskontrollsystem, das von Git unterstützt wird. Gitea ist in Golang geschrieben und ist
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit 201 bei Entwicklern und normalen Benutzern immer beliebter wird
Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich
Pip ist ein Tool zum Verwalten von Python-Paketen. Die Verwendung eines Paketmanagers ermöglicht eine effiziente Verwaltung Ihres Servers. In diesem Tutorial erkläre ich, wie t
BBR (Bottleneck Bandwidth and RTT) ist ein neuer Algorithmus zur Überlastungskontrolle, der von Google zum Linux-Kernel-TCP-Stack hinzugefügt wird. Mit BBR an Ort und Stelle,
YOURLS (Your Own URL Shortener) ist eine Open-Source-Anwendung zur URL-Verkürzung und Datenanalyse. In diesem Artikel werden wir den Installationsprozess behandeln
Verwenden Sie ein anderes System? TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.