نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
در زیر لینوکس ، بسیاری از اشیاء بدون توجه به اینکه این شیء در واقع یک فایل ، دستگاه ، فهرست یا سوکت است ، یک پرونده در نظر گرفته می شود. لیست یک پرونده آسان است ، پوسته ای ls
برای آن ساخته شده است . اما اگر کاربر بخواهد ببیند کدام پرونده ها توسط فرآیند سرور وب باز شده اند؟ یا اگر آن کاربر می خواست متوجه شود کدام پرونده ها در یک فهرست خاص باز می شوند؟ این جایی است که lsof
وارد بازی می شود. با افزودن "پرونده های باز" lsof
به عنوان ls
موارد تصور کنید .
لطفاً توجه داشته باشید که در حالیکه BSD برای این کار ابزار دیگری دارد fstat
، چندین طعم دیگر یونیکس (به عنوان مثال Solaris) نیز وجود دارد lsof
. گزینه ها و پرچم ها بر روی سیستم عامل های دیگر و همچنین از نظر ظاهری متفاوت است ، اما به طور کلی دانش در این مقاله باید برای آنها نیز کاربرد داشته باشد.
اول ، اجازه دهید نگاهی به قالب lsof
خروجی و نحوه خواندن آن بیندازیم . خروجی معمول lsof
بدون هیچ گونه پارامتر شبیه به موارد زیر است. این برای خوانایی اصلاح شده است.
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
این ستون ها به معنی زیر است:
init
.init
، آن را تقریبا همیشه root
.cwd
- دایرکتوری کار فعلی (ممکن است متوجه شباهتی با pwd
دستوری شوید که فهرست کار فعلی را چاپ می کند).rtd
- فهرست اصلی یک فرآیند.txt
- A text file
، این می تواند به معنای یک پرونده پیکربندی مربوط به فرآیند یا "کد منبع" مربوط به (یا متعلق به) فرآیند باشد.mem
- به اصطلاح "پرونده نقشه برداری حافظه" ، یعنی بخشی از حافظه مجازی (بخوانید: RAM) که به یک فایل اختصاص داده شده است.r
- خواندن.w
- نوشتن.u
- خواندن و نوشتن.REG
- یک پرونده معمولی.DIR
- دایرکتوریFIFO
- اولین ورودی اولین خروجی.این ممکن است فعلاً کمی غریب باشد ، اما اگر با lsof
چند بار کار کنید ، به سرعت وارد مغز شما خواهد شد.
همانطور که در بالا ذکر شد ، در اینجا تولید خروجی lsof
کوتاه شده است. بدون هیچ گونه استدلال یا فیلتر ، lsof
صدها خط تولید تولید می کند که فقط شما را گیج می کند.
برای حل آن مشکل دو رویکرد اساسی وجود دارد:
lsof
برای محدود کردن نتایج از یک یا چند گزینه خط فرمان استفاده کنید.grep
.اگرچه گزینه دوم ممکن است راحت تر به نظر برسد ، زیرا نیازی به یادآوری lsof
گزینه های خط فرمان را ندارید ، اما به طور کلی آنقدر انعطاف پذیر و کارآمد نیست ، بنابراین به گزینه اول می پردازیم.
بیایید تصور کنیم که می خواهید یک فایل را با ویرایشگر متن مورد علاقه خود باز کنید ، و ویرایشگر متن به شما می گوید که فقط در حالت فقط خواندنی قابل باز شدن است زیرا برنامه دیگری در حال حاضر به آن دسترسی دارد. lsof
به شما کمک می کند تا بدانید که مرتکب کیست:
lsof /path/to/your/file
این کار خروجی مشابه با این تولید می کند:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
ظاهراً جلسه را مسدود و قدیمی تر فراموش کردید! یک مشکل بسیار مشابه هنگامی اتفاق می افتد که می خواهید یک اشتراک NFS را جدا کنید و umount
به شما می گوید که نمی تواند زیرا چیزی هنوز به پوشه نصب شده دسترسی پیدا می کند. باز هم ، lsof
می تواند به شما در شناسایی مقصر کمک کند:
lsof +D /path/to/your/directory/
توجه داشته باشید که برش خسته کننده بسیار مهم است. در غیر این صورت lsof
فرض می کنید منظور شما از یک پرونده معمولی است. با +
جلوی پرچم اشتباه گرفته نشوید - lsof
دارای گزینه های بسیاری از خط فرمان است که +
علاوه بر رایج تر ، به آن نیاز دارد -
. خروجی به این شکل است:
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
این بدان معنی است که این فرآیند mocp
، با PID 5637
، متعلق به کاربر music
، پرونده ای به نام باز کرده است RMS_GNU_SONG.ogg
. با این حال ، حتی پس از بسته شدن این فرآیند ، هنوز هم یک مشکل وجود دارد - نمی توان جلوی حجم NFS را پرده برداشت.
lsof
دارای -c
پرچمی است که نمایش پرونده ها را با نام یک فرآیند دلخواه باز کرده است.
lsof -c mocp
این محصول می تواند مانند این باشد:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
در این مثال ، نمونه دیگری از mocp
اجرا وجود دارد که مانع از عدم اشتراک سهم می شود. پس از خاموش کردن این فرآیند ، شما می توانید مطمئن شوید که کاربر music
هیچ پرونده دیگری که به طور بالقوه مشکل ساز باشد ، باز نشده است. lsof
دارای -u
پرچمی برای نمایش پرونده هایی است که توسط یک کاربر خاص باز شده است. به یاد داشته باشید ، یک فایل همیشه فقط یک پرونده معمولی در دیسک سخت شما نیست!
lsof -u music
همچنین می توانید چندین کاربر را که با کاما از هم جدا شده اند ، عبور دهید:
lsof -u music,moremusic
یک نکته مهم در مورد رفتار پیش فرض lsof
: نتایج به دست آمده از نوع OR است یا به این معنی است که شما می توانید نتایج پرونده را توسط فرآیندی که متعلق به کاربر music
یا کاربر moremusic
باشد باز کنید. اگر می خواهید نتایج مطابق با نتایج را که متعلق به هر دو کاربر است ببینید ، پس باید پرچم را تصویب کنید -a
:
lsof -au music, moremusic
از آنجا که هر دو کاربر در گروه هستند musicusers
، می توانید فایل ها را بر اساس گروه نیز لیست کنید:
lsof -g musicusers
همچنین می توانید پرچم های خط فرمان را با هم ترکیب کنید:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
در خط آخر ، ما پرچم ویژه دیگری را اضافه کردیم - ^
که مخفف NOT منطقی است . اگر خروجی پس از اجرای آن دستور خالی باشد ، احتمالاً unmounting موفقیت آمیز خواهد بود.
در مثالهای قبلی بیشتر به پرونده های منظم نگاه می کردیم. درمورد سوکت و اتصالات شبکه چطور؟
برای لیست تمام اتصالات شبکه فعلی lsof
دارای -i
پرچم است:
lsof -i
به نظر می رسد که خروجی شبیه به چیزی است که ما تاکنون دیدیم ...
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)
... به جز یک تفاوت: به جای نام پرونده ها یا دایرکتوری ها ، ستون NAME
اکنون اطلاعات اتصال را نشان می دهد. هر اتصال از قسمت های زیر تشکیل شده است:
مانند بسیاری از ابزارهای دیگر ، شما ممکن است از حل نام و پورت DNS ( -n
و -P
به ترتیب) خودداری کنید . پرچم -i
پارامترهای اضافی را می گیرد. می توانید نمایش دهید یا نه tcp
، udp
یا icmp
اتصالات یا پورتهای خاصی را نشان دهید:
lsof -i :25
or
lsof -i :smtp
دوباره ، پارامترها را می توان ترکیب کرد. مثال زیر ...
lsof -i tcp:80
... فقط اتصالات TCP را با استفاده از درگاه 80 به شما نشان می دهد. همچنین ممکن است آن را با گزینه هایی که قبلاً از پرونده های "کلاسیک" می شناسید ترکیب کنید:
lsof -a -u httpd -i tcp
با این کار تمام اتصالات TCP توسط کاربر باز می شود httpd
. توجه داشته باشید -a
پرچم ، که باعث تغییر رفتار پیش فرض lsof
(همانطور که در ابتدا گفته شد). مانند بسیاری از ابزارهای خط فرمان ، شما می توانید بسیار عمیق بروید. موارد زیر فقط اتصالات TCP را نشان می دهد که حالت "ایجاد" شده است:
lsof -i -s TCP:ESTABLISHED
در این مرحله ، شما باید درک اساسی در مورد نحوه lsof
کار ، همراه با برخی موارد استفاده معمولی داشته باشید. برای مطالعه بیشتر ، lsof
به سیستم عامل خود مراجعه کنید.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد