میخواهم بر روی لینوکس توزیع 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" |
به نظر میرسد بر خلاف 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 وجود دارد،
من به راه حل ساده ای میپردازم
این راهکار برای محیط پوسته و یا shell به نام bash نوشته شده است
هنگامی که از طریق متنی با لینوکس در ارتباط هستید هر دستوری که تایپ میکنید در مسیر خاصی در حافظه موقت باقی میماند و در هنگامی که با دستور exit از محیط لینوکس خارج میشوید به فایل .bash_history الحاق میشود.
متغیری به نام HISTFILE مسیر فایل فوق را در خود نگه می دارد با دستور زیر، در هنگام خروج اطلاعات تاریخچه در جایی ذخیره نمیشود
unset HISTFILE
1- دستور
free
2- فایل مسیر
/proc/meminfo
3- دستور
vmstat
4- برنامه
top
5-برنامه
htop
اینکار با دستور ساده زیر قابل انجام است
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS