Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
Sub Linux, multe obiecte sunt considerate un fișier, indiferent dacă obiectul este de fapt un fișier, dispozitiv, director sau socket. Listarea unui fișier este ușoară, există shell-ul încorporat ls
pentru asta. Dar dacă un utilizator dorește să vadă ce fișiere sunt deschise în prezent prin procesul serverului web? Sau dacă acel utilizator dorea să afle ce fișiere sunt deschise într-un anumit director? Acolo lsof
intră în joc. Imaginați-vă lsof
ca o ls
cu adăugarea de „fișiere deschise”.
Vă rugăm să rețineți că, deși BSD-urile au o utilitate diferită pentru acest job fstat
, mai multe alte arome ale Unix (Solaris, de exemplu) dețin și ele lsof
. Opțiunile și steagurile sunt diferite pe celelalte platforme, precum și aspectul rezultatului, dar, în general, cunoștințele din acest articol ar trebui să fie aplicabile și pentru acestea.
Mai întâi, să aruncăm o privire la formatul de lsof
ieșire și cum trebuie citit. Ieșirea obișnuită a lsof
fără parametri ar semăna cu următoarele. Acest lucru a fost redus pentru lizibilitate.
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
Aceste coloane înseamnă următoarele:
init
.init
, este aproape întotdeauna root
.cwd
- Directorul de lucru curent (s-ar putea să observați asemănarea cu pwd
comanda care tipărește directorul de lucru curent).rtd
- Directorul rădăcină al unui proces.txt
- A text file
, acesta poate însemna fie un fișier de configurare aferent procesului, fie „codul sursă” aferent (sau aparținând) procesului.mem
- Un așa-numit „fișier mapat cu memorie”, care înseamnă un segment de memorie virtuală (citire: RAM) care a fost alocat unui fișier.r
- Citit.w
- Scrie.u
- Citeste si scrie.REG
- Un fișier obișnuit.DIR
- Un director.FIFO
- Mai întâi, mai întâi.Acest lucru ar putea fi un pic copleșitor deocamdată, dar dacă lucrați de lsof
câteva ori, acesta vă va scufunda rapid în creier.
Așa cum am menționat mai sus, producția de lsof
a fost scurtată aici. Fără niciun fel de argumente sau filtre, lsof
produce sute de linii de ieșire care vă vor lăsa doar confuzi.
Există două abordări de bază pentru a rezolva această problemă:
lsof
opțiunile liniei de comandă pentru a restrânge rezultatele.grep
,.În timp ce ultima opțiune poate suna mai confortabil, deoarece nu va trebui să memorați lsof
opțiunile liniei de comandă, în general nu este la fel de flexibilă și eficientă, așa că vom rămâne la prima.
Să ne imaginăm că doriți să deschideți un fișier cu editorul de text preferat și că editorul de text vă spune că acesta poate fi deschis doar în modul de citire, deoarece un alt program îl accesează deja. lsof
vă va ajuta să aflați cine este făptuitorul:
lsof /path/to/your/file
Aceasta va produce o producție similară cu aceasta:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Aparent, ați uitat să închideți și vechea sesiune! O problemă foarte asemănătoare se întâmplă atunci când încercați să demontați un share NFS și umount
vă spune că nu se poate, deoarece ceva încă accesează folderul montat. Din nou, lsof
vă poate ajuta cu identificarea vinovatului:
lsof +D /path/to/your/directory/
Observați obturarea, este important. În caz contrar, lsof
presupunem că vă referiți la un fișier obișnuit. Nu vă confundați cu partea +
din față a steagului - lsof
are atât de multe opțiuni de linie de comandă încât are nevoie, +
pe lângă cele mai comune -
. Produsul va arăta astfel:
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
Asta înseamnă că procesul mocp
, odată cu PID 5637
, care aparține utilizatorului music
a deschis un fișier numit RMS_GNU_SONG.ogg
. Cu toate acestea, chiar și după închiderea acelui proces, există încă o problemă - volumul NFS nu poate fi demontat.
lsof
are un -c
steag care afișează fișierele deschise un nume de proces arbitrar.
lsof -c mocp
Aceasta ar produce o ieșire care arată astfel:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
În acest exemplu, există o altă instanță de a mocp
rula, care vă împiedică să demontați cota. După închiderea acelui proces, doriți să vă asigurați că utilizatorul music
nu are deschise alte fișiere cu potențial problematic. lsof
are un -u
steag pentru afișarea fișierelor deschise de un anumit utilizator. Nu uitați, un fișier nu este întotdeauna doar un fișier obișnuit pe hard disk!
lsof -u music
De asemenea, puteți trece mai mulți utilizatori, despărțiți prin virgule:
lsof -u music,moremusic
O notă importantă privind comportamentul implicit al lsof
: rezultatele sunt bazate pe OR , ceea ce înseamnă că veți vedea rezultatele fișierelor deschise de procese care sunt deținute fie de utilizator music
, fie de utilizator moremusic
. Dacă doriți să vedeți procesele de potrivire a rezultatelor care sunt deținute de ambii utilizatori, atunci ar trebui să treceți steagul -a
:
lsof -au music, moremusic
Deoarece ambii utilizatori se află în grup musicusers
, puteți, de asemenea, să listați fișierele bazate pe grup:
lsof -g musicusers
Puteți combina, de asemenea, steagurile liniei de comandă:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
În ultima linie, am adăugat un alt steag special - ^
, care înseamnă un NU logic . Dacă ieșirea este goală după executarea acelei comenzi, cel mai probabil dezmembrarea va avea succes.
În exemplele anterioare, am analizat în mare parte fișierele obișnuite. Ce zici de prize și conexiuni de rețea?
Pentru a enumera toate conexiunile actuale de rețea lsof
este -i
indicat:
lsof -i
Rezultatul arată similar cu ceea ce am văzut până acum ...
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)
... cu excepția unei diferențe: în loc de nume de fișiere sau directoare, coloana NAME
arată acum informații despre conexiune. Fiecare conexiune este formată din următoarele părți:
Ca și în cazul altor instrumente, puteți renunța la rezolvarea numelor și porturilor DNS ( -n
și -P
, respectiv). Steagul -i
ia parametri suplimentari. Puteți specifica dacă să afișeze sau nu tcp
, udp
sau icmp
conexiuni sau anumite porturi:
lsof -i :25
or
lsof -i :smtp
Din nou, parametrii pot fi combinați. Următorul exemplu ...
lsof -i tcp:80
... vă va afișa doar conexiunile TCP folosind portul 80. De asemenea, îl puteți combina cu opțiunile pe care le cunoașteți deja din fișierele "clasice":
lsof -a -u httpd -i tcp
Aceasta vă va afișa toate conexiunile TCP deschise de utilizator httpd
. Rețineți -a
steagul, care modifică comportamentul implicit al lsof
(așa cum am menționat anterior). Ca și în cazul celor mai multe instrumente din linia de comandă, puteți merge extrem de adânc. Următoarele vă vor arăta doar conexiuni TCP a căror stare este "STABILITĂ":
lsof -i -s TCP:ESTABLISHED
În acest moment, ar trebui să aveți o înțelegere de bază cu privire la modul de lsof
funcționare, împreună cu unele cazuri de utilizare obișnuită. Pentru mai multe lecturi, consultați pagina de utilizare lsof
din sistemul dvs.
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF
TeamTalk este un sistem de conferințe care permite utilizatorilor să aibă conversații audio / video de înaltă calitate, chat de text, transfer de fișiere și partajare ecrane. Este
Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși
Ranger este un manager de fișiere bazat pe linia de comandă cu legături de cheie VI. Oferă o interfață de blestem minimalistă și frumoasă, cu o vedere asupra ierarhiei de directoare
Folosind un sistem diferit? Redmine este un instrument gratuit și deschis de gestionare a proiectelor bazat pe web. Este scris în Ruby on Rails și acceptă mai multe baze de date
Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit
Folosind un sistem diferit? Brotli este o nouă metodă de compresie cu un raport de compresie mai bun decât GZIP. Codul sursă este găzduit public pe acest Githu
În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b
Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,
Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th
Permiterea autentificării root pe SSH este de obicei considerată o practică slabă de securitate în întreaga industrie tehnologică. În schimb, puteți efectua administrativ sensibil
Folosind un sistem diferit? Seafile (versiunea comunității) este o soluție gratuită și deschisă de sincronizare și partajare a fișierelor, care este similară cu ownCloud. De-a lungul spiritului
Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin
Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i
Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik
Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine
Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine
Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă
EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe