ده سال گذشت

انتشار فدورا ۲۰ مصادف بود با دهمین سالگرد از انتشار این دیسترو دوست داشتنی. فدورا به غیر از پیشرفت‌های زیادی که توی این سالها برای جامعه اپن‌سورس به ارمغان اورد، شروعی بود  تا با این دنیای جدید و زیبا  آشنا بشم و برای همین شنیدن خبر ده ساله شدنش  من یکی رو به وجد آورد.

از اونجایی که از اون دسته از آدم‌هایی نبودم که اتفاقات رو با جزئیاتشون، تمام و کمال روی کاغذ ثبت کنم و دفتر خاطره‌ای برای خودم راست و ریس کنم،‌ برای همین هیچ وقت یادم نمیاد که کی و چه زمانی مثلا رفتم پی لینوکس، یا مثلا چه زمانی بود که با ویندوز کار کردم و چه زمانی اولین‌ پنتیوم تری ۸۰۰ رو بابا برام خرید یا مثلا چند بار فلان کوه رو بالا رفتم و اینجور اتفاقات همیشه می‌رفتن توی زباله دانی تاریخ ذهنم.

در عوض خوب یادم میاد مثلا اولین بازی که خریدم فیفا ۲۰۰۰ بود که توی شهرک اکباتان از یکی از مغازه‌ها خریدم و بعد وقتی که با کلی شور و شوق میخواستم اون رو نصب کنم، اما  بخاطر عدم آشنایی با مفهوم کرک و کپی پیست ساده یک فایل یادمه که چطور عملیات نصب با شکست روبه رو شد و احساس آدمی رو داشتم که فروشنده سرش رو کلاه گذاشته! 🙂 یا اولین فیلمی که روی سی‌دی دیدم، فیلمی بود با محوریت گودزیلا که تلویزیون هم چند ده باری نشونش داد بعدا

10years-banner_logo

اما در این مورد خاص قضیه فرق کوچکی داره و اون  اینکه دقیقا یادم می‌یاد روزی رو که از کوه بر می‌گشتم و تصادفی چشم به پنج‌تا سی‌دی آبی رنگ پشت ویترین مغازه توی ولیعصر یک جایی نزدیکی های شیرینی لادن افتاد و تمام حس کنجکاویم رو برانگیخت! سی‌دی های آبی رنگ چیزی نبودن جز فدورا یک. و این یعنی تقریبا گذشت ده سال از اون زمان…

10years-banner_balloons

یادمه چند ماهی زودتر با کتاب ردهت آلن باغومیان که از نمایشگاه کتاب تهیه‌ش کرده بودم عملا خودم رو آماده ورود به این دنیای جدید کرده بودم.

راستی بد نیست نگاهی به خبر انتشار فدورا یک هم بیندازید و این فیلم کوتاه رو هم از ده سالگی انتشار فدورا از دست ندید 🙂

شب یلداتون هم در ضمن مبارک!‌

 

 

نصب فلش پلیر ۶۴ بیت بر روی توزیع‌های ۶۴ بیتی

مدتیه که آدوب برای لینوکس‌های ۶۴ بیت،  فلش پلیر ۶۴ بیتی منتشر کرده و با وجود اینکه نسخه آزمایشی هست، مشکل خاصی نداره و استفاده از اون برای همه افرادی که توزیع ۶۴ بیت دارن توصیه می‌شه. حالا یه نفر پیدا شده و یک اسکریپت برای نصب فلش پلیر ۶۴ بیتی در اوبونتو نوشته که با یک سری تغییرات برای اپن‌سوزه و فدورا نیز منتشر شده است. این اسکریپت برای اجرا شدن یک مشکل اساسی دارد و آن اینکه سرور میزبان فلش پلیر، کاربران  ایرنی را تحریم کرده است. این مشکل رو با تغییر سرور در اسکریپت  می‌شه برطرف کرد. نتیجه رو براتون می‌ذارم تا شما هم از مزایای فلش پلیر ۶۴ بیت بهره‌مند شوید:دی فقط یادتون نره که قبل از اجرای اسکریپت فایرفاکس بسته باشه و دیگه اینکه با دستور chmod +x اسکریپت رو اجراییش کنید. اگه مشکلی با این اسکریپت داشتید من رو در جریان بگذارید.

اسکریپت برای اوبونتو
اسکریپت برای فدورا
اسکریپت برای اپن‌سوزه

شکستن رکورد محاسبه عدد پی با یک پی‌سی (۲.۷ تریلیون)

رکورد قبلی عدد پی ۲.۵ تریلیون (تریلیون =ده به توان ۱۲) رقم اعشار بوده. این رکورد توسط یه سوپر کامپیوتر واقعی (T2K) که در زمان خودش ۴۷م بوده، در مدت زمان ۷۳ ساعت و ۳۶ دقیقه ثبت شده است.

و اما رکورد ۲.۷ تریلیون که یک شاهکار حساب می‌شه با مشخصات سخت افزاری  کور آی‌سون با فرکانس ۲.۹۳ گیگاهرتز، شش گیگابایت رم و ۱.۵ ترابایت هارد سیگیت به صورت رید صفر و با پارتیشن ext4 و همینطور با سیستم عامل ردهت فدورا ده ۶۴ بیتی توسط فردی به نام فابریس بلارد ثبت شده. نکته جالب مدت زمان صد و سه روزی هست که برای ثبت این رکورد صرف شده! که در مقایسه با ۷۳ ساعت خیلی خیلی بیشتره. میزان فضایی که برای ثبت این رکورد مورد استفاده قرار گرفته، ۱۱۳۷ گیگابایت بوده. برای ثبت این رکورد  از فرمول چادناوسکی استفاده شده.

منبع

سیستم عامل لینوکس را مستقیما از طریق اینترنت نصب کنید

