Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
Sotto Linux, molti oggetti sono considerati un file, indipendentemente dal fatto che l'oggetto sia effettivamente un file, dispositivo, directory o socket. Elencare un file è facile, c'è la shell integrata ls
per quello. E se un utente volesse vedere quali file sono attualmente aperti dal processo del server Web? O se quell'utente volesse scoprire quali file sono aperti in una determinata directory? Ecco dove lsof
entra in gioco. Immagina lsof
come ls
con l'aggiunta di "file aperti".
Si noti che mentre i BSD hanno un'utilità diversa per questo lavoro fstat
, anche molti altri tipi di Unix (Solaris, per esempio) possiedono lsof
. Le opzioni e i flag sono diversi sulle altre piattaforme, così come l'aspetto dell'output, ma in generale le conoscenze in questo articolo dovrebbero essere applicabili anche a loro.
Innanzitutto, diamo un'occhiata al formato lsof
dell'output e al modo in cui deve essere letto. L'output normale di lsof
senza parametri sarebbe simile al seguente. Questo è stato tagliato per essere leggibile.
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
Queste colonne indicano quanto segue:
init
.init
è quasi sempre root
.cwd
- La directory di lavoro corrente (è possibile notare la somiglianza con il pwd
comando che stampa la directory di lavoro corrente).rtd
- La directory principale di un processo.txt
- A text file
, questo può significare un file di configurazione relativo al processo o il "codice sorgente" relativo (o appartenente a) al processo.mem
- Un cosiddetto "file mappato in memoria", che significa un segmento di memoria virtuale (leggi: RAM) che è stato assegnato a un file.r
- Leggere.w
- Scrivi.u
- Leggere e scrivere.REG
- Un file normale.DIR
- Una directory.FIFO
- Il primo che entra è il primo ad uscire.Questo potrebbe essere un po 'travolgente per ora, ma se lavori con lsof
alcune volte, affonderà rapidamente nel tuo cervello.
Come accennato in precedenza, l'output di lsof
è stato ridotto qui. Senza alcun argomento o filtro, lsof
produce centinaia di righe di output che ti lasceranno solo confuso.
Esistono due approcci di base per risolvere questo problema:
lsof
opzioni della riga di comando per restringere i risultati.grep
.Mentre quest'ultima opzione può sembrare più comoda poiché non dovrai memorizzare le lsof
opzioni della riga di comando, in genere non è così flessibile ed efficiente, quindi ci atterremo alla prima.
Immaginiamo che tu voglia aprire un file con il tuo editor di testo preferito e che l'editor di testo ti dice che può essere aperto solo in modalità di sola lettura perché un altro programma sta già accedendo ad esso. lsof
ti aiuterà a scoprire chi è l'autore:
lsof /path/to/your/file
Ciò produrrà un output simile al seguente:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Apparentemente, hai dimenticato di chiudere la sessione e quella più vecchia! Un problema molto simile si verifica quando provi a smontare una condivisione NFS e umount
ti dice che non è possibile perché qualcosa sta ancora accedendo alla cartella montata. Ancora una volta, lsof
può aiutarti a identificare il colpevole:
lsof +D /path/to/your/directory/
Nota la barra finale, questo è importante. Altrimenti lsof
supponiamo che intendi un file normale. Non essere confuso dal +
davanti alla bandiera - lsof
ha così tante opzioni da linea di comando che ha bisogno +
oltre alle più comuni -
. L'output sarebbe simile al seguente:
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
Ciò significa che il processo mocp
, con il PID 5637
, appartenente all'utente, music
ha aperto un file chiamato RMS_GNU_SONG.ogg
. Tuttavia, anche dopo aver chiuso quel processo, c'è ancora un problema: il volume NFS non può essere smontato.
lsof
ha un -c
flag che mostra i file aperti con un nome di processo arbitrario.
lsof -c mocp
Ciò produrrebbe un output simile al seguente:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
In questo esempio, c'è un'altra istanza di mocp
esecuzione, che ti impedisce di smontare la condivisione. Dopo aver interrotto tale processo, si desidera assicurarsi che l'utente music
non abbia altri file potenzialmente problematici aperti. lsof
ha un -u
flag per mostrare i file aperti da un utente specifico. Ricorda, un file non è sempre solo un file normale sul tuo disco rigido!
lsof -u music
Puoi anche passare più utenti, separati da virgole:
lsof -u music,moremusic
Una nota importante sul comportamento predefinito di lsof
: i risultati sono basati su OR , il che significa che vedrai i risultati dei file aperti da processi di proprietà dell'utente music
o dell'utente moremusic
. Se si desidera visualizzare i risultati che corrispondono ai processi di proprietà di entrambi gli utenti, è necessario passare il flag -a
:
lsof -au music, moremusic
Dato che entrambi gli utenti sono nel gruppo musicusers
, puoi anche elencare i file in base al gruppo:
lsof -g musicusers
È inoltre possibile combinare flag della riga di comando:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
Nell'ultima riga, abbiamo aggiunto un altro flag speciale ^
, che sta per un NOT logico . Se l'output è vuoto dopo aver eseguito quel comando, molto probabilmente lo smontaggio avrà esito positivo.
Negli esempi precedenti, abbiamo principalmente esaminato i file regolari. Che ne dici di socket e connessioni di rete?
Per elencare tutte le connessioni di rete correnti lsof
ha il -i
flag:
lsof -i
L'output è simile a quello che abbiamo visto finora ...
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)
... fatta eccezione per una differenza: invece di nomi di file o directory, la colonna NAME
ora mostra le informazioni di connessione. Ogni connessione è composta dalle seguenti parti:
Come con molti altri strumenti, è possibile annullare la risoluzione di nomi e porte DNS ( -n
e -P
, rispettivamente). Il flag -i
accetta parametri aggiuntivi. Puoi specificare se mostrare o meno tcp
, udp
o icmp
connessioni o determinate porte:
lsof -i :25
or
lsof -i :smtp
Ancora una volta, i parametri possono essere combinati. L'esempio seguente ...
lsof -i tcp:80
... ti mostrerà solo connessioni TCP usando la porta 80. Puoi anche combinarlo con le opzioni che già conosci dai file "classici":
lsof -a -u httpd -i tcp
Questo ti mostrerà tutte le connessioni TCP aperte dall'utente httpd
. Nota il -a
flag, che modifica il comportamento predefinito di lsof
(come menzionato in precedenza). Come con la maggior parte degli strumenti da riga di comando, puoi andare molto in profondità. Quanto segue mostrerà solo connessioni TCP il cui stato è "STABILITO":
lsof -i -s TCP:ESTABLISHED
A questo punto, dovresti avere una conoscenza di base su come lsof
funziona, insieme ad alcuni casi d'uso comuni. Per ulteriori letture, consultare la manpage di lsof
sul proprio sistema.
LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Introduzione Durante questo tutorial imparerai come configurare un livello base di sicurezza su una nuovissima macchina virtuale Vultr VC2 che esegue Ubunt
McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai
TeamTalk è un sistema di conferenza che consente agli utenti di avere conversazioni audio / video di alta qualità, chat di testo, trasferire file e condividere schermate. Io
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
PhpBB è un programma di bacheca open source. Questo articolo ti mostrerà come installare phpBB su un server web Apache su Ubuntu 16.04. Era scritto
Avere un solo utente, che è root, può essere pericoloso. Quindi risolviamolo. Vultr ci offre la libertà di fare ciò che vogliamo con i nostri utenti e i nostri server
Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar
Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t
Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare
Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446
Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu
Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.