خطاهای پیش آمده در لینوکس و راه حل آنها

تجریبات بر طرف سازی خطاهای لینوکس

خطاهای پیش آمده در لینوکس و راه حل آنها

تجریبات بر طرف سازی خطاهای لینوکس

Commands for making wrf libraries

برای کمپایل netcdf ورژن ۴ و به بالا


./configure --disable-dap --disable-netcdf-4 --disable-shared

نصب برنامه بر روی سرور لینوکس بدون اینترنت

yum  با استفاده از اینترنت سیستم دیگر


یکی از مشکلات ادمین ها، نصب برنامه های اضطراری بر روی سیستم لینوکسی است که اینترنت ندارد.

یکی از ساده ترین و بهترین روشها به صورت زیر است


استفاده از socks proxy


گام اول


ssh -D port_number -d -C -q -N user@linuxWithInternet


گام دوم


اضافه کردن این خط در فایل 

/etc/yum.conf

proxy=socks5://127.0.0.1:port_number 


گام سوم


استفاده از دستور yum برای نصب برنامه های مورد نیاز



چگونه دسترسی مسدود شده توسط DENYHOSTS را مجددا فعال کنیم.

DENYHOSTS برنامه بسیار مناسبی برای پیش گیری از SSH ATTACK روی سرورهای لینوکسی متصل به اینترنت می باشد.

این برنامه با قرار  دادن IP فرد نفوذگر در  لیست سیاه مانع تقاضای مجدد ارتباط SSH از همان IP می گردد.

اما همین موضوع مشکلاتی را هم به همراه می آورد. به عنوان مثال اگر هنگام ورود خودتان و یا همکارتان اشتباهی در ورود پسورد یا شناسه ورود داشته باشید و این با تنظیمات DENYHOSTS باعث بشود که IP شما و یا همکارتان در لیست سیاه قرار بگیرد، ارتباط های بعدی شما با سرور دچار اختلال خواهد گردید.

در این صورت چندین روش برای بر طرف کردن و رفع این مشکل وجود دارد که برای همه آنها می بایست از طریق یک سیستم و یا IP دیگر بتوانید به سرورتان متصل شوید.

سپس فایل /etc/hosts.allow/ را ادیت کرده و دستور زیر را در انتهای فایل به ازای هر آدرس شبکه و یا IP وارد میکنید:


ALL: XXX.YYY.ZZZ.0/24

که به جای XXX.YYY.ZZZ.0   و سابنت 24 IP و سابنت مربوط به آنرا وارد می نمایید.

با اینکار دسترسی  شبکه و یا IPهای داده شده به سرورتان فعال میگردد.


به جز این دو روش دیگر هم برای دسترسی وجود دارد که در پست های بعدی به آن خواهم پرداخت

اندازه گیری مدت اجرای یک برنامه در لینوکس با اسکریپت

کافی است یک bash script فایل درست کنیم و این را در داخل آن بنویسیم


start=`date +%s`
stuff
end=`date +%s`

runtime=$((end-start))
echo $runtime >> runtime.txt

چگونه بوت لودر لینوکسمان را تعمیر کنیم

برای لینوکس:

فرض میکنیم که حواسمان نبوده، یک پارتیشن به سیستم اضافه کرده ایم و یا اینکه مشکلی پیش آمده و لینوکس بوت نمیشود،

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

خوب پس چه کنیم!؟


اول اینکه فرض میکنیم خوش شانس هستیم و سی دی یا دی وی دی لینوکس را داریم، آنهم از نوع live اش

پس سیستم را با لینوکس جدیدمان بدون اینکه نصبش کنیم بوت میکنیم


سپس لازم است که بدانیم کدام پارتیشن در لینوکس نقش root ( همان / ) را دارد، 

اگر شانس بیاوریم و پارتیشن های ساخته شده همه معمولی و از نوع primary و یا logical باشند با دستور زیر میتوانیم این پارتیشن را ببینیم.

fdisk -l


خوب، در مورد مثال من، این پارتیشن از نوع logical بوده و شماره آنهم 7 بود. 

به عبارت دیگر sda7

لذا انرا با دستور زیر ، زیر شاخه /mnt مانت مینماییم


mount /dev/sda7 /mnt

برای اطمینان از اینکه پارتیشن boot به صورت مجزا ساخته شده باشد یا خیر، میتوانیم از مسیر آن با دستور زیر لیست بگیریم.

من خوش شانس بودم و پارتیشن سوایی برای boot نداشتم، در غیر اینصورت می بایست آنرا نیاز مانت میکردم

ls /mnt


ls /mnt/boot

خب باید سه فولدر زیر را نیز مانت نماییم، اینها فولدرهای مجازی هستند و اطلاعات داخل آن مورد نیاز لینوکس است

sudo mount —bind /dev/ /mnt/dev

sudo mount —bind /proc/ /mnt/proc

sudo mount —bind /sys/ /mnt/sys


حال اقدام به نصب بوت لودر روی سکتور صفر هارد می کنیم


grub-install —root-directory=/mnt/ /dev/sda

این دستور زیر، باعث میشود که لینوکس سابق، به عنوان لینوکس فعال ، فعالیتش را آغاز کند

chroot         /mnt

خب، حالا زمان ان رسیده که جناب grub بررسی کند آیا سیستم عامل دیگری روی کامپیوتر موجود است یا خیر، 

پس با اجرای دستور زیر این عمل صورت می پذیرد.

update-grub


ما میخواستیم سیستم را رستارت کنیم که پیام داد در حال chroot امکان ندارد، 

ما هم بدون بررسی عملکرد، تنها کار ممکن و معقول را انجام دادیم

با زدن دستور exit به وضعیت قبلی برگشته و سپس دستور زیر

exit


reboot


البته ما به یک مشکلی بر خورد کردیم، لینوکس بوت میشد اما در صفحه بوت گراب، اثری از ویندوز نبود

لذا ابتدا وارد لینوکس شده و یک ترمینال را باز کردیم

سپس با دستور su- وارد اکانت root شدیم. اجرای دستور update-grub ویندوز 10 پیدا شد و مشکل ما مرتفع گردید.