شهریور ۷ ۱۳۹۳

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

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

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

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

charset-converter-screenshot-01

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

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

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

sudo add-apt-repository ppa:misamplus/generic
sudo apt-get update
sudo apt-get install charset-converter

برای نصب در دبیان (و دیگر توزیع‌هایی که PPA را پشتیبانی نمی‌کنند) خطوط زیر را به فایل /etc/apt-get/sources.list اضافه کنید.

deb http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main
deb-src http://ppa.launchpad.net/misamplus/generic/ubuntu trusty main

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

sudo apt-get update
sudo apt-get install charset-converter
  • به زودی روش‌هایی جهت نصب در دیگر توزیع‌ها، اضافه خواهم کرد.

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

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

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

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

charset-converter filename encoding [output_filename]

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

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

  • از برتری‌های این برنامه نسبت به دستور iconv داشتن رابط گرافیکی است.

شهریور ۶ ۱۳۹۳

دانلود برنامه انتقال فایل از طریق وای فای

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

 

 

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

برای شما فایل نصب برای انواع سیستم های عامل را قرار داده ایم تا به راحتی از استفاده از آن لذت ببرید :


شهریور ۳ ۱۳۹۳

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

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