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

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

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

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

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

میخواهم بر روی لینوکس توزیع CentOS 7 برنامه هایی که لازم دارم را نصب نمایم،

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


من نیاز به کمپایلرهای سی، فرترن و جاوا دارم، همچنین کمپایلر و کتابخانه های Compatible را نیز احتیاج دارم.، نصب Genome نیز در برنامه است

در یادداشت قبلی توضیح داده ام که چطور یک مخزن محلی از DVD توزیع لینوکس و یا فایل iso آن بسازید.


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


# yum --disablerepo=* --enablerepo=LocalRepo group list
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Available environment groups:
   Minimal Install
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done


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




# yum --disablerepo=* --enablerepo=LocalRepo  groupinstall "Development and Creative Workstation"

بر روی سیستم من، 271 برنامه نصب شد، توجه کنید که اینکار برای تست و کمپایل برنامه های خاصی انجام شده است، برای سیستمی که به اینترنت متصل است اینکار لزوما توجیح نداشته و ممکن است که امنیت را کاهش دهد



امکان داشت به جای اینکار، از روش کم ریسکتر زیر استفاده کرد




# yum --disablerepo=* --enablerepo=LocalRepo  groupinstall "Development Tools"# yum --disablerepo=* --enablerepo=LocalRepo  groupinstall "Compatibility Libraries"


yum، نصب برنامه ها از روی DVD با استفاده از YUMدر CentOS-7

به نظر میرسد بر خلاف Debian که میتوانید در هنگام نصب آن و یا همچنین پس از نصب و در زمان عملیاتی بودن سیستم عامل اقدام به اضافه نمودن آنلاین DVD نصب لینوکس به عنوان مخزن نمایید، من هنوز نتونستم راهی برای حل این مشکل در خصوص توزیع های Red Hat، Fedora و CentOS پیدا کنم.


راهی که پیدا کرده ام اضافه کردن مسیر mount شدن DVD روی سیستم عامل به صورت مخزن محلی برای این توزیع ها می باشد.


برای این منظور نیاز داریم بدانیم که سیستم عامل لینوکس DVD را در چه مسیری بارگذاری کرده است. دستور mount تمامی مسیرهایی که در لینوکس بارگذاری شده است را به ما میدهد، میتوانید با دستور grep  حروجی mount را محدود به مسیر خواسته شده به نمایید.



$ mount | grep CentOS



/dev/sr0 on /run/media/USER/CentOS 7 x86_64


برای حالتی که به جای dvd فایل ISO را در اختیار دارید، میتوانید مستقیما فایل ISO را در لینوکس mount نمایید.



mkdir /mnt/CentOS-7

mount -t iso9660 -o loop /opt/nfs/CentOS-7.0-1406-x86_64-Everything.iso /mnt/CentOS-7


حال لازم است یک مخزن در لینوکس بسازید، فایل local.repo را در مسیر زیر بسازید



vi /etc/yum.repos.d/localdvd.repo


و متن زیر را در آن وارد نمایید،



[LocalRepo]
name=CentOS 7 - DVD
#baseurl=file:///run/media/model/CentOS 7 x86_64
baseurl=file:///mnt/CentOS-7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


خط سوم، کامنت شده، برای حالت استفاده از DVD و خط چهارم برای mount کردن فایل iso مورد استفاده قرار میگیرد.


حال ما بقی مخازن را غیر فعال کرده و مخزن خودمان را فعال می نمایید.


yum --disablerepo=* --enablerepo=LocalRepo group list


لیستی از package های قابل نصب نمایش داده می شود.

چگونه در لینوکس تاریخچه یا history مربوط به جلسه یا session فعلی را پاک نماییم

بنا به دلایل مختلف، ممکنه که نخواهید دستوراتی را که در محیط متنی لینوکس تایپ میکنید در حافظه ذخیره شود،

راه حل برای حذف کل تاریخچه یا history وجود دارد،

من به راه حل ساده ای میپردازم


این راهکار برای محیط پوسته و یا shell به نام bash نوشته شده است


هنگامی که از طریق متنی با لینوکس در ارتباط هستید هر دستوری که تایپ میکنید در مسیر خاصی در حافظه موقت باقی میماند و در هنگامی که با دستور exit از محیط لینوکس خارج میشوید به فایل .bash_history الحاق میشود.


متغیری به نام  HISTFILE مسیر فایل فوق را در خود نگه می دارد با دستور زیر، در هنگام خروج اطلاعات تاریخچه در جایی ذخیره نمیشود


unset HISTFILE

چگونه در لینوکس حافظه مورد استفاده هر برنامه process را ببینیم

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


 ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS