تیر ۳۱ ۱۳۹۳

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

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

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

همان‌طور که گفتم هر توزیع لینوکس برای هدف خاصی تهیه شده است و اصلا هدف گنو/لینوکس هم این است که هر کسی یا گروهی به سلیقه خود توزیعی را سفارشی و استفاده کنند. مثلا برای استفاده در بخش نظامی مسلما کار درست این است که توزیع شخصی از هسته تهیه کنیم و امکانات مورد نیاز را در آن بگنجانیم یا اینکه اگر نیاز به سیستم عاملی داریم که حجم بسیار کمی باید استفاده کند، می‌توانیم از توزیعی مانند Tiny Core استفاده کنیم.

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

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

linux-tree

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

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

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

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

اگر تازه می‌خواهید به لینوکس مهاجرت کنید پیشنهاد من به شما لینوکس مینت (Linux Mint) یا اوبونتو (Ubuntu) است. دیگران فدورا (Fedora) هم پیشنهاد می‌کنند اما من نه! چون ورود با فدورا کمی سخت‌تر از ورود با مینت و اوبونتو است. لینوکس مینت و اوبونتو که هدف اصلی آن‌ها معرفی لینوکس به جهان است و کاربران عادی را بیشتر در نظر دارند، هر دو دارای منابع آموزشی فارسی و لاتین زیادی در سطح اینترنت هستند که تقریبا هیچ وقت شما را بی‌جواب نمی‌گذارند. از طرفی به راحتی اکثر سیستم‌هایی که شما دارید را پشتیبانی می‌کنند و بدون درگیری و به‌راحتی نصب می‌شوند و قابل استفاده هستند. همچنین مرکز برنامه قوی دارند که شامل طیف وسیعی از نرم‌افزارها است و در سطح اینترنت هم برنامه‌های موجود اگر برای لینوکس وجود داشته باشند مطمئن باشید برای اوبونتو و مینت نسخه مخصوص دارند و به راحتی قابل نصب هستند؛ به‌گونه‌ای که اخیرا هنگامی که برای دریافت برنامه‌ای به سایتی می‌روید لیست موجود شامل نسخه ویندوز، مک و اوبونتو (قابل نصب در مینت) است و در مرحله بعد دیگر توزیع‌های لینوکس را هم شاید لیست کرده باشند! (توجه کنید که اگر برنامه‌ای برای لینوکس تهیه شده باشد در هر صورت به روش‌هایی می‌توان در هر توزیعی نصب کرد اما در اینجا منظور من راحتی کار است).

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

البته شما می‌توانید از توزیع‌هایی مانند آریوس (AriOS) استفاده کنند که همان اوبونتو است اما پیکربندی راحت‌تری شامل برنامه‌های مفید، فونت‌های فارسی و … را برای فارسی زبانان مهیا کرده است تا کاربران خیلی راحت‌تر با محیط سیستم عامل جدیدشان آشنا شوند.

خب اگر کاربری هستید که مدتی است از گنو/لینوکس استفاده می‌کنید احتمالا با ویژگی‌های هر توزیع آشنا شده‌اید و خودتان می‌دانید کدام توزیع نیازهای شما را پوشش می‌دهد اما معمولا توزیعی مانند اوپن سوزه (openSUSE) و یا مگیا (میجیا Mageia) برای یک کاربر حرفه‌ای که نمی‌خواهد زیاد هم درگیر باشد مناسب است و پایداری و قدرتشان لحظات شیرینی برای شما می‌سازد!

اگر می‌خواهید فراتر بروید و کمی درگیر شوید توزیع دبیان (Debian) و مخصوصا آرچ لینوکس (Arch Linux) بسیار مناسب هستند و هم در زمان نصب درگیر می‌شوید و بیشتر یاد می‌گیرید و هم بعد از نصب! علاوه بر این می‌توانید توزیع خود را از پایه، آن گونه که دوست دارید شخصی‌سازی کنید؛ به دور از امکانات و بسته‌های اضافی که مورد استفاده شما نیستند.

برای سرور هم توزیع‌های دبیان و سنت او اس (CentOS) با توجه به پایداری، امکانات، امنیت و پشتیبانی بیشتر نرم‌افزارهای تحت وب از این دو توزیع، حرف اول را می‌زنند و اکثر سرورهای لینوکس با آن‌ها راه‌اندازی شده‌اند.

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


تیر ۳۰ ۱۳۹۳

نصب ۸ 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>


تیر ۲۴ ۱۳۹۳

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

<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>


تیر ۲۴ ۱۳۹۳

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>


تیر ۲۱ ۱۳۹۳

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>