۶ کار که در اولین لحظه اتصال به سرور جدید لینوکسی انجام میدم.

یکی از کار هایی که هر برنامه نویسی باهاش خیلی سروکار داره اتصال به سرور های گوناگون تیم ، شرکت و یا مشتری هاست.ولی یه سری تست ها و نکات وجود داره که هر شخصی قبل از استفاده از و نصب هر سرویسی روی سرور باید رعایت کنه. توی این مقابه با لیست کار های پیشنهادی آقای Gaurav Kamathe از سایت openSource.com اشنا میشیم.



اولین بازخورد

توی اولین لحظه باید چک کنین با چه سیستم عاملی طرف هستین ، چه ساختار سخت افزاری داره و چند مدت هست که روشن بوده.

برای این کار اول چک کنیم ببینیم با چه موجودی طرف هستیم:

لیست فایل های دارای کلمه ریلیز داخل etc
لیست فایل های دارای کلمه ریلیز داخل etc


توی ایم مثال ما با یه centOS طرف هستیم . بعد میتونیم با دیدن فایل centos-release از جزیات بیشتری با خبر بشیم:

نسخه CentOs
نسخه CentOs

بعد نوبت کرنل و آپ تایم رو چک کردنه:

نسخه کرنل و آپتایم
نسخه کرنل و آپتایم

مطمعن بشیم تنها هستیم

یکی از مهم ترین کار ها اینه چک کنین که روی این سرور تنها هستیم. این کار هم امنیت شما رو تظمین میکنه و هم جلوگیری میکنه از به وجود اومدن تداخل های احتمالی .

برای این کار از دستورات زیر استفاده میکنیم:

تنها خودمم روش :|
تنها خودمم روش :|

دستگاه فیزیکی یا مجازی

توی این مرحله باید چک کنیم ببینیم دتسگاهی که ما بهش متصل هستیم یه دستگاه مجازی هست یا خیر.

اگر دستگاه مجازی باشه کلماتی مثل KVM ,VirtualBox ,VM و ... رو قراره ببینید و در غیر این صورت عبارت هایی شامل اسم شرکت تولید کننده.در دو مثال زیر هر دو سرور به صورت مجازی (یکی با VmWare و اونیکی با QEMU شبیه سازی شده ) هستن.

سرور QEMU
سرور QEMU
سرور VMWare
سرور VMWare

برای چک کردن از دستورات :

lshw  -c system | grep product | head -1
cat /sys/class/dmi/id/product_name
dmidecode -s system-manufacturer

استفاده کنین.

سخت افزار !

یکی از مهم ترین استپ هایی که باید چک بشه اینه که بفهمیم سوار چه سخت افزاری هستیم. این چک میتونه خیلی از تصمیمات کلیدی آینده رو تحت تاثیر بزاره ( مثلا گیت لبو نمیشه رو رم ۲ گیگ نصب کرد)

برای این کار از cpu شروع میکنیم و از ram به شبکه میرسیم.

cpu
cpu
mem
mem

و دستور ifconfig برای شکبه ( عکس نمیزارم)


لیست ریپو ها و برنامه ها

برای اینکه بتونین معماری خوبی رو پیاده سازی کنین باید ریپو های جامعی رو قبل از شروع به کار جمع کنین و لیستی از برنامه های موجود روی سیستم داشته باشید.برای انجام این کار روی یه سیستم عامل redHatBased میتونین از دستورات زیر استفاده کنین:

rpm -qa
yum repolist
ls -l /etc/yum.repos.d/
yum repolist
yum repolist

پروسس ها و سرویس های در حال اجرا


قدم بعدی و خیلی طبیعی بعد از چک کردن نرم افزار های نصب شده روی سیستم اینه که پروسس های باز ،daemon ها و .. رو چک کنیم.

systemctl
ps -ef
ps auxf

توی مثال زیر nginx + یه کانتینر داکر + یه پروسس nodeJs در حال اجرا هستن که میتونه بیشتر منابع رو مصرف کنه و اجرای بقیه برنامه هارو دچار اختلال و کندی کنه ( یه پروسس نود جی اسی وقتی MaxEventListner هاش رو رد بکنه توی یه کانتینر داکری میتونه کاری کنه سیستک حتی ریسارت هم نشه و timeOut بده)

در قدم های بعدی بهتره استاتوس SELinux ، لاگ های موجود ، مشخصات اتصالات دقیق تر شبکه (با setstat یا ss)رو پیدا کنین و بر اسا اونا تصمیم گیری های آینده خودتون رو انجام بدین.