آبان ۲۹ ۱۳۹۶

حلقه While در زبان C و C++

به نام اهورامزدای پاک حمایت میکنم 🙂 دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی دوره آموزشی…

ادامه مطلب . . .

نوشته حلقه While در زبان C و C++ اولین بار در گشتاسب مظفریان – GMozafarian. پدیدار شد.


اردیبهشت ۲ ۱۳۹۵

دانلود کنید: اوبونتو ۱۶٫۰۴ منتشر شد

<p>پس از مدت‌ها انتظار سر‌انجام اوبونتو ۱۶.۰۴ با کد Xenial Xerus منتشر شد. این نسخه از اوبونتو دارای پشتیبانی پنج سال است. برای معرفی بیشتر این توزیع با لینوکسی‌ها همراه باشید.</p>

<p><img src="/assets/images/ubuntu-16.04-xenial-xerus.png" alt="ubuntu-16.04-xenial-xerus" /></p>

<p>اوبونتو ۱۶٫۰۴ همانطور که گفته شد توسط کنونیکال و جامعه کاربری اوبونتو به مدت ۵ سال پشتیبانی خواهد شد. کنونیکال هر دوسال زوج میلادی نسخه‌هایی با پشتیبانی پنج سال را منتشر می‌کند.</p>

<p>در این نسخه از اوبونتو سعی شده است تا ثبات سیستم و هم‌چنین عملکرد آن بهبود یابد و پشتیبانی بهتری را برای Intel و AMD ارائه دهد.</p>

<p>تغییراتی که این نسخه داشته به شرح زیر می‌باشد:</p>

<ol>
<li>بهبود و پشتیبانی از پردازنده اینتل</li>
<li>پشتیبانی از فناوری سه بعدی در درایور مجازی</li>
<li>داریور جدید برای Corsair Vengeance K90</li>
<li>پشتیبانی از چیپ TMP 2.0</li>
<li>پشتیبانی از Journaled RAID 5</li>
<li>کرنل نسخه ۴٫۴</li>
<li>پایتون نسخه ۳٫۵ بصورت پیش فرض</li>
<li>ورود snappy به اوبونتو ۱۶٫۰۴</li>
<li>یونیتی نسخه ۷٫۴</li>
</ol>

<p>برنامه‌های پیش فرض بروز شده اند:</p>

<ul>
<li>Firefox 45</li>
<li>Thunderbird 38</li>
<li>Chromium 48</li>
<li>LibreOffice 5.1</li>
<li>Nautilus (aka ‘Files’) ۳٫۱۴٫۲</li>
<li>Totem (aka ‘Videos’) ۳٫۱۸</li>
<li>Rhythmbox 3.3</li>
<li>GNOME Terminal 3.18</li>
<li>Eye of GNOME 3.18</li>
<li>Shotwell 0.22</li>
</ul>

<p>بر خلاف انتظار ها در این نسخه یونیتی با نسخه ۸٫۰ منتشر نشده است.</p>

<p>برای کار با اوبونتو ۱۶٫۰۴ می‌توانید از لینک زیر دانلود و نصب نمایید:</p>

<p><a href="http://releases.ubuntu.com/16.04/">دانلود اوبونتو ۱۶٫۰۴</a></p>

<p>اگر از طرفداران اوبونتو با میزکار یونیتی نیستید می‌توانید از لینک‌های زیر اوبونتو را با میزکار دلخواهتان دانلود و نصب نمایید:</p>

<p><a href="http://cdimage.ubuntu.com/xubuntu/releases/16.04/release/">دانلود زوبونتو ۱۶٫۰۴ با میزکار Xfce</a></p>

<p><a href="http://cdimage.ubuntu.com/ubuntu-gnome/releases/16.04/release/">دانلود اوبونتو گنوم ۱۶٫۰۴ با میزکار Gnome</a></p>

<p><a href="http://cdimage.ubuntu.com/kubuntu/releases/16.04/release/">دانلود کوبونتو ۱۶٫۰۴ با میزکارKDE</a></p>

<p><a href="http://cdimage.ubuntu.com/ubuntu-mate/releases/16.04/release/">دانلود اوبونتو مانه ۱۶٫۰۴ با میزکارMate</a></p>

<p><a href="http://cdimage.ubuntu.com/lubuntu/releases/16.04/release/">دانلود لوبونتو ۱۶٫۰۴ با میزکار Lxde</a></p>

<p>منتظر بررسی کامل اوبونتو ۱۶٫۰۴ باشید.</p>


اردیبهشت ۲ ۱۳۹۵

تجربه ترمینال در اندروید به کمک Termux

<p>شاید یکی از دغده‌های تمام کاربران جامعه‌ی نرم‌افزار آزاد دسترسی به محیطی شبیه به پایانه (Terminal) در ابزار‌های اندرویدی باشد، علاقه به برنامه نویسی Bash چیزی نیست که بتوان به آسانی از آن دست کشید، حالا به کمک نرم افزار Termux شما قادر به انجام بسیاری از کارهای موردعلاقه‌ی خود در ترمینال خواهید بود، از جمله امکاناتی که این نرم‌افزار برای شما فراهم خواهد کرد:</p>

<ul>
<li>دسترسی به محیط شل</li>
<li>استفاده از مدیر بسته apt</li>
<li>برنامه نویسی Bash Scripting</li>
<li>نصب انواع ابزارهای ویرایش متن همچون nano,vim,…</li>
<li>راهنمای استفادهٔ از دستورات man</li>
</ul>

<p>و بسیاری از امکانات دیگر که می‌تواند جایگزین نسبتا خوبی برای پایانهٔ اصلی رایانه‌تان باشد.</p>

<p><img src="/assets/images/term-1-1.jpg" alt="term-1" /></p>

<p>بعنوان مثال پس از نصب این برنامه از طریق فروشگاه گوگل به‌روی دستگاه اندرویدی خود قادر خواهید بود به کمک دستورات زیر اولین اسکریپت بش خود را بنویسید و اجرا نمایید.</p>

<p>ابتدا وارد محیط Termux شده و سپس دستورات زیر را وارد میکنیم:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>apt update
apt install nano
</code></pre>
</div>

<p>اکنون نرم‌افزار nano نصب نموده‌ایم، ابتدا یک دایرکتوری جدید به‌نام temp ایجاد کرده و وارد آن می‌شویم تا فایل bash خود را بسازیم:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkdir temp
<span class="nb">cd </span>temp
nano test.sh
</code></pre>
</div>

<p>اکنون کدهای زیر را در این فایل وارد نموده وذخیره می‌کنیم، دقت نمایید برای خروج و ذخیره در nano کلیدهای ترکیبی Ctrl+X را باید فشار دهید اما روی ابزار اندرویدی که مجهز به صفحه کلید مجازیست باید با کلیدهای کنترل صدا (Volume up+X) این عمل را انجام دهید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="c">#!/bin/bash</span>
clear
<span class="nb">echo</span> <span class="s2">"Hello World!"</span>
<span class="nb">exit</span>
</code></pre>
</div>

<p>اکنون پس از ذخیره پرونده، کافیست دسترسی اجرایی به آن دهید و اسکریپت خود را اجرا نمایید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>chmod +x test.sh
bash test.sh
</code></pre>
</div>

<p>همان گونه که توجه می‌نمایید برای اجرای این اسکریپت باید قبل از نام پرونده عبارت bash را تایپ نمایید.</p>

<p>با کمی تمرین و دقت می‌توانید استفاده‌های بسیاری ازین ابزار نمایید، امیدوارم این مطلب مورد قبولتان واقع شده باشد.</p>


اسفند ۱۳ ۱۳۹۴

Raspberry Pi 3 همراه با Wifi و بلوتوث

<p>شاید خوشایندترین خبری که تا به امروز به گوش طرفداران استفاده از کامپیوترهای Raspberry Pi رسیده است این باشد که این سامانه‌ها به ابزار استفاده از wifi و Bluetooth مجهز می‌شوند.</p>

<p>بنیاد رزبری‌پای به تازگی نسل جدیدی از Piها را به بازار عرضه می‌کند که نه تنها با مدل‌های قبلی سازگار است بلکه کاستی‌های آن‌را برطرف نموده درحالی‌که همان قیمت ۳۵ دلاری را حفظ کرده است. Pi3 که با معماری ۶۴ بیتی به بازار عرضه خواهد شد قابلیت اتصال به wifi و استفاده از فناوری بلوتوث نسل ۴٫۱ را دارا می‌باشد و مجهز به پردازنده Cortex A53 و ۱ گیگابایت رم خواهد بود. این نسل از پردازنده‌ها با فرکانسی حدود ۱٫۲ گیگاهرتز بوده که با قدرتی تقریبا دوبرابر پردازنده‌های Cortex A7 که در رزبری‌پای ۲ استفاده شده بود می‌باشند.</p>

<p><img src="/assets/images/pi3-300×200.jpg" alt="pi3" /></p>

<p>جزئیات رزبری‌پای۳:</p>

<ul>
<li>پردازنده ۶۴ بیتی ۴ هسته‌ای کورتکس A53 با فرکانس ۱٫۲ گیگاهرتز</li>
<li>حافظه ۱ گیگابایتی Ram</li>
<li>4 پورت USB</li>
<li>1 پورت HDMI</li>
<li>1 پورت شبکه ۱۰/۱۰۰</li>
<li>4 پورت خروجی صدا و ویدئو</li>
<li>پورت Micro USB برای شارژ دستگاه</li>
<li>پورت DSI برای اتصال نمایشگر لمسی</li>
<li>پورت CSI برای اتصال دوربین</li>
<li>پورت MicroSD برای اتصال کارت حافظه</li>
<li>وایرلس داخلی ۸۰۲٫۱۱ و بلوتوث ۴٫۱جهت مطالعه بیشتر به <a href="https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/">اینجا</a> مراجعه نمایید.</li>
</ul>


دی ۱۹ ۱۳۹۴

امنیت بیشتر در اوبونتو ۱۶٫۰۴

<p>درحالی‌که نزدیک به سه ماه تا انتشار نگارش LTS اوبونتو ۱۶٫۰۴ باقی مانده، شرکت کنونیکال مدعی شده‌است که بیشترین میزان امنیت را برای کاربران فراهم خواهد کرد.</p>

<p>حفظ حریم شخصی کاربران همواره بزرگترین چالش در دنیای متن‌باز بوده و هست، در همین راستا بار دیگر کنونیکال قصد دارد تا یکی دیگر از راه‌های نفوذ به حریم شخصی را ببندد.</p>

<p><img src="/assets/images/as2.jpg" alt="as2" /></p>

<p>این شرکت قرار است در جدیدترین نگارش پیش رو از سیستم‌عامل اوبونتو، جست‌وجوی برخط (Online Search) در Dash که پیش ازین به صورت پیش‌گزیده فعال بوده را غیرفعال نمیاد، هرچند به صورت دستی این امکان قابل بازگشت خواهد بود اما این بار انتخاب از ابتدای کار با خود کاربر است که مواردی را که جست‌جو می‌کند بغیر از حافظه‌ی محلی، در سرورهای موردنظر کنونیکال هم جست‌وجو نماید یا خیر.</p>

<p>جهت کسب اطلاعات بیشتر به <a href="http://www.omgubuntu.co.uk/2016/01/ubuntu-online-search-feature-disabled-16-04">اینجا </a>مراجعه نمایید.</p>


دی ۱۵ ۱۳۹۴

مدیر بسته nix مدیر بسته‌ای متفاوت

<p>اگر با توزیع‌های لینوکس کار کرده باشید حتما دیدید که هر کدام یک مدیر بسته نرم‌افزاری (package manager) دارند که برای نصب نرم‌افزار از آن‌ها استفاده می‌کنید (مثل apt-get، yum، pacman، emerge و …). اما مدیر بسته nix که به صورت پیش‌فرض بر روی NixOS نصب است چیزی فراتر از یک مدیر بسته است. زیرا در توزیع NixOS علاوه بر نصب نرم‌افزار، کار تنظیمات سیستم را نیز بر عهده می‌گیرد.</p>

<p>در واقع مدیر بسته nix دارای یک زبان nix build language است که یک زبان functional محسوب می‌شود. توسط این زبان تنظیمات سیستم از تنظیمات هسته گرفته تا تنظیمات مربوط به نرم‌افزارهایی مانند openssh، nginx و حتی تنظمیات بوت و گراب همه و همه توسط زبان nix و در فایلی که به اسم configuration.nix هست نوشته می‌شود. این فایل در توزیع NixOS در آدرس <code class="highlighter-rouge">etc/nix/configuration.nix/</code> وجود دارد، با تغییر دادن این فایل و سپس اجرای دستور زیر کل سیستم بر اساس آن ساخته می‌شود و NixOS بدون در نظر گرفتن اینکه قبلا چه چیزی نصب بوده  و یا چه تنظیماتی بر روی سیستم فعال بوده سیستم جدید را می‌سازد و اگر نرم‌افزاری وجود نداشته باشد آن را نصب می‌کند.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>nixos-rebuild switch
</code></pre>
</div>

<p>مدیر بسته nix در NixOS تمامی تنظیمات قبلی را نگاه می‌دارد و در صورتی که شما به هر دلیلی پس از انجام تنظیمات جدید، از آن خوشتان نیامد به راحتی و به سرعت می‌توانید تنظیمات را به حالت قبل بازگردانید. این کار توسط دستور زیر انجام می‌گیرد.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>nixos-rebuild switch –rollback
</code></pre>
</div>

<p>با این کار در منوی گراب شما تمامی تنظیمات قبل آورده می‌شود و می‌توانید از بین آن‌ها انتخاب کنبد.</p>

<p>علاوه بر این خصوصیات مدیر بسته nix این امکان را می‌دهد که هر کاربر پروفایل مربوط به خود را داشته باشد که از پروفایل بقیه کاربران مجزاست می‌تواند ورژن‌های مختلفی از یک نرم‌افزار را نسبت به کاربری دیگر داشته باشد. به عبارتی دیگر openssh-4.6 برای پروفایل اول و openssh-5.2 برای پروفایل دوم نصب باشد. اما چنین چیزی چطور ممکن است؟ همان طور که می‌دانید بعد از نصب یک نرم‌افزار در لینوکس دایرکتوری به اسم آن نرم ‌افزار ایجاد می‌شود و اگر ورژن جدید آن نرم‌افزار را نصب کنید ورژن قبلی پاک می‌شود. مدیر بسته nix این مشکل را با قرار دادن یک hashing scheme قبل از اسم نرم‌افزار دایرکتوری با نام یکتا ایجاد می‌کند و در نتیجه دو ورژن مختلف یک نرم‌افزار در یک دایرکتوری قرار نمی‌گیرند و می‌توان در یک سیستم چندین ورژن از یک نرم‌افزار را توسط nix نصب کرد.</p>

<p>علاوه بر تمامی این خصوصیات nix به صورت portable ساخته شده، به این معنی که شما nix را می‌توانید در تمامی توزیع‌های لینوکس و حتی بر روی MacOSX و با روش‌هایی روی ویندوز و freebsd نیز نصب کنید، زیرا nix کاملا مستقل از سیستم شما عمل می‌کند.</p>

<p>سایت توزیع  <a href="http://nixos.org/">nixos.org</a></p>


دی ۱۳ ۱۳۹۴

نصب شبیه‌ساز شبکه ns2 از سورس

<p>نرم‌افزار ns یک شبیه‌ساز برای شبکه‌های کامپیوتری با قابلیت پشتیبانی از انواع شبکه‌های سیمی و بی‌سیم است که در نسخه‌های ns2، ns1 و ns3 توسعه و منتشر شده. نسخه‌ی ۱ این شبیه‌ساز خیلی وقت هست که توسعه و نگهداری نمی‌شه. نسخه ۲ هم دیگه توسعه داده نمی‌شه اما به‌خاطر اینکه کدهای زیادی روی اون هست که روی نسخه ۳ اجرا نمیشه؛ هنوز نگهداری و استفاده می‌شه. توی دانشگاه‌ها هم معمولا از ns2 استفاده می‌شه.</p>

<p>اینجا قصد دارم آموزش نصب این نسخه یعنی ns2 رو بذارم.</p>

<p><img src="/assets/images/ns2-nam.png" alt="ns2-nam" /></p>

<p>تصویری از محیط nam، یکی از ابزارهای ns2</p>

<p>اول بگم که این نسخه به‌راحتی از طریق دستور زیر در اوبونتو قابل نصب است اما نمونه‌ها و ابزارهای جانبی باید جدا نصب بشن.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install ns2
</code></pre>
</div>

<p>یک سری ابزار هم مثل nam که برای نمایش شبیه‌سازی به‌صورت تصویری و xgraph که برای ترسیم نمودار برای خروجی‌های شبیه سازی استفاده می‌شه رو می‌تونید به همین صورت و با نام خودشون نصب کنید.</p>

<p>اما دلیل اصلی نوشتن این پست، آموزش نصب این شبیه‌ساز با سورس‌کد هست که تمام ابزارها و مثال‌ها هم شامل می‌شه و فرقی نمی‌کنه از چه توزیعی استفاده می‌کنید و آیا این موارد توی مخازن هستن یا نه!</p>

<p>ابتدا سورس کد ns2 رو از <a href="http://sourceforge.net/projects/nsnam/files/latest/download">اینجا</a> دریافت کنید. آخرین نسخه این شبیه‌ساز ns2.35 هست که می‌تونید با دستور زیر دریافتش کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>wget http://nchc.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz
</code></pre>
</div>

<p>و بعدش بسته‌ی فشرده شده را باز کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>tar -xvzf ns-allinone-2.35.tar.gz
</code></pre>
</div>

<p>حالا برید تو مسیر ns-allinone-2.35/ns-2.35/linkstate و فایل ls.h رو برای ویرایش باز کنید. مثلا با دستور زیر!</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>nano ns-allinone-2.35/ns-2.35/linkstate/ls.h
</code></pre>
</div>

<p>تو خط ۱۳۷، یجا نوشته erase(baseMap که باید تغییرش بدید به this-&gt;erase(baseMap و فایل رو ذخیره کنید.</p>

<p>بعدش برید تو مسیر ns-allinone-2.35/otcl-1.14 و فایل Makefile.in را برای ویرایش باز کنید. مثلا با دستور زیر!</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>nano ns-allinone-2.35/otcl-1.14/Makefile.in
</code></pre>
</div>

<p>همون اولای فایل نوشته @CC@ شما جاش بنویسید gcc-4.4 و فایل رو ذخیره کنید.</p>

<p>قبل ادامه‌ی کار و کمپایل کد باید یک‌سری پیش‌نیازها رو نصب کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.4
</code></pre>
</div>

<p>حالا دستور زیر رو بزنید تا شروع به کمپایل کنه. احتمالا یک ربعی طول بکشه.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>ns-allinone-2.35/install
</code></pre>
</div>

<p>بعد از اینکه تموم شد می‌تونید فایل‌های اجرایی مثل خود ns و یا nam و xgraph رو از مسیر ns-allinone-2.35/bin اجرا کنید.</p>

<p>برای استفاده‌ی راحت‌تر می‌تونید مسیر فایل‌های اجرایی رو به پوسته‌ی بش معرفی کنید تا راحت فقط با وارد کردن ns در ترمینال بتونید اجراش کنید. برای این کار ابتدا فایل <code class="highlighter-rouge">bashrc.</code> خودتون رو باز کنید. مثلا با دستور زیر!</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>nano ~/.bashrc
</code></pre>
</div>

<p>بعدش خطوط زیر رو به این فایل اضافه کنید (البته جای linuxihaa نام‌کاربری خودتون رو بذارید یا کلا مسیرها آدرس‌هایی باشه که فایل‌های ns رو کمپایل کردید).</p>

<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># ns start</span>
<span class="nv">PATH</span><span class="o">=</span><span class="nv">$PATH</span>:/home/linuxihaa/ns-allinone-2.35/bin:/home/linuxihaa/ns-allinone-2.35/tcl8.5.10/unix:/home/linuxihaa/ns-allinone-2.35/tk8.5.10/unix
<span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$LD_LIBRARY_PATH</span>:/home/linuxihaa/ns-allinone-2.35/otcl-1.14:/home/linuxihaa/ns-allinone-2.35/lib
<span class="nv">TCL_LIBRARY</span><span class="o">=</span><span class="nv">$TCL_LIBRARY</span>:/home/linuxihaa/ns-allinone-2.35/tcl8.5.10/library
<span class="nb">export </span>PATH
<span class="nb">export </span>LD_LIBRARY_PATH
<span class="nb">export </span>TCL_LIBRARY
<span class="c"># ns end</span>
</code></pre>
</div>

<p>بعد از اضافه کردن خطوط هم دستور زیر رو اجرا کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">source</span> ~/.bashrc
</code></pre>
</div>

<p>تموم شد! می‌تونید با وارد کردن ns، محیط خط فرمان این شبیه‌ساز رو مشاهده کنید.</p>

<p>از <a href="http://slogix.in/ns2-training-institute/index.html">اینجا</a> هم می‌تونید کلی آموزش و مثال ns2 رو مطالعه کنید.</p>


دی ۸ ۱۳۹۴

نصب آخرین نگارش فایرفاکس روی اوبونتو

<p>مرورگر فایرفاکس به صورت پیش‌گزیده در بسیاری از توزیع‌های گنو/لینوکس نصب است. اما از آنجایی که این مرورگر با روند نسبتاً سریعی در حال پیشرفت است ممکن است در به‌روزترین توزیع‌ها هم از آخرین نگارش آن استفاده نشده باشد.</p>

<p><img src="/assets/images/FirefoxHD.jpg" alt="FirefoxHD" /></p>

<p>در این پست قصد داریم نحوه‌ی نصب این مرورگر را از طریق بستهٔ <code class="highlighter-rouge"> tar.bz2</code> در سیستم‌عامل اوبونتو آموزش دهیم.</p>

<p>ابتدا با مراجعه به <a href="https://www.mozilla.org/en-US/firefox/new/">وب‌سایت</a> این شرکت، آخرین نگارش این بسته را دانلود نموده و در مسیر Home قرارداده و به ترتیب زیر عمل می‌نماییم:</p>

<p>محیط خط فرمان را با استفاده از کلیدهای ترکیبی <code class="highlighter-rouge">Ctrl+Alt+T</code> باز نموده و یا اگر در این محیط قرار دارید ابتدا دستور زیر را وارد می‌کنیم تا به مسیر (Directory) خانه برویم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">cd</span>
</code></pre>
</div>

<p>حال به کمک دستور زیر پرونده دانلود شده را از حالت فشرده خارج می‌نماییم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>tar xjf firefox-<span class="k">*</span>.tar.bz2
</code></pre>
</div>

<p>دقت کنید به جای * باید ادامه‌ی نام بسته خود را وارد نمایید که معمولا شماره نگارش آن می‌باشد.</p>

<p>اکنون به کمک دستور زیر پرونده باز شده را به مسیر نصب انتقال و مجوز پرونده را کاربر ریشه قرار می‌دهیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo mv firefox /usr/local
sudo chown -R root:root /usr/local/firefox
</code></pre>
</div>

<p>در آخر به کمک دستورات زیر یک پیوند برای دسترسی به نگارش جدید، در مسیر ذکر شده ایجاد می‌کنیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo <span class="nb">cd</span> /usr/local/binsudo ln -s ../firefox/firefox
</code></pre>
</div>

<p>دقت کنید که در اولین دستور به‌علت به‌کار بردن sudo از شما رمز عبور کاربر را درخواست می‌نماید.</p>

<p>اکنون آخرین نگارش مرورگر فایرفاکس با موفقیت روی سیستم‌عامل اوبونتوی شما نصب شده است.</p>


دی ۷ ۱۳۹۴

نصب پیام رسان تلگرام برای اوبونتو

<p>قطعا تا الان اسم پیام رسان تلگرام به گوش همه خورده است که کاربران ان هم کم نیستند.</p>

<p>پیام رسان تلگرام علاوه بر نسخه‌های اندروید، آی او اس و … نسخه لینوکس خود را نیز منتشر کرده است که از راه‌های زیر قابل نصب هست.</p>

<p><strong>روش اول: نصب از طریق ترمینال</strong></p>

<p>ترمینال را باز کرده و دستورات زیر را وارد نمایید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram
</code></pre>
</div>

<p><strong>روش دوم: دانلود فایل نصبی از سایت تلگرام</strong></p>

<p>فایل نصبی تلگرام را از <a href="https://desktop.telegram.org/">سایت تلگرام</a> دانلود کنید.</p>

<p>سپس فایل را حالت فشرده خارج کنید و فایل telegram را اجرا کنید.</p>

<p><img src="/assets/images/Telegram-screen-300×171.jpg" alt="Telegram" /></p>

<p>از استفاده تلگرام بر روی اوبونتو لذت ببرید.</p>


آبان ۱۲ ۱۳۹۴

کار بعد از نصب اوبونتو ۱۵٫۱۰

<p>با توجه به این که لازمه بعد از نصب هر سیستم‌عاملی یک سری کارها انجام بدین در این پست قصد دارم تا ۱۰ کاری که بهتره بعد نصب اوبونتو ۱۵٫۱۰ انجام دهید رو توضیح بدم.</p>

<h2 id="section">1. یادگیری چیزهای جدید</h2>

<p>اولین کار، یادگیری چیزهایی جدیدی هست که اضافه شده. چون اوبونتو یه توزیع گنو/لینوکسی هست و افراد زیادی در اون همکاری دارن، چیزهایی جدید به سرعت برای اون ساخته میشن و بعد از تست منتشر میشن!</p>

<p>به عنوان مثال تو اوبونتو ۱۵٫۱۰ میشه با کشیدن برنامه‌ها و … از دش به دسکتاپ برای اون میانبر ایجاد کرد!</p>

<p><img src="/assets/images/ubuntu-1510-wily-werewolf.jpg" alt="ubuntu-1510-wily-werewolf" /></p>

<h2 id="section-1">2. بررسی بروزرسانی‌ها</h2>

<p>با توجه به اینکه اوبونتو یک سیستم‌عامل open-source هست بروزرسانی‌های اون خیلی سریع اتفاق میفته و پس از بررسی در مخازن برای بروزرسانی سیستم در اختیار عموم قرار می‌گیره که این بروزرسانی‌ها هم باعث رفع باگ‌ها و هم ممکنه باعث افزایش سرعت سیستم و در اختیار گذاشتن امکانات جدید بشه.</p>

<p>برای بروزرسانی تنها کافیه تا software updater رو باز کنید و روی install now کلیک کنید (مسلما باید به اینترنت وصل باشید!).</p>

<p><img src="/assets/images/software-updater.jpg" alt="software-updater" /></p>

<h2 id="section-2">3. نصب درایور گرافیک</h2>

<p>اگه می‌خواید تا عملکرد بهتری از سیستم خود داشته باشید بهتره تا درایور گرافیک اون رو نصب کنید.</p>

<p>این کار همچنین باعث بهبود سرعت اجرای بازی‌هاتون میشه!</p>

<p>برای اینکار می‌تونید مطابق عکس زیر عمل کنید:</p>

<p><img src="/assets/images/2015/11/drivers.jpg" alt="drivers" /></p>

<h2 id="section-3">4. نصب کدک های تصویری و صوتی</h2>

<p>با توجه به اینکه اوبونتو جزو نرم‌افزارهای آزاد هست، به طور پیش‌فرض برخی از کدک فرمت‌های تصویری و صوتی مثل mp3 و … رو نصب نمی کنه و برای نصب اون ها شما دو راه دارید:</p>

<p>1. در هنگام نصب قسمتی وجود داره که اتصال شما به اینترنت رو بررسی می کنه. در این بخش یک گزینه وجد داره با عنوان Third-Party codecs و کافیه تیک این گزینه رو فعال کنید!</p>

<p>اگه این کار یادتون رفت ایرادی نداره چون با روش زیر می تونید بعد از نصب اوبونتو اقدام به نصب اینم کدک‌ها بکنید:</p>

<p>2. ubuntu software center رو باز کنید و عبارت <code class="highlighter-rouge">third party codecs</code> زیر رو جست‌وجو کنید و بعد اون رو نصب کنید و یا روی لینک <a href="https://apps.ubuntu.com/cat/applications/ubuntu-restricted-extras/">Install Third-Party Codecs </a>کلیک کنید.</p>

<p><strong>منتظر بخش دوم باشید!</strong></p>

<p><strong>منبع: <a href="http://saeedhpro.ir/">saeedhpro.ir</a></strong></p>


شهریور ۳ ۱۳۹۴

کالی لینوکس ۲٫۰

<p>مدتی از انتشار نسخه ۲٫۰ توزیع محبوب کالی هم می‌گذره. برای اون دسته از دوستانی که آشنایی ندارن بگم که کالی یه توزیع از لینوکس هست که از اون برای انجام تست نفوذ به سیستم‌ها (penetration test) و همچنین فورنسیک (forensic، جمع‌آوری اطلاعات حقوقی برای اثبات وقوع جرم الکترونیکی) استفاده میشه.</p>

<p>توزیع کالی که در ادامه‌ی توزیع Backtrack توسعه داده میشه، در واقع مجموعه‌ای از ابزارهای تست و نفوذ به هاست‌های شبکه، سیستم‌ها و اپلیکیشن‌های وب و حتی بعضی سخت افزارها رو درون خودش جای داده. Offensive security توسعه‌دهنده‌ی توزیع، بعد از اینکه تصمیم گرفت به جای Backtrack، که بر مبنای اوبونتو توسعه یافته بود، کالی رو ایجاد کنه، به سراغ دبیان رفت و اون رو مبنای توسعه‌ی نسخه‌ی جدید بهترین توزیع برای تست‌های امنیتی قرار داد.</p>

<p><img src="/assets/images/kali-small.png" alt="کالی لینوکس ۲٫۰" /></p>

<p>از تغییراتی که در نسخه ی ۲٫۰ اعمال شده، تغییر توزیع به یک توزیع rolling هست. بنابراین از این به بعد پکیج‌ها با سرعت هرچه بیشتر، از نسخه‌ی Testing دبیان به کالی اضافه میشن. این طوری می‌تونید همیشه آخرین نسخه از نرم افزارها رو داشته باشید. که در نتیجه امکان داره مشکلاتی هم در این نرم افزارهای جدید وجود داشته باشه. با این حال این تغییر بسیار منطقی به نظر میرسه، چون کاربران توزیع های امنیتی شدیدا احتیاج دارن نرم افزارهای به‌روز استفاده کنن.</p>

<p>اگه به کار کردن با این توزیع علاقه دارین می تونین از <a href="https://www.kali.org/downloads/">اینجا</a> نسخه‌ی مورد نظرتون رو دریافت و نصب کنید.</p>


اردیبهشت ۱۳ ۱۳۹۴

ویرایش فایل‌های صوتی با mpgtx در ترمینال

<p>خیلی اوقات ما فایلهای صوتی‌ای داریم که نیاز داریم قسمتی از آن فایل را حذف کنیم یا دو فایل را با هم ادغام کنیم و یا اطلاعات کامل فایل صوتی را در اختیار داشته باشیم. mpgtx ابزاری در ترمینال است که این امکانات را به ما می‌دهد. سادگی دستور و سرعت و دقت بالای mpgtx دلایلی هستند که ما بر آن شدیم تا این ابزار را به شما دوستان معرفی کنیم.</p>

<p>این ابزار فقط چند کیلوبایت از سیستم شما را اشغال می‌کند اما با حجم پایین خود قدرت و سرعتی به مراتبط بیشتر از از ابزارهای گرافیکی در اختیار قرار می‌دهد.</p>

<p>دستور نصب :</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo aptitude install mpgtx
</code></pre>
</div>

<p>اگر می‌خواهید اطلاعاتی مانند bitrate یا نوع کدک و یا ID3 از فایل صوتی خود داشته باشید دستور زیر را اجرا کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mpginfo input.mp3
</code></pre>
</div>

<p>یا اگر می‌خواهید قسمتی از فایل صوتی را جدا کنید دستور زیر را اجرا کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mptsplit input.mp3 <span class="o">[</span>00:00:20-00:01:48] -o output.mp3
</code></pre>
</div>

<p>در اینجا از ثانیه ۲۰ شروع شده و تا زمان ۱:۴۸ را جدا می‌کنید و باقی را از فایل input.mp3 جدا کرده و در فایل جداگانه output.mp3 ذخیره می‌کند.</p>

<p>اگر می‌خواهید دو فایل را با هم ادغام کنید از دستور زیر استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mpgjoin input1.mp3 input2.mp3 -o output.mp3
</code></pre>
</div>

<p>در اینجا دو فایل ورودی input1.mp3 و input2.mp3 را با هم ادغام کرده و در فایل output.mp3 ذخیره می‌کند.</p>


فروردین ۳ ۱۳۹۴

visudo، ویرایش sudoers

<p>سلام. قبل از شروع این مطلب، سال جدید رو به شما تبریک می‌گم و امیدوارم سال ۱۳۹۴ همراه با سلامتی و موفقیت برای شما و خانوادتون باشه.</p>

<p><img src="/assets/images/sudo_report_incident.png" alt="یه عکس که بی‌ربط نیست به موضوع مطلبمون و سال نو!" /></p>

<p>یه عکس که بی‌ربط نیست به موضوع مطلبمون و سال نو!</p>

<p>تو این پست قصد دارم نحوه‌ی ویرایش فایل sudoers با visudo رو آموزش بدم. توی مطلب «<a href="http://linuxihaa.ir/sudo/">sudo چیست؟</a>» دیدید که sudo برای اجرای دستوراتی استفاده میشه که ما اجازه اجرای اون‌ها رو نداریم؛ مثل دستور apt-get در دبیان و اوبونتو که برای اجرا نیاز به دسترسی روت داره و ما می‌تونیم با دستور sudo apt-get و دادن پسورد خودمون اون رو اجرا کنیم.</p>

<p>یکم جلوتر بریم و توی پست «<a href="http://linuxihaa.ir/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-%D8%B3%D9%88%D8%AF%D9%88-%D8%A8%D8%AF%D9%88%D9%86-%D9%BE%D8%B3%D9%88%D8%B1%D8%AF/">اجرای دستور سودو بدون پسورد</a>» دیدید که ما نیاز داشتیم بعضی از دستورات رو بدون نیاز به دادن پسورد اجرا کنیم. مثلا sudo apt-get رو که وارد کردیم دیگه نیاز به وارد کردن پسورد نباشه و بدون دریافت پسورد اجرا بشه. توی اون پست یه روش مبتدیانه و خطرناک گفتم اما قول دادم که روش اصولی رو آموزش بدم که حالا به قولم وفا کردم!</p>

<p>خب شروع کنیم. می‌خوایم یه کارایی کنیم که بعضی دستورات با sudo که اجرا میشن دیگه نیاز نباشه که پسوردمون رو وارد کنیم. این کار و خیلی کارهای دیگه رو میشه از طریق ویرایش فایل sudoers انجام داد. کلیت کارها، اعطای دسترسی اجرا دستور (یا دستورات یا فایل) برای کاربری (یا گروه کاربران) در هر ماشین (یا یک ماشین خاص)، بدون نیاز به وارد کردن پسورد‌ (یا نیاز به وارد کردن پسورد) هست. حالا میتونه شامل اعطای اجرای تمام دستورات (حتی دستورات با دسترسی روت) برای کاربران ادمین سیستم با نیاز به وارد کردن پسورد باشه که میشه همون استفاده همیشگی که از دستور sudo داریم؛ یا اینکه اجرای یک دستور (که ما دسترسی به اجرای اون رو نداریم و مثلا فقط با دسترسی روت میتونه اجرا بشه) برای کاربری خاص بدون نیاز به وارد کردن پسورد.</p>

<p>حالا که می‌دونیم با ویرایش sudoers چه کارهایی میشه انجام داد بیایم یه توضیحی درباره اون بدیم. فایل sudoers معمولا توی شاخه <span dir="ltr">/etc</span> هست و یک فایل متنی با ساختار مشخص هست که پیکربندی sudo محسوب میشه و دستور sudo با توجه به محتوای این فایل دسترسی‌ها رو تست و اعمال می‌کنه. برای ویرایش این فایل می‌تونید مستقیم فایل رو پیدا کنید و با هر ویرایشگری که خواستید ویرایش کنید یا اینکه از دستور visduo استفاده کنید که به معنی باز کردن فایل sudoers با ویرایشگر vi هست و این فایل رو با ویرایشگر پیش‌فرض شما برای ویرایش باز میکنه.</p>

<p>بریم سراغ ویرایش فایل sudoers.</p>

<p>ساختار این فایل از دو نوع دستور ایجاد شده. مورد اول برای مشخص کردن تنظیمات پیش‌فرض هست؛ مثل اینکه با وارد کردن پسورد چه زمانی طول بکشه تا دوباره این نشست منقضی بشه و دوباره نیاز به وارد کردن پسورد باشه یا ویرایشگر پیشفرض visudo چی باشه و … . اما مورد دوم همین دسترسی‌ها هست که دربارش صحبت کردیم.</p>

<p>واسه اینکه هم مثالی برای مورد اول بشه و هم اینکه در تست‌های بعدی راحت باشیم این خط رو به فایل sudoers اضافه کنید.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>Defaults:ALL timestamp_timeout=0
</code></pre>
</div>

<p>این خط می‌گه که زمان انقضای پسورد ۰ باشه؛ یعنی برای هر بار استفاده از دستور sudo نیاز به دادن پسورد باشه (اگه نیاز بود). به صورت پیشفرض این زمان معمولا ۱۵ دقیقه هست؛ یعنی اینکه با اجرای دستوری مثل sudo apt-get و دادن پسورد، تا ۱۵ دقیقه دیگه نیاز به وارد کردن پسورد نیست (در همین نشست) و اگه دستور sudo apt-get رو تو این بازه زمانی اجرا کنیم بدون نیاز به دادن پسورد اجرا میشه.</p>

<ul>
<li>
<p>این تنظیم برای ادامه آموزش نیاز هست تا کار شما راحت‌تر باشه و اگر این مورد رو فعال نکردید باید بعد از هر بار که پسورد رو وارد کردید دستور sudo -K رو وارد کنید تا زمان منقضی بشه و برای اجرای دوباره sudo نیاز به دادن پسورد باشه. این کار رو انجام می‌دیم که تفاوت تنظیماتی که در ادامه انجام می‌دیم رو با حالت عادی احساس کنید.</p>
</li>
<li>
<p>اگر این تنظیم رو انجام دادید بعد از تست این مطلب اون رو حذف کنید.</p>
</li>
<li>
<p>توجه: در دستورات ترمینالی که استفاده شده، نوشته‌ها با رنگ زرد، خروجی هستند.</p>
</li>
</ul>

<p>و مورد دوم. فرض کنید من فایلی به نام test.sh با محتوای <span dir="ltr">echo ‘Linuxihaa’</span> می‌سازم و دسترسی اون رو ۷۰۰ قرار می‌دم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">echo</span> <span class="s2">"echo 'Linuxihaa'"</span> &gt; test.sh
<span class="gp">$ </span>chmod 700 test.sh
</code></pre>
</div>

<p>حالا اگه فایل رو اجرا کنید متن خروجی رو مشاهده می‌کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./test.sh
Linuxihaa
</code></pre>
</div>

<p>بیاید مالک فایل رو روت قرار بدید تا دیگه بهش دسترسی نداشته باشید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo chown root test.sh
</code></pre>
</div>

<p>حالا دوباره فایل رو اجرا کنید تا مشاهده کنید که قادر به اجرای اون نیستید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./test.sh
-bash: ./test.sh: Permission denied
</code></pre>
</div>

<p>می‌دونیم که با اجرای دستور sudo ./test.sh و دادن پسورد این فایل اجرا میشه اما برای اینکه پسورد نخواد خط زیر رو به فایل sudoers اضافه کنید. توجه کنید که بجای YOUR_USERNAME، نام کاربری خودتون و بجای FILE_PATH آدرس فایل test.sh رو به صورت کامل بنویسید.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>YOUR_USERNAME ALL=(ALL) NOPASSWD: FILE_PATH
</code></pre>
</div>

<p>بعد از اضافه کردن این خط به فایل sudoers اگه دستور sudo ./test.sh رو وارد کنید می‌بینید که بدون نیاز به دادن پسورد، دستور اجرا میشه.</p>

<p>خب این مثال تموم شد اما بیایم ببنیم ساختار کلی اعطای مجوز در فایل sudoers چطور هست؟</p>

<p>ساختار هر خط تقریبا به شکل زیر هست.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>[USERNAME / %GROUPNAME] [MACHINE]=(USER) &lt;NOPASSWD:&gt; [PATH] [ARGUMENTS]
</code></pre>
</div>

<ul>
<li>در بخش اول می‌تونید یک نام کاربری یا گروه کاربری (برای گروه کاربری باید اول نام گروه کاراکتر % قرار بدید) بنویسید.</li>
<li>در بخش دوم
<ul>
<li>ابتدا نام ماشینی که مجوز در اون اعطا میشه رو وارد می‌کنید (می‌تونید نام ماشین خودتون رو بنویسید) و یا ALL می‌نویسید تا برای همه ماشین‌ها باشه.</li>
<li>سپس نام یوزی که میشه با اون اجرا بشه رو وارد می‌کنید یا ALL می‌نویسید تا محدودیتی نباشه. این مورد برای دستور sudo -u USERNAME استفاده میشه.</li>
</ul>
</li>
<li>در بخش سوم یا می‌نویسید <span dir="ltr">NOPASSWD:</span> تا نیاز به وارد کردن پسورد نباشه یا چیزی نمی‌نویسید تا پسورد نیاز باشه.</li>
<li>
<p>در بخش چهارم مسیر فایل دستور یا فایل‌های خودتون رو وارد می‌کنید. میتونه یه فایل خاص باشه یا فایل‌های داخل یه شاخه خاص. همچنین می‌تونید بعد از نام فایل، آرگومان‌های مشخصی رو هم بنویسید تا اون دستور فقط با اون آرگومان‌ها قابل دسترس باشه.</p>
</li>
<li>
<p>اگه چند آرگومان با نام مشابه هست می‌تویند از * استفاده کنید. مثلا <span dir="ltr">up*</span> آرگومان‌های update و upgrade رو شامل میشه.</p>
</li>
<li>می‌تونید چندتا مسیر رو با دادن , از هم جدا کنید و مجوز به همشون اعمال بشه.</li>
</ul>

<p>نکته دیگری هست خوشحال میشم شما بگید یا بپرسید تا جواب داده بشه.</p>

<p>موفق باشید.</p>

<ul>
<li>تصویر شاخص از ۴٫bp.blogspot.com</li>
</ul>


بهمن ۲۲ ۱۳۹۳

اجرای دستور sudo بدون پسورد

<p>امروز می‌خوام یه کار خطرناک اما کاربردی! رو بهتون آموزش بدم. شاید براتون پیش اومده باشه که بخواید یه سری دستور رو توی فایل شل بنویسید تا هر وقت خواستید اجراش کنید؛ اما اگه دستورات به دسترسی روت نیاز داشته باشند درگیری‌هایی براتون ایجاد می‌کنه که در بهترین حالتش وارد کردن پسورد برای هر بار اجرای فایل شل هست. حالا می‌خوام روشی رو آموزش بدم که دیگه نیاز به وارد کردن پسورد نباشه.</p>

<p><img src="/assets/images/linux_widescreen_desktop_sudo_root_wide_linux-other.jpg" alt="linux_widescreen_desktop_sudo_root_wide_linux-other" /></p>

<p>برای این کارها معمولاْ راه حل‌های منطقی و امنی مثل محدود کردن مجوز‌های سیستم هست که روش‌های خودشون رو دارند اما این آموزشی که می‌خوام بدم بدترین کاری هست که می‌تونید انجام بدید! یعنی رمز خودتون رو تو فایل شل و کنار بقیه دستورات ذخیره کنید و امنیت خودتون رو بسپارید به دست باد!</p>

<p>قبل از هر چیزی یادم اومد که در آینده حتماْ آموزشی برای تنظیمات سودو قرار بدم که هم امنیت شما تضمین بشه و هم کارهاتون رو راحت انجام بدید اما حالا بیاید راه خطرناک خودمون رو آموزش بدیدم! شاید خطرناک باشه و از اون استفاده نکنید ولی یادگیریش خالی از لطف نیست.</p>

<p>خب فرض کنید دستورات من این‌ها باشن:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>rm -r /tmp/<span class="k">*</span>
halt
</code></pre>
</div>

<p>یعنی اینکه من قصد دارم با اجرای این فایل اول محتویات شاخه tmp (که فایل‌های موقت سیستم و برنامه‌ها در اون ذخیره می‌شن) حذف بشن و سپس سیستم خاموش بشه.</p>

<p>ذکر کنم که این فقط یک مثال برای آموزش هست و اگه در واقعیت، من همچین فایلی بخوام بسازم باید به عقلم شک کنید! چون هم اینکه شاخه tmp حافظه موقت هست و بعد از ریست شدن پاک میشه و هم اینکه هرچی برنامه باز دارم رو بیخیال شدم و زدم سیستم رو یهو خاموش کردم!</p>

<p>خب بریم سراغ آموزشمون. اگه دقت کنید دستور halt نیاز به دسترسی روت داره و باید با دستور sudo استفاده بشه. یعنی فایلمون اینطور تغییر می‌کنه:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>rm -r /tmp/<span class="k">*</span>
sudo halt
</code></pre>
</div>

<p>اما مشکل هنوز باقی هست. اگه توی محیط میزکار باشید و فایل رو اجرا کنید که اصلا اتفاقی نمیوفته (البته اگه بجای sudo از جایگزین‌هاش با رابط کاربری استفاده کنید، کادری باز میشه و رمز عبور رو درخواست می‌کنه) و اگر در ترمینال باشید و فایل رو اجرا کنید، رمز عبور از شما خواسته میشه.</p>

<p>و اما… حالا وقت کار خطرناکی هست که می‌گفتم. دستورات رو به شکل زیر تغییر بدید (به جای PASSWORD، رمز خودتون رو بنویسید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>rm -r /tmp/<span class="k">*</span>
<span class="nb">echo </span>PASSWORD | sudo -S halt
</code></pre>
</div>

<p>کار تموم شد. با هر بار اجرای فایل، دستورات به راحتی اجرا میشن. در دستور بالا همزمان پسورد شما در ورودی استاندارد (stdin) نوشته می‌شه و با سویچ S هم به دستور sudo گفتیم که پسورد رو از ورودی استاندارد بخونه.</p>

<ul>
<li>تصویر شاخص یک والپیپر هست که از سایت iphonewallpapers-hd.com گرفتم و شاید زیاد ربطی به این مطلب نداشته باشه اما برای پس‌زمینه خوبه :)</li>
</ul>


دی ۱۶ ۱۳۹۳

بررسی ۱+۵ توزیع برتر لینوکس در سال ۲۰۱۴

<p>در این پست میخوایم ۱+۵ توزیع برتر لینوکس در سال ۲۰۱۴ از نظر وبسایت معتبر <a href="http://distrowatch.com/">Distrowatch</a> رو بررسی کنم. این ۶ توزیع (یا به عبارتی ۵ توزیع بعلاوه ۱) توزیع‌هایی هستند که من خودم هم به شخصه طی ۱+۱۲ سال کار با لینوکس از سال ۲۰۰۲ به بعد باهاشون کار کردم و سعی میکنم در بررسی مختصری که ارائه میکنم نکته‌ی مهمی از قلم نیفته. ترتیب آوردن توزیع‌ها هم در حقیقت ترتیبی هستند که من از اون‌ها در طول این سال‌ها استفاده کردم، نه رتبه‌بندی اونا. برای بررسی هر کدوم از این توزیع‌ها ۴ بخش مختلف قرار دادم؛ ۱. معرفی ۲. نقاط قوت ۳. نقاط ضعف و ۴. نکات</p>

<ul>
<li>این مطلب در <a href="http://fa.frdn.info/2015/01/top-6-linuxdistro-of-2014-p1.html">وبلاگم</a> به‌صورت کامل منتشر شده و حالا توی این پست سعی میکنم فقط نکات اصلی این بررسی رو به اختصار براتون بنویسم.</li>
</ul>

<p>یه نکته‌ی جالب در مورد این ۶ توزیع اینه که در سال ۲۰۱۳ هم دقیقا همین توزیع‌ها ۶ تای برتر سال رو تشکیل میدادند، البته با کمی جابجایی مکانی.</p>

<p>(قبل از هر چیز هم بگم که دوست داشتم زبان متن کمی محاوره‌ای باشه تا رسمی، ولی اگه به هر دلیلی خوشتون نیومد بگید که در پست‌های بعدی رسمی‌تر بنویسم!)</p>

<p><a href="http://linuxihaa.ir/wp-content/uploads/2015/01/toplinux.jpg"><img src="http://linuxihaa.ir/wp-content/uploads/2015/01/toplinux-300×274.jpg" alt="toplinux" /></a></p>

<p> ترتیب توزیع‌ها در ادامه‌ی پست ترتیبی هستند که این توزیع‌ها متولد شده‌اند، نه رتبشون در رده‌بندی.</p>

<h2 id="fedorahttpsgetfedoraorg"> <a href="https://getfedora.org/">Fedora</a></h2>

<p><a href="http://mageia.ir/images/blogz/fedora.jpg"><img src="http://mageia.ir/images/blogz/fedora.jpg" alt="" /></a>با فدورا شروع میکنیم؛ فدورا در حقیقت ققنوس لینوکسهاست، چون که دقیقا بعد از مرگ Red Hat و از خاکستر اون متولد شد. کمپانی Red Hat سال ۲۰۰۳ اسپانسر پروژه‌ای شد بنام Fedora Core، و همکاری آنها منجر شد به ارائه‌ی اولین نسخه لینوکس Fedora که مبتنی بر آخرین نسخه‌ی لینوکس Red Hat بود.</p>

<p><strong>نقاط قوت:</strong> فدورا در بین دیگر توزیع‌ها دارای نو آوری‌های مشهود و ابزارها و خصوصیات امنیتی فوق‌العاده هست. چرخه‌ی زندگی منظم اون، که شامل انتشار نسخه‌ی جدید هر ۶ ماه و پشتیبانی از آن برای ۱۳ ماه هست به شما این اطمینان رو میده که از آخرین بروزرسانی‌ها در کنار نوآوری‌های حال حاضر دنیای لینوکس بهره میبرید.</p>

<p><strong>نقاط ضعف: </strong>در دنیای نرم‌افزار، مخصوصا دنیای کدباز، ورژن‌های جدید نرم‌افزارها همیشه بهترین نسخه‌ی آنها نیستن و خیلی اوقات شاهد باگ‌های پیشبینی نشده‌ای در خود آن‌ها یا Dependencyهای پیش آمده توسط آن‌ها هستیم. در فدورا شما باید خودتون رو برای دستکاری، Downgrade و یا استفاده از patchهای تست نشده‌ی بعضی از نرم‌افزارها برای پایدار نگه داشتن کلی سیستم آماده کنید.</p>

<h2 id="debianhttpswwwdebianorg"><a href="https://www.debian.org/">Debian</a></h2>

<p><a href="http://mageia.ir/images/blogz/debian.jpg"><img src="http://mageia.ir/images/blogz/debian.jpg" alt="" /></a>دبیان رو میتونیم یکی از مهم‌ترین توزیع‌های تاریخ لینوکس ارزیابی کرد، اول از همه بخاطر استواری و stability بالای اون، و بعد هم بخاطر توزیع‌های فوق‌العاده‌ای که از اون منشعب (یا به عبارتی Fork) شده‌اند که از معروف‌ترین‌هاش میشه به لینوکس مینت و اوبونتو اشاره کرد.</p>

<p><strong>نقاط قوت:</strong> اگه شما دنبال یک لینوکس فوق‌العاده استوار، پابرجا و مستحکم هستید، یا اینکه دنبال توزیعی برای سرور خود هستید دبیان انتخاب فوق‌العاده‌ای هست. بخاطر همین خصوصیت stable بودنش شما میتونید از Up و در حال کار بودن بی‌وقفه‌ی سرور خود (با هر مشخصات سخت‌افزاری) کمال اطمینان رو داشته باشید.</p>

<p><strong>نقاط منفی:</strong> همین نکته‌ی استوار و پابرجا بودن دبیان باعث میشه که پکیج‌های نرم‌افزاری بعد از اینکه جوابشون رو همه جوره پس دادند و تمامی تست‌های ممکن رو گذروندن برای دبیان فراهم بشن، و اغلب هم بروزرسانی های این پکیج‌ها هم بسیار کندتر از سایر توزیع‌های دیگه هست.</p>

<h2 id="ubuntuhttpwwwubuntucom"> <a href="http://www.ubuntu.com/">Ubuntu</a></h2>

<p><a href="http://mageia.ir/images/blogz/ubuntu.jpg"><img src="http://mageia.ir/images/blogz/ubuntu.jpg" alt="" /></a>اوبنوتو معروفترین توزیع مبتنی بر دبیان و یکی از توزیع‌های فوق‌العاده ی موجود هست که از اواخر سال ۲۰۰۴ پای به عرصه وجود گذاشته. اوبونتو به سرعت و بعد از چند سال تبدیل شد به محبوبترین توزیع در بین کاربران دسکتاپ، با اهدافی که مهمترین اونها ارائه‌ی سادگی استفاده در کنار قدرت و توانایی هست. همچنین اوبونتو به این معروفه که از تجارب پروژه‌های مشابه استفاده میکنه و سعی میکنه هیچ کدوم از اشتباهات اونها رو تکرار نکنه.</p>

<p><strong>نقاط قوت: </strong>اوبونتو بطور کلی برای کاربران تازه کار لینوکس و یا کسانی که در لینوکس بدنبال سادگی بسیار میگردند بسیار مناسب هست. البته همانطور که اشاره شده، تنها سادگی عامل محبوبیت این توزیع نیست و قدرت و استواری هم از عوامل دیگه‌ی محبوبیت Ubuntu در بین کاربرانشه. بخاطر سبک بودن این توزیع، بر روی سیستم‌های معمولی و ضعیف هم سرعت نسبتا خوبی داشته، تجربه‌ی استفاده از لینوکس را برای کاربرانش لذت بخشتر میکنه.</p>

<p><strong>نقاط ضعف: </strong>این توزیع با وجود اینکه بر پایه‌ی دبیان هست در بعضی قسمت‌ها با توزیع پدر دارای مشکلات عدم هماهنگی هست. محیط کاری پیش فرض این توزیع Unity نام داره که علاوه بر خسته کننده بودنش بیشتر به درد کاربران موبایل میخوره تا دسکتاپ.</p>

<h2 id="opensusehttpswwwopensuseorg"><a href="https://www.opensuse.org/">OpenSUSE</a></h2>

<p><a href="http://mageia.ir/images/blogz/opensuse.jpg"><img src="http://mageia.ir/images/blogz/opensuse.jpg" alt="" /></a>خوب نوبت میرسه به اوپن سوزه. اول از همه بگم که من عاشق اون لوگوی خوشگلش هستم، یه آفتاب پرست بنام Geeko که در واقع ترکیب دو واژه‌ی Gecko به معنی مارمولک و Geek به معنی خوره کامپیوتر هست. شروع به کار این توزیع برمیگرده به ۱۹۹۲ توسط یک سری خوره لینوکس در آلمان. SUSE هم در حقیقت مخفف Software und System Entwicklung به معنی توسعه سیستم و نرم‌افزار هست. در ابتدا این شرکت دیسکت‌های لینوکس Slackware را به زبان آلمانی عرضه میکرد ولی در سال ۱۹۹۶ اولین نسخه‌ی خودش رو بنام SuSe linux منتشر کردند.</p>

<p><strong>نقاط قوت:</strong> اوپن سوزه همیشه دارای نو آوری‌های زیادی بوده که یکی از مهمترین عوامل محبوبیت این توزیع در بین طرفدارانش پر شمارش به حساب میاد. محیط کاری بسیار زیبا، تمیز، ساده و دل پذیر اون در کنار ابزارهای پیکربندی ساده و جامع، مخزن بزرگ پکیج‌های نرم‌افزاری، زیرساخت وبگاه فوق‌العاده قدرتمند و مستندات عالی را نیز میتوان از دیگر نقاط محبوبیت این توزیع به حساب آورد.</p>

<p><strong>نقاط ضعف:</strong> توافق حق امتیاز انحصاری بین ناول و مایکروسافت در نوامبر سال ۲۰۰۶ موجبات خشم جامعه‌ی بزرگ شخصیت‌های مطرح لینوکس را در پی داشت و باعث شد بسیاری از کاربران این توزیع ناامیدانه به توزیع‌های دیگه مهاجرت کنن. همچنین بخاطر اینکه این توزیع از ابزارهای گرافیکی زیادی استفاده میکنه، نصب و راه اندازی دسکتاپ بعضی اوقات کند و سنگین میشه.</p>

<h2 id="linuxminthttpwwwlinuxmintcom"><a href="http://www.linuxmint.com/">LinuxMint</a></h2>

<p><a href="http://mageia.ir/images/blogz/mint.jpg"><img src="http://mageia.ir/images/blogz/mint.jpg" alt="" /></a>لینوکس مینت توزیعی بر پایه‌ی اوبونتو و دبیان هستش که در سال ۲۰۰۶ در ایرلند متولد شد. در ابتدا یک وبسایت بود برای کمک به کاربران تازه‌کار لینوکس، نوشتن مستندات و ارائه‌ی راهنمایی‌های اولیه به آنها. بعد از استقبال وسیع و گسترده‌ی مردم از این وبسایت و بازخوردهای متفاوتی که از کاربران گرفته شد، خالق این توزیع موقعیت را برای ارائه‌ی یک توزیع ساده برگرفته از نظرات و پیشنهادات کاربرانش و بدور از مشکلات و ابهامات فنی محصولات موجود برای کاربران مناسب دید و LinuxMint را متولد کرد. توزیعی که هم‌اکنون مردم آن را به عنوان اوبونتوی بهبود یافته میشناسند. البته این تعریف کاملا صحیح نیست، چرا که مینت فقط اوبونتوی بهبود یافته نیست، بلکه توسعه دهندگانش بسیاری ابزارها و قابلیت‌های گرافیکی را هم برای بهبود کارایی و سادگی استفاده به آن اضافه کرده‌اند.</p>

<p><strong>نقاط قوت:</strong> ساده و سبک بودن چیزیه که تخصص لینوکس مینت در اون مشخص میشه. ساده بودنش باعث محبوبیت زیادش در بین کاربران تازه‌ی لینوکس و سبک بودنش باعث میشه حتی بر روی لپتاپ‌های قدیمی و کامپیوترهای کند نیز عملکرد خوبی داشته باشه. همچنین بخاطر اینکه این توزیع بر پایه‌ی دبیان و اوبونتو هست میتوان انتظار یک سیستم استوار به همراه پک‌های نرم‌افزاری بسیار بیش از حد انتظار را داشت.</p>

<p><strong>نقاط ضعف:</strong> پروژه نکات و توصیه‌های امنیتی را منتشر نمیکند. همچنین این توزیع برای کاربران باتجربه لینوکس که سادگی زیاد رو دوست ندارند زیاد مناسب نیست.</p>

<h2 id="mageiahttpwwwmageiaorg"><a href="http://www.mageia.org/">Mageia</a></h2>

<p><a href="http://mageia.ir/images/blogz/mageia.jpg"><img src="http://mageia.ir/images/blogz/mageia.jpg" alt="" /></a>خوب میرسیم به آخرین توزیعمون یعنی لینوکس مجیا یا جادو (در زبان یونانی مجیا به معنای جادو است) که توزیع مورد علاقه ی خود من هم هست. توی دنیای توزیع‌های فوق‌العاده خوب و متنوع امروزی دیگه تقریبا غیرممکنه که یک توزیع تازه بیرون بیاد و بتونه بین بقیه توزیع‌ها سری بالا کنه و بیاد جزو ۱۰۰ توزیع برتر، چه برسه به اینکه بیاد جزو ۵-۶ تای اول. خوب در این بین لینوکس Mageia یکی از این استثناهاست که از ابتدای انتشارش در ۲۰۱۱ تا کنون همیشه جزو ۵-۶ تا توزیع برتر به‌حساب میومده.<br />
اولین نسخه‌ی این توزیع در اواسط سال ۲۰۱۱ منتشر شد و به سرعت باور نکردنی طی یکی دو سال به جمع ده توزیع محبوب در سراسر جهان رسید. مجیا در خیلی از نقاط متفاوت و یکتاست. برای مثال اولین لینوکسی هست که از پایگاه‌داده‌ی MariaDB به‌جای پایگاه‌داده‌ی پیشفرض MySQL شرکت اوراکل استفاده کرد. سیکل انتشار نسخه‌های جدید مجیا هر ۹ ماه یکبار و پشتیبانی هر کدام تا دو نسخه‌ی بعدی یعنی ۱۸ ماه بعد هستش.</p>

<p><strong>نقاط قوت: </strong>در عین حال که به کاربران با تجربه لینوکس امکان سفارشی کردن و دستکاری تمامی سیستم‌عامل رو میده، برای کاربران تازه کار هم بسیار مناسب هست. داشتن ابزارهای تنظیمات مرکزی فوق‌العاده قوی و ساده که نیاز کاربر به محیط Terminal رو خیلی کم میکنه. استواری و مستحکم بودن نیز از نکات مثبت این توزیع هست.</p>

<p><strong>نقاط ضعف:</strong> از مهمترین مشکلات این توزیع کم‌شهرت بودنش در بین کاربران لینوکس هست. اغلب کاربران نمیدونن که پیشینه‌ی این توزیع در لینوکس قدرتمند Mandriva بوده. همچنین نگرانی‌هایی هست مبنی بر اینکه جامعه‌ی توسعه‌دهندگان داوطلب این توزیع امکان نگهداری ازش رو برای بلند مدت و بدون کمک اسپانسرهای بزرگ نخواهند داشت.</p>

<p>یکی از نقاط ضعف دیگه ی مجیا سیکل انتشار ۹ ماهه‌اش هست که باعث میشه در زمینه اخبارسازی و هیجان رسانه‌ای در مقابل توزیع‌هایی که بازه‌ی انتشار ۶ ماهه دارند خیلی ضعیف‌تر عمل کنه و در این بین افراد به توزیع‌های دیگه جذب بشن.</p>

<p>تجربه ی لینوکسی خوبی داشته باشید!</p>


آبان ۱۸ ۱۳۹۳

بررسی لوبونتو ۱۴٫۰۴

<p>چند وقت پیش بود که می‌خواستم روی VirtualBox یه توزیع سبک از لینوکس نصب کنم و از اونجایی که با دبیان بیس‌ها و مخصوصا اوبونتو بیس‌ها راحت‌ترم تصمیم گرفتم نسخه سبکی از اوبونتو رو انتخاب کنم. گزینه‌های پیش رو زوبونتو (Xubuntu) و لوبونتو (Lubuntu) بودند که به ترتیب از میزکارهای XFCE و LXDE استفاده می‌کنند و بالطبع بخاطر میزکارهاشون باید خیلی سبک باشند. با اینکه تقریبا می‌دونستم LXDE بخاطر اینکه خیلی ساده است سبک‌تر هست اما باز هم جست‌وجویی برای مقایسه این دو توزیع انجام دادم که آدرس wikivs.com/wiki/Lubuntu_vs_Xubuntu خیلی مفید بود و جدول جالبی هم داشت که در زیر مشاهده می‌کنید.</p>

<p><img src="/assets/images/Lubuntu-vs-Xubuntu.png" alt="Lubuntu-vs-Xubuntu" /></p>

<p>البته این اطلاعات نسخه ۱۲.۰۴ هست و برای نسخه ۱۴.۰۴ هر کدوم رم‌های بیشتری اشتغال می‌کنند.</p>

<p>چندتا تصویر هم از دوتا توزیع دیدم و با اینکه زوبونتو زیباتر بود اما بخاطر سبکی و اینکه توی این موقعیت کار خاصی به زیبایی نداشتم، لوبونتو رو انتخاب کردم. خب بریم سراغ بررسی لوبونتو ۱۴٫۰۴ Lubuntu.</p>

<h3 id="section">نصب</h3>

<p>نصب کاملا مثل اوبونتو بود و از نصاب اوبونتو یونیتی استفاده می‌کرد فقط با مدیرپنجره اوپن باکس.</p>

<h3 id="section-1">میزکار</h3>

<p>راستشو بخواهید وقتی میزکار رو دیدم خیلی خوشم اومد! با اینکه خیلی ساده بود اما بر خلاف تصاویری (احتمالا تصاویر قدیمی بودن) که دیده بودم زیبا بود!</p>

<p>پوسته زیبایی به‌صورت پیش‌فرض روی میزکار نصب شده که با آیکن‌های ساده و شیکش باعث میشه حس خوبی پیدا کنید (ممنون لوبونتو که میزکار ال ایکس دی ای رو اینطور خوش چهره نشون دادی آخه توی توزیع‌های دیگه این میزکار اصلا قابل دیدن نیست!).</p>

<p><img src="/assets/images/lubuntu-14.04-1024×575.png" alt="lubuntu-14.04" /></p>

<h3 id="section-2">برنامه‌ها</h3>

<p>برای من خیلی جالب بود که برای سبکی برنامه‌های خیلی کمی به‌صورت پیش‌فرض نصب شده بود اما برنامه‌ها کاربردی بودند. مرورگر فایرفاکس، پیغام‌رسان Pidgin، کلاینت تورنت Transmission، برنامه ویرایش تصویر mtPaint، برنامه‌ای برای استفاده از اسکنر، Document Viewer برای مشاهده پرونده‌ها (مثل pdf)، یک واژه پرداز و برنامه صفحه گسترده که البته لیبر آفیس نبودند اما برای رفع نیاز خوب هستند، برنامه‌هایی برای پخش موزیک و فیلم، دیسک برن  Xfburn از جمله برنامه‌های این توزیع بودند.</p>

<p>این توزیع از مدیرفایل PCManFM استفاده می‌کند که ساده و کارا هست و امکانات خوبی مثل اکثر مدیرفایل‌ها دارد.</p>

<p>اما قسمت جالب اینجا بود که <a href="http://linuxihaa.ir/xpad/">Xpad</a> که یک یادداشت‌بردار ساده و مورد علاقه من است هم نصب بود!</p>

<p>برنامه‌های دیگری مثل Disks برای مدیریت دیسک‌ها و پارتیشن (که در اوبونتو یونیتی هم هست)، ماشین حساب!، مدیرآرشیو و … هم جزو برنامه‌های پیش‌فرض هستند اما خبری از اسکرین شاتر نبود که من مجبور شدم Shutter رو با دستور زیر نصب کنم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install shutter
</code></pre>
</div>

<ul>
<li>همین طور که می‌بینید اگه برنامه‌ای هم نباشه مسلما راحت میشه نصبش کرد و شاتر رو به این دلیل نصب کردم که برای نصبش حجم کمتری می‌خواست!</li>
</ul>

<p>کلا راضی هستم از اینکه این توزیع رو به‌صورت مجازی نصب کردم و دارم کارهایی که نیاز بود رو باهاش انجام میدم. مشکلی هم ندارم چون همه چیز همون اوبونتو هست اما سبک!</p>


مهر ۲۲ ۱۳۹۳

بررسی گنوم ۳٫۱۴

<p>چند هفته پیش بود که نسخه جدید میزکار محبوب گنوم بعد از شش ماه انتظار با بهبودهایی نسبت به نسخه قبلی منتشر شد.</p>

<p>گنوم (Gnome) یکی از میزکارهای محبوب توزیع‌های لینوکس هست که از فریم ورک <span dir="ltr">GTK+</span> استفاده می‌کند و میزکارهای معروف دیگه‌ای مثل یونیتی (Unity)، ال‌ایکس‌دی‌ای (LXDE)، ایکس‌اف‌سی‌ای (Xfce)، سینامون (Cinnamon) و … از گنوم ساخته شده‌اند. البته معمولا میزکارهایی که بر پایه گنوم هستند از نسخه دو آن استفاده می‌کنند. همچنین در مقابل گنوم، میزکار کی‌دی‌ای (KDE) با فریم‌ورک Qt قرار دارد.</p>

<p>خب به نسخه جدید یعنی گنوم ۳٫۱۴ بپردازیم. میزکار Gnome 3.14 روز ۲۴ دسامبر منشتر شد و تغییراتی که دارد شامل بهبود در نمایش و عملکرد است.</p>

<div class="youtube"><iframe width="560" height="420" src="http://www.youtube.com/embed/7p8Prlu3owc?color=white&amp;theme=light"></iframe></div>

<p>* <a href="http://www.aparat.com/v/aC52d">لینک مشاهده ویدیو از سایت آپارات</a></p>

<p>همانطور که در ویدیو مشاهده کردید انیمشن جدید و بهتری برای پنجره‌ها تهیه شده است که حس کاربری بهتری به شما می‌دهد. همچنین برنامه Weather دوباره طراحی شده تا با فریم‌ورک جغرافیایی جدید به‌صورت خودکار منطقه شما را تشخیص دهد و لایه‌های جدید، روش موثری برای خواندن پیش‌بینی وضع آب و هوا محیا می‌کند که در مجموع باعث می‌شود سریع‌تر و راحت‌تر وضعیت آب و هوا را بررسی کنید.</p>

<p><img src="/assets/images/gnome_3.14-weather.png" alt="gnome_3.14-weather" /></p>

<p>همچنین پشتیبانی وای‌فا هات اسپات (Wi-Fi hotspot) بهتر شده است و وقتی به وای فای رمزداری وصل می‌شوید، صفحه لاگین به‌صورت خودکار در مراحل اتصال نمایش داده می‌شود که تضمین می‌کند شما همیشه بدانید چه زمانی متصل هستید و به اتصال سریع‌تر شما کمک می‌کند.</p>

<p><img src="/assets/images/gnome_3.14-photos.png" alt="gnome_3.14-photos" /></p>

<p>در بخش Photos امکان اتصال و دسترسی به اکانت‌های آنلاین مدیا مثل گوگل محیا شده است که باعث می‌شود شما به‌راحتی بتوانید عکس‌های Google photos که از طریق Picasa، گوگل پلاس یا دستگاه اندرویدی خود آپلود کرده‌اید مشاهده کنید. اکانت مدیا سرور برای دسترسی به home media server از طریق DLNA محیا می‌شود.</p>

<p>هر دو این منابع آنلاین را می‌توانید از بخش Online Accounts اضافه کنید.</p>

<p>در این نسخه از مالتی تاچ پشتیبانی شده است و برای صفحات لمسی می‌توانید از حرکت‌های مالتی تاچ برای هدایت سیستم استفاده کنید. پیشنهاد می‌کنم بخشی از ویدیو که این ویژگی را توضیح می‌دهد حتما ببینید تا به نحوه استفاده آن در برنامه‌ها و میزکار آشنا شوید.</p>

<p>برای مشاهده جزئیات بیشتر این نسخه می‌توانید به آدرس help.gnome.org/misc/release-notes/3.14 مراجعه کنید.</p>

<ul>
<li>تصویر شاخص از omgubuntu.co.uk</li>
</ul>


مهر ۱۴ ۱۳۹۳

بوت دستی با گراب

<p>بوت‌لودر نرم‌افزاری هست که در بخش بوت دیسک کامپیوتر نصب و در هنگام شروع به کار کامپیوتر توسط برنامه رام اجرا می‌شود و وظیفه آن بارگزاری سیستم‌عامل‌های مختلفی است که روی کامپیوتر نصب شده‌اند. گراب یکی از بوت‌لودرهای معروف لینوکس است که قدرت زیادی نیز دارد و به راحتی سیستم‌عامل‌های مختلف را شناسایی و منویی را برای انتخاب و ورود به آن‌ها در هنگام راه اندازی کامپیوتر فراهم می‌کنم.</p>

<p><img src="/assets/images/grub2.png" alt="grub2" /></p>

<p>منوی گراب را می‌توان به نحوی که نیاز داریم و با توجه به سیستم‌عامل‌های موجود ویرایش کنیم. انجام این ویرایش نیاز به آموزش‌هایی دارد که در مطالب بعدی حتما به آن می‌پردازیم. اما در اینجا به این نکته بسنده کنم که برای شناسایی یک سیستم لینوکس جدید در کامپیوتر باید بعد از ورود به آن از طریق ترمینال دستور update-grub را اجرا کنید تا به‌صورت خودکار تنظیمات لازم اعمال شود (این کار معمولا توسط نصاب‌ها در هنگام نصب توزیع انجام می‌شود).</p>

<p>اما اگر توزیعی نصب کردیم که هنوز توسط گراب شناسایی نشده چگونه باید وارد آن شویم؟! یا اگر تنظیمات به هر طریقی مشکل پیدا کرد؟!</p>

<p>خب برای بوت دستی با گراب به سیستم عامل باید زمان بالا آمدن سیستم، هنگامی که منوی گراب را مشاهده می‌کنید دکمه ‘c’ را بزنید تا خط فرمان گراب نمایش داده شود. این همان جایی است که می‌گویم گراب قدرت زیادی دارد چون اگر دستور help را وارد کنید متوجه می‌شوید چه امکاناتی دارد! اما ما در اینجا فقط به بوت دستی آن می‌پردازیم.</p>

<p>بعد از ورود به خط فرمان گراب، ابتدا باید وارد پارتیشنی شوید که سیستم‌عامل مورد نظرتان در آن قرار دارد. برای دیدن لیست دیسک و پارتیشن‌ها دستور ‘ls’ را وارد کنید.</p>

<p>لیستی را مشاهده خواهید کرد که از hd0, hd1, … (شناسه دیسک‌ها) به همراه شناسه هر پارتیشن مثل grp0, grp1, msdos, … تشکیل شده است. با توجه به اطلاعاتی که از سیستم خود دارید یکی ازین موارد را باید در نظر داشته باشید.</p>

<p>اکنون دستور زیر را وارد کنید (شناسه پارتیشنی که از بالا یافته‌اید وارد کنید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">set </span><span class="nv">root</span><span class="o">=(</span>&lt;شناسه پارتیشن&gt;<span class="o">)</span>
</code></pre>
</div>

<ul>
<li>اگر دقیق نمی‌دانید کدام پارتیشن برای سیستم مورد نظر شماست کافیست قبل از تایپ شناسه پارتیشن کلید Tab را بزنید تا لیست پارتیشن‌ها همراه اطلاعات کامل آن نمایش داده شود.</li>
</ul>

<p>خب حالا می‌توانید از پارتیشن سیستم‌عامل خود استفاده کنید.</p>

<p>برای بارگزاری یک سیستم لینوکس نیاز به بارگزاری kernel (هسته) و initrd (برنامه‌های اولیه) دارید.</p>

<p>ابتدا kernel را به گراب و پارتیشن root را به kernel معرفی کنید (فایل هسته در شاخه boot قرار دارد و اسم آن معمولا با vmlinux شروع می‌شود).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>linux /boot/&lt;linux-image&gt; root<span class="o">=</span>/dev/&lt;sdaX&gt;
</code></pre>
</div>

<ul>
<li>
<p>آدرس پارتیشن روت را بعد از <code class="highlighter-rouge">root=</code> درست همان‌طوری که در لینوکس داریم وارد کنید.</p>
</li>
<li>
<p>اگر اسم دقیق کرنل را نمی‌دانستید کافیست قبل از تایپش کلید تب را بزنید تا فایل‌های شاخه boot لیست شوند.</p>
</li>
</ul>

<p>حالا initrd را به گراب معرفی کنید (این فایل نیز در شاخه boot قرار دارد و اسم آن معمولا با initrd شروع می‌شود).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>linux /boot/&lt;initrd-image&gt;
</code></pre>
</div>

<p>سپس دستور زیر را وارد کنید تا سیستم‌عامل مورد نظرتان راه اندازی شود.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>boot
</code></pre>
</div>

<p>این هم یک تصویر که مثال خوبی برای کار ماست.</p>

<p><img src="/assets/images/grub-cmd.png" alt="grub-cmd" /></p>


مهر ۹ ۱۳۹۳

کتاب آموزش اوبونتو ۱۴٫۰۴

<p>چند وقت پیش که کتاب اوبونتو ۱۴٫۰۴ برای تازه‌واردها توسط دوستان خوب سایت آزادراه منتشر شده بود تصمیم گرفتم مطلبی رو به معرفی اون اختصاص بدم اما منتظر بودم تا ظاهر کتاب رو بهتر کنن تا اینکه کتاب دیگه‌ای توسط ناصر باقری عزیز با نام Hi Ubuntu منتشر شد که مطالب کامل‌تری از ابونتو ۱۴٫۰۴ و با ظاهری بهتر داشت و تصمیم گرفتم حالا هر دو کتاب رو معرفی کنم.</p>

<p><img src="/assets/images/ubuntubook.png" alt="" /></p>

<p>نسخه قبلی کتاب اوبونتو برای تازه‌واردها بر اساس اوبونتو ۱۲٫۰۴ نوشته شده بود که در نسخه جدید بر اساس اوبونتو ۱۴٫۰۴ و اطلاعات جدید به‌روز شده.</p>

<p>توصیه می‌کنم کاربران هر دو کتاب رو حتما مطالعه کنن چون علاوه بر آموزش نصب و آموزش کار با اوبونتو ۱۴٫۰۴ مطالب مفید دیگه‌ای مثل آموزش دستورات ترمینال، معرفی برنامه‌های جایگزین ویندوز و … داره و در حدود ۵۰ صفحه شما رو به سطح خوبی از دانسته‌ها می‌رسونه.</p>

<p>کتاب‌ها رو می‌تونید از آدرس‌های زیر با فرمت پی دی اف دریافت کنید.</p>

<ul>
<li>github.com/yeknava/ubuntubook/raw/master/ubuntubook.pdf</li>
<li>http://bayanbox.ir/id/4875244690810968267?download</li>
</ul>


شهریور ۲۹ ۱۳۹۳

موزیک پلیر بی دردسر DeaDBeeF

<p>موزیک‌پلیرهای مختلفی برای لینوکس موجود هست که هر کدام امکانات خاص خودشان را دارند؛ مانند Amarok که همراه میزکار کی‌دی‌ای است و Rhythmbox که همراه میزکار گنوم و یونیتی است و در اوبونتو به صورت پیش‌فرض قرار دارد. این پخش‌کننده‌های ترانه، قدرت و امکانات زیادی مثل ساین شدن با اکانت‌های اینترنتی، نمایش اطلاعات خواننده از ویکی‌پیدا، نمایش متن ترانه، ساخت و مدیریت پلی‌لیست، دسته‌بندی ترانه‌ها بر اساس تگ و … دارند اما سنگین هستند و برای کسانی مثل من که فقط می‌خواهند آهنگ گوش بدهند مناسب نیستند. همچنین این امکان را ندارند که آهنگ‌های یک پوشه را برای پخش انتخاب کنید و بدون دردسر آن‌ها را پخش کند! چیزی که در مدیا پلیر ویندوز بسیار استفاده می‌شود و اکثر کاربران به آن نیاز دارند.</p>

<p><img src="/assets/images/deadbeef.png" alt="deadbeef" /></p>

<p>در اینجا می‌خواهم DeaDBeeF را معرفی کنم؛ یک موزیک پلیر سبک و کاربردی برای کسانی که می‌خواهند بدون دردسر آهنگ گوش کنند!</p>

<p>این برنامه رابطی بسیار ساده دارد و امکاناتی مانند ساخت و مدیریت پلی‌لیست، پخش فایل‌های پوشه، پخش Audio CD، تنظیمات اکولایزر، تکرار تک موزیک، تکرار کل پوشه/پلی‌لیست، پخش تصادفی، تبدیل انکدینگ فایل‌های موسیقی (Convert) و … دارد. همچنین پلاگین‌های زیادی (مثل last.fm scrobbler) برای این برنامه موجود هست تا کاربران امکانات مورد نیاز خود را به آن اضافه کنند.</p>

<p>برای نصب آن در اوبونتو و لینوکس مینت می‌توانید از دستورات زیر در ترمینال استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:starws-box/deadbeef-player
sudo apt-get update
sudo apt-get install deadbeef
</code></pre>
</div>

<p>تصویر شاخص از imcn.me</p>


شهریور ۱۱ ۱۳۹۳

شخصی سازی و کنترل کامل اوبونتو با Ubuntu Tweak

<p>میزکار یونیتی ، امکانات شخصی سازی کمی دارد و از این جهت برنامه‌های مختلفی برای اعمال تغییراتی مثل نصب تم، تغییر فونت‌ها و … تهیه شده‌اند که با نام Tweak عرضه می‌شوند.</p>

<p>مدت‌ها قبل در همین سایت برنامه <a href="http://linuxihaa.ir/%D8%B4%D8%AE%D8%B5%DB%8C%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C-%D9%85%DB%8C%D8%B2%DA%A9%D8%A7%D8%B1-%D8%A7%D8%A8%D9%88%D9%86%D8%AA%D9%88-%D8%A8%D8%A7-tweak-tool/">Unity Tweak Tools</a> را معرفی کردم که امکانات خوبی را برای شخصی سازی میزکار یونیتی در اختیار کاربر می‌گذارد. اما در اینجا برنامه جدیدی را معرفی می‌کنم که امکاناتی به مراتب بیشتر از برنامه قبلی دارد.</p>

<p><img src="/assets/images/ubuntu-tweak-screenshot-01.png" alt="ubuntu tweak" /></p>

<p>برنامه Ubuntu Tweak یک برنامه فوق‌العاده برای شخصی‌سازی و مدیریت سیستم شما است. این برنامه علاوه بر امکانات کامل شخصی سازی میزکار (شامل تعویض تم، آیکن‌ها، نشانگر، تغییر رنگ‌ها و فونت‌ها و …) امکانات زیادی در خصوص کنترل سیستم (مانند کنترل کش‌ها، کنترل مخازن، شخصی‌سازی مدیرفایل و …) را نیز در اختیار کاربر قرار می‌دهد. همچنین از مزیت‌های دیگر این برنامه می‌توان به شخصی‌سازی صفحه ورود، نصب راحت بسته تم‌ها و ایکن‌ها اشاره کرد.</p>

<p>برای نصب این برنامه از دستورات زیر در ترمینال استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
</code></pre>
</div>

<p>این هم لیست امکانات این برنامه که در سایت آن نوشته شده است.</p>

<ul>
<li>مشاهده اطلاعات پایه سیستم (توزیع، هسته، پردازنده، حافظه و …)</li>
<li>کنترل جلسه (session) گنوم</li>
<li>کنترل برنامه‌های Auto Start</li>
<li>نصب سریع و راحت برنامه‌های معروف</li>
<li>مخازن جانبی فراوان برای به‌روز نگهداشتن برنامه‌ها</li>
<li>پاک کردن بسته‌های بی‌مصرف یا کش (cache) برای خالی کردن فضای دیسک</li>
<li>نمایش یا عدم نمایش صفحه Splash</li>
<li>نمایش یا عدم نمایش آیکن‌های میزکار یا فضاهای مانت شده</li>
<li>نمایش، عدم نمایش یا تغییر نام آیکن کامپیوتر، خانه، سطل بازیافت و شبکه</li>
<li>شخص‌سازی استایل و رفتار Metacity Window Manager</li>
<li>تنظیمات Compiz Fusion، لبه‌های صفحه Screen Edg، جلوه‌های پنجره و جلوه‌های منو</li>
<li>ایجاد میانبر برای دسترسی به برنامه‌های دلخواه شما</li>
<li>تنظیمات پنل گنوم</li>
<li>تنظیمات مدیرفایل Nautilus</li>
<li>تنظیمات مدیر انرژی (Power Management) پیشرفته</li>
<li>تنظیمات امنیتی سیستم</li>
<li>و چندها امکان دیگر…</li>
</ul>


شهریور ۷ ۱۳۹۳

Charset Converter، حل مشکل زیرنویس فارسی در لینوکس

<p>فایل‌های متنی دارای انکدینگ‌های متفاوتی (ISO-8859-1 ،UTF-8 و …) هستند که هر انکدینگ مجموعه نوشتار زبان‌های خاصی را پشتیبانی می‌کند.</p>

<p>احتمالاً برای شما پیش آمده است که متنی را به فارسی در فایلی ذخیره کرده‌اید اما بعداً که فایل را باز کردید، محتوای آن قابل خواندن نبوده است و کاراکترهای نامفهومی بجای متن اصلی مشاهده شده است.</p>

<p>این مشکل بیشتر برای کاربران لینوکس و مک زمانی پیش می‌آید که فایل زیرنویس فارسی دریافت می‌کنند اما درست نمایش داده نمی‌شود؛ زیرا این فایل‌ها اکثراً در ویندوز تهیه شده‌اند و اغلب در لینوکس و مک اینکدینگ متنشان تشخیص داده نمی‌شود.</p>

<p><img src="/assets/images/charset-converter-screenshot-01.png" alt="charset-converter-screenshot-01" /></p>

<p>چند وقت پیش برنامه‌ای با Qt تهیه کردم که به راحتی و با رابط گرافیکی می‌توانستید انکدیگ فایل‌های متنی را تغییر دهید و فایل‌های زیرنویس را تصحیح کنید (این برنامه با مجوز GPL v3 منتشر شده است و کد آن را می‌توانید از آدرس <a href="https://github.com/misamplus/charset-converter">گیت‌هاب</a> آن دریافت کنید).</p>

<p>این روزها تغییرات کوچک و مثبتی در این برنامه ایجاد کردم و آن را با نامی جدید منتشر کردم. در لانچ‌پد (Launchpad) نیز PPA ایجاد کردم و آن را در این مخزن قرار دادم تا کاربران بتوانند به‌راحتی آن را نصب و استفاده کنند.</p>

<p>برای نصب آن در اوبونتو و لینوکس مینت (و دیگر توزیع‌های دبیان بیس که PPA را پشتیبانی می‌کنند) از دستورات زیر استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:misamplus/generic
sudo apt-get update
sudo apt-get install charset-converter
</code></pre>
</div>

<p>برای نصب در دبیان (و دیگر توزیع‌هایی که PPA را پشتیبانی نمی‌کنند) خطوط زیر را به فایل <code class="highlighter-rouge">/etc/apt-get/sources.list</code> اضافه کنید.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>deb http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main
deb-src http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main
</code></pre>
</div>

<p>سپس برنامه را با دستورات زیر نصب کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get update
sudo apt-get install charset-converter
</code></pre>
</div>

<ul>
<li>به زودی روش‌هایی جهت نصب در دیگر توزیع‌ها، اضافه خواهم کرد.</li>
</ul>

<p>نصب برنامه تمام شد و می‌توانید آن را بین برنامه‌هایتان مشاهده و اجرا کنید؛</p>

<p>با اجرای رابط گرافیکی برنامه، از منوی File گزینه Open File را زده و فایل متنی خود را انتخاب کنید تا متن آن در کادر برنامه مشاهده شود (یا فایل مورد نظرتان را کشیده (Drag) و در کادر مربوط رها (Drop) کنید)؛ سپس از لیست کشویی یکی از  انکدینگ‌هایی را انتخاب کنید که متن شما را به درستی نمایش دهد؛ اکنون از منوی File گزینه Save را انتخاب کنید تا فایل با اینکدینگ جدید  ذخیره شود. برای ذخیره فایل با نام دیگر نیز می‌توانید از گزینه Save as استفاده کنید.</p>

<p>برای راحتی کار نیز می‌توانید روی فایل مورد نظرتان کلیک راست کرده و از گزینه Open With برنامه Charset Converter را انتخاب کنید تا برنامه با اجرایش، فایل شما را نیز بار کند.</p>

<p>همچین می‌توانید از رابط خط فرمان این برنامه نیز در ترمینال استفاده کنید. برای این کار از قالب دستوری زیر استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>charset-converter filename encoding <span class="o">[</span>output_filename]
</code></pre>
</div>

<p>در قالب بالا بجای filename نام فایل و بجای encoding اینکدینگ مورد نظر را خود را بنویسید و دستور را اجرا کنید تا اینکدینگ فایل به انکدینگ مورد نظر شما تغییر کنید.</p>

<p>در صورتی که می‌خواهید فایل با اینکدینگ جدید با نام دیگری ذخیره شود بجای [output_filename] نام فایل جدید را بنویسید.</p>

<ul>
<li>از برتری‌های این برنامه نسبت به دستور iconv داشتن رابط گرافیکی است.</li>
</ul>


شهریور ۳ ۱۳۹۳

ساخت بسته دبیان

<p>توزیع‌هایی که پایه دبیان دارند از بسته‌های دبیان با پسوند <code class="highlighter-rouge">.deb</code> استفاده می‌کنند.</p>

<p>روش‌های مختلفی برای ساخت بسته دبیان از یک برنامه وجود دارد. برخی روش‌ها به سادگی از فایل اجرایی برنامه، یک بسته باینری دبیان را تولید می‌کنند اما بسته باینری فقط برای رفع نیاز خودمان کافی است و فایل‌ها و بسته‌های دیگری نیز باید تولید شود تا بتوان برنامه را در مخزن (repository) توزیع‌های لینوکس منتشر کرد. برای انتشار یک برنامه در مخازن توزیع‌های لینوکس باید سورس برنامه نیز عرضه شود.</p>

<p>در اینجا روش پایه‌ای را می‌خواهیم دنبال کنیم که تمام فایل‌های مورد نیاز را برای ساخت بسته دبیان به ما می‌دهد که به آن ساخت بسته سورس دبیان (debian source package) می‌گویند. در این روش ما از سورس برنامه بسته را می‌سازیم (در مطلبی دیگر روش کوتاهی برای تولید بسته از فایل اجرایی را خواهیم گفت).</p>

<p>در اینجا من یک برنامه آزمایشی می‌سازم و فرایند ساخت بسته را انجام می‌دهم تا با روش آن آشنا شویم.</p>

<p>قبل از هر چیز ابزارهای مورد نیاز را نصب می‌کنیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install dh-make build-essential devscripts fakeroot debootstrap pbuilder
</code></pre>
</div>

<p>سپس بر اساس نام برنامه و نسخه آن پوشه‌ای ایجاد می‌کنیم. مثلا linuxihaa-1.0</p>

<p>اکنون درون پوشه یک فایل linuxihaa.c ایجاد می‌کنیم و برنامه ساده‌ای (که با اجرای آن متن Linuxihaa.IR نمایش داده می‌شود) درون آن می‌نویسیم.</p>

<div class="language-c highlighter-rouge"><pre class="highlight"><code><span class="cp">#include &lt;stdio.h&gt;
</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"Linuxihaa.IR</span><span class="se">n</span><span class="s">"</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
</div>

<p>این فایل اصلی برنامه ما است که با کمپایل آن می‌خواهیم فایل اجرایی linuxihaa تولید شود.</p>

<p>اکنون دورن همان پوشه فایل Makefile را می‌سازیم.</p>

<div class="language-make highlighter-rouge"><pre class="highlight"><code><span class="nv">DESTDIR</span><span class="o">=</span>/
<span class="nv">INSTALL_LOCATION</span><span class="o">=</span><span class="nv">$(DESTDIR)</span>/usr/
<span class="nl">all</span><span class="o">:</span>
gcc linuxihaa.c -o linuxihaa
<span class="nl">install</span><span class="o">:</span>
mkdir -p <span class="nv">$(INSTALL_LOCATION)</span>/bin
cp linuxihaa <span class="nv">$(INSTALL_LOCATION)</span>/bin
<span class="nl">clean</span><span class="o">:</span>
rm linuxihaa
</code></pre>
</div>

<p>این فایل دارای سه بخش است که بخش all وظیفه کمپایل کدها را بر عهده دارد؛ بخش install دستوراتی است که جهت نصب برنامه (قرار دادن فایل اجرایی و دیگر فایل‌ها در جای مناسب) استفاده می‌شود و بخش clean برای پاک کردن فایل‌های تولید شده در بخش all است.</p>

<p>در اینجا ما مسیر قرار دادن فایل اجرایی برنامه را شاخه /usr در نظر گرفته‌ایم؛ شاخه‌ای که فایل‌های اجرایی کاربران در آن قرار می‌گیرند و مانند دستورات ترمینال قابل فراخوانی و اجرا هستند. یعنی بعد از نصب برنامه با وارد کردن دستور linuxihaa در ترمینال نوشته Linuxihaa.IR برای کاربر نمایش داده می‌شود.</p>

<p>اکنون تمام منابع و کدهای برنامه ما آماده شده است. از پوشه برنامه فایل tar.gz آن را می‌سازیم. این همان بسته‌ای است که به عنوان نسخه عمومی (generic) برای توزیع‌های لینوکس ارائه می‌شود. با این بسته کاربر می‌تواند بعد از استخراج (extract) آن دستور make را وارد کرده و فایل اجرایی را بسازد و استفاده کند. همچنین با دستور make install فایل اجرایی در مسیر مناسب قرار می‌گیرد و کاربر می‌تواند به عنوان یک برنامه نصب شده روی سیستم از آن استفاده کند.</p>

<p>خب اکنون باید از بسته عمومی، بسته دبیان را بسازیم.</p>

<p>ابتدا ایمیل و نام خود را برای مراحل بعدی معرفی می‌کنیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nv">DEBEMAIL</span><span class="o">=</span><span class="s2">"info@linxuihaa.ir"</span>
<span class="nv">DEBFULLNAME</span><span class="o">=</span><span class="s2">"Linuxihaa"</span>
<span class="nb">export </span>DEBEMAIL DEBFULLNAME
</code></pre>
</div>

<p>سپس به پوشه برنامه رفته و دستور زیر را وارد می‌کنیم تا فایل‌های مورد نیاز برای ساخت بسته دبیان ساخته شود.</p>

<ul>
<li>بخشی از دستورات که با رنگ تیره مشخص شده است مسیر جاری ما است.</li>
</ul>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">~/linuxihaa-1.0$ </span>dh_make -c gpl3 -f ../linuxihaa-1.0.tar.gz
</code></pre>
</div>

<p>در اینجا من بعد از سوایچ c لایسنس برنامه که gpl3 در نظر گرفته‌ام را نوشتم.</p>

<p>با اجرای دستور بالا و وارد کردن s در جواب سوال نوع بسته (می‌خواهیم یک بسته معمولی عادی بسازیم)، خروجی زیر مشاهده می‌شود که جهت تایید اطلاعات است.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
<span class="o">[</span>s/i/m/l/k/n] s

Maintainer name : Linuxihaa.IR
Email-Address : info@linuxihaa.ir
Date : Mon, 25 Aug 2014 18:46:30 +0430
Package Name : linuxihaa
Version : 1.0
License : gpl3
Type of Package : Single
Hit to confirm:
Done. Please edit the files <span class="k">in </span>the debian/ subdirectory now. You should also
check that the linuxihaa Makefiles install into <span class="nv">$DESTDIR</span> and not <span class="k">in</span> / .
</code></pre>
</div>

<p>اکنون در شاخه برنامه، پوشه debian ساخته شده است که حاوی فایل‌هایی برای ساخت بسته دبیان است. با دستور زیر برخی از فایل‌هایی که در اینجا نیاز نیستند را حذف می‌کنیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">~/linuxihaa-1.0/debian$ </span>rm -f <span class="k">*</span>.ex <span class="k">*</span>.EX README.<span class="k">*</span>
</code></pre>
</div>

<p>دو فایل اصلی در پوشه debian وجود دارد که باید آن‌ها را ویرایش کرد.</p>

<p><strong>فایل control</strong></p>

<div class="highlighter-rouge"><pre class="highlight"><code>Source: linuxihaa
Section: unknown
Priority: optional
Maintainer: Linuxihaa.IR &lt;info@linuxihaa.ir&gt;
Build-Depends: debhelper (&gt;= 8.0.0)
Standards-Version: 3.9.4
Homepage: &lt;insert the upstream URL, if relevant&gt;
#Vcs-Git: git://git.debian.org/collab-maint/linuxihaa.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/linuxihaa.git;a=summary

Package: linuxihaa
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: &lt;insert up to 60 chars description&gt;
&lt;insert long description, indented with spaces&gt;
</code></pre>
</div>

<p>مواردی که باید ویرایش شوند Section (بخش برنامه)، Homepage (آدرس سایت توسعه‌دهنده)، Depends (بسته‌هایی که برنامه ما برای اجرا به آن نیاز دارد) و Description (توضیحات برنامه) هستند. بخش توضیحات شامل توضیح کوتاه در ۶۰ حرف و توضیح بلند در خطوط جدا (اول هر خط یک فاصله باید قرار گیرد) است.</p>

<p>موارد Vcs هم مربوط به آدرس نگهدارنده نسخه برنامه هستند که در اینجا گیت در نظر گرفته و آدرسی برای آن فرض شده است که به علت این‌که برنامه ما در این آدرس نگهداری نمی‌شود از آن صرف نظر می‌کنیم.</p>

<p>ما فایل control را به شکل زیر ویرایش می‌کنیم.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>Source: linuxihaa
Section: utils
Priority: optional
Maintainer: Linuxihaa.IR &lt;info@linuxihaa.ir&gt;
Build-Depends: debhelper (&gt;= 8.0.0)
Standards-Version: 3.9.4
Homepage: http://linuxihaa.ir

Package: linuxihaa
Architecture: any
Description: Linuxihaa Debian Test Package
This software literally prints "Linuxihaa.IR".
</code></pre>
</div>

<p>همان‌طور که مشاهده می‌کنید مورد Depends را نیز حذف کردیم زیرا برنامه ما بسیار ساده است و به بسته خاصی نیاز ندارد.</p>

<p><strong>فایل copyright</strong></p>

<p>این فایل بسته به لایسنسی که در دستور dh_make انتخاب کردیم ایجاد می‌شود و موارد کوچکی دارد که باید براساس اطلاعات سازنده کامل شود.</p>

<p>مثلا فایل copyright برنامه ما بعد از ویراش این‌گونه است.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: linuxihaa
Source: <span class="o">[</span>آدرس سورس برنامه]

Files: <span class="k">*</span>
Copyright: 2014 info@linuxihaa.ir
۲۰۱۴ Linuxihaa
License: GPL-3.0+
</code></pre>
</div>

<p>بعد از ویرایش این فایل‌ها نوبت به ساخت بسته‌ها می‌رسد.</p>

<p>به پوشه اصلی برنامه باز می‌گردیم و دستور زیر را وارد می‌کنیم تا فایل‌های مورد نیاز بسته سورس دبیان ساخته شوند.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>debuild -S
</code></pre>
</div>

<p>خب تمام شد! فایل‌هایی که برای انتشار برنامه نیاز هستند آماده شدند.</p>

<ul>
<li>linuxihaa_1.0.orig.tar.gz</li>
<li>linuxihaa_1.0-1.debian.tar.gz</li>
<li>linuxihaa_1.0-1.dsc</li>
<li>linuxihaa_1.0-1.changes</li>
</ul>

<p>از این مرحله به بعد <strong>اختیاری</strong> است و برای تولید بسته‌های باینتری (.deb) برنامه، جهت استفاده شخصی و آزمودن آن برای خودمان هست زیرا مخازن با دریافت فایل‌های بالا، خودشان بسته‌های باینری را ساخته و در مخزن قرار می‌دهند.</p>

<p>خب در همان پوشه مراحل زیر را دنبال می‌کنیم تا بسته باینری برنامه ساخته شود.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>fakeroot debian/rules build
</code></pre>
</div>

<p>اکنون با دستور زیر بسته باینری دبیان را از برنامه می‌سازیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>fakeroot debian/rules binary
</code></pre>
</div>

<p>اگر از پوشه برنامه خارج شوید مشاهده می‌کنید که بسته قابل نصب با پسوند deb از برنامه ایجاد شده است و می‌توان آن را نصب کرد اما کار ما هنوز تمام نشده است. این یک بسته باینری است و به معماری سیستم ما محدود است؛ برای تکمیل کار و انتشار برنامه باید فایل‌های دیگری نیز ساخته شود که با دستور زیر ایجاد می‌شوند.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>debuild -us -uc
</code></pre>
</div>

<p>اکنون به شاخه بالای پوشه برنامه بازگردید و دستور زیر را وارد کنید تا فایل‌های موقت حذف شوند و بسته‌های سورس از بسته ما استخراج گردد.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">~/$ </span>dpkg-source -x linuxihaa_1.0-1.dsc
</code></pre>
</div>

<p>خب این مرحله هم تمام شد و بسته باینری در کنار دیگر بسته‌های سورس دبیان قابل مشاهده است.</p>

<ul>
<li>
<p>مرجع santi-bassett.blogspot.com/2014/07/how-to-create-debian-package.html</p>
</li>
<li>
<p>تصویر شاخص از raphaelhertzog.com</p>
</li>
</ul>


مرداد ۲۷ ۱۳۹۳

دانلود منیجر xdm، یک جایگزین بسیار خوب برای IDM

<p>Xtreme Download Manager یک دانلود منیجر با زبان جاوا هست که به عنوان معادل گنو/لینوکسی نرم افزار Internet download manager یا همون IDM ساخته شده است.</p>

<p><img src="/assets/images/di-KQD8.png" alt="xdm" /></p>

<p>برای نصب اون به java runtime نیاز دارید که با این دستور اون رو نصب میکنیم:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install openjdk-7-jre openjdk-6-jre
</code></pre>
</div>

<p>بعد از نصب جاوا، خود نرم افزار رو نصب میکنیم:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">cd</span> /home/user
wget -O xdman.zip http://sourceforge.net/projects/xdman/files/xdman.zip/download
</code></pre>
</div>

<p>بعد از دانلود شدن توی همون ترمینال که در پوشه خانگی شما هست بزنید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkdir xdm
unzip xdman.zip -d xdm
<span class="nb">cd </span>xdm
chmod +x xdman.sh
</code></pre>
</div>

<p>و در آخر با کلیک کردن روی فایل <code class="highlighter-rouge">xdman.sh</code> یا زدن دستور زیر برنامه رو اجرا کنید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>./xdman.sh
</code></pre>
</div>


مرداد ۲۶ ۱۳۹۳

دفترچه یادداشت ساده و کاربردی Xpad

<p>شخصاً برنامه‌های ساده نت بردار را به دیگر برنامه‌هایی از این دسته ترجیح می‌دهم.</p>

<p>میزکار کی دی ای به‌صورت پیش‌فرض نت بردار KNotes را دارد که بسیار ساده و کاربردی است اما چون این برنامه جزو ماژول KDE PIM است، در میزکارهای دیگر مانند گنوم و یونیتی برای نصب آن باید این ماژول که شامل برنامه‌های اضافی است را نیز نصب کرد که به این دلیل برای نصب این برنامه ساده حجمی حدود ۸۰ مگابایت باید دریافت کنید!</p>

<p><img src="/assets/images/xpad-screenshot-01.png" alt="xpad" /></p>

<p>اما من برای میزکارهای گنوم، یونیتی (برای اوبونتو) و … برنامه Xpad را به شما پیشنهاد می‌کنم. دفترچه یادداشت ساده و کاربردی که امکانات نسبتا خوبی را در عین سادگی و زیبایی در اختیار شما می‌گذارد.</p>

<p>شخصا از این برنامه استفاده می‌کنم و برای سینک شدن اطلاعاتم با دراپ باکس، پوشه پیکربندی برنامه را به مسیر دراپ باکس (Dropbox) خود انتقال دادم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mv ~/.config/xpad ~/Dropbox/
</code></pre>
</div>

<ul>
<li>برنامه دراپ باکس باید روی سیستم شما نصب باشد و به‌جای <span dir="ltr">~/Dropbox/</span> مسیر پوشه دراپ باکس خود را قرار دهید.</li>
</ul>

<p>سپس لینکی را از پوشه پیکربندی، در مسیر قبلی آن ایجاد کردم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>ln -s ~/Dropbox/xpad ~/.config/
</code></pre>
</div>


مرداد ۱۴ ۱۳۹۳

ایجاد فضای swap

<p>سواپ (swap) راه‌کاری در سیستم‌های لینوکس است تا میزان رم کم سیستم جبران شود. در این روش فضایی از هارد دیسک به عنوان سواپ در نظر گرفته می‌شود تا در صورت نیاز به حافظه بیشتر از رم اصلی سیستم، اطلاعات (صفحات حافظه) در این بخش ذخیره و بازیابی شوند.</p>

<p>شما می‌توانید فضای سواپ را یک پارتیشن مخصوص یا یک فایل در نظر بگیرید. با اینکه اکثرا از پارتیشن مخصوص برای این فضا استفاده می‌کنند اما گفته می‌شود فایل سواپ نیز از عهده این کار به خوبی بر می‌آید.</p>

<p>ست کردن سواپ روی فایل مزیت‌های خاص خودش را دارد؛ مانند اینکه راحت می‌توان آن را کم، زیاد و یا حذف کرد! و درگیری با پارتیشن‌های هارد نخواهیم داشت.</p>

<p>در اکثر منابع روش ساخت یک پارتیشن سواپ و ست کردن آن گفته شده است اما کمتر روش ساخت آن با فایل گفته شده است.</p>

<p>خب ما در این آموزش هر دو روش را با هم می‌گوییم!</p>

<ul>
<li>تمام دستورات زیر به دسترسی روت نیاز دارند که یا باید با su وارد روت شوید یا از sudo قبل دستورات استفاده کنید.</li>
</ul>

<p><strong>مرحله ۱ – ساخت بخشی برای سواپ</strong></p>

<p>اگر از یک پارتیشن برای سواپ می‌خواهید استفاده کنید در این مرحله با هر برنامه‌ای که می‌توانید این پارتیشن را ایجاد کنید.</p>

<p>اگر می‌خواهید از فایل برای سواپ استفاده کنید دستور زیر را وارد کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>dd <span class="k">if</span><span class="o">=</span>/dev/zero <span class="nv">of</span><span class="o">=</span>/swapfile <span class="nv">bs</span><span class="o">=</span>1024 <span class="nv">count</span><span class="o">=</span>524288
</code></pre>
</div>

<p>در دستور بالا بعد از of مسیر فایل مورد نظرتان که سواپ روی آن ست می‌شود را می‌نویسیم که من در اینجا فایلی در شاخه اصلی با نام swapfile انتخاب کرده‌ام. جلوی count نیز حجم مورد نیاز برای این فضا را بر حسب کیلوبایت می‌نویسیم که من ۵۱۲ مگابایت (۵۱۲ × ۱۰۲۴) در نظر گرفته‌ام.</p>

<ul>
<li>معمولا مقدار فضای سواپ برای سیستم‌هایی با رم کمتر از ۱ گیگابایت، دو برابر ظرفیت رم و برای بالاتر از آن ۲ گیگابایت پیشنهاد می‌شود.</li>
</ul>

<p><strong>مرحله ۲ – فرمت کردن بخش سواپ با فرمت سواپ</strong></p>

<p>اگر از یک پارتیشن استفاده می‌کنید (بجای sdX باید شناسه پارتیشن مورد نظر خودتون رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkswap /dev/sdX
</code></pre>
</div>

<p>و اگر از فایل استفاده می‌کنید (بعد از mkswap آدرس فایل رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkswap /swapfile
</code></pre>
</div>

<p><strong>مرحله ۳ – ست کردن سواپ</strong></p>

<p>اگر از یک پارتیشن استفاده می‌کنید (بجای sdX باید شناسه پارتیشن مورد نظر خودتون رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>swapon /dev/sdX
</code></pre>
</div>

<p>و اگر از فایل استفاده می‌کنید (بعد از mkswap آدرس فایل رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>swapon /swapfile
</code></pre>
</div>

<ul>
<li>یادتون باشه که اگه بعدا خواستید این سواپ رو از سیستم بگیرید از دستور swapoff باید استفاده کنید.</li>
</ul>

<p><strong>مرحله ۴ – فعال کردن فضای سواپ در هنگام بوت شدن</strong></p>

<p>اگر از یک پارتیشن استفاده می‌کنید (بجای sdX باید شناسه پارتیشن مورد نظر خودتون رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>/dev/sdX swap swap defaults 0 0
</code></pre>
</div>

<p>و اگر از فایل استفاده می‌کنید (بعد از mkswap آدرس فایل رو بنویسید)</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>/swapfile swap swap defaults 0 0
</code></pre>
</div>

<p>خب تموم شد! برای دیدن فضاهای سواپ سیستم هم می‌تونید از دستور زیر استفاده کنید</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>cat /proc/swaps
</code></pre>
</div>


مرداد ۱۲ ۱۳۹۳

ویرایش system policy در اوبونتو

<p>همان‌طور که می‌دانید در لینوکس تمام کارهایی که امکان دارد به‌گونه‌ای تاثیر روی کل سیستم بگذارد محدود و فقط در دسترس کاربری روت است.</p>

<p>در مطلب «<a href="http://linuxihaa.ir/sudo">sudo چیست؟</a>» به این مورد اشاره کردیم و گفتیم با دستوری مانند sudo در رابط خط‌فرمان می‌توان با کاربر عادی به این اعمال دسترسی داشت و در رابط گرافیکی نیز برنامه‌هایی در هر میزکار تعبیه شده‌اند که با نشان دادن کادرهای محاوره‌ای و درخواست رمز عبور، دسترسی به امکانات ممتاز سیستم را امکان پذیر می‌کنند.</p>

<p>به طور مثال هنگامی که قصد داریم پراکسی سیستم را در اوبونتو تغییر دهیم چون این یک عمل ممتاز در سیستم است کادر محاوره‌ای به شکل زیر باز شده و رمز کاربری را درخواست می‌کند.</p>

<p><img src="/assets/images/system_policy-1.png" alt="system_policy-1" /></p>

<p>مشاهده می‌کنید که سیاست سیستم (system policy) پیغام داده که مانع انجام این کار می‌شود مگر این‌که رمز عبور را وارد کنید تا هویت شما تایید شود.</p>

<p>خب اگر بخواهیم این پیغام‌ها نمایش داده نشود و برخی اعمالی که خودمان می‌دانیم زیاد خطرناک نیستند (همه اعمال را نباید باز گذاشت) را بدون تایید هویت انجام دهیم باید چکار کنیم؟!</p>

<p>اول از همه گزینه Details در کادر را بزنید تا مشخصات این سیاست دیده شود.</p>

<p><img src="/assets/images/system-policy-2.png" alt="system-policy-2" /></p>

<p>نام عملی که سیاست سیستم مانع آن می‌شود جلوی Action نوشته شده است. اکنون شما باید دسترسی به این عمل را برای سیستم به‌گونه‌ای تعریف کنید که دیگر نیاز به تایید هویت نباشد.</p>

<p>در اینجا عمل com.ubuntu.systemservice.setproxy مورد بحث است که از دسته اعمال com.ubuntu.systemservice است (کافیه بخش آخر را حذف کنیم تا بفهمیم دسته اعمال چیه).</p>

<p>تمام فایل‌های دسته اعمال در/usr/share/polkit-1/actions/ قرار دارند که با نام آن دسته به اضافه .policy همراه شده‌اند.</p>

<p>حالا فایل این دسته اعمال را باز می‌کنیم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo gedit /usr/share/polkit-1/actions/com.ubuntu.systemservice.policy
</code></pre>
</div>

<p>در فایل باز شده عمل مورد نظر خود را پیدا می‌کنیم (در اینجا setproxy).</p>

<p><img src="/assets/images/system_policy-3.png" alt="system_policy-3" /></p>

<p>خب حالا هر تغییری که دوست داریم روی تگ‌های داخل defaults انجام می‌دهیم. مثلا کافیست به‌جای no در تگ allow_inactive و به‌جای auth_admin_keep در تگ allow_active عبارت yes را بنویسیم (مانند تصویر زیر) تا دیگر برای تغییر پراکسی سیستم نیاز به اهراز هویت نداشته باشیم.</p>

<p><img src="/assets/images/system_policy-4.png" alt="system_policy-4" /></p>

<ul>
<li>
<p>البته این تغییرات همیشه پیشنهاد نمی‌شود اما در برخی موارد که راحتی به امنیت ارجعیت دارد بسیار سودمند است.</p>
</li>
<li>
<p>این مطلب را بعد از خواند مطلبی با عنوان «نصب و حذف برنامه بدون وارد کردن گذرواژه» نوشتم که می‌توانید از آدرس mehdi.wordpress.com/2014/07/18/add-remove-software-without-password مطالعه کنید.</p>
</li>
</ul>


تیر ۳۱ ۱۳۹۳

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

<p>این سوال که کدام توزیع لینوکس را نصب کنم بیشتر مد نظر کاربرانی است که می‌خواهند به لینوکس مهاجرت کنند و اگر راهنمای درستی نداشته باشند در خیل عظیم و گسترده توزیع‌های لینوکس برای انتخاب، به معنای واقعی غرق می‌شوند! توزیع‌هایی که هر کدام نام و امکانات متفاوتی دارند و هر کسی بنا به دلایلی توزیعی را از بقیه بهتر معرفی می‌کند و شما را در انتخابتان بیشتر سردرگم می‌کند.</p>

<p>اما این سوال مخصوص تازه واردها نیست و دیگر کاربران هم برایشان سوال است که بالاخره کدام توزیع را به‌صورت پایدار و مستمر نصب کنم؟! سوالی که همیشه بی‌جواب است چون توزیع‌های لینوکس هر کدام هدفی دارند و اصولا گفتن این‌که یک توزیع از همه بهتر است حرف اشتباهی است؛  اما من در اینجا می‌خواهم مطالبی بگویم تا انتخاب بهتر را انجام دهید.</p>

<p>همان‌طور که گفتم هر توزیع لینوکس برای هدف خاصی تهیه شده است و اصلا هدف گنو/لینوکس هم این است که هر کسی یا گروهی به سلیقه خود توزیعی را سفارشی و استفاده کنند. مثلا برای استفاده در بخش نظامی مسلما کار درست این است که توزیع شخصی از هسته تهیه کنیم و امکانات مورد نیاز را در آن بگنجانیم یا اینکه اگر نیاز به سیستم عاملی داریم که حجم بسیار کمی باید استفاده کند، می‌توانیم از توزیعی مانند <a href="http://www.tinycorelinux.com/">Tiny Core</a> استفاده کنیم.</p>

<p>بیایید سوال را محدودتر کنیم و بگوییم برای استفاده شخصی کدام توزیع مناسب است. اکنون می‌توانیم بهتر جواب بدهیم.</p>

<p>نگاهی بیندازید به تصویر زیر که کوچک شده درخت غول پیکر توزیع های لینوکس است!</p>

<p><img src="/assets/images/linux-tree.png" alt="linux-tree" /></p>

<p>در این نمودار توزیع‌های معروف که بیشتر کاربرد شخصی دارند درج شده است و بعضی توزیع‌ها از دیگری گرفته شده اند.</p>

<p>همان‌طور که می‌بینید باز هم گستره انتخاب وسیع است.</p>

<p>اکنون بگذارید کمی محدودتان کنم! و با توجه به معروفیت و جمع‌بندی‌هایی که از گفته‌ها و شنیده‌ها، مطالبی که خوانده‌ام، تجربه شخصی و … بگویم که بیشتر به توزیع‌هایی که با رنگ قرمز مشخص شده‌اند توجه کنید!</p>

<p>اکنون بیایید بسته به نیازتان توزیع مورد نظر را انتخاب کنیم.</p>

<p>اگر تازه می‌خواهید به لینوکس مهاجرت کنید پیشنهاد من به شما <a href="http://linuxmint.com/">لینوکس مینت (Linux Mint)</a> یا <a href="http://www.ubuntu.com/">اوبونتو (Ubuntu)</a> است. دیگران <a href="http://fedoraproject.org/">فدورا (Fedora)</a> هم پیشنهاد می‌کنند اما من نه! چون ورود با فدورا کمی سخت‌تر از ورود با مینت و اوبونتو است. لینوکس مینت و اوبونتو که هدف اصلی آن‌ها معرفی لینوکس به جهان است و کاربران عادی را بیشتر در نظر دارند، هر دو دارای منابع آموزشی فارسی و لاتین زیادی در سطح اینترنت هستند که تقریبا هیچ وقت شما را بی‌جواب نمی‌گذارند. از طرفی به راحتی اکثر سیستم‌هایی که شما دارید را پشتیبانی می‌کنند و بدون درگیری و به‌راحتی نصب می‌شوند و قابل استفاده هستند. همچنین مرکز برنامه قوی دارند که شامل طیف وسیعی از نرم‌افزارها است و در سطح اینترنت هم برنامه‌های موجود اگر برای لینوکس وجود داشته باشند مطمئن باشید برای اوبونتو و مینت نسخه مخصوص دارند و به راحتی قابل نصب هستند؛ به‌گونه‌ای که اخیرا هنگامی که برای دریافت برنامه‌ای به سایتی می‌روید لیست موجود شامل نسخه ویندوز، مک و اوبونتو (قابل نصب در مینت) است و در مرحله بعد دیگر توزیع‌های لینوکس را هم شاید لیست کرده باشند! (توجه کنید که اگر برنامه‌ای برای لینوکس تهیه شده باشد در هر صورت به روش‌هایی می‌توان در هر توزیعی نصب کرد اما در اینجا منظور من راحتی کار است).</p>

<p>توزیع لینوکس مینت از اوبونتو گرفته شده است و ساختار آن کاملا بر پایه اوبونتو است و برنامه‌های آن را پشتیبانی می‌کند اما کمی امکانات بیشتری به شما می‌دهد و همچنین میزکارهای بیشتری با پشتیبانی بهتر، برای شما مهیا می‌کند. اوبونتو در اصل با میزکار یونیتی است که با وجود سادگی، زیبایی و تجربه کاربری خوب، امکانات شخصی‌سازی کمی دارد اما لینوکس مینت انواع میزکارها از جمله کی دی ای را در اختیار شما می‌گذارد. میزکار کی دی ای چارچوبی شبیه میزکار ویندوز دارد و امکانات شخصی ساز آن بسیار مناسب است و محیط کار آن (پلاسما) در نسخه جدید بسیار زیبا طراحی شده است. البته نسخه‌هایی مانند <a href="http://www.kubuntu.org/">کوبونتو (Kubuntu)</a> هم میزکار کی دی ای دارند اما مینت پایدارتر است و امکاناتی دارد که فراتر از آن است.</p>

<p>البته شما می‌توانید از توزیع‌هایی مانند<a href="http://arioslinux.org/"> آریوس (AriOS)</a> استفاده کنند که همان اوبونتو است اما پیکربندی راحت‌تری شامل برنامه‌های مفید، فونت‌های فارسی و … را برای فارسی زبانان مهیا کرده است تا کاربران خیلی راحت‌تر با محیط سیستم عامل جدیدشان آشنا شوند.</p>

<p>خب اگر کاربری هستید که مدتی است از گنو/لینوکس استفاده می‌کنید احتمالا با ویژگی‌های هر توزیع آشنا شده‌اید و خودتان می‌دانید کدام توزیع نیازهای شما را پوشش می‌دهد اما معمولا توزیعی مانند <a href="http://www.opensuse.org/">اوپن سوزه (openSUSE)</a> و یا <a href="https://www.mageia.org/">مگیا (میجیا Mageia)</a> برای یک کاربر حرفه‌ای که نمی‌خواهد زیاد هم درگیر باشد مناسب است و پایداری و قدرتشان لحظات شیرینی برای شما می‌سازد!</p>

<p>اگر می‌خواهید فراتر بروید و کمی درگیر شوید توزیع <a href="https://www.debian.org/">دبیان (Debian)</a> و مخصوصا <a href="https://www.archlinux.org/">آرچ لینوکس (Arch Linux)</a> بسیار مناسب هستند و هم در زمان نصب درگیر می‌شوید و بیشتر یاد می‌گیرید و هم بعد از نصب! علاوه بر این می‌توانید توزیع خود را از پایه، آن گونه که دوست دارید شخصی‌سازی کنید؛ به دور از امکانات و بسته‌های اضافی که مورد استفاده شما نیستند.</p>

<p>برای سرور هم توزیع‌های دبیان و <a href="https://www.centos.org/">سنت او اس (CentOS)</a> با توجه به پایداری، امکانات، امنیت و پشتیبانی بیشتر نرم‌افزارهای تحت وب از این دو توزیع، حرف اول را می‌زنند و اکثر سرورهای لینوکس با آن‌ها راه‌اندازی شده‌اند.</p>

<p>در اخر باید بگویم که این‌ها همه پیشنهاد بود و انتخاب بسته به نیازتان باید باشد و در این مطلب توزیع‌هایی گفته نشد که برای برخی بهترین انتخابند و امیدوارم کسی ناراحت نشود که توزیع مورد علاقه‌اش در اینجا خوب فوکوس نشده است! و بنده سعی کرده‌ام این مطلب به‌دور از غرض و بر اساس واقعیت‌ها باشد و نه علاقه شخصی خودم (چیزی که متاسفانه در بین کاربران لینوکس بسیار زیاد است) یا هر دلیل دیگری.</p>


تیر ۳۰ ۱۳۹۳

نصب ۸ jdk اوراکل و شناسایی javac به سیستم

<p>در مخازن توزیع‌های مختلف معمولا بسته نرم‌افزاری openjdk وجود دارد و اگر بخواهیم با جاوا ۸ کار کنیم باید به دنبال راهی برای نصب oracle jdk1.8 باشیم. در این مطلب می‌خواهیم مراحل نصب و شناسایی جاوا به کل سیستم را بررسی کنیم.</p>

<p>ابتدا جاوا ۸ را از لینک <a href="https://jdk8.java.net/download.html">jdk8.java.net</a> دریافت کنید. پس از دریافت فایل مربوط به لینوکس، فایلی با پسوند tar.gz که حاوی jdk هست را از حالت فشرده خارج کنید و در مسیری مثل opt/ قرار دهید یا با دستور زیر را در ترمینال اجرا کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo tar -xzvf jdk-8XXXXXXXXX.tar.gz -C /opt/
</code></pre>
</div>

<p>پس از اینکه فایل از حالت فشرده خارج شد سه دستور زیر را در ترمینال اجرا کنید تا نصب کامل شود و در کل سیستم جاوا قابل دسترس باشد.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo update-alternatives –install <span class="s2">"/usr/bin/java"</span> <span class="s2">"java"</span> <span class="s2">"/opt/jdk1.8.0/bin/java"</span> 1
<span class="gp">$ </span>sudo update-alternatives –install <span class="s2">"/usr/bin/javac"</span> <span class="s2">"javac"</span> <span class="s2">"/opt/jdk1.8.0/bin/javac"</span> 1
<span class="gp">$ </span>sudo update-alternatives –install <span class="s2">"/usr/bin/javaws"</span> <span class="s2">"javaws"</span> <span class="s2">"/opt/jdk1.8.0/bin/javaws"</span> 1
</code></pre>
</div>

<p>اگر بر روی سیستم openjdk نصب است لازم است که دستورات زیر را نیز اجرا کنید و از منوی ظاهر شده گزینه مورد نظر را انتخاب کنید تا jdk8 به عنوان پیش فرض در نظر گرفته شود.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo update-alternatives –config java
There are 2 choices <span class="k">for </span>the alternative java <span class="o">(</span>providing /usr/bin/java<span class="o">)</span>.

Selection Path Priority Status
————————————————————
۰ /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
<span class="k">*</span> 1 /opt/jdk1.8.0/bin/java 1 manual mode
۲ /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode

Press enter to keep the current choice[<span class="k">*</span><span class="o">]</span>, or <span class="nb">type </span>selection number: 1
</code></pre>
</div>

<p>همین کار را برای javac و javaws نیز تکرار کنید. حال نصب کامل شده است و جاوا  در همه جا قابل دسترسی است. برای امتحان موفقیت آمیز بودن عملیات فوق دستور زیر را  در ترمینال اجرا کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>java -version
java version <span class="s2">"1.8.0"</span>
Java<span class="o">(</span>TM<span class="o">)</span> SE Runtime Environment <span class="o">(</span>build 1.8.0-b132<span class="o">)</span>
Java HotSpot<span class="o">(</span>TM<span class="o">)</span> 64-Bit Server VM <span class="o">(</span>build 25.0-b70, mixed mode<span class="o">)</span>
</code></pre>
</div>


تیر ۲۶ ۱۳۹۳

پژوهش به روش Mendeley Desktop

<p>Mendeley یک نرم‌افزار برای آسودگی شما در انجام پژوهش است. این نرم افزار یک پی دی اف خوان (pdf reader) قوی نیز هست. Mendeley علاوه بر نرم‌افزار قدرتمندش به یک شبکه اجتماعی نیز داراست. در ادامه این نرم‌افزار را بررسی می‌کنیم.</p>

<p><img src="/assets/images/Screenshot-from-2014-07-17-034535-1024×622.png" alt="Mendeley Desktop" /></p>

<p><strong>مرور سریع:</strong></p>

<ul>
<li>نرم‌افزاری قدرتمند برای خواندن فایل‌های pdf</li>
<li>قابلیت اضافه کردن توضیحات و هایلات کردن <strong>(Annotation &amp; highlighting)</strong> متن pdf</li>
<li><strong>دسته بندی فایل‌ها</strong>:مدیریت مقاله‌ها و فایل‌های pdf و قرار دادن مقاله‌های مرتبط در یک پوشه</li>
<li>امکان <strong>جستجو</strong> در مقاله‌ها و فایل‌ها بر اساس نام نویسنده نام ژورنال و درون متن</li>
<li><strong>OCR</strong>:مجهز به ابزار تبدیل عکس به نوشتار و امکان جستجو در این نوع فایل‌ها (در این مورد OCR برای فارسی پشتیبانی نمی‌شود)</li>
<li><strong>شبکه اجتماعی:</strong> در سایت این نرم‌افزار یک شبکه اجتماعی وجود دارد که به منظور پژوهشی می‌توانید از آن بهره ببرید.</li>
<li><strong>2GB فضای ابری رایگان </strong>برای نگه‌داری فایل‌های شما در حساب کاربری خود بر روی اینترنت، قابل ارتقا</li>
<li><strong>100MB فضای اشتراکی </strong>برای اشتراک مقالات و فایل‌ها بین شما و هم‌کلاسی‌ها یا همکاران</li>
<li><strong>تولید خودکار منابع(References)</strong> مقاله با سبک‌های ژورنال‌های مختلف</li>
<li>ایجاد فایل پشتیبان</li>
<li>دارای پلاگین لیبره آفیس برای انتقال منابع و امکانات دیگر</li>
<li>دارای web importer برای انتقال مستقیم از سایت‌های ارایه دهنده مقالات مثل <a href="http://en.wikipedia.org/wiki/Elsevier">Elsevier</a>، <a href="http://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media">Springer</a> و غیره به نرم‌افزار به همراه citation آن‌ها</li>
<li><strong>سیستم عامل</strong>:لینوکس، ویندوز،OSX و IOS</li>
<li><strong>اجازه‌نامه:</strong> <a href="http://en.wikipedia.org/wiki/Proprietary_software">Proprietary</a> – این نرم‌افزار آزاد نیست ولی رایگان است و کد آن قابل دسترس نیست.</li>
<li><strong>واسط کاربری: </strong>QT</li>
<li><strong>دانلود و نصب</strong>:<a href="http://www.mendeley.com/">http://www.mendeley.com</a></li>
<li><strong>نرم‌افزار مشابه</strong>:papers، با امکانات کمتر okular</li>
<li><strong>توسعه دهنده</strong>:<a href="http://en.wikipedia.org/wiki/Elsevier">Elsevier</a></li>
</ul>

<p><strong>شرح:</strong></p>

<p>Mendeley نرم‌افزاری قدرتمند برای خواندن ebook و مدیریت فایل‌ها بر اساس نویسنده، موضوع، نوع (مقاله، ژورنال،کتاب و…)، جست‌وجو و اشتراک‌گذاری است و قابلیت‌های فوق‌العاده‌ای دارد. یکی از بخش‌ها قدرتمند آن تولید خودکار رفرنس و منابع هست و خیلی راحت می‌تونید با انتخاب نحوه رفرنس‌دهی، آن‌ها را از مقالات مختلف تولید کنید. در این نرم‌افزار می‌توانید نام نویسنده و عنوان آن را در صورت اشتباه بودن اصلاح کنید، همچنین قابلیت اصلاح نوع (مقاله، ژورنال، کتاب و…) را نیز دارد.</p>

<p><strong>جستجو:</strong> می‌توان فایل‌ها را بر اساس نام نویسنده جست‌وجو کرد و در یک فایل می توان به سرعت درون متن جست‌وجو کرد حتی اگر فایل از طریق OCR به متن تبدیل شده باشد.</p>

<p>اگر از ابزار <strong>web importer</strong> آن استفاده کنید و مقاله‌ها را مستقیم از سایت‌های معتبر ارایه دهنده (Springer، Elsevier و …) به این نرم‌افزار منتقل کنید تعداد citation را نیز در اختیار دارید. البته اضافه شدن به مقاله‌ها به این معنی نیست که آن مقاله را به طور کامل در اختیار دارید و باید هزینه مقاله را بپردازید تا مقاله به صورت کامل اضافه شود.</p>

<p><strong>Annotation و highlighting: </strong>در Mendeley  این قابلیت وجود دارد که در مورد بخش‌های مختلف pdf  توضیح اضافه کنید و یا هایلایت کنید و این توضیحات و هایلایت‌ها بر روی فایل اصلی مقاله نوشته نمی‌شود و تنها در پایگاه داده آن ذخیره می‌شود، البته می‌توانید فایل pdf دیگری حاوی این توضیحات را بسازید.</p>

<p><strong>دسته بندی: </strong>برای دسته‌بندی فایل‌ها می‌توانید پوشه بسازید و مرتبط‌ها را در یک پوشه بریزید. مثلا ebookهای مربوط به کلاس برنامه‌نویسی</p>

<p><img src="/assets/images/Screenshot-from-2014-07-17-034453-300×182.png" alt="mendeley desktop" /></p>

<p><strong>شبکه اجتماعی: </strong>در سایت <a href="http://www.mendeley.com/">www.mendeley.com</a> یک شبکه اجتماعی وجود دارد که می‌توانید در آن دوستان و همکلاسی های خود را یافته و یا برای آن‌ها دعوتنامه بفرستید. مزایای این شبکه اجتماعی این است که می‌توانید بین خود و دوستان فایل ebook به اشتراک بگذارید و حتی توضیحاتی را که هر یک از جمع شما و دوستانتان بر روی این ebook اضافه می‌کنید ببینید و توضیحات یکدیگر را کامل کنید. علاوه بر آن می توانید مقاله‌های رایج را در سایت جست‌وجو و پیدا کنید و همچنین می‌توانید از مقاله‌هایی که دوستانتان نوشته و به پروفایلشان اضافه می‌کنند مطلع شوید و بسیاری ویژگی دیگر.</p>


تیر ۲۴ ۱۳۹۳

mount کردن خودکار پارتیشن‌های لینوکس

<p>شاید با این مشکل روبرو شدید که پارتیشن‌های هاردتون رو به عنوان دستگاه جداشدنی (removable device) مثل فلش می‌شناسه و باید پارتیشن‌ها رو mount کنیم تا بتونیم استفاده کنیم. حالا ببینیم mount کردن یعنی چی:</p>

<ul>
<li>mount کردن یعنی اینکه به سیستم عامل اعلام کنیم که پارتیشن برای خواندن، نوشتن و یا خواندن و نوشتن آماده است.</li>
</ul>

<p>برای اینکه همزمان با بوت شدن لینوکس پارتیشن‌ها mount بشن باید با چند مفهوم آشنا بشیم.</p>

<ul>
<li><a href="http://linuxihaa.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d9%86%d8%a7%d9%85%e2%80%8c%da%af%d8%b0%d8%a7%d8%b1%db%8c-%d8%af%db%8c%d8%b3%da%a9%e2%80%8c%d9%87%d8%a7-%d8%af%d8%b1%d9%84%db%8c%d9%86%d9%88%da%a9/">نام گذاری هارد دیسک و پارتیشن‌ها</a> که در مطلبی با همین نام در لینوکسی‌ها منتشر شده</li>
<li>mount point: لینوکس برای مخفی کردن جزییات خواندن و نوشتن بر روی هارد دیسک امکان عمل mount را بر روی یک دایرکتوری خالی ایجاد  کرده است و پس از mount کردن یک پارتیشن بر روی یک دایرکتوری، لینوکس آماده خواندن و نوشتن بر روی آن است و برای ما با داریکتوری‌های دیگر هیچ تفاوتی ندارد و انگار با دایرکتوری‌های معمول کار می‌کنیم. نکته اینجاست که همه پارتیشن‌ها در زیر شاخه‌ای از پارتیشن اصلی ،که بر روی آن لینوکس نصب شده و در آدرس <strong>/ </strong>mount شده است، mount می‌شود.</li>
<li>نوع سیستم فایل: سیستم فایل معمول لینوکس ext4 است اما سیستم فایل‌هایی مثل ntfs و fat و غیره نیز وجود دارند.</li>
<li><strong>etc/fstab/ </strong>این فایل در زمان بوت لینوکس خوانده می‌شود و تمامی سیستم فایل‌هایی که در این فایل آورده شده‌اند mount می‌شوند.</li>
</ul>

<p>خب حالا برای مشاهده لیست پارتیشن‌ها از دستور زیر استفاده کنید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo fdisk -l
</code></pre>
</div>

<p>بعد باید با یک ویرایشگر متن مثل gedit فایل <code class="highlighter-rouge">etc/fstab/</code> رو باز کنید:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo gedit /etc/fstab
</code></pre>
</div>

<h2 id="etcfstab">ساختار فایل etc/fstab/</h2>

<ul>
<li>ستون اول <file system="">: در این ستون باید پارتیشن مورد نظر که می‌خواهید خودکار mount شود را می‌نویسید.</file></li>
<li>ستون دوم  <mount point="">: ابتدا یک دایرکتوری برای mount کردن پارتیشن ایجاد کنید و آدرس آن را در این ستون بنویسید.</mount></li>
<li>ستون سوم <type>: نوع سیستم فایل را در این ستون بنویسید. اگر نمی‌دانید که نوع سیستم فایل شما چیست و یا ntfs است در این قسمت auto بنویسید که خودش تشخیص دهد.</type></li>
<li>ستون چهارم <options>: در این ستون دسترسی‌ها و تنظیمات دیگر را می‌توان تعیین کرد اما اگر نمی‌دانید چه چیزی بنویسید defaults بنویسید که خود دیسترو تصمیم بگیرد.</options></li>
<li>ستون پنجم <dump>: در این ستون برای تصمیم در مورد زمانی که سیستم فایل مشکل پیدا می‌کند از آن backup بگیرد یا خیر. اگر نمی‌دانید چه مقداری بنویسید این قسمت را عدد صفر بنویسید.</dump></li>
<li>
<p>ستون ششم <pass>: در این ستون اگر عدد صفر بنویسید در زمان بوت سیستم فایل را چک نمی‌کند و اگر عدد دو را بنویسید در زمان بوت چک می‌کند.</pass></p>
</li>
<li>بین تمامی ستون‌های فوق را با tab یا space جدا کنید.</li>
</ul>


تیر ۲۴ ۱۳۹۳

آشنایی با نام‌گذاری دیسک‌ها در لینوکس

<p>همان طور که قبلا در مورد <a href="http://linuxihaa.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa%d9%88%d8%b1%db%8c%e2%80%8c%d9%87%d8%a7%db%8c-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/">دایرکتوری‌های لینوکس</a> مطالبی را گفتیم، دایرکتوری <strong>dev/ </strong>مربوط به دستگاه‌هایی است که لینوکس تشخیص داده و برای هر دستگاه یک فایل در  <strong>dev/ </strong>در نظر می‌گیرد. دیسک و پارتیشن‌های روی آن نیز از این قاعده مستثنی نبوده و به ازای هر دیسک و هر پارتیشن یک فایل در <strong>dev/ </strong>وجود دارد. اما کدام فایل‌ها در <strong>dev/ </strong>مربوط به دیسک‌ها و پارتیشن‌ها هستند؟ برای پاسخ دادن به این سوال باید با نحوه نام‌گذاری دیسک‌ها در لینوکس آشنا شویم.</p>

<ul>
<li>فایل‌هایی مثل cdrom، dvd، sr0 یکسان هستند و مربوط به دستگاه dvd شما هستند.</li>
</ul>

<p>اما هارد دیسک به صورت زیر نام‌گذاری می‌شود:</p>

<ul>
<li>اگر هارد شما از نوع قدیمی (PATA) باشد، هاردهایی که به IDE معروفند با hd شروع می‌شوند و فرمت کلی آن‌ها hdXY است که X یک کاراکتر الفبایی است و از a شروع می‌شود و تا z می تواند ادامه یابد، X در واقع شماره هارد شماست. اگر یک هارد داشته باشید نام هارد شما hda می‌شود و اگر بیش‌از یک هارد داشته باشید هارد اول hda، هارد دوم hdb و الی آخر نام گذاری می‌شوند. Y شماره پارتیشن‌های هارد را مشخص می‌کند و از یک شروع می‌شود و ادامه پیدا می‌کند.</li>
<li>اگر هارد شما از نوع SATA است نام گذاری با sd شروع می‌شود و فرمت کلی آن sdXY است که X مانند حالت قبل شماره دیسک و Y شماره پارتیشن‌های دیسک است(در ادامه نحوه نام گذاری پارتیشن‌ها آمده است).</li>
</ul>

<p>نام گذاری پارتیشن‌ها:</p>

<ul>
<li>همان طور که می‌دانید هر هارد دیسک به صورت سخت‌افزاری چهار پارتیشن را حداکثر می‌تواند پشتیبانی کند، اما شاید بیش از چهار پارتیشن نیز بر روی یک هارد دیده باشید، دلیل آن را بررسی می‌کنیم. حتما این را هم می‌دانید که دو نوع پارتیشن داریم primary و extended که این دو نوع توسط هارد دیسک به صورت سخت افزاری پشتیبانی می‌شود. بر روی پارتیشن‌های extended می‌توان به تعداد دلخواه به صورت نرم‌افزاری پارتیشن logical ساخت. با توضیحات ارایه شده در مورد پارتیشن‌ها به نام گذاری می‌پردازیم. پارتیشن‌های primary و extended می‌توانند اعداد یک تا چهار را به خود اختصاص دهند و پارتیشن‌های logical همیشه از پنج شروع می‌شوند و ادامه می‌یابند. نکته قابل توجه این است که حتی اگر تنها یک پارتیشن primary و یک پارتیشن extended داشته باشیم که دارای شماره یک و دو هستند باز هم logicalها از پنج شروع می‌شوند.</li>
</ul>

<p>در زیر چند مثال برای واضح شدن مطلب بیان می‌کنیم:</p>

<ul>
<li><strong>dev/sda/ </strong>نشان دهنده این است که هارد از نوع SATA بوده(sd) و هارد اول(a) ماست. اینکه شماره پارتیشن ندارد یعنی خود هارد است فارغ از پارتیشن‌هایش.</li>
<li><strong>dev/hdb/ </strong>نشان دهنده این است که هارد از نوع PATA بوده(hd) و هارد دوم(b) ماست. اینکه شماره پارتیشن ندارد یعنی خود هارد است فارغ از پارتیشن‌هایش.</li>
<li><strong>dev/sdc3/ </strong>نشان دهنده این است که هارد از نوع SATA بوده(sd) و هارد سوم(c) ماست. شماره ۳ بیانگر این است که پارتیشن از نوع primary یا extended بوده و پارتیشن سوم ماست.</li>
<li><strong>dev/hde6/ </strong>نشان دهنده این است که هارد از نوع PATA بوده(hd) و هارد پنجم(e) ماست. شماره ۶ بیانگر این است که پارتیشن از نوع logical بوده و دومین پارتیشن logical ماست.</li>
</ul>


تیر ۲۱ ۱۳۹۳

sudo چیست؟

<p>تقریبا هر آموزشی که درباره لینوکس مطالعه می‌کنید با دستورات خط فرمان همراه است که در ترمینال وارد می‌شوند؛ این موضوع به دلایلی مانند قدمت بیشتر رابط خط فرمان در لینوکس نسب به رابط گرافیکی، قدرت بی‌نظیر آن، تمایل بیشتر کاربران لینوکس به استفاده از خط فرمان و … است. و اما در بین دستورات تقریبا جایی نیست که sudo نباشد! اما این دستور چیست، چرا هست و چه عملی انجام می‌دهد بحثی است که در ادامه به آن می‌پردازیم.</p>

<p>در لینوکس کارهایی مانند نصب برنامه‌ها و تغییرات در شاخه‌ها و فایل‌های اصلی لینوکس فقط در دسترس کاربر روت (root) است زیرا این اعمال روی سیستم اثر می‌گذارند و باید از دسترسی غیر مجاز محافظت شوند. پس برای انجام آن‌ها باید با کاربر root وارد شد.</p>

<p>به‌صورت پبش‌فرض تقریبا تمام توزیع‌ها، گروه کاربران ادمین (اسم گروه ادمین چیزی است که برای فهم بهتر موضوع در اینجا می‌گویم و در هر توزیع نام خاص خود را دارد یا اینکه به‌گونه‌ای دیگر پیاده‌سازی می‌شود) دارند که جدا از کاربر root است و در هنگام نصب توزیع، اطلاعات اولین کاربر (از این گروه) را از شما می‌گیرد و این کاربر را برای شما ایجاد می‌کند تا با آن به سیستم وارد شوید. این گروه کاربران، دسترسی‌های خاص خودشان را دارند که نیازهای یک استفاده عادی از سیستم را براورده می‌کند اما برای انجام اعمالی که سطح دسترسی بیشتری می‌خواهند باید با کاربر روت وارد شوید. اعمالی مانند نصب برنامه‌ها یا حتی ساخت یک کاربر دیگر در گروه ادمین.</p>

<p>برای ورود با کاربر root در رابط گرافیکی که باید از همان صفحه ورود (لاگین اسکرین) میزکار خود استفاده کنید و در ترمینال نیز از دستور <code class="highlighter-rouge">su</code> استفاده می‌کنیم.</p>

<p>در هر دو مورد باید رمز کاربر روت را بدانید و وارد کنید تا دسترسی روت به شما داده شود. رمز کاربر روت در اکثر توزیع‌ها در هنگام نصب از شما دریافت و ست می‌شود اما در توزیعی مانند ابونتو باید بعد از نصب به روشی که در ادامه می‌گویم ست شود.</p>

<p>در هر صورت با ورود به کاربر روت می‌توانید هر کاری که می‌خواهید در سیستم انجام دهید! اما تمام این اعمال تقریبا روی کاربر روت انجام می‌شود! یعنی اینکه مثلا اگر برنامه‌ای نصب کردید، این برنامه برای کاربر روت نصب شده است. خب اگر بخواهید این اعمال روی کاربر خودتان انجام شود چه؟! و یا اینکه نخواهید رمز روت (که حفظ و نگهداری آن بسیار حیاتی است) برای هر کاری وارد کنید چه باید بکنید؟!</p>

<p>دستور sudo دقیقا برای رفع نیازهای بالا طراحی شده است. وقتی sudo را قبل از هر دستوری بنویسید آن دستور در هنگام اجرا دسترسی روت دارد. همچنین نیاز نیست که رمز روت خود را وارد کنید؛ کافیست رمز کاربری خود را برای اجرای آن دستور با sudo وارد کنید!</p>

<p>البته دستور su را نیز می‌توان به‌گونه‌ای (با آرگومان‌های مناسب) وارد کرد تا دستور برای کاربر خاصی انجام شود؛ اما جدای از استفاده سخت‌تر نسبت به sudo، در هر صورت رمز کاربری روت را باید وارد کنید.</p>

<p>در اکثر توزیع‌ها دستور sudo به‌صورت پیش‌فرض نصب شده است و کاربرانی که در گروه ادمین (معمولا نام گروه wheel است) هستند می‌توانند این دستور را با رمز کاربری خود اجرا کنند.</p>

<p>خب یک مثال. دستور زیر را در ابونتو وارد می‌کنم:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>apt-get update
</code></pre>
</div>

<p>و اما خروجی:</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>E: Could not open lock file /var/lib/apt/lists/lock – open <span class="o">(</span>13: Permission denied<span class="o">)</span>
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock – open <span class="o">(</span>13: Permission denied<span class="o">)</span>
E: Unable to lock the administration directory <span class="o">(</span>/var/lib/dpkg/<span class="o">)</span>, are you root?
</code></pre>
</div>

<p>مشاهده می‌کنید که اجرای آن با خطا روبرو می‌شود و می‌گوید باید دسترسی روت داشته باشید!</p>

<p>خب حالا دستور را به‌صورت زیر با sudo وارد می‌کنم.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get update
</code></pre>
</div>

<p>بعد از وارد کردن دستور رمز کاربری خود را وارد می‌کنم. سپس دستور انجام  و مخازن برنامه‌ها به‌روز می‌شود.</p>

<p>اجرای دستور <code class="highlighter-rouge">ls ~</code> یک مثال ساده برای نشان دادن تفاوت ورود به روت و دستور sudo است که با وارد کردن آن بعد از ورود به کاربر روت، شاخه خانگی کاربر روت لیست می‌شود اما با اجرای دستور <code class="highlighter-rouge">sudo ls ~</code> با کاربری خودتان، شاخه خانگی خودتان لیست می‌شود.</p>

<p>مشابه دستور sudo در میزکارها نیز وجود دارد تا کاربران در محیط گرافیکی اعمالی که نیاز به دسترسی روت دارند را انجام دهند؛ مانند kdesudo برای میزکار کی دی ای و gksudo برای میزکارهای برپایه gtk مانند گنوم. در این برنامه‌ها برای اجرای دستورات با دسترسی روت، کادر محاوری به صورت گرافیکی به شما نشان داده می‌شود تا رمز خود را وارد کنید؛ مانند زمانی که در ابونتو دکمه نصب یک برنامه را در مرکز برنامه‌ها میزنید و کادر برای دریافت رمز نمایش داده می‌شود.</p>

<p>این هم عکسی از سایت andrehonsberg.com در رابطه با قدرت دستور sudo!</p>

<p><img src="/assets/images/sudo.jpg" alt="sudo" /></p>

<p>می‌بینید که اول درخواست می‌کنه یک ساندویچ براش درست کنه و جواب میده که خودت درست کن! اما دفعه بعد اول حرفش سودو می‌گه و اون هم میگه باشه!</p>

<p>و این هم روش ست کردن رمز کاربر root در ابونتو بعد از نصب (بعد از اجرای دستور زیر رمز مورد نظرتون رو وارد کنید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo passwd
</code></pre>
</div>


تیر ۱۹ ۱۳۹۳

دانلود منیجر قدرتمند Flareget

<p>کاربران ویندوز همیشه خیالشان راحت است که دانلود منیجر قدرتمندی مانند IDM دارند؛ مدیر دانلودی قدرتمند با امکانات فراوان. اما کاربران لینوکس از داشتن چنین برنامه‌ای محروم هستند و با برنامه‌های مدیر دانلود تقریبا ضعیف دست و پنجه نرم می‌کنند! اما من به شما دانلود منیجر Flareget را معرفی می‌کنم؛ یک مدیر دانلود قدرتمند و با تمام امکانات IDM.</p>

<p><img src="/assets/images/Flareget-Screenshot-03.png" alt="Flareget" /></p>

<p>سرعت بالا، پایداری، دانلود با چند سگمنت، پشتیبانی از پراکسی، دانلود از یوتیوب، دسته‌بندی فایل‌ها، زمان‌بندی دانلودها، صف دانلود، دانلود دسته‌ای، پشتیبانی از کوکی، پست دیتا و … تنها چندی از امکانات این برنامه قدرتمند است.</p>

<p>شخصا از این برنامه استفاده می‌کنم و بسیار راضی هستم. دانلود فایل‌ها با حجم بالا را با اطمینان به این برنامه بسپارید و نگران نباشید.</p>

<p>برنامه مدیر دانلود Flareget برای سه سیستم‌عامل لینوکس، ویندوز و مک قابل دریافت و نصب است. برای لینوکس، سه بسته مختلف deb (برای توزیع‌های دبیان، ابونتو، مینت و …)، rpm (برای توزیع‌های ردهت، فدورا، اوپن سوزه، مگیا، سنت او اس و …)، pac (برای توزیع‌های آرچ لینوکس، چاکرا و …) از آدرس <code class="highlighter-rouge">flareget.com/download</code> قابل دریافت است و بدون هیچ درگیری با دستورات شما می‌توانید بسته مورد نیازتان را دریافت و نصب کنید. همچنین برنامه با تمام میزکارها سازگار است و در تنظیمات می‌توانید تم مربوط به میزکارهای مختلف را انتخاب کنید.</p>

<p>این برنامه به صورت رایگان قابل دریافت و استفاده است اما برای دانلود فایل‌ها با حجم بیشتر از ۲۵ مگابایت تنها دو سگمنت ایجاد می‌کند و برای ایجاد بیشتر از دو سگمنت باید لایسنس برنامه را خریداری کنید. همچنین با گزارش باگ‌های برنامه لایسنس رایگان به شما تعلق می‌گیرد.</p>


تیر ۱۸ ۱۳۹۳

آشنایی با دایرکتوری‌های لینوکس

<p>دیدین تو ترمینال وقتی دستور “/ ls” رو اجرا می‌کنین چندتا دایرکتوری میاد؟ می‌دونید استفاده هر کدوم چیه؟ خب با این مطلب همراه باشد تا به صورت خلاصه واستون بگم.</p>

<p><img src="/assets/images/directories.jpg" alt="linux directories" /></p>

<ul>
<li><strong>/  </strong>این دایرکتوری ریشه تمامی دایرکتوری‌های موجود در لینوکس است. خارج از این دایرکتوری هیچ چیز وجود ندارد.</li>
<li><strong>home/  </strong>این دایرکتوری رو هممون باهاش سر و کار داریم. یوزرهایی که توی لینوکس ساخته میشن به غیر از root فایل‌هاشون تو این دایرکتوری قرار می‌گیره.</li>
<li><strong>bin/ </strong>این دایرکتوری مربوط به دستورات پایه‌ای لینوکس هست. این دستورات در حالت اجرای تک کاربره لینوکس هم قابل استفاده هستند.</li>
<li><strong>boot/ </strong> این دایرکتوری مربوط به فایل‌های بوت لینوکس هست. فایل‌های هسته لینوکس، مقداردهی اولیه حافظه و boot loader</li>
<li><strong>dev/ </strong>دستگاه‌هایی که توسط لینوکس شناسایی میشن تو این دایرکتوری قرار می‌گیرن. مثل کارت صدا، ماوس و …</li>
<li><strong>etc/ </strong>فایل‌های پیکربندی و تنظیماتی که مربوط به کل سیستم و تمامی یوزرهاست در این دایرکتوری قرار می‌گیرند.</li>
<li><strong>lib/ </strong>کتابخانه‌هایی که برای اجرای دستورات دایرکتوری bin و sbin مورد نیاز است در این دایرکتوری قرار گرفته‌اند.</li>
<li><strong>media/ </strong>وسایلی مثل فلش، سی‌دی یا هارد خارجی و غیره که خاصیت جداشدنی دارند در این دایرکتوری mount می‌شوند.</li>
<li><strong>mnt/ </strong>این دایرکتوری برای این وجود دارد که به صورت دستی و موقت یک فایل‌سیستم را در این دایرکتوری mount کنیم.</li>
<li><strong>opt/ </strong>در این دایرکتوری به صورت اختیاری می‌توان نرم‌افزار نصب کرد. نرم‌افزارهایی که از مخازن اصلی توزیع‌ها گرفته نمی‌شوند معمولا در این دایرکتوری نصب می‌شوند.</li>
<li><strong>proc/ </strong>لینوکس یک فایل‌سیستم مجازی(procfs) از فرایند‌ها(process) و اطلاعات دیگر در مورد برنامه‌های در حال اجرا در این دایرکتوری mount می شود.</li>
<li><strong>root/ </strong>در بالا گفتیم که فایل‌های یک یوزر در لینوکس در دایرکتوری home قرار می‌گیرد، یک استثنا وجود دارد و آن یوزر root است که فایل‌های آن در این دایرکتوری قرار می‌گیرند.</li>
<li><strong>sbin/ </strong>مثل دایرکتوری bin با این تفاوت که دستورات موجود در این دایرکتوری نیاز به دسترسی super user دارند.</li>
<li><strong>srv/ </strong>محل قرارگیری داده‌های سرویسی که لینوکس ما قرار است بدهد. مثل سرویس www یا CVS و غیره</li>
<li><strong>sys/ </strong>این دایرکتوری مربوط به دستگاه‌هایی است که به لینوکس متصل هستند و اطلاعات آن‌ها از جمله آمار و محاسبات موردنیاز و نام آن‌ها در این دایرکتوری قرار می‌گیرد.</li>
<li><strong>tmp/ </strong>فایل‌هایی که به صورت موقت باید ایجاد شوند مثلا وقتی که فایل فشرده را باز می کنید در این دایرکتوری از حالت فشرده خارج می‌شوند و معمولا فایل‌های درون این دایرکتوری در هر بار اجرای دوباره لینوکس پاک می‌شوند.</li>
<li><strong>usr/ </strong>دیتای فقط خواندنی  یوزرها و برنامه‌هایی که در لینوکس چند کاربره استفاده می‌شوند در این دایرکتوری هستند.</li>
<li><strong>var/ </strong>فایل‌هایی که در طول اجرای برنامه‌ها در لینوکس ممکن است تغییر کنند در این دایرکتوری هستند. مثل log و فایل‌های lock و غیره</li>
</ul>


تیر ۱۷ ۱۳۹۳

نصب لینوکس بدون ترس کنار ویندوز

<p>امروز می‌خوام یه چندتا نکته رو درمورد لینوکس بگم، این مطلب در مورد یه دیسترو خاص مثل ابونتو، فدورا و غیره نیس کلی و عمومی هس و در همه صدق می‌کنه.</p>

<p>اکثر دیستروها به خصوص اونهایی که کاربر زیادی دارن یک نصاب دارن که بعضی‌ها مثل اوبونتو و فدورا گرافیکی و در بعضی ها مثل اسلکور به صورت متنی هستند. شاید شما این ترس رو داشته باشید که اگه لینوکس رو کنار ویندوز بخواید نصب کنید فایل‌هاتون از بین بره. خب این ترس شما بجاست. شما باید چندتا نکته‌ی زیر رو بدونید تا مراحل نصب رو مطمئن پیش ببرید.</p>

<p>برای نصب لینوکس سعی کنید در نصاب‌ها گزینه‌ای رو انتخاب کنید که به شما اجازه میده به صورت دستی پارتیشن‌ها رو انتخاب کنید.</p>

<p>برای مثال در اوبونتو به صورت زیر:</p>

<p><img src="/assets/images/KURnS.png" alt="KURnS" /></p>

<p>بعد از این مرحله شما با توجه به حجمی که ویندوزتون اشغال کرده و اندازه پارتیشن و اینکه پارتیشن شماره چند هست می‌تونید متوجه بشید که کدوم پارتیشن مربوط به ویندوز هست.(راحت‌ترین راه اینه که تو ویندوز بیاید که پارتیشن رو حذف کنید برای لینوکس و این پارتیشن حذف شده در اینجا به صورت فضای خالی نمایش داده می‌شه و روی همون پارتیشن‌های لینوکس رو انتخاب می‌کنید).</p>

<p>خب لینوکس برای نصب تنها از پارتیشنی استفاده می‌کنه که به عنوان ریشه(root) در نظر گرفتید. این پارتیشن با <strong>’ / ‘ </strong>مشخص می‌شود. برای این پارتیشن در حدود ۱۴ گیگ و یا بیشتر در نظر بگیرید. مثل زیر:</p>

<p><img src="/assets/images/f9AS5-300×193.png" alt="f9AS5" /></p>

<p>همه فایل‌های نصب در این پارتیشن  کپی می‌شوند. هنوز یک پارتیشن مهم دیگه مونده که اگه رم بالایی دارین مثلا ۴ گیگ، مشکل خاصی بوجود نمیاد ولی بهتره که اون رو تعریف کنید، این پارتیشن swap هس. اون رو با توجه به عکس زیر انتخاب ایجاد می‌کنید:</p>

<p><img src="/assets/images/lNmDo-300×171.png" alt="lNmDo" /></p>

<p>لینوکس از این پارتیشن به عنوان رم مجازی استفاده می‌کنه و تنها وقتی از اون استفاده می‌کنه که رم شما فضای کافی برای نرم‌افزارها نداشته باشه برای تصمیم در مورد اندازه swap می‌تونید این مقاله <code class="highlighter-rouge">sito.ir/index/detail/805</code> رو بخونید.</p>

<p>حالا دیگه با خیال راحت نصبتون رو ادامه بدید و مطمئن باشید که فایل‌هاتون پاک نمی‌شن. من تو این مطلب مثال رو اوبونتو گفتم ولی تو همه دیستروها این صدق می‌کنه.</p>


تیر ۱۵ ۱۳۹۳

Getting Things Gnome یا GTG

<p>با برنامه (Getting Things Gnome یا به اختصار GTG) می‌تونید کارهاتون رو زمانبندی و اولویت بندی کنید. اهداف کوتاه مدت و بلند مدت خودتون رو بنویسید و هر روز بهش نگاه کنید و هر کدوم رو که انجام دادین از لیست حذف کنید. هر کاری رو که انجام می‌دین رو از لیست حذف می‌کنین وارد لیست انجام شده‌ها میشه که می‌تونید اونها رو ببینید و کلا اگه خواستین حذفش کنید.</p>

<p><img src="/assets/images/gtg2.png" alt="Getting Things Gnome" /></p>

<p><strong>مرور سریع:</strong></p>

<ul>
<li><strong>کاربرد</strong>: برای مدیریت کارهای روزانه و اهدافتون</li>
<li><strong>زبان برنامه نویسی: </strong>پایتون</li>
<li><strong>اجازه نامه: </strong>GPLv3</li>
<li><strong>واسط کاربری: </strong>gtk+</li>
<li><strong>قابلیت ترجمه: </strong>بله، از طریق po فایل</li>
<li><strong>سیستم عامل: </strong>لینوکس، ویندوز</li>
<li><strong>روش نصب: <a href="http://gtgnome.net/download">http://gtgnome.net</a></strong></li>
<li><strong>نرم‌افزارهای مشابه: </strong>tasque, evolution</li>
</ul>

<p>یه سری ویژگی‌ها داره که اونو از بقیه نرم‌افزارهای هم‌گروهش متمایز کرده برای مثال:</p>

<ul>
<li>برای هر هدف می‌تونید زیرهدف‌هایی رو تعیین کنید.</li>
<li>برای هر هدف یک یا چند برچسب می‌گذارید.</li>
<li>می‌تونید بر اساس برچسب‌هایی که انتخاب کردین بین اونها جستجو کنید و یا کارهایی که یه برچسب خاص دارن رو ببینید.</li>
<li>برنامه کم حجم و پر کاربردیه.</li>
</ul>


تیر ۶ ۱۳۹۳

WiFi Hotspot در لینوکس

<p>امروزه کاربران نیاز دارند تا به‌راحتی، هر جای محل کار یا خانه هستند با دستگاه‌های مختلف به اینترنت متصل شوند.</p>

<p>نیاز به اشتراک اینترنت در محیط خانه یا محل کار به‌صورت بی‌سیم، اغلب سبب می‌شود تا کاربران رو به مودم‌های بی‌سیم بیاورند. اما کاربرانی که مودم سیمی دارند چگونه این مشکل را حل کنند؟! آیا راهی جز خرید مودم بی‌سیم برای اشتراک اینترنت وجود دارد؟!</p>

<p>شاید بیشتر با وای فای هات اسپات (WiFi Hotspot) در سیستم‌عامل اندروید آشنا هستید؛ ویژگی‌ای که امکان اشتراک اینترنت دستگاه اندرویدی را برای کاربران فراهم می‌کند و کاربران را از شر ارتباط بلوتوثی یا کابلی (در سیستم‌عامل‌هایی مانند سیمبیان نوکیا) خلاص می‌کند.</p>

<p>باید بگویم که این ویژگی کاملا به WiFi دستگاه شما بستگی دارد و چیزی جدای آن نیست. یعنی کافیست تا هر دستگاهی که دارید WiFi داشته باشد؛ در این صورت با اضافه کردن ویژگی‌های نرم‌افزاری می‌توان آن را Hotspot کرد.</p>

<p>در هر سیستم‌عامل برای ایجاد یک اتصال Hotspot تدابیری اندیشیده شده است اما برای این‌که انجام این عملیات راحت‌تر شود و اینترنت نیز در این هات اسپات به اشتراک گذاشته شود (چون می‌توان فقط یک شبکه محلی با Hotspot ایجاد کرد)، برنامه‌هایی وجود دارند که به راحتی این کار را برای شما انجام می‌دهند.</p>

<p>در سیستم‌عامل اندروید در بخش تنظیمات این ویژگی بدون نیاز به نصب برنامه اضافی قابل دسترس است. در سیستم‌عامل ویندوز نیز اغلب از برنامه‌هایی مانند PublicMyWiFi و Connectify استفاده می‌شود. اما در لینوکس چه می‌شود؟! تکلیف کاربران لینوکس چیست؟!</p>

<p>در اینجا برنامه ap-hotspot را به شما معرفی می‌کنم که یک اسکریپت بش است و به راحتی یک وایفا هات اسپات در سیستم لینوکس شما ایجاد می‌کند.</p>

<p>برای نصب این برنامه در اوبونتو از دستورات زیر در ترمینال استفاده کنید (دیگر توزیع‌ها می‌توانند اسکریپت آن را از <a href="https://github.com/hotice/AP-Hotspot">اینجا</a> دریافت کنند).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
</code></pre>
</div>

<p>اکنون می‌توانید با دستور زیر هات اسپات خود را پیکربندی کنید. تنظیماتی شامل نام هات اسپات، پسورد و کارت‌های شبکه.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo ap-hotspot configure
</code></pre>
</div>

<p>بعد از ایجاد پیکربندی دلخواه و مناسب، با دستور زیر آن را فعال کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo ap-hotspot start
</code></pre>
</div>

<p>اگر هنگام فعال شدن منتظر ماند، دستور بالا را با Ctrl + C خاتمه دهید و سپس از دستورات زیر استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo rm /tmp/hotspot.pid
sudo nmcli nm wifi off
sudo rfkill unblock wlan
</code></pre>
</div>

<p>برای غیر فعال کردن نیز از سوییچ stop استفاده کنید.</p>

<p>توجه کنید که برای عدم تداخل، راحت‌ترین کار این است که کارت شبکه ورودی (اینترنت را به سیستم می‌دهد) با کارت شبکه خروجی (اینترنت را از طریق آن به اشتراک می‌گذارد) متفاوت باشد. مثلا کامپیوتر خود را با کابل شبکه به اینترنت متصل کنید و کارت شبکه ورودی ethX می‌شود و از کارت شبکه وای‌فای wlanX فقط برای هات اسپات استفاده کنید. در غیر این صورت باید تنظیمات خاصی انجام دهید که  سعی می‌کنم در آموزش‌های بعدی قرار دهم. هچنین خودتان با جست‌وجو در اینترنت می‌توانید پیدا کنید.</p>


اردیبهشت ۲۲ ۱۳۹۳

برپاسازی لینوکس پایه

<p>افرادی هستند که نیاز به برپاسازی یک لینوکس پایه دارند. از جمله نیاز افراد برای این کار می‌توان به استفاده از ابزارهای پایه لینوکس در سیستمی خلوت و کم حجم و یا حتی تولید توزیع جدید اشاره کرد.</p>

<p>افرادی که می‌خواهند توزیع جدیدی از لینوکس ساخته و منتشر کنند اول باید بدانند کرنل لینوکس به تنهایی یک سیستم‌عامل نیست بلکه یک هسته است که با ابزارهایی که روی همان هسته اجرا می‌شوند، به‌عنوان یک سیستم‌عامل کامل قابل استفاده می‌شود. خواه استفاده از ابزارهای گنو و تولید سیستم‌عامل‌های مرسوم گنو/لینوکس و یا روش‌های دیگری مانند اندروید که هسته لینوکس را با ابزارهای ویژه خود به یک سیستم‌عامل کامل تبدیل کرده است.</p>

<p>اگر شما می‌خواهید یک سیستم‌عامل با هسته لینوکس ایجاد کنید برای روش آخر من پیشنهادی ندارم و می‌گویم که کارتان بسیار سخت است چون باید خیلی از ابزارهای اولیه را از نو برنامه‌نویسی کنید اما اگر می‌خواهید یک توزیع جدید گنو/لینوکس ایجاد کنید دو روش پیش رو دارید. یا از توزیع‌های جدید انشعاب بگیرید (که برای هر توزیع ابزارها و روش‌های مشخصی وجود دارد و راحت‌ترین آن‌ها هم انشعاب از ابونتو دسکتاب است) و یا از پایه توزیع گنو/لینوکس خودتان را بسازید!</p>

<p>بهترین منبع برای تولید سامانه گنو/لینوکس از پایه، کتاب <code class="highlighter-rouge">LFS (Linux From Scratch)</code> است که از آدرس <code class="highlighter-rouge">linuxfromscratch.org</code> قابل دسترس است.</p>

<p>اما روش بالا مشکلات زیادی دارد. از جمله وقت زیادی که از شما می‌گیرد و دوم اینکه پشتیبانی و بروزرسانی ابزارهای آن طاقت‌فرسا است و بهتر بگویم کار یک گروه خبره است که می‌خواهند واقعا نیازهای جدیدی را در حیطه توزیع‌های پایه پوشش بدهند.</p>

<p>اما روشی که من پیشنهاد می‌کنم استفاده از هسته ابونتو (Ubuntu Core) است! هسته ابونتو در عین اینکه سامانه گنو/لینوکس پایه در اختیار شما می‌گذارد از مزیت‌هایی مانند داشتن مدیر بسته دی‌پی‌کی‌جی و بروزرسانی‌های دائمی ابونتو بهره‌مند است؛ بروزرسانی‌هایی که کارایی و امنیت توزیع شما را تضمین می‌کنند. در عین حال شما می‌توانید خط مشی توزیع خود را کاملا از ابونتو جدا کنید. در ادامه روش برپاسازی این سامانه را مطالعه خواهید کرد.</p>

<h3 id="section">برپاسازی هسته ابونتو</h3>

<p>ابتدا از آدرس <code class="highlighter-rouge">cdimage.ubuntu.com/ubuntu-core/releases/14.04/release</code> هسته مناسب را دریافت کنید (هسته ابونتو برای ماشین‌های x86 در دو نوع ۳۲ بیت و ۶۴ بیت و arm موجود است).</p>

<p>سپس ترمینالی باز کرده و با کاربر روت وارد شوید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo su
</code></pre>
</div>

<p>اکنون پارتیشن روت سامانه جدید لینوکس را بسازید. برای این مرحله می‌توانید از هر ابزار گرافیکی (gprated) یا خط فرمانی (cfdisk) پارتیشن‌بندی استفاده کنید. پارتیشن روت را به اندازه کافی (بسته به نیازتان در آینده) بگیرید و اگر روی سیستم شما سیستم‌عامل دیگری نیست برچسب بوت آن را فعال کنید.</p>

<p>با دستور زیر پارتیشن روت خود را فرمت کنید. (sda1 یک مثال از شناسه است و بسته به مرحله قبل متفاوت است).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkfs.ext4 /dev/sda1
</code></pre>
</div>

<p>پارتیشن روت را در سامانه فعلی مانت کنید تا بتوان از آن استفاده کرد.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkdir /mnt/tmp
mount /dev/sda1 /mnt/tmp
</code></pre>
</div>

<p>آرشیو هسته ابونتو را در پارتیشن روت استخراج کنید (مسیر آرشیو را به‌جای <archive.tar.gz> وارد کنید).</archive.tar.gz></p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>tar -zxvf &lt;archive.tar.gz&gt; -C /mnt/tmp
</code></pre>
</div>

<p>وارد مسیر پارتیشن روت شوید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">cd</span> /mnt/tmp
</code></pre>
</div>

<p>گراب را روی دیسک نصب کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>grub-install –root-directory<span class="o">=</span>/mnt/tmp /dev/sda
</code></pre>
</div>

<p>تنظیمات شبکه سامانه فعلی را در سامانه جدید کپی کنید تا بعد از ورود به قلمرو آن (chroot) بتوانید از شبکه سامانه فعلی استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>cp /etc/resolv.conf /mnt/tmp/etc/resolv.conf
</code></pre>
</div>

<p>وارد قلمرو سامانه گنو/لینوکس جدید شوید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="k">for </span>f <span class="k">in</span> /sys /proc /dev ; <span class="k">do </span>mount –rbind <span class="nv">$f</span> /mnt/tmp/<span class="nv">$f</span> ; <span class="k">done</span> ; chroot /mnt/tmp
</code></pre>
</div>

<p>هسته لینوکس را در سامانه جدید نصب کنید (دستور زیر برای زمانی است که سامانه میزبان نیز ابونتو یا دبیان باشد. برای دیگر میزبان‌ها باید هسته مناسب نصب شود و یا اینکه هسته را نیز دریافت کرده و در سامانه جدید کمپایل کنید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>apt-get update &amp; apt-get install linux-<span class="o">{</span>headers,image<span class="o">}</span>-generic
</code></pre>
</div>

<p>گراب را آپدیت کنید تا سیستم‌عامل جدید و قبلی‌ها را به لیست منوی خود اضافه کند.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>update-grub
</code></pre>
</div>

<p>پسورد روت سامانه جدید را ست کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>passwd
</code></pre>
</div>

<p>منابع را آزاد کنید و خارج شوید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code><span class="nb">exit
cd</span> ..
umount -v /mnt/tmp/proc
umount -v /mnt/tmp/sys
umount -v /mnt/tmp/dev
umount -v /mnt/tmp/
<span class="nb">exit</span>
</code></pre>
</div>

<p>تمام شد! اکنون کافی است تا سیستم را ریبوت کنید و از سامانه جدید گنو/لینوکس خود که با هسته ابونتو ساخته‌اید استفاده کنید.</p>

<p>در صورتی که رم کافی ندارید و نیاز به پارتیشن سواپ دارید می‌توانید بعد از ساخت پارتیشن سواپ به اندازه مناسب از دستورات زیر برای فعال‌سازی آن استفاده کنید.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>mkswap /dev/sdaX
swapon /dev/sdaX
</code></pre>
</div>

<p>برای اتصال به شبکه اینترنت هم اگر به کابل متصل هستید کافیست دستور زیر را بزنید (eth0 شناسه اولین کارت شبکه شما است و اگر چند کارت شبکه دارید شناسه هر کدام که نیاز است را وارد کنید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>dhclient eth0
</code></pre>
</div>

<p>برای اتصال به شبکه بی‌سیم هم می‌توانید از دستورات زیر استفاده کنید (در دستور زیر نام و پسورد مناسب را جایگزین کنید).</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>iwconfig wlan0 essid name key password
dhclient wlan0
</code></pre>
</div>

<p>شما می‌توانید سامانه جدید را بسته به نیازتان سفارش‌سازی کنید، بسته‌های مورد نیاز را تغییر دهید و یا حتی نام توزیع را تغییر و به عنوان یک توزیع جدید منتشر کنید.</p>


فروردین ۲۹ ۱۳۹۳

KidsPainter دفتر نقاشی کودک شما

<p>یکی از لذت‌بخش‌ترین و مفیدترین فعالیت‌ها برای کودکان نقاشی است. همه‌ی ما در دوران خردسالی خود با دفتر نقاشی مدادهای رنگی آشنا و دوست بودیم. با دیجیتالی شدن زندگی این تفریح رنگ و بوی جدیدی به‌خود گرفته است.</p>

<p><img src="/assets/images/kidspainter.jpg" alt="KidsPainter" /></p>

<p>کیدز پینتر Kidspainter اپلیکیشنی است که با محیط فانتزی و زیبایی می‌تواند اوقات آموزشی و تفریحی سالمی برای کودک شما فراهم کنید.</p>

<p>استفاده از آیکون‌های بزرگ، تم فانتزی و نزدیک به بوم نقاشی، منوی در دسترس و ساده بودن کلی نرم افزار این امکان را فراهم می‌کند که فرزند ما به آسانی در محیطی امن و آرام به‌دور از مواد شیمیایی و خطرناک علاوه بر سرگرم شدن، با دنیای رایانه و دیجیتال آشنا شود. این اپلیکیشن را از دست ندهید.</p>

<p>این نرم افزار به‌صورت نسخه کامل در software Center Ubuntu با قیمت ۲۹٫۹۹$ قرار دارد. هرچند شما می‌توانید با مراجعه به وب‌سایت برنامه نسخه مخصوص سیستم عامل خود را به رایگان دانلود و نصب کنید.</p>


فروردین ۲۹ ۱۳۹۳

بررسی کامل اوبونتو ۱۴٫۰۴

<p>در این مطلب قصد داریم تغییرات و ویژگی‌های اوبونتو ۱۴٫۰۴ را بررسی کنیم تا هرچه بیشتر با آن آشنا شوید.</p>

<p>قبل از هر چیز باید بگویم تا پنج سال بروزرسانی بسته‌ها و امنیت برای این نسخه تضمین شده است و به گفته سازندگان ابونتو ۱۴.۰۴ از بهترین و امن‌ترین نسخه‌ها است.</p>

<h3 id="section">بسته‌ها به‌روزشده</h3>

<ul>
<li>Linux kernel 3.13</li>
<li>Python 3.4</li>
<li>AppArmor
<ul>
<li>تعدادی از ویژگی‌های جدید در ابونتو ۱۴.۰۴ است که می‌توانید از لینک روبرو درباره آن مطالعه کنید. wiki.ubuntu.com/AppArmor</li>
</ul>
</li>
<li>Oxide
<ul>
<li>یک نمایش‌دهنده وب بر اساس گوگل کرومیوم برای پشتیبانی بهتر برنامه‌ها</li>
</ul>
</li>
<li>Upstart 1.12.1</li>
</ul>

<h3 id="section-1">ابونتو دسکتاپ</h3>

<ul>
<li>
<p>یونیتی</p>

<ul>
<li>پشتیبانی از نمایش‌گر با کیفیت بالا (High-DPI) و رتینا (Retina) و مقیاس‌گذاری میزکار</li>
<li>اسکرین سرور و لاک اسکرین جدید که طراحی بهتر و سرعت و امنیت بالاتری دارد</li>
<li>تنظیماتی برای مشاهده منوی پنجره در خود پنجره</li>
<li>دکراسیون جدید پنجره‌ها با طراحی و کارایی بهتر</li>
<li>میان‌بر Super + L به صورت پیش‌فرض برای قفل صفحه (Lock Screen) – دکمه Super همان دکمه ویندوز است</li>
<li>قابلیت کوچک‌تر کردن آیکن‌های لانچر تا ۱۶ پیکسل</li>
<li>قابلیت جستجو در پنجره‌هایی باز (با میان‌بر Super + W)</li>
<li>تغییر سایز پنجره به‌صورت زنده</li>
</ul>
</li>
</ul>

<p><img src="/assets/images/ubuntu-1404-localmenu.png" alt="منوی توکار پنجره در ابونتو ۱۴٫۰۴" /></p>

<p>منوی توکار پنجره در ابونتو ۱۴٫۰۴</p>

<p><img src="/assets/images/ubuntu-1404-antialiased.jpg" alt="ubuntu-1404-antialiased" /></p>

<p>رادینس بهتر بالای پنجره در ابونتو ۱۴٫۰۴</p>

<p><img src="/assets/images/ubuntu-1404-borderless.jpg" alt="تغییرات بوردر پنجره در ابونتو ۱۴٫۰۴" /></p>

<p>تغییرات بوردر پنجره در ابونتو ۱۴٫۰۴</p>

<p><img src="/assets/images/unity-lockscreen.jpeg" alt="لاک اسکرین جدید ابونتو ۱۴٫۰۴" /></p>

<p>لاک اسکرین جدید ابونتو ۱۴٫۰۴</p>

<ul>
<li>عمومی
<ul>
<li>بازگشت جستجویی درون پنجره‌ای و بازگشت به پوشه قبلی با دکمه Backspace در مدیرفایل Nautilus</li>
<li>خیلی از برنامه‌های پیش‌فرض برای بهتر یکپارچه شدن منو بار یونیتی دوباره طراحی شده‌اند.</li>
<li>برنامه‌های جدید بخش تنظیمات که از مرکز کنترل گنوم گرفته شده‌اند؛ مانند دیدن گذشته (History) کاربر</li>
<li>آخرین نسخه برنامه‌ها مانند فایرفاکس و …</li>
</ul>
</li>
<li>Libreoffice – به‌روز شده به نسخه ۴٫۲٫۳
<ul>
<li>…</li>
</ul>
</li>
<li>Xorg – درایورها به نسخه ۱۵٫۰٫۱ و mesa به ۱۰٫۱ به‌روز شده اند</li>
<li>پشتبانی بهتر از Nvidia Optimus</li>
<li>فعال بودن پیش‌فرض TRIM برای هارد دیسک‌های SSD اینتل و سامسونگ</li>
</ul>

<h3 id="section-2">ابونتو سرور</h3>

<ul>
<li>OpenStack 2014.1</li>
<li>Puppet 3</li>
<li>Xen 4.4</li>
<li>Ceph 0.79</li>
<li>Qemu 2.0.0</li>
<li>Open vSwitch 2.0.1</li>
<li>Libvirt 1.2.2</li>
<li>LXC 1.0</li>
<li>MAAS 1.5</li>
<li>Juju 1.18.1</li>
<li>strongSwan</li>
<li>MySQL</li>
<li>Apache 2.4</li>
<li>PHP 5.5</li>
</ul>

<h3 id="section-3">ابونتو تاچ</h3>

<ul>
<li>پشتیبانی از دستگاه‌های بیشتر
<ul>
<li>Nexus 4 Phone (mako)</li>
<li>Nexus 7 (2013) Tablet (flo)</li>
<li>Nexus 10 Tablet (manta)</li>
</ul>
</li>
<li>این مطلب از متن انتشار ابونتو ۱۴٫۰۴ به آدرس <code class="highlighter-rouge">wiki.ubuntu.com/TrustyTahr/ReleaseNotes</code> و مطلب دیگری به آدرس <code class="highlighter-rouge">itsfoss.com/new-features-ubuntu-1404</code> توسط من استخراج شده است و سعی کرده‌ام نکات اصلی را با توجه به تجربه خودم (در چند ساعتی که این نسخه را امتحان کرده‌ام)، بازگو کنم و مطلب به زودی کامل‌تر خواهد شد.</li>
</ul>


فروردین ۱۶ ۱۳۹۳

خاموش کردن خودکار لینوکس

<p>برای من بسیار پیش آمده است که سیستمم در حال انجام کاری بوده و نیاز به صرف وقت داشته اما به دلایلی مانند رفتن به جایی یا خواب! نمی‌توانستم تا پایان کار منتظر بمانم. در این مواقع نیاز داشتم تا کامپیوترم بعد از اتمام کارش اتوماتیک خاموش شود. برخی از برنامه‌ها گزینه خاموش شدن سیستم بعد از اتمام کار را در خود دارند و کار را راحت کرده‌اند؛ اما برای دیگر برنامه‌ها باید چکار کرد؟!</p>

<p>و یا اینکه زمان دانلود رایگان آی‌اس‌پی که من استفاده می‌کنم از ساعت ۲ تا ۵ بامداد است. فایل‌های خود را برای دانلود گذاشته‌ام و خوابم برده است! ساعت از ۵ گذشته و ترافیک مصرفی دیگر رایگان نیست!</p>

<p>در تمام این موارد shutdown دستوری بود که در لینوکس به کمک من آمد. دستوری در ترمینال برای خاموش کردن اتوماتیک لینوکس در ساعت مشخص!</p>

<p>مثلا از دستور زیر استفاده کردم تا بعد از ساعت ۵ بامداد سیستم خود به خود خاموش شود.</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>shutdown -h 5:00
</code></pre>
</div>

<p>در دستور بالا از سوییچ h برای این استفاده کردم که سیستم هالت (halt) شود؛ یعنی ماشین (کامپیوتر) کامل خاموش شود. بعد از آن نیز زمان خاموش شدن را نوشتم که در اینجا راس ساعت ۵ بامداد است.</p>

<p>برای دیدن تمامی امکانات این دستور مانند؛ ریست کردن (ریبوت)، خاموش شدن سریع و … می‌توانید از دستور <code class="highlighter-rouge">shutdown</code>  به صورت خالی وارد کنید.</p>

<p>در زیر خروجی دستور بالا را مشاهده می‌کنید که نحوه نوشتن دستور و لیست سوییچ ها در آن ذکر شده است.</p>

<div class="highlighter-rouge"><pre class="highlight"><code>Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **
</code></pre>
</div>


فروردین ۱۴ ۱۳۹۳

کی۳بی K3b

<p>در میان نرم افزارها زمانی که صحبت از ایجاد و کار با لوح‌های فشرده به میان می‌آید، ابزارهای Nero نام‌آشناترین گزینه این حیطه هستند. در دنیای نرم‌افزارهای آزاد انواع و اقسام نرم‌افزارهای کار با لوح‌های فشرده وجود دارند.</p>

<p><img src="/assets/images/k3b1.png" alt="K3b" /></p>

<p>به‌جرات می‌توان گفت تنها رقیب محصولات Nero و کامل‌ترین در این زمینه، در دنیای آزاد، نرم افزار K3b است. این نرم افزار با استفاده از پوشش کامل سخت افزارها و انواع متدهای رایت CD، DVD و Bluerayها تمام نیازهای کاربر را برآورده می کند.</p>

<p>K3b به‌صورت کامل و امن از فایل استاندارد iso پشتیبانی می‌کند. در روند کار ابتدا از فایل iso یک Checksum تهیه کرده و پس از پایان بررسی می کند که آیا فایل به درستی مورد پردازش قرار گرفته یا خیر. بدین صورت از بروز هرگونه مشکل و خطایی جلوگیری می‌کند؛ که این یعنی نهایت امنیت و اطمینان از کار با K3b.</p>

<p>همچنین کاربر می‌تواند با نصب افزونه و تم‌های متنوع، یک محیط راحت و کارا و همچنین حرفه‌ای در این برنامه برای خود ایجاد کند.</p>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install k3b
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo yum install k3b
</code></pre>
</div>

<p>نصب در اوپن سوزه</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo zypper install k3b
</code></pre>
</div>


فروردین ۱۴ ۱۳۹۳

براسرو Brasero

<p>رایت آسان، کپی راحت و امن، درصد خطای پایین مهم ترین دغدغه برای انتخاب نرم‌افزار burner است. این برنامه که به‌صورت پیش‌فرض در اوبونتو قرار دارد نیازهای اولیه و کلی یک کاربر را جهت رایت دیسک‌ها برآورده می‌کند؛ نظیر ایجاد CDهای صوتی،DATA ،VCD ،DVD ،Bluerayها و مدیریت و ایجاد فایل استاندارد iso.</p>

<p><img src="/assets/images/brasero03.png" alt="Brasero" /></p>

<p>Brasero از یک محیط ساده دارد. کافی است نوع در خواست خود را انتخاب کنید و طی روند یک مرحله‌ای، پروژه خود را با نهایت سرعت و دقت ایجاد نمایید.
از نقص‌های این برنامه می توان به تنظیمات محدودتر، نداشتن قابلیت افزودن افزونه‌های کاربردی و شخصی‌سازی، خطاهای بیشتر نسبت به K3b اشاره کرد.</p>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install brasero
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo yum install brasero
</code></pre>
</div>

<p>نصب در اوپن سوزه</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo zypper install brasero
</code></pre>
</div>


فروردین ۱۱ ۱۳۹۳

دانلود منیجر KGet

<p>شاید بتوان گفت داشتن برنامه‌ای مناسب جهت مدیریت دانلودها یکی از دغدغه کابران امروزی است که با شبکه اینترنت بسیار سروکار دارند. برنامه‌ای که بدون دردسر فایل‌های ما را از سطح اینترنت با سرعت مناسب دریافت کند و پیغام‌های مناسب را به ما نشان بدهد، بتوانیم دانلودها را متوقف و مکث کنیم و زمانی دیگر دریافت را از سر بگیریم.</p>

<p><img src="/assets/images/kget-screenshot-08.png" alt="KGet" /></p>

<p>کی‌گت (KGet) یک برنامه مدیر دانلود (download manager) مناسب است که در اصل پوسته گرافیکی برای Wget است و همان‌طور که از حرف کی اول آن معلوم است سازگار با میزکار کی‌دی‌ای است و اکثرا به صورت پیش‌فرض با این میزکار نصب شده است اما این برنامه برای دیگر میزکارها نیز قابل نصب و استفاده است.</p>

<p>این برنامه از دانلود توسط پروتکل‌های HTTP ،HTTPS و FTP پشتیبانی می‌کند. همچنین با نصب پلاگین‌های مختلف می‌تواند قابلیت‌های بیشتری مانند دانلود از تورنت (torrent) در اختیار شما بگذارد.</p>

<ul>
<li>این نرم‌افزار بخشی از ماژول شبکه کی‌دی‌ای است و از این جهت برای نصب در دیگر میزکارها، حدود ۸۰ مگابایت نیز جهت دانلود این ماژول دریافت می‌شود.</li>
</ul>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install kget
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo yum install kget
</code></pre>
</div>

<p>نصب در اوپن سوزه</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo zypper install kget
</code></pre>
</div>


فروردین ۱۰ ۱۳۹۳

۹ ویژگی مهم گنوم ۳٫۱۲

<p>گنوم (Gnome) یکی از میزکارهای معروف گنو/لینوکس است که به‌دلیل داشتن کارایی بالا در عین سادگی یکی از پر استفاده‌ترین میزکارها است و در اکثر توزیع‌ها پشتیبانی می‌شود.</p>

<p>گنوم ۳٫۱۲ هم منتشر شد. آپدیتی که تغییرات مناسب و کارایی با خود به همراه داشته است. با ما باشید تا ۹ ویژگی مهم و کاربردی گنوم ۳٫۱۲ را با هم مرور کنیم.</p>

<h3 id="section">۱- ایجاد پوشه برای اپلیکیشن‌ها</h3>

<p><img src="/assets/images/1.png" alt="1" /></p>

<p>تیم گنوم بالاخره قابلیت ایجاد پوشه برای نرم افزاها در قسمت Activities را فراهم کرد.</p>

<p>با استفاده از این ویژگی کاربر می‌تواند نرم‌افزارهای خود را در پوشه‌های مختلف دسته‌بندی کند. این ویژگی کاملاً شبیه دسته‌بندی نرم‌افزار ها در محیط کاربری Android و iOS است.</p>

<h3 id="section-1">۲- اپلیکیشن ویدئو جدید</h3>

<p><img src="/assets/images/2.jpeg" alt="2" /></p>

<p>اپلیکیشن ویدیو در گنوم سال‌هاست که Totem بوده و ظاهری تقریباً ثابت داشته است. در این نسخه از گنوم این نرم‌افزار به‌طور کلی دوباره طراحی شده است و ظاهری یک‌پارچه‌تر با میزکار دارد. منوی کنترل ویدیو فقط زمانی که به آن نیاز داشته باشید نمایان می‌شود و تقریباً تمام محیط را ویدیو در حال پخش فرا گرفته است.</p>

<p>از دیگر قابلیت‌های این پلیر جدید می‌توان به دسترسی به منابع پخش آنلاین نظیر Guardian Video ،Blip.tv و Apple Movie Trailer اشاره کرد که به‌راحتی می‌توان اکانت خود را با افزونه Pocket ادغام کرد و به این منابع ویدئویی دسترسی داشت.</p>

<h3 id="section-2">۳- پشتیبانی بهتر از صفحات نمایش با رزولوشن بالا</h3>

<p><img src="/assets/images/3-HiDPI.jpeg" alt="3- HiDPI" /></p>

<p>در نسخه ۳٫۱۰ میزکار گنوم شاهد پشتیبانی از صفحات با رزولوشن بالا یا به اصطلاح HiDPI نظیر MacBook Retina بودیم. در این نسخه علاوه بر پشتیبانی بهتر، شاهد بهبود در نمایش نرم‌افزار در قسمت Activities هستیم که ظاهری بهتر به Icon و همچنین صفحه قفل (Lock Screen) و System Dialog داده است.</p>

<h3 id="software-center-">۴- مرکز نرم‌افزاری (Software Center) کامل‌تر</h3>

<p><img src="/assets/images/4-gnome-software.png" alt="gnome software" /></p>

<p>مرکز نرم افزاری گنوم که در نسخه‌های قبل منتشر شد گام اولیه برای ایجاد محیط راحت و مناسب برای دسترسی به تمام نرم افزارهای ارائه شده برای سیستم بود. اما مشکل نبود پیش‌نمایش از محیط نرم‌افزار و دیگری، کمبود قسمت آپدیت، همچنان مانع مفید و کارا بودن آن می‌شد. در این نسخه علاوه بر پوشش و اضافه کردن این دو قابلیت، سرعت و عمل‌کرد به‌طور چشمگیری بهبود یافته است. هم‌چنین امکان خاموش شدن سیستم پس از دریافت و نصب بسته بروزرسانی نیز مهیا شده است.</p>

<h3 id="photo">۵- بهبود اپلیکیشن Photo</h3>

<p><img src="/assets/images/5-Gnome-Photo.jpeg" alt="Gnome Photo" /></p>

<p>با استفاده از نرم‌افزار جدید Photo شما علاوه بر دستیابی و مدیریت تصویر روی دستگاه خود، می‌توانید با اتصال به اکانت فیسبوک خودتان تصاویر پروفایلتان را مشاهده و از آن‌ها در دسکتاپ خود استفاده کنید.</p>

<h3 id="popover">۶- منوی Popover</h3>

<p><img src="/assets/images/6-popovers.png" alt="gnome popovers" /></p>

<p>قابلیت و إلمان جدیدی که به گنوم ۳٫۱۲ اضافه شده Popover است. این منو روی محیط برنامه به‌صورت شناور نمایان می‌شود و امکانات مورد نظر را در اختیار قرار می‌دهد. در این نسخه این Popover در Gedit Videos مورد استفاده قرار گرفته است؛ اما با طراحی کاربردی در محیط اپلیکیشن‌های دیگری که با کیت توسع GTK ایجاد می‌شوند شاهد کاربرد بهتر آن در آینده خواهیم بود.</p>

<h3 id="section-3">۷- ترمینال</h3>

<p><img src="/assets/images/7-Terminal.jpeg" alt="Gnome Terminal" /></p>

<p>در این آپدیت، شکستگی خطوط در ترمینال رفع شده و تم تیره بصورت پیش‌فرض برای آن انتخاب شده است.</p>

<h3 id="gedit">۸- طراحی جدید Gedit</h3>

<p><img src="/assets/images/8-Gedit.jpeg" alt="Gedit" /></p>

<p>ظاهر جدید تب‌ها و استفاده از منوی Popover در این آپدیت، مهم‌ترین ویژگی اضافه شده هستند.</p>

<h3 id="wayland">۹- گام بلند به سوی Wayland</h3>

<p><img src="/assets/images/9-Wayland.jpg" alt="Wayland" /></p>

<p>Wayland نسل جدید مدیریت اعمال ورودی و خروجی در گنو/لینوکس است. این تکنولوژی محدودیت‌های X را رفع خواهد کرد و باعث گرافیک بهتر و هم‌چنین امنیت بیشتر نرم‌افزارها می‌شود.</p>

<p>در این نسخه از گنوم پشتیبانی ابتدایی از Wayland به‌عمل آمده است. تیم گنوم قول پشتیبانی کامل‌تر و کوچ به Wayland را در گنوم ۳٫۱۴ داده است.</p>

<p>برای تست می‌توانید از لینک زیر ایمیج تست گنوم ۳٫۱۲ با فدورا را دریافت کنید.</p>

<p>download.gnome.org/misc/promo-usb/gnome-3.12.iso</p>

<p>نظر شما در مورد این تغییرات و بهینه‌سازی‌های این نسخه گنوم چیست؟ نظرات خود را با ما در میان بگذارید.</p>


فروردین ۷ ۱۳۹۳

واین Wine

<p>یکی از مشکلات کاربرانی که به لینوکس مهاجرت می‌کنند از دست رفتن نرم‌افزارهایشان است. اگر چه نرم‌افزارهایی که برای لینوکس نوشته شده جواب‌گوی نیازهای کاربران است و خیلی از نرم‌افزارها، هم برای ویندوز و هم برای لینوکس وجود دارند ولی بعضی از کاربران دوست دارند همان نرم‌افزاری را که در ویندوز استفاده می‌کردند در لینوکس هم داشته باشند و یا هنوز نرم افزار مشابه را نیافته‌اند. همچنین خیلی از بازی‌های کامپیوتری فقط برای ویندوز وجود دارند و کاربران لینوکس نمی‌توانند آن‌ها را اجرا کنند. واین (Wine) نرم‌افزاری است که این محدودیت را از پیش روی کاربران لینوکس برداشته و امکان اجرای تمام نرم‌افزارهای تحت ویندوز را روی لینوکس فراهم می‌آورد.</p>

<p><img src="/assets/images/wine-screenshot-01.jpg" alt="Wine" /></p>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install wine
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo yum install wine
</code></pre>
</div>

<p>نصب در اوپن سوزه</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo zypper install wine
</code></pre>
</div>


فروردین ۳ ۱۳۹۳

آموزش ویدیویی نصب لینوکس مینت

<p>لینوکس مینت یکی از توزیع‌های خوب خانواده گنو/لینوکس است که بر پایه ابونتو و دبیان منتشر می‌شود. این توزیع به دلیل استفاده و نصب آسان و داشتن مرکز برنامه‌های غنی، نظر کاربران تازه‌کار و حرفه‌ای زیادی را به خود جذب کرده است. طرفداران میزکار کی‌دی‌ای نیز که با ابونتو و میزکار یونیتی میانه خوبی نداشتند با پشتیبانی لینوکس مینت از این میزکار جذب این توزیع شده‌اند.</p>

<p>در اینجا آموزش ویدیوی نصب لینوکس مینت ۱۶ به زبان فارسی را می‌توانید مشاهده کنید تا فرآیند نصب هرچه بیشتر برای شما آسان گردد.</p>

<div class="youtube"><iframe width="560" height="420" src="http://www.youtube.com/embed/nRyzpd70BKU?color=white&amp;theme=light"></iframe></div>

<p>این ویدیو توسط دوست عزیزمان در سایت graymind.ir تهیه شده است و با توجه به این‌که فرآیند نصب در VirtualBox انجام می‌شود، آموزش خوبی برای کار با این نرم‌افزار نیز است.</p>

<p>* <a href="http://www.aparat.com/v/EHduB">لینک مشاهده ویدیو از سایت آپارات</a></p>


فروردین ۲ ۱۳۹۳

گیمپ GIMP

<p>گیمپ (GIMP: GNU Image Manipulation Program) برنامه ویرایش تصاویر گنو، یک نرم‌افزار قدرتمند است که امکانات ویرایش تصویر زیادی به صورت لایه‌ای در اختیار کاربران می‌گذارد. این برنامه روی پلتفرم‌های لینوکس، مک و حتی ویندوز قابل استفاده است و جایگزین مناسبی برای ادوبی فتوشاپ است؛ برنامه‌ای رایگان، متن‌باز و شاید بتوان گفت در مواردی قوی‌تر از مشابه آن!</p>

<p><img src="/assets/images/gimp-screenshot-04.png" alt="Gimp" /></p>

<p>گیمپ با داشتن امکانات فراوان و پشتیبانی از انواع فایل‌ها تصویری حتی فایل‌های psd که در فتوشاپ استفاده می‌شوند یکی از ابزارهای مورد علاقه کاربران لینوکس است که به راحتی و به رایگان می‌توانند تصاویر خود را ایجاد، ویرایش و خروجی مورد نظر خود را بگیرند.</p>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo apt-get install gimp
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo yum install gimp
</code></pre>
</div>

<p>نصب در اوپن سوزه</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo zypper install gimp
</code></pre>
</div>


اسفند ۲۸ ۱۳۹۲

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

<p>با پیشرفت تکنولوژی‌های وب، نیاز به داشتن مروگری قدرتمند و به‌روز برای پشتیبانی از آن‌ها، به‌شدت احساس می‌شود. بی‌شک گوگل کروم (Google Chrome) یکی از قدرتمندترین مرورگرهای وب است که کاربران زیادی را جذب خود کرده است و وب‌گردی لذت‌بخشی را برای ما مهیا می‌کند. کاربران لینوکس نیز بعد از موزیلا فایرفاکس که به صورت پیش‌فرض روی اکثر توزیع‌ها نصب است یکی از اولین انتخاب‌هایشان گوگل کروم لینوکس است اما به‌صورت پیش‌فرض کرومیوم در مخازن لینوکس نصب است و برای نصب گوگل کروم می‌توانید از دستورات ادامه این مطلب استفاده کنید.</p>

<p>از مزیت‌های این مرورگر می‌توان به سرعت بالا، تجزیه و نمایش درست صفحات وب، کنترل دسترسی‌های هر صفحه و … اشاره کرد. همچنین با سینک اطلاعاتی مانند بوک‌مارک‌ها در حساب گوگل این امکان را به کاربران می‌دهد که در دستگاه‌های دیگر نیز به اطلاعات خود دسترسی داشته باشند. طراحان وب نیز می‌توانند از ابزارهای توسعه قدرتمند این مروگر استفاده کنند. و در آخر تعداد زیادی از افزونه که امکانات فوق‌العاده‌ای به ما می‌دهند؛ از بازی گرفته تا مدیر دانلود و یا برنامه شبکه‌های اجتماعی و … .</p>

<p>نصب در دبیان، اوبونتو، لینوکس مینت و …</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo add-apt-repository <span class="s1">'deb http://dl.google.com/linux/deb/ stable non-free main'</span>
sudo wget -q -O – https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add –
sudo apt-get update
sudo apt-get install google-chrome-stable
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و … ۳۲ بیتی</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo wget http://linuxihaa.ir/file/redhat/repo/i386/google-chrome.repo -O /etc/yum.repos.d/google-chrome.repo
yum install google-chrome-stable
</code></pre>
</div>

<p>نصب در ردهت، فدورا، CentOs و … ۶۴ بیتی</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>sudo wget http://linuxihaa.ir/file/redhat/repo/x86_64/google-chrome.repo -O /etc/yum.repos.d/google-chrome.repo
yum install google-chrome-stable
</code></pre>
</div>

<p>نصب در اوپن سوزه ۳۲ بیتی</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>zypper ar http://dl.google.com/linux/chrome/rpm/stable/i386 Google-Chrome
zypper ref
zypper <span class="k">in </span>google-chrome-stable
</code></pre>
</div>

<p>نصب در اوپن سوزه ۶۴ بیتی</p>

<div class="language-sh highlighter-rouge"><pre class="highlight"><code>zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
zypper ref
zypper <span class="k">in </span>google-chrome-stable
</code></pre>
</div>