برگزیدهها
مدتیه هر دفعه دارم یک سری ساختار به اسکریپت هام اضافه می کنم. با توجه به هر تجربه و جستجویی می رسم به یه سری پیشنهاد ساده برای بهتر و تمیز تر نوشتن اسکریپت. تصمیم گرفتم خورده خورده یک جا جمعشون کنم. این مطلب هر زمان که حوصله کنم کاملترش می کنم. دقت داشته باشید که من برنامه نویس نیستم و فقط دارم تجربی یه موضوعاتی را جمع آوری می کنم، به همین دلیل هر گونه پیشنهادی و ایرادی در مورد این نوشته پذیرفته می شود. پ.ن. ۱) خوب هنوز ننوشته چند تا پیشنهاد گرفتم از narcislinux . یکی اینکه می تونید bash style guide را google کنید به لینک های خیلی خوبی مثل این و این میرسید. رعایت indent استفاده از «Indent» یا به قول ویکی پدیا «دندانه دار» نوشتن، یعنی اضافه کردن فاصله یا tab در ابتدای هر خط به شکلی که ارتباط بخش های مختلف کد بهتر مشخص باشد. در اکثر مواقع شما در فواصل طولانی نیاز به ویرایش و بازخوانی اسکریپتتون می کنید یا اینکه شخصی جانشین شما می شه و قرار بفهمه شما چی کار کردید. رعایت این کار باعث خوانایی می شه، هم برای خودتون هم برای نفر بعدی که احتمالا جای شما می یاد. helloworld() { if … then do somthing fi } helloworld() { if … then do somthing fi } سر و ته function زمانی که اسکریپتتون بزرگ می شه اولین مشکلی که پیدا می کنید، پیدا کردن سرو ته function ها است. برای اینکه ببینید جای درستی دارید کد را می زنید مجبورید برید اول function تا اسمش را ببینید و بعد دوباره صفحه را بیاید پایین تا برسید به جایی که می خواهید ادامه کدتون را بزنید. زمانی که اسکریپتتون بزرگ می شه این موضوع می شه یه معضلی برای ادامه کار، خوب یه راه حل ساده اینه که آخر اسکریپت هم اسم functionرا بنویسید. نمونه زیر را نگاه کنید new_func() { echo “This is new function” … return 0 } # new_func new_func() { echo “This is new function” … return 0 } # new_func تعریف return value خیلی خوبه که عادت کنید هر function ای تعریف می کنید حتما براش return value هم تعریف کنید. خیلی مواقع زمانی که شروع به نوشتن اسکریپت می کنیم، به error handling اسکریپت فکر نمی کنیم و زمانی که لازمش داریم مجبور می شیم از اول کدمون را بررسی کنیم. اسکریپتتون با ساختار زیر شروع کنید #!/bin/bash new_func() { return 0 } exit 0 خوب این یه عادت خوبه که قبل از نوشتن function و یا هر بخش دیگه از اسکریپت return value ها را مشخص کنید. خوب مطمئنا در ادامه باید حواستون به جاهایی که ممکنه اسکریپت با خطا مواجه بشه هم باشه. این کار باعث می شه که شما بعد از اجرای اسکریپتتون بتونید ?$ را بررسی کنید و مطمئن بشید که اسکریپت بدون خطا اجرا شده. new_func() { if true then … return 0 elif false then … retrun 1 fi } # new_func new_func() { if true then … return 0 elif false then … retrun 1 fi } # new_func تعریف متغیر ها یکی دیگه از موضوعاتی که در یک اسکریپت بزرگ درگیرتون می کنه، تعریف متغیرها و زیاد شدن اونهاست. دغدغه اینکه آیا این متغیر را قبلا تعریف کردید؟ نکنه اسمش تکراری بشه. خوب برای این موضوع من دو تا نکته را رعایت می کنم ۱- متغیر های سراسری را خارج از function ها و با حروف بزرگ تعریف می کنم (برای مثال: VARIABLE) و متغیر های محلی که داخل function بهشون نیاز هست را با حروف کوچک (برای مثال: variable) پیشنهاد ۱) این پیشنهاد از طرف narcislinux بود. اینکه این انتخاب هم میتونه مشکلاتی داشته باشد. مثلا تداخل نام با متغیر های محیطی (Environment Variable). پیشنهاد من این هست که یک قرارداد نامگذاری برای خودتون مشخص کنید. برای اینکار قسمت ساختار نامگذاری را در ادامه مطالعه کنید. ۲- برای متغیرهای محلی که قرار فقط داخل function ازشون استفاده کنم، از دستور local استفاده می کنم. این کار باعث می شه که زمانی که function اجراش پایان پیدا کنه، متغیر هم پاک بشه. پس دیگه دغدغه تکراری شدن متغیر را نخواهید داشت. new_func() { local variable1 local variable2=$1 … return 0 } # new_func VARIABLE=$1 new_func() { local variable1 local variable2=$1 … return 0 } # new_func VARIABLE=$1 ساختار نامگذاری هم در تعریف متغیر و هم تعریف نام تابع بهتر هست که یک مدل مشخص کنید و در تمام اسکریپتتون از اون استفاده کنید. مثلا بهتر هست که از اسامی تک کلمه ای استفاده نکنید، چرا که نمی تونه مفهموم را برسونه . علاوه بر اون نترسید که اسم خیلی بلند بشه، طوری تعریف کنید که بتونه دلیل تعریفش را برسونه. اینکه یک ساختار نامگذاری داشته باشید مزایای زیر را داره: با توجه به مورد قبل از تکراری بودن متغیر و مشابه بودن با متغیرهای محیطی جلوگیری می کنه باعث خوانا تر شدن اسکریپتتون می شه و در زمان مرور کد راحت تر می تونید به یاد بیارید که برای چه موضوعی و با چه هدفی تعریف شده از بروز اشتباهاتی مانند استفاده تکراری از یک اسم جلوگیری می کنه جستجو و با خاطر سپردن آنها برای مراجعه و صدا کردن آن آسان تر می شه خوب برای نامگذاری ساختارهای مختلفی وجود داره که پیشنهاد می کنم اون را در ویکی پذیا هم بخونیدش. مدلهایی که توی bash می تونید استفاده کنید موارد زیر هستند: flatcase UPPERFLATCASE camelCase PascalCase snake_case SCREAMING_SNAKE_CASE or MACRO_CASE camel_Snake_Case Pascal_Snake_Case ادامه دارد …
بهمن ۲۱, ۱۳۹۶ مقدمه سوم: این نوشته از این نسخه به بعد به صورت پست جدید منتشر نخواهد شد و همین نوشته دائما به روزرسانی می گردد. در این نسخه بخش سیستم عامل Windows و Linux اضافه شد. بخش Linux بسیار گسترده خواهد شد. این پست را هر چند هفته یک بار مرور کنید تا در جریان به روز رسانی آن قرار گیرید. علاوه بر آن تصمیم گرفتم که بخشهای مجازی سازی و DevOps را هم به این فهرست اضافه کنم. مقدمه دوم: بخش مربوط به آشنایی با تجهیزات Cisco و فراگیری Routing و Switching را اضافه کردم. مقدمه اول: مدتها بود که دلم می خواست که یه فهرست مطالعه (Reading List) برای System adminstrator ها و Network Administrator ها در حد تجربه خود بنویسم. هی عقب می افتاد. امروز اولین پستش را میخوام بزنم. چند نکته و ویژگی در مورد این لیست هست: ۱- در برخی تجربهها در این سالها متوجه شدم که باید خیلی قبل تر مطلبی را می خوندم و یا باید می دونستم، ولی چیزی در موردش نمی دونم. برای همین به این لیست اضافه کردم ۲- این لیست یک تلاش کوچیک برای آکادمیک کردن مسیر رشد و یادگیری یک مدیر سیستم یا System Administrator است. چون یه دوستی تذکر داده بودند که کتابهای آقای ملکیان بسیار تئوری است و باید سراغ کتابهای عملی تر رفت، من تاکید می کنم من بسیار به تئوری اهمیت می دم و تجربم اینه که هرچه تسلط تئوری و علمی بالاتری به یک موضوع داشته باشی، پیاده سازی تمیز تر و مطمئن تری خواهی داشت. ۳- تصمیم دارم این لیست را تاجایی پیش ببرم که شبیه یک دوره لیسانس سه سال یک نفر را پر کنه و یک نفر بتونه سه سال آموزش خودشو برای ورود و یا پیشرفت در بازار کار برنامه ریزی کنه. ۴- شروع لیست با کتابهای فارسی است. شاید انتقاد خیلیها را به همراه داشته باشه، ولی من معتقدم یادگیری پایهها، مبانی و اصطلاحات یک تخصص با زبان مادری کار و پیشرفت را خیلی تسهیل میکنه. البته مطمئنا در یک جایی به بعد مطالعه ترجمه ها دیگر کارایی لازم را نداره و مطمئنا در ادامه تغیریبا همه کتابها انگلیسی خواهد بود. ۵- این لیست برای هنرستانیهای رشته کامپیوتر و کاردانی و کارشناسی کامپیوتر مناسب است. ۶- سعی میکنم تاجایی که امکان داره دلیل پیشنهاد مطالعه هر کتاب و توانایی هایی که بعد از اون باید بدست بیارید را مطرح کنم ۷- از این نسخه از مقاله به بعد سعی می کنم، لینک خرید کتاب به همراه عکس جلد آن را هم بزارم. فهرست اول هدف: آشنایی با مفاهیم، اصطلاحات و ابزارهای پایه در شبکه ۱- راهنمای مطلق +Network – مترجم بهرام پاشایی در بین کتابهای +Network جزو بهترین ها بود. البته کمی قدیمی است. این کتاب را به خاطر پیشنهاد «saravan» در کامنتهای پست قبلی اضافه کردم. شما پس از مطالعه این کتاب (یا شاید همزمان) باید به چند تا مهارت عملی هم برسید الف- عیب یابی ابتدای شبکه و کار کردن با ابزارهای ping, traceroute, netstat, nslookup ب- کار با ابزارهای ساده کابل کشی (cabling)، مانند Crimper، Striper و … . پیشنهاد می کنم جعبه ابزاری برای خودتون تهیه کنید که شامل ابزارهای اولیه کابل کشی باشه ۲- اصول طراحی شبکه های کامپیوتری – احسان ملکیان یکی از بهترین کتابها است که دید خوبی در مورد انواع شبکه بهتون میده. برای شروع کتاب خیلی خوبیه ۳- اصول مهندسی اینترنت – احسان ملکیان در این کتاب از لایه های شبکه، پروتکل ها و سرویس ها صحبت شده. ولی تاکید من تو مطالعه این کتاب برای اینه که جزو معدود کتابهایی هست که مفهوم سرویس را میتونه برای یک تازه کار روشن کنه و توضیحات خوبی داره ۴- نفوذگری در شبکه و روشهای مقابله – احسان ملکیان یکی از کتابهای خوب فارسی هست که یک تازه کار را با زبان فنی امنیت آشنا میکنه. این چهار کتاب تئوری، ذهن شما را برای مطالعه عمیقتر آماده می کنه. یکی موانع یادگیری آشنا نبودن به کلمات و اصطلاحات، دقیقا جایی که کلمه مهمی را شما در کتاب یا مقاله ای نمی فهمید، جایی هست که از اونجا به بعد مطلب نمی گیرید و بد می گیرید ? معرفی کتاب مرجع TCP/IP Illustrated, Vol. 1: The Protocols – نوشته W. Richard Stevens یکی از کتابهای خوب به عنوان مرجع که قدیمی هم هست ولی همچنان به نظرم می تونه مفید باشه. داشتان این کتاب کنارتون و مطالعه پروتکل ها خیلی به درکتون از شبکه کمک می کنه فهرست دوم بخش اول – شبکه یا Networking هدف: معرفی کتابهای مناسب برای آشنایی با محصولات Cisco و فراگیری مفاهیم Routing و Switching (ممنون از دوست و همکار خوبم آقای مهندس عشاقی بابت در دسترس قرار دادن کتابهای نسخه جدید) چه قرار باشه System Administrator باشید و چه Network Administrator ، مطالعه و یادگیری Routing و Switching توصیه می شه. درک لایه های ۲ و ۳ شبکه کمک بسیار زیادی در درک فایروال ، ساختار شبکه و اتصالات و عیب یابی ارتباطی شبکه می کنه. علاوه برآن در سازمانهای و شرکتهایی که فعالیت اصلی آنها IT نیست. انتظارشون از Network Admin و Sysadmin یکی هست. ۵- CCENT/CCNA ICND1 100-105 Official Cert Guide این کتاب اولین کتاب زبان اصلی در این فهرست است و شروع خوبی برای شروع آشنایی با کلمات اصلی. در این کتاب بخشی زیادی از آنچه در کتابهای قبلی معرفی شده آمده و ذهن شما با خواندن آن برای مطالعه کتابهای بعدی آماده می شود. علاوه بر آن آشنایی ابتدایی با پیکربندی تجهیزات Cisco پیدا می کنید، در مورد IPv6 مطالبی می خونید و شروع با یادگیری Routing و Swiching می کنید. ۶- CCNA Routing and Switching ICND2 200-105 Official Cert Guide در این کتاب بیشتر وارد جزییات پروتکل های Routing و Switching می شیم و با مفاهیم جدیدی مانند SDN و Cloud (البته اگه دیگه جدید حسابشون بکنیم. ? ) آشنا میشوید. ۷- CCDA 200-310 Official Cert Guide طراحی (Design) یکی از اون سرفصلهایی است که دانستنش یک پله دید شما را نسبت به ساختار شبکه وسرویسها بالا می بره. داشتن دید طراحی سطح کار شما را افزایش می ده و باعث می شه پیاده سازی پایدارتری داشته باشید. […]
در دوره جدید تصمیم گرفتم IPv6 را تکمیل کنم و تدریسش کنم. این بخش در درس چهارم اضافه شده است. علاوه بر اون یکم تمیز کاری روی اسلایدها انجام دادم درس اول: مقدمه (دریافت به صورت pdf و odp) درس دوم: لایههای شبکه و مدل OSI (دریافت به صورت pdf و odp) درس سوم: مقدمهای بر انتقال و رسانههای شبکه (دریافت به صورت pdf و odp) درس چهارم: مقدمهای بر پروتکل های TCP/IP (دریافت به صورت pdf و odp) درس پنجم: توپولوژی ها و استاندارد اترنت (دریافت به صورت pdf و odp) درس ششم: سختافزار شبکه (دریافت به صورت pdf و odp) درس هفتم: WAN ها و ارتباط راه دور (دریافت به صورت pdf و odp) درس هشتم: شبکه های بیسیم (دریافت به صورت pdf و odp) درس نهم: سیستم عامل های شبکه (دریافت به صورت pdf و odp) درس یازدهم: Voice و Video روی IP (دریافت به صورت pdf و odp) درس دوازدهم : امنیت شبکه (دریافت به صورت pdf و odp) درس چهاردهم : اطمینان از دسترس پذیری و یکپارچگی (دریافت به صورت pdf و odp) برای اینکه به اسلاید های اصلی دسترسی داشته باشید، از این لینک استفاده کنید. این لینک درس اول هست، فقط خودتون شماره درس را تا ۱۵ تغییر بدید و بقیه اسلایدها را دریافت کنید.
چک لیست
آزمون 304 یکی از آزمونهای چالشیه که خیلی ها جرات نکردند هنوز سمتش برند. واقعیت اینه که سرفصلهاش واقعا آدم را می ترسونه و خیلی خیلی گسترده است. من نزدیک شدن به زمان انقضای مدارک قبلیم انگیزه خیلی قویی شد که برم سمتش و بگم بادا باد یا می شه یا نمی شه. اگه نرم امتحان بدم در هر حال مدارکم را از دست می دم. به خاطر این چالشی بودن و اینکه منابع متمرکزی نداره من در حینی که مطالعه می کردم لینک هایی که می رفتم سراغشون و فکر می کردم مفید بودند را توی ویکی جمع کردم. وقت نداشتم منظمشون کنم و احساس کردم اگه بخوام صبر بکنم تا وقت کنم هم ارزشش را برای خیلی ها ممکنه از دست بده. برای همین همین لیست شلخته را به اشتراک می زارم شاید باعث بشه یه سری دوستان دیگر هم سعی کنند برای آزمون آماده بشند. منابع آزمونی که استفاده کردم سه دسته بودند، در مرحله اول کتاب که همینجا معرفی می کنم. بعد از اون مستندات اینترنتی و در نهایت هر جا مستندات اینترنتی یا مستندات خود پروژه ها گویا نبود از فیلم آموزشی در کنارش برای درک ساده تر موضوع کمک می گرفتم. دو مورد آخر را در ویلی آوردم. کتاب من کار را با مطالعه دو تا کتاب شروع کردم: ۱- Mastering KVM Virtualization – از کتاب های Packt Publishing چاپ (19 Aug. 2016) این کتاب کتاب خیلی خوبی برای شروع مجازی سازیه ولی خیلی از مطالب سطحی هست و خیلی جاها تو عمق نرفته و حتی خیلی از مطالب مهم توش اشاره ای هم بهش نشده ولی برای شروع به نظرم خوبه. ۲- The Book of Xen: A Practical Guide for the System Administrator – از کتاب های No Starch Press چاپ 2009 متاسفانه برای Xen کتاب جدید مناسبی نیست و این کتاب هم اصلا کتاب خوبی نبود. و پیش رفتن توش خیلی سخت بود. این کتاب را پراکنده خوندم و بعد رفتم سراغ مستندات. اگه کتاب بهتر و جدید در این زمینه دیدید به من هم اطلاع بدید. مستندات و فیلمهای آموزشی مستندها و فیلمهای آموزشی که ازشون برای مطالعه استفاده کردم را همه را در ویکی گذاشتم . نکته مهم اینه که لزوما همه مطلب را نخوندم و بر اساس سرفصل ها چیزی هایی که لازم داشتم را ازش کشیدم بیرون. این مستندات را می تونید از اینجا ببینید. نمونه تست مثل همه آزمونها به دنبال نمونه تست هم رفتم. حتی از Testking خرید رسمی انجام دادم و هر کس خواست می تونه به من پیغام بده براشون. ولی نکته این بود که بر خلاف همه آزمونها که Testking خیلی کمک می کردم، این آزمون چون تازه بروز شده، Testking به غیر از اینکه ترس از امتحانم را کم کرد، نمی تونست کمک بیشتری بکنه.
در پی تلاش های این مدت برای ایجاد دسته بندی ها قابل رجوع، دستهای ایجاد کردم به نام checklist. چک لیستی که الان مطالعه می کنید، برای مستند کردن ابزارهایی است که معمولا روی یک سرور نیازم می شوند. شاید باعث بشه چند نفر دیگه هم با یه سری ابزار جدید آشنا بشوند. این نوشته ها هم مانند برگزیده ها در نوار گوشه سایت نمایش داده می شوند و البته هر از گاهی ممکنه با توجه به تجربه جدید به روزرسانی گردند. ابزارهای کمکی apt-get install vim screen tmux dns dnsutils whois سرویس های پایه می تونید به جای ntpاز systemd-timesyncd استفاده کنید. apt-get install postfix ntp ابزارهای Host Monitoring هر کدام از نرم افزارهای زیر قبل از استفاده نیاز به پیکربندی دارند. من سعی می کنم برای هر یک از اینها یک نمونه پیکربندی در ویکی بزارم. لطفا برای نمونه کانفیگ به ویکی مراجعه کنید. تنها sysstat را می توانید با فعال کردن آن استفاده کنید. تنها کافیست در فایل etc/default/sysstat/ گزینه “ENABLED=”true را اصلاح کنید. apt-get install sysstat collectd snmp snmpd smartmontools امنیت تغییر پورت ssh ( و پیرو آن تغییر پیکربندی fail2ban متناسب با تغییر سیرویس ssh) یکی از پیشنهادهای امنیتی است. apt-get install fail2ban debian-goodies پست الکترونیک بسیاری از سرویس ها برای ارسال خطا ها و پیغام های خود از سرویس eMail استفاده می کنند. خود من هم برای همه اسکریپت هام بخش ارسال email پیش بینی می کنم. برای پیدا کردم یه پیکربندی اولیه برای Postfix به ویکی مراجعه کنید. apt-get install mutt postfix mailutils پیکربندی sysctl این تنظیمات را می توانید در فایل etc/sysctl.conf/ قرار دهید تا در هر راه اندازی سرور مجدد پیکربندی شوند. net.ipv4.conf.default.rp_filter=1 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_syncookies=1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 fs.protected_hardlinks=1 fs.protected_symlinks=1 Power Management (سرورهای فیزیکی) apt-get install powertop cpufrequtils بهینه سازی یا همان Tuning apt-get install sysfsutils numactl irqbalance
نصب اوبونتو ۲۰.۰۴ – Focal امیدوارم انتظار نداشته باشید که عکس های مراحل نصب و پارتیشن بندی را بزارم… ? این یه چک لیست برای خودم عملا و دیگه یه مقاله نیست 😀 . ولی شاید به درد شما هم بخوره. من چون دوست دارم سیستم مینیمال باشه، نسخه server را انتخاب می کنم و بعد خودم بسته های که لازم دارم نصب می کنم. پیکربندی مخازن این بخش بعد از بروزرسانی فعلا حذف کردم . چون تنظیمات پیشفرض مناسب بود. ترمینال و نصب بسته های مورد نیاز نصب نرم افزارها را به صورت بخش بخش بررسی می کنم. این خیلی مهمه که آدم بخش بخش کنه کاراشو… بخش بخش نصب میزکار اول از همه باید محیط کاریم را بسازم. میزکار مورد علاقه من i3 اه که خوب خیلی سبکه و خوب به خاطر میانبر هاش خیلی خوش دسته. علاوه بر آن lightdm را به عنوان display manager نصب کردم که login گرافیکی داشته باشم. و در ادامه thunar به عنوان file manager و ابزارهای دیگه. apt-get install i3 lightdm mate-terminal thunar thunar-volman thunar-archive-plugin thunar-dropbox-plugin \ thunar-media-tags-plugin pluma file-roller gnome-icon-theme firmware-iwlwifi wpasupplicant \ eom scrot imagemagic lxappearance network-manager-gnome network-manager-vpnc-gnome network-manager-openconnect-gnome نصب sound server یه نکته خیلی مهم در دبیان ۹ اینکه که دیگه مثل قبل sound server به صورت پیش فرض alsa نصب نمی شه و شما خودتون باید یا alsa را نصب کنید یا pulseaudio. نکته ای که باید در نظر داشته باشید اینه که یه سری نرم افزارها, دیگه با alsa کار نمی کنند مثل firefox 52 به بعد. پس انتخاب من مطمئنا pulseaudio است. apt-get install pulseaudio pavucontrol pulseaudio-utils نرم افزارهای کاربری ابزارهای کاربری روزانه از همه نصبشون سنگین تره. راستی اسم xchat هم عوض شده … شده hexchat apt-get install chromium-bsu iceweasel hexchat xchm atril vlc smplayer calibre zim libreoffice goldendict pwgen curl aria2 rsync اصلاح: بسته iceweasel دیگه یک dummy package هست و با تغییرات جدیدی که mozilla در مجوزش داده نیاز به rebranding بسته نبوده و دبیان بسته را با اسم firefox عرضه میکنه. البته نسخه ای که در دبیان بسته اش در نظر گرفته شده firefox-esr هست. برای آشنایی بیشتر با firefox-esr به اینجا مراجعه کنید. (ممنون از کامنت «الکی») ابزارهای شبکه کلی ابزار شبکه هست که دم و دقیق بهشون نیاز می شه. خوب بهتره از اول نصب باشند apt-get install net-tools whois dnsutils traceroute telnet ftp tshark tcpdump resolvconf mosh \ pptp-linux openvpn smbclient samba postfix نصب نرم افزارهای کاربردی خط فرمان این ها هم ابزارهایی هستند که دایم باشون کار داریم. apt-get install screen tmux vim git psmisc mlocate synergy iotop sysstat at mutt nmap نصب wine خوب خیلی مواقع بهش نیاز می شه. مخصوصا وقتی یه سری ابزار مثل teamviewer و winbox را استفاده می کنی. نکته مهم اینه که به نسخه ۳۲ بیتی اش هم نیاز دارم برای این کار اول باید مخازن ۳۲ بیتی را هم اضافه کنم و بعد نصب را انجام بدم. نکته خوب اینه که برخلاف قبل این کار خیلی ساده شده و تمام وابستگی ها بدون دردسر و جستجو نصب می شه. apt-get install wine32 wine64 مدیرت مصرف باتری برای مدیریت باتری هم با ابزار جدید آشنا شدم. البته هنوز جواب پس نداده و برای تست نصب کردم. وابزار powertop برای بررسی پروسه هایی که بیشتر مصرف را دارند. apt-get install tlp tlp-rdw powertop tp-smapi-dkms acpi-call-dkms اضافه کردن زبان فارسی به صفحه کلید # edit /etc/default/keyboard XKBMODEL=”pc105″ XKBLAYOUT=”us,ir” XKBVARIANT=”” XKBOPTIONS=”grp:alt_shift_toggle” پس از ویرایش فایل دستور زیر را اجرا کنید تا تنظیمات اعمال شود udevadm trigger –subsystem-match=input –action=change