آقا سیستم عامل دیدید داره بوت می‌شه؟ سی‌دی ویندوز رو که  می‌ذارین، برای بار اول وقتی نصب شدا، بعد اون ریست آخر سیستم بوت میشه و می‌یاد بالا! یا وقتی دیسک لایو می‌ذارین و سیستم عامل خوشگل لینوکس رو می‌بینین بدون اینکه نصب کنیدش سیستم بوت میشه!  حالا هکرای کرنل اومدن  یه چیزی ساختن که شما بتونید از طریق اینترنت توزیع خودتون رو نصب کنید و اون رو اصطلاحا بوت کنید.  بدون اینکه سی‌دی یا دی‌وی‌دی داشته باشید. ابزار کار اینترنت هست با یه برنامه فوق کم حجم که حتی می‌تونید روی فلاپی دیسکت رایتش بزنید! قضیه از این قراره که آقایون و دانشمندای boot.kernel.org که ما به اختصار می‌گیم BKO ابزاری رو ساختن به اسم  gPXE که حجمی معادل ۲۲۱ کیلو داره و شما باید اون رو بگیرید. اون رو با توجه به دستورالعملی که داره روی سی‌دی یا فلش یا روی فلاپی دیسکت بگذارید طوری که اولین بار بعد روشن شدن، کامپیوتر پاش رو تو پوتین این gPXE کنه! حالا فک کنین از طریق اینترنت می‌شه چه توزیع‌هایی رو نصب کرد؟ دبیان، اوبونتو ۹٫۰۴، فدورا ۱۱، ناپدری پارسیکس  و یکی از کوچکترین توزیع‌ها یعنی DSL!

دیگه اینکه من با دیدن این عکس واقعا نمی‌دونم چرا تو زبون فارسی به بوت، چکمه و پوتین نمی‌گیم؟! خوب چشه!؟ واقعا همین معنی رو می‌ده!

آقا! تو رو خدا کف پای سیستم بیچاره رو تو چکمه ویندوز نکنید:)))

دیگه اینکه خیال نصب لینوکس رو با دایال آپ ایران نداشته باشید!‌ نه اینکه سرعت زیاده! نه! چون اصلا از این طریق نمی‌شه:)) شما در نظر بگیرید مودمی رو که توی خود اوبونتو با نصبش مشکل دارن، حالا شما چطوری می‌خواین اون رو به یه برنامه ۲۲۱ کیلویی بشناسونین!؟{{:))))}} اما در عوض ای‌دی‌اس‌ال فک کنم جواب بده.

و دیگه اینکه قبل از اینم من یادمه توی کتاب ردهت آقای آلن باغومیان روش نصب ردهت رو از طریق اینترنت رو هم گفته بودن! اما خوب این روش مزیتش اینه که شما هر توزیعی رو که بخواید می‌تونید انتخاب کنید.

و نکته آخر اینکه یه سایت به اسم netboot.me نیز وجود داره که مشابه همین کار رو انجام می‌ده و یه خورده سر انتخاب توزیع شما تنوع بیشتری دارید. اپن سوزه، اوبونتو ۹٫۱۰! فری‌بی‌اس‌دی با چند تا لینوکس کوچولو موچولو انتخابای بیشتر شماست! در عوض این سایت روی سرورای نازنین گوگل میزبانی می‌شه که بر روی ایران بسته هست! من فقط نمی‌دونم آیا خود توزیع هم که از اینترنت گرفته می‌شه روی سرور گوگل هست که اگر باشه کارمون زاره:))

Netboot.me logo

منبع: اینجا و اینجا

۲۰ ابزار مانیتورینگ سیستم لینوکس که هر مدیر سیستمی باید با آن آشنا باشد

نیاز به نظارت بر عملکرد سیستم لینوکس دارید؟ دستورات و برنامه های زیر را آزمایش کنید. اکثر توزیع های لینوکس به تعداد زیادی از ابزار مانیتورینگ سیستم مجهز هستند. تعدادی از این ابزار  رو نیز باید خود اقدام به نصب آنها کنید. شما از این ابزار می توانید برای پیدا کردن علل احتمالی یک مشکل در عملکرد سیستم استفاده کنید.

۱- top — میزان فعالیت یک پروسه

برنامه top ابزاری است برای نشان دادن وضعیت پروسه های فعال به صورت آنی و پویا. به صورت پیشفرض لیست برنامه هایی که بیشترین میزان مصرف cpu را دارند نشان داده می‌شود. این لیست هر ۵ ثانیه به روز میشود.

Fig.01: Linux top command

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

کلیدهای مهم در هنگام استفاده از برنامه top

t وظیفه خاموش و روشن کردن قسمت مربوط به نمایش اطلاعات خلاصه را دارد. این اطلاعات به صورت زیر نمایش داده می‌شود.

Tasks: 180 total,   ۲ running, 178 sleeping,   ۰ stopped,   ۰ zombie

m وظیفه خاموش و روشن کردن قسمت مربوط به اطلاعات حافظه است. این اطلاعات به صورت زیر نشان داده می‌‌شود.

Mem:   ۳۹۹۳۱۸۰k total,  ۳۹۶۳۸۵۲k used,    ۲۹۳۲۸k free,   ۳۱۷۶۷۶k buffers
Swap:   ۸۱۱۲۰۸k total,     ۳۵۳۲k used,   ۸۰۷۶۷۶k free,  ۲۳۸۷۵۵۶k cached

a مرتب کردن اطلاعات براساس بیشترین میزان مصرف منابع سیستم.  برای شناسایی سریع برنامه هایی که بیشترین مصرف رو دارند این گزینه عالی هست.

f وارد محیطی می شوید که قادر هستید برنامه top رو تنظیم و پیکربندی کنید. اینکه چه ستون هایی در برنامه top به شما نشان داده بشه، از این قسمت قابل کنترل هست (ستون های نمایش داده شده در برنامه کنارشون یک علامت ستاره قرار دارد). همینطور مخفف تمام ستون‌ها در اینجا نمایش داده می‌شود. برای خارج شدن  از Esc استفاده کنید.

k برای کشتن یک برنامه از این حرف استفاده کنید. بعد از وارد کردن این حرف باید آی دی پروسه ای که قصد نابود کردنش را دارید وارد کنید.

z برای روشن و خاموش کردن رنگ

q برای خارج شدن از برنامه از این حرف استفاده کنید.

اطلاعات بیشتر

۲- vmstat — بررسی فعالیت سیستم، سخت افزار و اطلاعات سیستم

فرمان vmstat اطلاعات در مورد پروسه‌ها، حافظه، صفحه بندی،‌ بلوک IO و فعالیت cpu را گزارش می‌دهد.

vmstat 3

خروجی نمونه:

vmstat3

نمایش استفاده از حافظه Slabinfo

vmstat -m

دریافت اطلاعات در مورد فعال یا غیرفعال بودن حافظه صفحات

vmstat -a

اطلاعات مربوط به هارد دیسک

vmstat -d

اطلاعات بیشتر

۳- w– پیدا کردن اینکه چه کسی به سیستم متصل است و چه کاری انجام داده است؟

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

w username

w enghezi

خروجی نمونه:

w-enghezi

۴- uptime– چه مدت سیستم در حال کار است؟

از این دستور می توان مدت زمانی را که سرور در حال کار است را بدست آورد. این دستور اطلاعات مربوط به زمان جاری، مدت زمان کار ماشین، تعداد کاربران متصل به سیستم و متوسط بار سیستم در یک، پنج و ۱۵ دقیقه گذشته را می‌توان بدست آورد.

uptime

خروجی:

uptime

عدد یک برای متوسط بار به عنوان مقدار بار مطلوب در نظر گرفته شود. این عدد برای سیستم با سیستم فرق می‌کند. برای سیستم تک هسته‌ای این عدد از یک تا سه و برای پردازشگر با قابلیت SMP این عدد ۶ تا ۱۰است.

۵- ps — نمایش پروسه‌ها

دستور ps پروسه های جاری را به صورت ثابت و یک عکس به ما نشان می دهد. بر خلاف دستور top که این عمل را به صورت پویا نشان می‌داد. برای نشان دادن همه پروسه‌ها ما از آرگومان A و یا e استفاده می‌کنیم.

ps -A

نمونه خروجی:

ps-A

ps مشابه دستور top است با این تفاوت که می تواند اطلاعات بیشتری را به ما نشان دهد.

نمایش خروجی به فرمت بلند

ps -Al

نمونه خروجی:

ps-Al

برای روشن کردن حالت فول و کامل (در این حالت آدرس دقیق پروسه‌ای که در حال اجراست نمایش داده می‌شود)

ps -AlF

نمونه خروجی:

ps-AlF

برای نمایش Treads ( منظور همان LWP و NLWP)

ps -AlFH

نمونه خروجی:

ps-AlFH

نمایش Treads بعد از انجام پردازش‌ها

ps -AlLm

نمونه خروجی:

ps-AlLm

نسخه قابل چاپ همه پروسه‌ها بر روی سرور

ps ax

نمونه خروجی:

ps ax

ps axu

نمونه خروجی:

ps aux

نسخه قابل چاپ پروسه به صورت سلسله مراتبی(درختی)

ps -ejH

نمونه خروجی:

ps -ejH

ps axjf

نمونه خروجی:

ps axjf

pstree

نمونه خروجی:

pstree

نسخه قابل چاپ امنیتی

ps -eo euser,ruser,suser,fuser,f,comm,label

نمونه خروجی:

ps -eo euser,ruser,suser,fuser,f,comm,label

ps axZ

نمونه خروجی:

ps axZ

ps -eM

مشاهده تمام پروسه‌هایی که متعلق به کاربر enghezi می‌باشد

ps -U enghezi -u enghezi u

تنظیم خروجی در یک قالب تعریف شده توسط کاربر

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan

نمایش شماره پروسه‌ برنامه (در اینجا می‌خواهیم شماره پروسه برنامه فایرفاکس را پیدا کنیم)

ps -C firefox -o pid=

یا

pgrep firefox

یا

pgrep -u enghezi firefox

نمایش نام پروسه‌ای که آی‌دی اون ۴۴۳۹ باشد. (خروجی اسم برنامه رو می‌ده)

ps -p 4439 -o comm=

نمایش ۱۰ پروسه‌ای که بیشترین میزان مصرف حافظه رو دارند

ps -auxf | sort -nr -k 4 | head -10

نمایش ۱۰ پروسه‌ای که بیشترین میزان مصرف پردازشگر رو دارند

ps -auxf | sort -nr -k 3 | head -10

۶- free — میزان استفاده  از حافظه

این دستور میزان کل، آزاد و اشغال شده حافظه اصلی و مجازی (سوپ) رو به ما نشون می‌ده. همچنین می‌توانیم میزان بافری رو که توسط کرنل اشغال شده رو ببینیم.

نمونه خروجی:

free

اطلاعات بیشتر: یک و دو و سه

۷- iostat —  متوسط بار پردازشگر و فعالیت دیسک

دستور iostat آمار مربوط به پردازشگر و آمار مربوط به خواندن و نوشتن ابزاری همچون پارتیشن و NFS را به ما نشان می‌هد.

نمونه خروجی:

iostat

اطلاعات بیشتر

۸- sar– جمع آوری و گزارش فعالیت سیستم

فرمان sar برای جمع آوری، گزارش و ذخیره اطلاعات مربوط به سیستم مورد استفاده قرار می‌گیرد. (دو دستور زیر رو سیستم من اجرا نشد!)

sar -n DEV | more
sar -n DEV -f /var/log/sa/sa24 | more

شما همچنین می‌توانید اطلاعات بلادرنگ و مربوط به زمان حال سیستم رو با استفاده از این دستور پیدا کنید.

sar 4 5

خروجی نمونه:

sar45

اطلاعات بیشتر

۹- mpstat–  پردازشگرهای چند هسته‌ای

این دستور وضعیت هر پردازشگر رو (هر یک از هسته های پردازشگر رو جدا جدا) به ما گزارش می‌ده. و کاربرد اون در پردازشگرهای چند هسته‌ای هست.

mpstat -P ALL

دستور اول وضعیت هر ۴ هسته رو برای یک بار به ما گزارش می ده. اما دستور دوم برای هر هسته ۵ بار وضعیت رو چک می کنه و برای هر هسته ۵ گزارش به ما برنامه می‌ده. فاصله گزارش گیری ها ۲ ثانیه هست. این دستور تقریبا مشابه دستور sar می باشد.

mpstat -P ALL 2 5

اطلاعات بیشتر

۱۰- pmap — پردازش حافظه استفاده شده در سیستم

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

به عنوان مثال آی‌دی پروسه‌ای به شماره ۴۷۳۹۴ را در نظر بگیرید.

pmap -d PID

خروجی نمونه:

pmap-d

خط آخر خروجی این دستور بسیار مهمه.
mapped: مقدار کل حافظه که به برنامه اختصاص داده شده
writeable/private: مقدار فضای آدرس‌های خصوصی
shared: مقدار فضای آدرس این پروسه که با دیگر برنامه ها مشترک است

اطلاعات بیشتر

۱۱ و ۱۲ – netstat و ss — آمار شبکه

فرمان netstat، اتصالات شبکه، مسیریابی جداول، رو در اختیار می‌گذاره. دستور ss هم برای پیدا کردن  سوکت و پورت های ارتباطی بین میزبان و میهمان مورد استفاده قرار می‌گیرد. این دستور، می‌تواند عملکردی مشابه دستور netstat نیز داشته باشد.

اطلاعات بیشتر برای دستور ss و netstat

۱۳- iptraf– آمار مربوط به شبکه

از این دستور برای مانیتورینگ IP شبکه استفاده می‌شود. برنامه به صورت تعاملی و رنگی هست. و واقعا یکی از برنامه هایی هست که استفاده از اون رو به همه پیشنهاد می‌کنم . کلا با کمک این برنامه به راحتی می توان متوجه شد که آیا سیستم شما به صورت مخفیانه  با جای دیگر در ارتباط هست یا خیر؟‌ ویا اگر دوست داشته باشید، با این روش می‌توان به سرورهای اصلی و پشت صحنه یک سایت  دسترسی پیدا کرد.  برای مثال هم اکنون که فیسبوک در ایران بسته شده، جالب است بدانید که مکان محل نگهداری فیلم‌ها در فیسبوکجای دیگری غیر از خود فیسبوک می‌باشد.  با این روش یک برنامه نویس می‌تواند برنامه‌ای بسازد که با گرفتن لینک حاوی فیلم، اقدام به دریافت فیلم کند!‌ برای بدست آوردن سرعت واقعی اینترنت خود نیز می‌توانید ازاین برنامه استفاده کنید. از این برنامه به راحتی می‌توانید اطلاعات زیر را استخراج کنید:

  • آمار ترافیک شبکه توسط اتصال TCP
  • آمارترافیک IP   توسط رابط شبکه
  • آمار ترافیک شبکه توسط پروتکل
  • آمار ترافیک شبکه توسط TCP / پورت UDP و اندازه بسته
  • آمار ترافیک شبکه از طریق آدرس Layer2

Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.03 Network traffic statistics by TCP connection

۱۴- tcpdump — جزئیات تحلیل ترافیک شبکه

یک دستور ساده که می‌توان پی به میزان ترافیک روی شبکه برد. با این وجود شما برای استفاده از این برنامه نیاز به داشتن آگاهی در مورد چگونگی کارکرد TCP/IP دارید. برای مثال برای نشان دادن اطلاعات مربوط به ترافیک DNS از دستور زیر استفاده میکنیم.

tcpdump -i eth1 ‘udp port 53’

برای نمایش دادن همه بسته‌هایی که از پورت ۸۰ (HTTP) و IP نسخه چهار هستند کار زیر را می‌کنیم. باید کاری کنیم که فقط بسته‌هایی که حاوی فقط اطلاعات و بسته ACKاست نشان داده شود نه برای مثال بسته‌های SYN و FIN.

tcpdump ‘tcp port 80 and (((ip[2:2] – ((ip[0]&0xf)<<2)) – ((tcp[12]&0xf0)>>2)) != 0)’

برای نشان دادن همه نشست‌های FTP به ۲۰۲٫۵۴٫۱٫۵ از دستور زیر استفاده کنید.

tcpdump -i eth1 ‘dst 202.54.1.5 and (port 21 or 20’

برای نمایش همه نشست‌های HTTP به ۱۹۲٫۱۶۸٫۱٫۵ از دستور زیر سود می‌جوییم.

tcpdump -ni eth0 ‘dst 192.168.1.5 and tcp and port http’

این دستورم که خودم نفهمیدم چی کار می‌کنه  براتون می‌زارم. بلکه یه روز ازش رمزگشایی شد

tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

۱۵- strace — صدا زدن سیستم

برای اشکال زدایی وب سرور و پیدا کردن عیوب بسیار کار گشاست! اما چون خودم هیچی از این دستور نفهمیدم، شما رو مستقیم به چگونگی کارکرد این دستور ارجاع می‌دم 🙂

۱۶- فایل سیستم proc — آماری  از کرنل

فایل‌های درون فولدر proc (در آدرس روت) حاوی اطلاعات دقیق در مورد دستگاه‌های سخت افزاری مختلف و سایر اطلاعات هسته لینوکس است. به عنوان مثال موارد زیر رو در نظر بگیرید.

cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/zoneinfo
cat /proc/mounts

اطلاعات بیشتر

۱۷- Nagios– مایتورینگ سرور و شبکه

Nagios یکی از محبوب ترین برنامه‌های مانیتورینگ شبکه و سیستم کامپیوتری می‌باشد. شما به آسانی می‌توانید بر تمام میزبان‌ها، تجهیزات شبکه و سرویس‌ها نظارت کنید. برنامه هنگامی که به مشکلی برخورد به شما پیغام هشدار می فرستد و همچنین زمانی که اوضاع رو به راه شد، باز هم یک هشدار می‌دهد. حالا یه برنامه به اسم فن ساخته شده که تمام کارا رو برای راه اندازی این Nagios اتومات می‌کنه (Fully Automated Nagios). این برنامه سعی کرده همه برنامه‌هایی که توسط جامعه nAgios ساخته شده رو فراهم کنه. تمام این ابزار همه در یک فایل ایزو به حجم یک سی‌دی قابل دریافت هست.

۱۸- Cacti– ابزار مانیتورینگ مبتنی بر وب

برای چگونگی نصب و تنظیم و استفاده از این ابزار کافیست به اینجا نگاهی بیندازید.

۱۹- کی‌دی‌ای سیستم گارد– گزارش دهی و نموادار فعلی سیستم

KSysguard ابزاری قوی برای مانیتورینگ در محیط کی‌دی‌ای می‌باشد.

Fig.05 KDE System Guard

اطلاعات بیشتر

۲۰- گنوم سیستم مانیتور– گزارش دهی به همراه ترسیم نمودار از وضعیت موجود سیستم

Fig.06 The Gnome System Monitor application

و ابزارهای اضافی دیگر

Nmap: اسکن در سرور شما برای پیدا کردن پورت‌های باز
Lsof: لیست پرونده‌های باز، و اتصالات شبکه
Ntop: ابزاری مبتنی بر وب مشابه دستور top . وضعیت شبکه رو با این دستور به خوبی می‌توان مشاهده کرد.
Conky: ابزار قدرتمند دیگری برای مانیتورینگ سیستم در محیط X
GkreIIM: ابزاری خوب برای مانیتورینگ پردازشگر، رم، هارد، شبکه و چیزای زیاد دیگه
Vnstat: یک کنسول مبتنی بر وب برای مانیتورینگ شبکه هست.
Htop: ورژن بهبود یافته دستور top هست که پروسس‌ها رو به صورت درختی می‌تونه نشون بده.
Mtr: برنامه‌ای که کار چند تا برنامه مثل پینگ و تریس روتر رو همگی با هم یه جا می‌تونه انجام بده.

منبع

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

اعمال محدودیت در میزان مصرف پردازنده توسط برنامه‌های نصب شده روی لینوکس(اوبونتو، دبیان، فدورا)

به بزرگواری خودتون این تیترای زشت و زمخت رو ببخشید. حقیقت اینه که من اصلا مهارتی در انتخاب یک تیتر مناسب مث همونایی که تو روزنامه ها و وبلاگای معروف می بینیم ، ندارم! برای اینکه خیلی دور نشیم از اصل ماجرا موضوع از این قراره که هر برنامه ای که شما اون رو اجرا می کنید،‌ یه میزانی از پردازشگر رو به خودش اختصاص می‌ده. حالا این میزان چقدره!؟ این میزان به خود برنامه ربط داره! و سیستم عامل در حالت کلی جلوی برنامه رو نمی‌گیره! یعنی یه برنامه ممکنه ۳۰ درصد اول کار استفاده کنه و بعد وسطاش به ۴۰ درصد هم برسه. حالا کاری که ما می‌خوایم بکنیم ایجاد محدودیت روی این دست از برنامه‌هاست. یعنی شما هر برنامه و یا هر پروسه ای که در حال اجرا شدن هست رو می‌تونید براش یک سقفی تعیین کنید. معمولا اینکار  برای برنامه‌هایی که از تمام پردازشگر استفاده می‌کنند انجام می شه تا آدم بتونه به کارای دیگش هم برسه. مثلا شما در نظر بگیرید دارید یه انیمیشن یک ساعتی رو رندر می‌کنید! خوب اگه حالت عادی باشه باید یه شب تا صب رو به کار رندر اختصاص بدید.  برای اینکار ما باید از  برنامه (cpu limit) استفاده کنیم.

دانلود و نصب برنامه

اوبونتو

$ sudo apt-get install cpulimit

تیک مخازن یونیورسال اوبونتو رو بزنید.

نصب برنامه در بقیه توزیع‌ها

$ wget http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz
$ tar-zxf cpulimit * xxx.tar.gz
$ cd cpulimit-xxx
$ make

طرز استفاده

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

مثال

اگر شما می‌خواید سقف فایرفاکس در میزان مصرف پردازشگر سی درصد باشه باید از دستور زیر استفاده کنید

cpulimit firefox-e-l 30

و یا می‌تونید برای پروسه‌ای به شماره ۳۶۷۵ تا سقف ۴۰ درصد محدودیت بزارید.

cpulimit-p 3675-l 40

و یا به جای شماره پروسه، می‌تونید مسیر برنامه رو هم بدید.

cpulimit-P / l usr/lib/firefox-3.0.11/firefox-30

و یا می تونید برای اسکریپت اجرایی از طریق اسم و یا مسیر اون ایجاد محدودیت کنید (مثلا اسکریپت bigloop)

cpulimit –exe bigloop –limit 40
cpulimit –exe /usr/local/bin/bigloop –limit 40

اون P  مخفف پروسس آی‌دی و l هم  مخفف لیمیت(محدودیت) و e هم مخفف اجرایی (exe)‌هست.

cpulimit –pid 2960 –limit 55

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

cpulimit –limit 40 /etc/rc.d/rc.boinc start

توجه

اگر پردازشگر شما تک هسته‌ای هست که می تونید بین ۰ تا ۱۰۰ عدد بدید و ۵۰ درصد یعنی برنامه ، در هر ثانیه بیشتر از ۵۰۰ میلی ثانیه از پردازشگر شما نمی‌تونه مصرف کنه! اما اگر شما پردازشگر ۴ هسته‌ای دارید، شما از بین صفر تا ۴۰۰ درصد مجاز به ایجاد محدودیت هستید.

سایت برنامه

منبع

تو این مدت یه  عید آمد و گذشت و به من یکی چندان خوش نگذشت! برای اینکه به شما بد نگذره این پوسته رو هم از من قبول کنید!‌ یک پوسته سیاه و آماده شده برای استفاده راحت در اوبونتو و دبیان به حجم تقریبی ۱۵ مگ که مناسب حال این روزای ماست.

نصب پرینترهای HP بر روی لینوکس(اوبونتو۹.۰۴، فدورا،دبیان،ردهت،اپن سوزه،سولاریس و فری‌بی‌اس‌دی)

امروز برای اولین بار موفق شدم پرینترHP خودم رو در اوبونتو راه بیندازم و از شر این ویندوز راحت شم. خوب بریم سراغ اصل مطلب. اونایی که هنوز با نصب پرینترشون در اوبونتو(پرینتر HP) مشکل دارن با این راهنما حتما مشکلشون حل می‌شه.

دانلود و نصب درایور

دستورات زیر رو باید در ترمینال اجرا کنید (به جز اولی!)

۱- دانلود درایور HP از مسیر زیر ( هنوز من نمی دونم این درایور به صورت رسمی از طرف خود HP منتشر شده یا نه. چیزی که مشحصه پرینتر من با درایور رسمی قبلا کار نمی‌کرد)

http://www.fileqube.com/shared/xAzwarSjS1495483

۲- بعد از انتقال  به فولدر خونگی

$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux

۳- کامپایل سورس

$ make

۴- گرفتن پروفایل .ICM برای تصحیح رنگ.  با توجه به مدل پرینتر خود دستوری مربوط به آن را وارد کنید!

$ ./getweb 1215     # Get HP Color LaserJet CP1215 .ICM files
$ ./getweb 1500     # Get HP Color LaserJet 1500 .ICM files
$ ./getweb 1600     # Get HP Color LaserJet 1600 .ICM files
$ ./getweb 2600n    # Get HP Color LaserJet 2600n .ICM files

$ ./getweb 1600w    # Get Konica Minolta magicolor 1600W .ICM files
$ ./getweb 1680     # Get Konica Minolta magicolor 1680MF .ICM files
$ ./getweb 1690     # Get Konica Minolta magicolor 1690MF .ICM files
$ ./getweb 2480     # Get Konica Minolta magicolor 2480 MF .ICM files
$ ./getweb 2490     # Get Konica Minolta magicolor 2490 MF .ICM files
$ ./getweb 2530     # Get Konica Minolta magicolor 2530 DL .ICM files
$ ./getweb 4690     # Get Konica Minolta magicolor 4690MF .ICM files

$ ./getweb 6115     # Get Xerox Phaser 6115MFP .ICM files

$ ./getweb cpwl     # Get Minolta Color PageWorks/Pro L .ICM files
$ ./getweb 2200     # Get Minolta/QMS magicolor 2200 DL .ICM files
$ ./getweb 2300     # Get Minolta/QMS magicolor 2300 DL .ICM files
$ ./getweb 2430     # Get Konica Minolta magicolor 2430 DL .ICM files

$ ./getweb 300      # Get Samsung CLP-300 .ICM files
$ ./getweb 315      # Get Samsung CLP-315 .ICM files
$ ./getweb 600      # Get Samsung CLP-600 .ICM files
$ ./getweb 610      # Get Samsung CLP-610 .ICM files
$ ./getweb 2160     # Get Samsung CLX-2160 .ICM files
$ ./getweb 3160     # Get Samsung CLX-3160 .ICM files
$ ./getweb 6110     # Get Xerox Phaser 6110 and 6110MFP .ICM files

$ ./getweb 500      # Get Lexmark C500 .ICM files

$ ./getweb 3200     # Get Oki C3200 .ICM files
$ ./getweb 3300     # Get Oki C3300 .ICM files
$ ./getweb 3400     # Get Oki C3400 .ICM files
$ ./getweb 3530     # Get Oki C3530 MFP .ICM files
$ ./getweb 5100     # Get Oki C5100 .ICM files
$ ./getweb 5200     # Get Oki C5200 .ICM files
$ ./getweb 5500     # Get Oki C5500 .ICM files
$ ./getweb 5600     # Get Oki C5600 .ICM files
$ ./getweb 5800     # Get Oki C5800 .ICM files

$ ./getweb 1000     # Get HP LaserJet 1000 firmware file
$ ./getweb 1005     # Get HP LaserJet 1005 firmware file
$ ./getweb 1018     # Get HP LaserJet 1018 firmware file
$ ./getweb 1020     # Get HP LaserJet 1020 firmware file

$ ./getweb P1005    # Get HP LaserJet P1005 firmware file
$ ./getweb P1006    # Get HP LaserJet P1006 firmware file
$ ./getweb P1007    # Get HP LaserJet P1007 firmware file
$ ./getweb P1008    # Get HP LaserJet P1008 firmware file
$ ./getweb P1505    # Get HP LaserJet P1505 firmware file

اگر مدل پرینتر شما در این لیست نمی‌باشد، از این مرحله رد شوید. مدل پرینتر من P1005 بود بنابراین من در تمینال دستور ./getweb P1005 رو وارد کردم(به همین سادگی)

۵- نصب درایور، فایل‌های xml و فایل‌های اضافی

$ sudo make install

۶- (اختیاری) نصب hotplug برای پرینترهای  HP LJ 1000/1005/1018/1020/P1005/P1006/P1505

$ sudo make install-hotplug

کابل usb پرینتر رو یکبار در بیارید و دوباره وصل کنید.

اگر برای مدیریت پرینترهای خودتون از CUPS استفاده می‌کنید یکبار آن ریستش دهید.

$ sudo make cups

این مرحله ۶ روبا اینکه اختیاری بود و چون پرینتر من در اون لیست بود  انجامش دادم! قسمت دوم رو هم وارد کردم! بدون اینکه بدونم دقیقا منظورشون چی هست.

۷- ساختن پرینتر

برای (Fedora 6/7/8/9/10/11 and Ubuntu 7.10/8.x/9.x):

# system-config-printer

برای (Redhat 7.2/7.3/8.0/9.0, Fedora Core 1-5):

# printconf-gui

برای (Mandrake/Manrivia):

# printerdrake

برای (openSUSE 10.x/11.x)

# yast2 printer

برای (Ubuntu)

$ sudo gnome-cups-manager
$ sudo make cups

اوبونتو در قسمت gnome-cups-manager یه باگ داره و ممکنه شما مجبور به ریست CUPS بشید. من خودم در این مرحله فقط همون دستور اولی رو اجرا کردم. یعنی همون دستوری که برای فدورا هم جواب می‌ده. با اجرای این دستور یه پنجره باز می‌شه که مسول تنظیمات و اضافه و حذف کردن پرینترا هست.  بعد از طریق پنجره NEW رو انتخاب کنید. حالا پرینتر خودتون رو باید در ستون سمت چپ ببینید . اون رو انتخاب کنید و رو گزینه Forward کلیک کنید. تا در انتها پرینتر شما ساخته شه. اگه این مرحله با مشکلی رو به رو شدید برید سراغ اون قسمت مربوط به اوبونتو! و اگر باز هم مشکل داشتید مراحل زیر رو ادامه بدید.

نصب پرینتر از طریق مرورگر

$ firefox http://localhost:631

مراحل زیر رو دنبال کنید.

Printers -> Set Printer Options -> Color Mode -> Color

و سپس وارد قسمت Set Printer Options شوید.

برای (Debian)

Connect with a web browser to:
http://localhost:631
And configure printer (HP example shown) to:
HP LaserJet 2600n, Foomatic + foo2zjs (en)
Then edit “Manage Printers->Configure Printer” to suit you,
such as “Page Size” or “Color Mode”.

برای (Solaris 11+)

# printmgr

در هر سیستم عامل قبل از انجام هر عملی نیاز به یک سری از برنامه‌ها دارید! (من که اصلا به این بخش نگاه نکردم!‌ اگه شما این برنامه ها رو نصب نداشته باشید احتمالا در هنگام اجرای دستور make با مشکل رو به رو می‌شید! )

UBUNTU NOTES
————
Install build-essential FIRST:
$ sudo apt-get install build-essential
Download the package from http://www.fileqube.com/shared/xAzwarSjS1495483
$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux
$ sudo make uninstall
$ make
$ ./getweb 1020
OR other printer
$ sudo make install install-hotplug cups

For 7.10 and later users:
$ sudo system-config-printer

For 5.10/6.06/6.10/7.04 users:
$ sudo gnome-cups-manager
[configure ColorMode = Color if a color printer]
$ sudo make cups

Ubuntu has a bug in gnome-cups-manager with Color, so you must
restart cups. No other distro has this bug.

If that doesn’t work, then fire up:
$ firefox http://localhost:631

And click on:
Printers -> Set Printer Options -> Color Mode -> Color
Then click on:
Set Printer Options

DEBIAN NOTES
————
Install build-essential, foomatic-filters, cupsys FIRST:
$ su
# apt-get install build-essential
# apt-get install foomatic-filters
# apt-get install cupsys

Download the package from http://www.fileqube.com/shared/xAzwarSjS1495483
$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux
$ make
$ ./getweb 1020
OR other printer
$ su
# make install install-hotplug cups

$ firefox http://localhost:631

OPENSUSE 10.3 NOTES
——————-
Do this:

# zypper install make gcc

# zypper service-add \
http://download.opensuse.org/repositories/Printing/openSUSE_10.3/ \
Printing
# zypper up -r Printing -t package

Then install using the above instructions.

ACER ASPIRE ONE NOTES
———————

Ref: http://the.taoofmac.com/media/Acer/Aspire One/AA1notes.htm

It is a version of Fedora.

Get a shell by typing Alt+F2 then Return.

$ su
# yum install make gcc

Download the package from http://www.fileqube.com/shared/xAzwarSjS1495483
$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux
$ make
$ ./getweb 1020
OR other printer, e.g. 2600n
$ su
# make install install-hotplug cups

ASUS EEE PC NOTES
—————–

It is a version of Xandros. First:

Get a shell by typing ctrl-alt-T
$ sudo su –
# vi or kwrite /etc/apt/sources.list
add the following line:
deb ftp://ftp.us.debian.org/debian stable main contrib non-free
# apt-get -f install
# apt-get install wget
# apt-get install build-essential

Download the package from http://www.fileqube.com/shared/xAzwarSjS1495483
$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux
$ make
$ ./getweb 1020
OR other printer, e.g. 2600n
$ sudo make install install-hotplug cups

Then use the “Add Printer” GUI.

MAC OS X NOTES
—————
Please read the detailed installation instructions by Clint Morgan
and Rick Richardson in the file INSTALL.osx.

FREEBSD NOTES
————-
You need the following packages before you start the “make”:
# pkg_add -r wget
# pkg_add -r gmake
# pkg_add -r ghostscript-gnu
# pkg_add -r cups
# pkg_add -r foomatic-filters

Use “gmake” instead of “make”. E.G. gmake; ./getweb XXX; gmake install

USB NOTES FOR FREEBSD
– Build the kernel without the ulpt driver.
e.g.
# vi /usr/src/sys/i386/conf/GENERIC
comment out ‘device ulpt’
# cd /usr/src/
# make buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
reboot

– Do one of these lines each time the printer is powered up:
# cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/ugen0.1
# cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1005.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1006.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1505.dl > /dev/ugen0.1

More information:
http://www.webmiscreants.com/index.php?page=howto_P1006

OPENBSD NOTES
————-
You need the following packages before you start the “make”:
# pkg_add wget
# pkg_add gmake
# pkg_add -i ghostscript
# pkg_add cups
# pkg_add unzip

Use “gmake” instead of “make”. E.G. gmake; ./getweb XXX; gmake install

USB NOTES FOR OPENBSD
– Build the kernel without the ulpt driver.
e.g.
# vi /usr/src/sys/i386/conf/GENERIC
comment out ‘device ulpt’
# cd /usr/src/
# make buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
reboot

– Do one of these lines each time the printer is powered up:
# cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/ugen0.1
# cat /usr/share/foo2zjs/firmware/sihp1020.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1005.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1006.dl > /dev/ugen0.1
# cat /usr/share/foo2xqx/firmware/sihpP1505.dl > /dev/ugen0.1

OPENSOLARIS, SOLARIS EXPRESS DEVELOPER EDITION 9/07, Solaris 11+ NOTES
———————————————————————-
Use “bash” for your shell. Only network printers are supported.

$ export PATH=$PATH:/sbin:/usr/sbin:/usr/sfw/bin:/opt/sfw/bin

Do this:

[ Load CD Solaris_Software_Companion]
$ cd /media/S10_807_SOFTWARE_COMPANION/Solaris_Software_Companion/Solaris_i386/Packages
$ su root -c “/usr/bin/bash”
# pkgadd -d pwd SFWgroff
# pkgadd -d pwd SFWgawk

OR
Browse to:
http://pkg.opensolaris.org/release/en/index.shtml
and Search or Browse Packages and download:

SUNWscp
SUNWgawk
SUNWgroff

Then:

Download the package from http://www.fileqube.com/shared/xAzwarSjS1495483
$ tar zxf hpinlinux.tar.gz
$ cd hpinlinux

$ gmake
$ ./getweb 2530
OR other printer

$ su root -c “/usr/bin/bash”
# gmake install
# printmgr

To see a screen to the GUI:
http://foo2lava.rkkda.com/solaris/

NOTE: you cannot see the printer options (Paper Source, Paper Type,
Paper Media, Color Mode, ICM, etc.). There is NO GUI to do it!!!
Sorry.

MINOLTA-QMS 2200/2300 DL NOTES
——————————
Use the network interface if you can. These printers understand Unix
LPD printer server protocol. So when setting up the printer queue,
you can select “UNIX Printer (lpd queue)”, set the lpd queue name to
“lp” (arbitrary), and set the “Server” to the IP address of the
printer.

These printers also understand several other printer server protocols,
such as JetDirect and IPP, but I have not tried them. In any case,
I’m not aware of any advantages of using them over LPD.

The USB interface on this printer will work if your printer is at
firmware revision 2.55 or later. Mine was not, but I was able to
get this firmware from the Konica Minolta Europe web site. The USA
site doesn’t have it. Upgrading the firmware on your printer can
be dangerous and might turn your printer into a paperweight, so I do
not recommend it unless you need USB and are a computer expert. To
get the v2.55 firmware upgrade, try:
./getweb 2300dl_fw

CUPS USB NOTES
————–
If you are using the USB port, then the URI should be:
usb:/dev/usb/lp0
usb:/dev/usb/lp1
OR
usb://Samsung/CLP-310%20Series
usb://Samsung/CLP-310%20Series
usb://HP/Color%20LaserJet%20CP1215
usb://HP/Color%20LaserJet%202600n
usb://HP/LaserJet%201000
usb://HP/LaserJet%201005
usb://HP/LaserJet%201018
usb://HP/LaserJet%201020
usb://HP/LaserJet%20P1005
usb://HP/LaserJet%20P1006
usb://HP/LaserJet%20P1505

Don’t use hp:// because that is for hplib (a closed source,
proprietary driver).

برای تاکید می‌گم! ‌این راهنما ظاهرش خیلی سخته! ‌اما من اصلا کاری نکردم! و فقط دستورات رو مو به مو اجرا کردم! در مرحله‌ی ۴ فقط دستور ./getweb P1005 رو اجرا کردم که شما اگه مدل پرینترتون فرق می کنه باید یه دستور دیگه رو اجرا کنید. در مرحله ۷ هم اولین دستور رو اجرا کردم:) اون بقیه هم دری وری گفته شده، زیاد توجه نکنید:) اگر هم دیدید همون اول دستور make با خطا رو به رو می‌شید با توجه به ادامه راهنما (ubuntu Note ) ابتدا بسته‌های پیشنیاز رو نصب کنید.

منبع