systemd در دبیان (شماره نهایی)

در شماره پیش با مفاهیم systemd آشنا شدیم. حداقل‌هایی برای ذهنیت اولیه کار با systemd آماده شد تا با Systemd-on-fedoraمفاهیمی مثل performance ، مهاجرت بدنه اصلی گنو/لینوکس (کل فرآیند بوت) و غیره آشنا باشد. اما چیزی که در دنیای واقعی بدان نیاز دارد دستوراتی است که بعد از درک پایه مفاهیم اصلی بدان ضرورتاً نیازمند است. در این شماره سعی شده است تا مستقل از دیسترو بدان اشاره شود. در SysV هر چیزی برای خودش Systemd-on-fedoraرشد کرده بود و تحت لوای فرآیند خاصی نبود ولی در systemd همانطور که در شماره پیشین بدان اشاره شد، همه چیز در فرآیند بوت تحت لوای systemd می‌باشد، ضرورت آنهم صرفاً یکپارچگی بوده تا به سرعت بالاتری رسد. بهتر است این متن را در ۳ قسمت توضیح دهیم:
ادامه خواندن systemd در دبیان (شماره نهایی)

ماژول ip_conntrack

اصولاً باب شده تا sysadmin ها از پیکربندی‌های لایه ۴ استفاده نمایند که این موضوع در کل کار قشنگی نیست. netfilter-logo2هرزگاهی باید از لایه‌های پایین‌تر استفاده نمود و یا مشکلاتی را حل کرد که پایین‌تر از لایه ۴ باید حل شوند.(مدل ۴ لایه‌ای) یک مثال بارز این جریان دایرکتیو MaxKeepAliveRequests آپاچی می‌باشد که اگر به آن پارامتر 0 دهیم بدان معنیست که بی‌نهایت connection را بپیذیر و اگر عددی دیگر دهیم مقدار connection مربوطه است. فرض کنید شما به آن 0 پاس کردید یا نه اصلاً شما وب سرور نیستید. شما daemon هستید که شرکت شما آن را نوشته و مثلاً به دو پورت ۱۸۵۰۰ , ۱۸۵۰۱ گوش فرا میدهد. و هیچ پورت دیگری هم باز ندارید و سرویسی را در حال اجرا نگذاشته‌اید. ادامه خواندن ماژول ip_conntrack

grep در محتوای متغیر‌های محیطی کل سیستم با یک اسکریپت ساده

بگذارید کمی مقدمه چینی کنم تا به اصل قضیه برسم و اسکریپت مربوطه رو که حتی یک grep هم نداره توضیح بدم. تمام پراسس‌ها در دایرکتوری /proc دارای یک دایرکتوری هستند با نام PID خودشون،‌ که خیلی از منابع اون پراسس در اون داریکتوری ذخیره می‌شن. اگر برای اون پراسس حداقل یک متغیر محیطی ایجاد شده باشه، در همون دایرکتوری فایلی با نام environ ایجاد می‌شه. به مثال زیر توجه کنید، این مثال در مورد PID فرمان bash هست که کلی متغیر داره:

این هم از اسکریپت زیر:

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

پارامتر اول یک عبارت برای جستجو می‌گیرد و پارامتر دوم همان option ها در فرمان ps هستند که برای شما نمایش داده شوند.
در‌واقع این فرمان در کل سیستم می‌گردد و این عبارت را در کل متغیر‌های محیطی جسجتو می‌کند و اما چه برگرداند:
۱. پراسس هایی که آن را استفاده کرده‌اند.
۲. تعداد استفاده آن پراسس‌ها از این عبارت.
نکته‌: کد ساده است و شما خود می‌توانید آن را به دلخواه و نیاز خود تغییر دهید.
تمرین: برای چگونگی استفاده این اسکریپت برای پارامتر value– نام کاربری خود را پاس نمایید.

systemd در دبیان (شماره اول)

در April سال ۲۰۱۲ تشکل دبیان قبول کرد که به طور رسمی از systemd استفاده نماید. اولین Systemd-on-fedoraمرحله استفاده آن، فقط از دایمون systemd-logind در پاییز ۲۰۱۳ بود تا اینکه بالاخره در April سال ۲۰۱۴ به طور رسمی SysV جای خود بر روی مخزن unstable دبیان به systemd داد و قول دبیان مبنی بر این است که نسخه بعدی آن با کد jessie به طور کامل با systemd سازگار است.Systemd-on-fedora
در بالا ذکر شد مهاجرت به صورت فرآیندی(مرحله‌ای) صورت گرفته است. اما چرا بعضی از توزیع‌ها منجمله دبیان زمانی که می‌خواهند یک مهاجرت سنگین در سطح low level انجام دهند احتیاط می‌کنند؟ بگذارید گزاره اصلی را پیشرفت systemd بگیریم.
systemd بر خلاف سیستم‌های boot دیگر همانند Upstart یا SysV به شدت بر روی کل سیستم تأثیر می‌گذارد از جمله نقاطی که می‌توان نام برد، کرنل، udev، D-Bus، ارتباطات شبکه و علی الخصوص اینکه بدلیل اینکه systemd یک سیستم بوت می‌باشد باید کل process های سیستم را مدیریت کند.
ادامه خواندن systemd در دبیان (شماره اول)

کتابخانه PortAudio (شماره اول)

در دنیای نرم‌افزار آزاد تعدد و تکثر کتابخانه‌های برنامه‌نویسی یکی از دلایل پیشرفت اینگونه نرم‌افزارها شده است. یکی از کتابخانه‌های معروف که نرم‌افزار‌های معروفی همچون VLC و Audacity از آن استفاده می‌کنند کتابخانه portaudio می‌باشد.
همانطور که از اسم آن پیداست، این کتابخانه یک voice handler می‌باشد.portaudio_logo
هر سیستم‌عاملی در چندین سطح و حداقل و با دو سه نوع درایور باید با voice ارتباط برقرار کند. نکته مهم اینجاست که اگر درایور کارت صدا تغییر کند باید کد مربوط نیز تغییر کند. ادامه خواندن کتابخانه PortAudio (شماره اول)