<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://narmenj.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://narmenj.github.io/" rel="alternate" type="text/html" /><updated>2024-10-05T11:52:41+00:00</updated><id>https://narmenj.github.io/feed.xml</id><title type="html">Narmenj</title><subtitle>Reza&apos;s blog</subtitle><entry><title type="html">ارائه در لینوکس</title><link href="https://narmenj.github.io/linux/2022/03/17/presentation-with-pandoc.html" rel="alternate" type="text/html" title="ارائه در لینوکس" /><published>2022-03-17T11:56:27+00:00</published><updated>2022-03-17T11:56:27+00:00</updated><id>https://narmenj.github.io/linux/2022/03/17/presentation-with-pandoc</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/03/17/presentation-with-pandoc.html"><![CDATA[<p>برای ارائه در لینوکس، مانند آنچه در ویندوز با پاورپوینت انجام میدهیم و بدون اینکه نیاز به برنامه‌هایی مثل <code class="language-plaintext highlighter-rouge">LibreOffice</code> داشته باشیم و فقط با استفاده از کیبورد و خط دستور، از برنامه همه کاره <code class="language-plaintext highlighter-rouge">pandoc</code> استفاده می‌کنیم. چرا همه کاره! چون با پانداک میتوانید فرمت‌های مختلف اسناد را براحتی به یکدیگر تبدیل کنید.<br />
<!--more-->
البته برای اینکه فایل ارائه‌مان، تم هم داشته باشد به ابزار دیگری بنام <code class="language-plaintext highlighter-rouge">beamer</code> هم نیاز داریم<br />
در دبیان ۱۱ بسته‌های مورد نیاز را با دستور زیر نصب میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt <span class="nb">install </span>texlive-xetex texlive-latex-recommended texlive-lang-arabic pandoc lmodern texlive-fonts-recommended
</code></pre></div></div>
<p>بعد از نصب <code class="language-plaintext highlighter-rouge">pandoc</code> فقط لازم است فایل مقاله یا تحقیقمان را در قالب <code class="language-plaintext highlighter-rouge">markdown</code> نوشته و آن را تبدیل به <code class="language-plaintext highlighter-rouge">pdf</code> کنیم.<br />
فایل نمونه:</p>

<figure class="highlight"><pre><code class="language-markdown" data-lang="markdown"><table class="rouge-table"><tbody><tr><td class="gutter gl"><pre class="lineno">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
</pre></td><td class="code"><pre><span class="nn">---</span>
<span class="na">dir</span><span class="pi">:</span> <span class="s">rtl</span>
<span class="na">mainfont</span><span class="pi">:</span> <span class="s">BNazanin</span>
<span class="na">header-includes</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">\newfontfamily\englishfont{Arial}</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">ارائه در لینوکس</span>
<span class="na">author</span><span class="pi">:</span> <span class="s">رضا رها</span>
<span class="na">theme</span><span class="pi">:</span> <span class="s">Copenhagen</span>
<span class="na">colortheme</span><span class="pi">:</span> <span class="s">spruce</span>
<span class="na">date</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">پنجشنبه 26 اسفند </span><span class="m">1400</span>
<span class="nn">---</span>
<span class="gh"># اسلاید 1</span>
<span class="gu">## لیست  </span>
<span class="p">1.</span> آیتم اول
<span class="p">2.</span> آیتم دوم
<span class="p">3.</span> آیتم سوم

<span class="gh"># اسلاید 2</span>
<span class="gu">## لیست</span>
<span class="p">-</span> آیتم اول
<span class="p">-</span> آیتم دوم
<span class="p">-</span> آیتم سوم

<span class="gh"># اسلاید ۳</span>

<span class="gs">**متن بولد**</span>  
<span class="ge">*متن ایتالیک*</span>  
~~متن خط خورده~~  <span class="sb">


</span><span class="gh"># [English]{lang=en}</span>
متن انگلیسی /: [This is a test !]{lang=en}

<span class="gh"># اسلاید آخر</span>
تصویر  
<span class="p">![</span><span class="nv">sample picture</span><span class="p">](</span><span class="sx">desktop.png</span><span class="p">)</span>
</pre></td></tr></tbody></table></code></pre></figure>

<p>:bulb: برای اینکه بجر فارسی بتوانیم متون انگلیسی هم در کارمان داشته باشیم باید کاری کنیم که پانداک از دو زبان ، همزمان پشتیبانی کند و این کار را با قرار دادن خطوط 4 و 5 انجام میدهیم. در این حالت اگر متنی به زبان انگلیسی تایپ کنیم آن را چپ به راست و صحیح نشان میدهد فقط باید متن انگلیسی را با فرمت خاصی قرار دهیم( خطوط 32 و 33 ). در خط پنج میتوان فونت زبان انگلیسی را نیز به دلخواه تغییر داد.</p>

<p>با دستور پایین آن را به <code class="language-plaintext highlighter-rouge">pdf</code> تبدیل میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>pandoc <span class="nt">--pdf-engine</span><span class="o">=</span>xelatex <span class="nt">-t</span> beamer sample.md <span class="nt">-o</span> sample.pdf
</code></pre></div></div>
<p><a href="https://mpetroff.net/files/beamer-theme-matrix/" target="_blank">لیست</a> تم‌ها و رنگبندی‌های بیمر<br />
<a href="https://mega.nz/file/12h0CKwI#V-LTJ5ogrcOtLUpkLakmMDegwwrfn0nQDRSEv0qiF4I" target="_blank">این</a> هم نتیجه کار</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="pandoc" /><category term="beamer" /><category term="presentation" /><category term="pdf" /><category term="md" /><category term="markdown" /><category term="font" /><category term="bilingual" /><category term="terminal" /><category term="office" /><category term="libreoffice" /><category term="powerpoint" /><category term="لینوکس" /><category term="پانداک" /><category term="ارائه" /><category term="پی دی اف" /><category term="مارک داون" /><category term="فونت" /><category term="دو زبانه" /><category term="خط فرمان" /><category term="آفیس" /><category term="پاورپوینت" /><summary type="html"><![CDATA[برای ارائه در لینوکس، مانند آنچه در ویندوز با پاورپوینت انجام میدهیم و بدون اینکه نیاز به برنامه‌هایی مثل LibreOffice داشته باشیم و فقط با استفاده از کیبورد و خط دستور، از برنامه همه کاره pandoc استفاده می‌کنیم. چرا همه کاره! چون با پانداک میتوانید فرمت‌های مختلف اسناد را براحتی به یکدیگر تبدیل کنید.]]></summary></entry><entry><title type="html">وی مود در بش</title><link href="https://narmenj.github.io/linux/2022/03/10/how-to-use-vi-mode-in-bash.html" rel="alternate" type="text/html" title="وی مود در بش" /><published>2022-03-10T12:03:53+00:00</published><updated>2022-03-10T12:03:53+00:00</updated><id>https://narmenj.github.io/linux/2022/03/10/how-to-use-vi-mode-in-bash</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/03/10/how-to-use-vi-mode-in-bash.html"><![CDATA[<p>احتمالا شما هم مثل من نمیدانستید که میتوان در بش از دستورات وی استفاده کرد. برای اینکار فقط کافیست خط زیر را به انتهای فایل <code class="language-plaintext highlighter-rouge">.bashrc</code> اضافه کنید.</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">set</span> <span class="nt">-o</span> vi
</code></pre></div></div>
<p>و برای اینکه تغییر اعمال شود:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">source</span> ~/.bashrc
</code></pre></div></div>
<p>از این به بعد میتوانید از یکسری از قابلیت‌های ضروری وی در خط فرمان بهره ببرید /:</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="vim" /><category term="vi" /><category term="bash" /><category term="command" /><category term="line" /><category term="tips" /><category term="and" /><category term="tricks" /><category term="لینوکس" /><category term="بش" /><category term="وی" /><category term="ویم" /><category term="فرمان" /><category term="خط" /><category term="ترفندها" /><category term="نکات" /><summary type="html"><![CDATA[احتمالا شما هم مثل من نمیدانستید که میتوان در بش از دستورات وی استفاده کرد. برای اینکار فقط کافیست خط زیر را به انتهای فایل .bashrc اضافه کنید. set -o vi و برای اینکه تغییر اعمال شود: $ source ~/.bashrc از این به بعد میتوانید از یکسری از قابلیت‌های ضروری وی در خط فرمان بهره ببرید /:]]></summary></entry><entry><title type="html">نصب پرینتر lbp2900 در antiX linux 21</title><link href="https://narmenj.github.io/linux/2022/03/05/installing-canon-lbp-2900-in-antix-linux.html" rel="alternate" type="text/html" title="نصب پرینتر lbp2900 در antiX linux 21" /><published>2022-03-05T16:30:43+00:00</published><updated>2022-03-05T16:30:43+00:00</updated><id>https://narmenj.github.io/linux/2022/03/05/installing-canon-lbp-2900-in-antix-linux</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/03/05/installing-canon-lbp-2900-in-antix-linux.html"><![CDATA[<p>در دبیان‌۱۱ نسخه ۳۲ بیتی، بسته libcupsys2 دیگر وجود ندارد و از آنجا که درایور پرینتر lbp2900، در هنگام نصب بسته ذکر شده را جستجو میکند و در صورت نصب نبودن خطا میدهد و نصب درایور را لغو میکند باید جراحی کوچکی انجام داده تا بدون نیاز به این بسته کار نصب ادامه یابد. بعد از این جراحی و نصب درایور، <code class="language-plaintext highlighter-rouge">libcups2</code> جای <code class="language-plaintext highlighter-rouge">libcupsys2</code> را پر میکند و پرینتر بدرستی کار خواهد کرد.<br />
<!--more--></p>

<p>برای شروع، <code class="language-plaintext highlighter-rouge">CUPS</code> را به همراه سایر نیازمندی‌های پرینتر، نصب میکنیم:</p>
<pre><code class="language-`console">$ sudo apt install cups libcups2 libcups2-dev ghostscript libxml2 libpopt0 Libpangox-1.0-dev
</code></pre>
<p>سپس فایل درایور را <a href="https://mega.nz/file/Qy4g1Tha#_1mynZstA4JgLz8ucpW3jYLPQz5AS03UFowxq3o9asU" target="_blank">اینجا</a> دانلود کرده و آن را از حالت فشرده خارج سازید.</p>
<h4 id="تغییر-در-محتویات-درایور">تغییر در محتویات درایور</h4>
<p>پس از استخراج فایل فشرده وارد پوشه زیر شوید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>CAPT_Printer_Driver_for_Linux_V200_uk_EN/Driver/Debian/
</code></pre></div></div>
<p>دو فایل در این مسیر وجود دارد:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="go">cndrvcups-capt_2.00-2_i386.deb
cndrvcups-common_2.00-2_i386.deb
</span></code></pre></div></div>
<p>با دو دستور پایین محتویات فایل دوم را استخراج میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>dpkg-deb <span class="nt">-x</span> cndrvcups-common_2.00-2_i386.deb common
<span class="gp">$</span><span class="w"> </span>dpkg-deb <span class="nt">--control</span> cndrvcups-common_2.00-2_i386.deb
</code></pre></div></div>
<p>حالا باید دو پوشه جدید <code class="language-plaintext highlighter-rouge">common</code> و <code class="language-plaintext highlighter-rouge">DEBIAN</code> را ببینیم.<br />
وارد پوشه <code class="language-plaintext highlighter-rouge">DEBIAN</code> شده و فایل <code class="language-plaintext highlighter-rouge">control</code> را ویرایش میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>DEBIAN
<span class="gp">$</span><span class="w"> </span>nano control
</code></pre></div></div>
<p>خط ششم را ویرایش کرده، <code class="language-plaintext highlighter-rouge">cupsys</code> و <code class="language-plaintext highlighter-rouge">gs-esp</code> را حذف کرده، بجای آنها <code class="language-plaintext highlighter-rouge">libcups2</code> و <code class="language-plaintext highlighter-rouge">ghostscript</code> را قرار میدهیم و فایل را ذخیره میکنیم.<br />
فایل <code class="language-plaintext highlighter-rouge">preinst</code> را هم با دستور زیر خالی میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">echo</span> <span class="o">&gt;</span> preinst
</code></pre></div></div>
<p>اکنون باید پوشه <code class="language-plaintext highlighter-rouge">DEBIAN</code> را به داخل پوشه <code class="language-plaintext highlighter-rouge">common</code> منتقل کنیم.<br />
تقریبا کار جراحی درایور تمام است و فقط باید دوباره آن را به پکیج قابل نصب تبدیل کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>dpkg <span class="nt">-b</span> common cndrvcups-common_2.00-2_i386.deb
</code></pre></div></div>
<h4 id="ادامه-نصب">ادامه نصب</h4>
<p>فایلی که در مرحله قبل ساختیم را به همراه فایل دیگر همراهش، نصب میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>dpkg <span class="nt">-i</span> cndrvcups-common_2.00-2_i386.deb
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>dpkg <span class="nt">-i</span> cndrvcups-capt_2.00-2_i386.deb
</code></pre></div></div>
<p>پرینتر را از نو راه می‌اندازیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>service cups restart
</code></pre></div></div>
<p>افزودن پرینتر و اجرای دیمن آن:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo</span> /usr/sbin/lpadmin <span class="nt">-p</span> LBP2900 <span class="nt">-m</span> CNCUPSLBP2900CAPTK.ppd <span class="nt">-v</span> ccp://localhost:59787 <span class="nt">-E</span>  
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo</span> /usr/sbin/ccpdadmin <span class="nt">-p</span> LBP2900 <span class="nt">-o</span> /dev/usb/lp0
<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>service ccpd start
</code></pre></div></div>
<p>کار نصب درایور به پایان رسیده و حالا وضعیت پرینتر را بررسی میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>captstatusui <span class="nt">-P</span> LBP2900
</code></pre></div></div>
<p>اگر پیام <code class="language-plaintext highlighter-rouge">Ready to print</code> را دیدید، پرینتر بدرستی نصب شده! و اگر خطا داد دستور زیر را اجرا کنید و یا سیستم را دوباره راه‌اندازی کنید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>service ccpd restart
</code></pre></div></div>
<p>اگر بعد از راه‌اندازی مجدد سیستم باز هم پرینتر کار نکرد یک بار دیگر دستور بالا را اجرا کنید.<br />
این روش برای من روی <code class="language-plaintext highlighter-rouge">antiX linux 32 bit</code> جواب داد |:</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="printer" /><category term="antiX" /><category term="32" /><category term="bit" /><category term="driver" /><category term="lbp2900" /><category term="canon" /><category term="cups" /><category term="capt" /><category term="debian" /><category term="daemon" /><category term="service" /><category term="captstatusui" /><category term="print" /><category term="لینوکس" /><category term="پرینتر" /><category term="کنون" /><category term="دبیان" /><category term="دیمن" /><category term="پرینت" /><category term="بیت" /><summary type="html"><![CDATA[در دبیان‌۱۱ نسخه ۳۲ بیتی، بسته libcupsys2 دیگر وجود ندارد و از آنجا که درایور پرینتر lbp2900، در هنگام نصب بسته ذکر شده را جستجو میکند و در صورت نصب نبودن خطا میدهد و نصب درایور را لغو میکند باید جراحی کوچکی انجام داده تا بدون نیاز به این بسته کار نصب ادامه یابد. بعد از این جراحی و نصب درایور، libcups2 جای libcupsys2 را پر میکند و پرینتر بدرستی کار خواهد کرد.]]></summary></entry><entry><title type="html">پاک کردن امن اطلاعات در لینوکس</title><link href="https://narmenj.github.io/linux/2022/02/27/how-to-securely-and-permanently-delete-your-data-in-linux.html" rel="alternate" type="text/html" title="پاک کردن امن اطلاعات در لینوکس" /><published>2022-02-27T06:34:35+00:00</published><updated>2022-02-27T06:34:35+00:00</updated><id>https://narmenj.github.io/linux/2022/02/27/how-to-securely-and-permanently-delete-your-data-in-linux</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/02/27/how-to-securely-and-permanently-delete-your-data-in-linux.html"><![CDATA[<h4 id="پاک-کردن-امن-اطلاعات-از-هارد-دیسک">پاک کردن امن اطلاعات از هارد دیسک</h4>
<p>نکته :bulb: : این روش فقط برای هارد دیسک معمولی استفاده می‌شود برای <abbr title="Solid State Drive">SSD</abbr> هرگز از این دستورات استفاده نکنید زیرا باعث کوتاه شدن عمر آن میشود.</p>

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

<p>من برای اینکه فایل‌ها و پوشه‌ها را بصورت دائم پاک کنم بصورتی که دیگر قابل بازیافت نباشند از دستور <code class="language-plaintext highlighter-rouge">shred</code> به این صورت استفاده میکنم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo shred</span> <span class="nt">-zvu</span> <span class="nt">-n</span>  5 /path/to/file
</code></pre></div></div>
<p>در این مثال فایل <code class="language-plaintext highlighter-rouge">file</code> در مسیر <code class="language-plaintext highlighter-rouge">/path/to/</code> را با دستور <code class="language-plaintext highlighter-rouge">shred</code> و با آپشن <code class="language-plaintext highlighter-rouge">n</code>، پنج مرتبه بازنویسی کردیم. هر چه تعداد این بازنویسی‌ها بیشتر باشد اطمینان بیشتری به غیرقابل ریکاوری شدن فایل خواهیم داشت.<br />
:bulb: از نظر تئوری با یک دفعه بازنویسی، دیتا باید غیر قابل ریکاوری شود ولی هد هارددیسک خطا دارد و برای اطمینان باید چندین مرتبه عمل بازنویسی را تکرار کرد.</p>

<p>برای پاک کردن امن یک پارتیشن هم از این استفاده میکنم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo shred</span> <span class="nt">-zvu</span> <span class="nt">-n</span> 10 /dev/sdbx
</code></pre></div></div>
<p>در دستور بالا فقط پارتیشن <code class="language-plaintext highlighter-rouge">/dev/sdbx</code> پاک شد اگر میخواهید کل درایو را پاک کنید، <code class="language-plaintext highlighter-rouge">/dev/sdb</code> را جایگزین کنید.</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="secure" /><category term="permanent" /><category term="data" /><category term="delete" /><category term="shred" /><category term="SSD" /><category term="HDD" /><category term="hard" /><category term="disk" /><category term="pointer" /><category term="sector" /><category term="recovery" /><category term="rewrite" /><category term="remove" /><category term="لینوکس" /><category term="امن" /><category term="پاک" /><category term="هارد" /><category term="دیسک" /><category term="سکتور" /><category term="ریکاوری" /><category term="بازنویسی" /><category term="حذف" /><summary type="html"><![CDATA[پاک کردن امن اطلاعات از هارد دیسک نکته :bulb: : این روش فقط برای هارد دیسک معمولی استفاده می‌شود برای SSD هرگز از این دستورات استفاده نکنید زیرا باعث کوتاه شدن عمر آن میشود. پاک کردن عادی فایل‌ها و پوشه‌ها از روی هارد، آنها را برای همیشه حذف نمیکند. در واقع فقط اشاره‌گری که به آن سکتورها از هارد اشاره میکند را حذف میکند و خود سکتورها با اطلاعات موجودشان دست نخورده باقی می‌مانند که توسط ابزارهای ریکاوری قابل بازیافت هستند.]]></summary></entry><entry><title type="html">نمایش تعداد ایمیل‌های جدید در کانکی</title><link href="https://narmenj.github.io/linux/2022/02/10/how-to-display-number-of-new-emails-in-conky.html" rel="alternate" type="text/html" title="نمایش تعداد ایمیل‌های جدید در کانکی" /><published>2022-02-10T13:51:05+00:00</published><updated>2022-02-10T13:51:05+00:00</updated><id>https://narmenj.github.io/linux/2022/02/10/how-to-display-number-of-new-emails-in-conky</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/02/10/how-to-display-number-of-new-emails-in-conky.html"><![CDATA[<p>برای این که در کانکی تعداد ایمیل‌های جدید را ببینیم، ابتدا فایلی با محتوای زیر و با نام دلخواه مثلا <code class="language-plaintext highlighter-rouge">checkmail.py</code> میسازیم: (یوزرنیم و پسورد خود را در آن جایگزین میکنیم)
<!--more--></p>
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">#!/usr/bin/env python3
</span><span class="kn">import</span> <span class="nn">imaplib</span>
<span class="kn">import</span> <span class="nn">re</span>

<span class="c1"># Enter your account details:
</span><span class="n">imapServer</span> <span class="o">=</span> <span class="s">"imap.gmail.com"</span>
<span class="n">port</span> <span class="o">=</span> <span class="s">"993"</span>
<span class="n">username</span> <span class="o">=</span> <span class="s">"username@gmail.com"</span>
<span class="n">password</span> <span class="o">=</span> <span class="s">"password"</span>
<span class="c1">#
</span><span class="n">Mailbox</span> <span class="o">=</span> <span class="n">imaplib</span><span class="p">.</span><span class="n">IMAP4_SSL</span><span class="p">(</span><span class="n">imapServer</span><span class="p">,</span> <span class="n">port</span><span class="p">)</span>
<span class="n">rc</span><span class="p">,</span> <span class="n">resp</span> <span class="o">=</span> <span class="n">Mailbox</span><span class="p">.</span><span class="n">login</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">password</span><span class="p">)</span>
<span class="k">if</span> <span class="n">rc</span> <span class="o">==</span> <span class="s">"OK"</span><span class="p">:</span>
    <span class="k">print</span><span class="p">(</span><span class="s">"Connected to"</span><span class="p">,</span> <span class="n">imapServer</span><span class="p">)</span>
    <span class="n">rc</span><span class="p">,</span> <span class="n">message</span> <span class="o">=</span> <span class="n">Mailbox</span><span class="p">.</span><span class="n">status</span><span class="p">(</span><span class="s">"INBOX"</span><span class="p">,</span> <span class="s">"(UNSEEN)"</span><span class="p">)</span>
    <span class="n">unreadCount</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">re</span><span class="p">.</span><span class="n">search</span><span class="p">(</span><span class="s">"UNSEEN (\d+)"</span><span class="p">,</span><span class="nb">str</span><span class="p">(</span><span class="n">message</span><span class="p">[</span><span class="mi">0</span><span class="p">])).</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span>
    <span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">"/tmp/mailnotify.txt"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span>
    <span class="n">f</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">unreadCount</span><span class="p">))</span>
    <span class="n">f</span><span class="p">.</span><span class="n">close</span>
<span class="k">else</span><span class="p">:</span>
    <span class="k">print</span><span class="p">(</span><span class="s">"Connection failed!"</span><span class="p">)</span>

<span class="n">Mailbox</span><span class="p">.</span><span class="n">logout</span><span class="p">()</span>
</code></pre></div></div>
<p>همانطور که مشخص است این اسکریپت پایتون، تعداد ایمیل‌های جدید را در فایلی در مسیر <code class="language-plaintext highlighter-rouge">/tmp/mailnotify.txt</code> ذخیره میکند.<br />
احتمالا نیاز خواهید داشت تا تنظیماتی در اکانت جیمیل‌تان انجام دهید تا این اسکریپت بدرستی کار کند و در  هنگام لاگین شدن به سرور گوگل، خطا ندهد.<br />
پس به <a href="https://myaccount.google.com/lesssecureapps" target="_blank">این آدرس</a> رفته و اجازه دسترسی را روشن کنید.<br />
برای اینکه اسکریپت بالا هر پنج دقیقه اجرا شود و ایمیل‌های جدید را نشان دهد باید آن را به <code class="language-plaintext highlighter-rouge">cron</code> اضافه کنیم. برای این کار هم دستور پایین را زده:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>crontab <span class="nt">-e</span>
</code></pre></div></div>
<p>و خط زیر را به آن اضافه میکنیم:</p>
<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code>*/<span class="m">5</span> * * * *  /<span class="n">path</span>/<span class="n">to</span>/<span class="n">checkmail</span>.<span class="n">py</span>
</code></pre></div></div>
<p>حالا فقط باید  تغییراتی در فایل کانفیگ کانکی بدهیم. برای این کار آن را باز کرده و چیزی شبیه به این را به آن اضافه میکنیم:</p>
<div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="n">Mail</span> ${<span class="n">execpi</span> <span class="m">300</span> <span class="n">cat</span> /<span class="n">tmp</span>/<span class="n">mailnotify</span>.<span class="n">txt</span>}
</code></pre></div></div>
<p>و تمام /:</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="email" /><category term="conky" /><category term="python" /><category term="script" /><category term="notify" /><category term="check" /><category term="cron" /><category term="crontab" /><category term="gmail" /><category term="login" /><category term="google" /><category term="password" /><category term="لینوکس" /><category term="ایمیل" /><category term="کانکی" /><category term="پایتون" /><category term="اسکریپت" /><category term="جیمیل" /><category term="لاگین" /><category term="گوگل" /><category term="پسورد" /><summary type="html"><![CDATA[برای این که در کانکی تعداد ایمیل‌های جدید را ببینیم، ابتدا فایلی با محتوای زیر و با نام دلخواه مثلا checkmail.py میسازیم: (یوزرنیم و پسورد خود را در آن جایگزین میکنیم)]]></summary></entry><entry><title type="html">هک پسوردها در لینوکس</title><link href="https://narmenj.github.io/linux/2022/01/23/how-to-crack-passwords-with-john-the-ripper.html" rel="alternate" type="text/html" title="هک پسوردها در لینوکس" /><published>2022-01-23T05:03:17+00:00</published><updated>2022-01-23T05:03:17+00:00</updated><id>https://narmenj.github.io/linux/2022/01/23/how-to-crack-passwords-with-john-the-ripper</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/01/23/how-to-crack-passwords-with-john-the-ripper.html"><![CDATA[<p>برای پیدا کردن پسورد فایل‌‌ها، روش‌ها و ابزارهای مختلف زیادی وجود دارد که در این مطلب یکی از آن‌ها را بررسی میکنیم.<br />
<code class="language-plaintext highlighter-rouge">john the ripper</code> ابزار هک پسورد رایگانی‌ست که ابتدا برای سیستم‌عامل یونیکس ساخته شد ولی اکنون روی اکثر سیستم‌عامل‌ها از جمله یونیکس، لینوکس، داس و ویندوز قابل اجراست. کار اصلی آن پیدا کردن پسوردهای نه چندان قوی است.</p>

<p>این ابزار از چندین روش مختلف از جمله <code class="language-plaintext highlighter-rouge">Dictionary attack</code> و <code class="language-plaintext highlighter-rouge">brute force attack</code> برای هک پسورد استفاده میکند.
<!--more--></p>
<h4 id="نصب">نصب</h4>

<p>در آرچ لینوکس میتوانید آن را با پکمن نصب کنید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>pacman <span class="nt">-S</span> john
</code></pre></div></div>
<h4 id="هک-پسورد-کاربری">هک پسورد کاربری</h4>
<p>لینوکس پسورد کاربری را در فایل <code class="language-plaintext highlighter-rouge">/etc/shadow</code> ذخیره میکند. پس برای پیدا کردن پسور کاربری لینوکس دستور زیر را میزنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>john /etc/shadow
</code></pre></div></div>
<p>که بسته به قوی یا ضعیف بودن پسوردها مدتی زمان می‌برد.</p>
<h4 id="hashed-password">hashed password</h4>
<p>یافتن پسوردهای هش شده :<br />
برای مثال ابتدا یک فایل با پسورد هش شده از نوع <code class="language-plaintext highlighter-rouge">MD5</code> میسازیم و آن را در فایل <code class="language-plaintext highlighter-rouge">~/password.txt</code> ذخیره میکنیم.</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span>
<span class="gp">$</span><span class="w"> </span><span class="nb">echo</span> <span class="nt">-n</span> <span class="s1">'12345678'</span> | <span class="nb">md5sum</span> | <span class="nb">awk</span> <span class="s1">'{print $1}'</span> <span class="o">&gt;</span> password.txt
</code></pre></div></div>
<p>سپس به روش زیر این فایل نمونه را رمزگشایی میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span>
<span class="gp">$</span><span class="w"> </span>john <span class="nt">-format</span><span class="o">=</span>raw-md5 password.txt
</code></pre></div></div>
<p>از آنجایی که از یک پسورد ضعیف برای مثال ذکر شده در بالا استفاده کردیم، رمزگشایی از آن زمان زیادی نمی‌برد ولی در مورد پسوردهای قویتر باید بیشتر صبر کنیم.</p>
<h4 id="فایلهای-فشرده-ziprar">فایل‌های فشرده zip/rar</h4>
<p>برای پیدا کردن پسورد فایلهای فشرده zip یا rar هم به روش زیر عمل می‌کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>zip2john /path/to/file.zip <span class="o">&gt;</span> /path/to/pass.txt
</code></pre></div></div>
<p>فایل <code class="language-plaintext highlighter-rouge">pass.txt</code> فایلی است که پسورد را در آن ذخیره میکند ولی بصورت هش شده که باید آن را از حالت هش خارج و خوانا کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>john /path/to/pass.txt
</code></pre></div></div>
<p>برای فایل‌های فشرده <code class="language-plaintext highlighter-rouge">rar</code> هم به همین شکل انجام می‌شود و فقط باید <code class="language-plaintext highlighter-rouge">rar2john</code> را بزنیم.
بعد از هک شدن پسورد مورد نظر برای دیدن آن هم از آپشن <code class="language-plaintext highlighter-rouge">-show</code> استفاده کنید.</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="hack" /><category term="password" /><category term="john" /><category term="the" /><category term="ripper" /><category term="dictionary" /><category term="attack" /><category term="brute" /><category term="force" /><category term="arch" /><category term="hashed" /><category term="MD5" /><category term="awk" /><category term="zip2john" /><category term="rar2john" /><category term="rar" /><category term="zip" /><category term="لینوکس" /><category term="آرچ" /><category term="هک" /><category term="پسورد" /><category term="هش" /><category term="زیپ" /><category term="فشرده" /><summary type="html"><![CDATA[برای پیدا کردن پسورد فایل‌‌ها، روش‌ها و ابزارهای مختلف زیادی وجود دارد که در این مطلب یکی از آن‌ها را بررسی میکنیم. john the ripper ابزار هک پسورد رایگانی‌ست که ابتدا برای سیستم‌عامل یونیکس ساخته شد ولی اکنون روی اکثر سیستم‌عامل‌ها از جمله یونیکس، لینوکس، داس و ویندوز قابل اجراست. کار اصلی آن پیدا کردن پسوردهای نه چندان قوی است. این ابزار از چندین روش مختلف از جمله Dictionary attack و brute force attack برای هک پسورد استفاده میکند.]]></summary></entry><entry><title type="html">مدیریت دات‌فایل‌ها با stow</title><link href="https://narmenj.github.io/linux/2022/01/11/how-to-manage-dotfiles-with-stow.html" rel="alternate" type="text/html" title="مدیریت دات‌فایل‌ها با stow" /><published>2022-01-11T07:46:55+00:00</published><updated>2022-01-11T07:46:55+00:00</updated><id>https://narmenj.github.io/linux/2022/01/11/how-to-manage-dotfiles-with-stow</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/01/11/how-to-manage-dotfiles-with-stow.html"><![CDATA[<p>دات‌فایل‌ها، فایل‌های متنی هستند که برای پیکربندی و تنظیمات برنامه‌هایی که روی ترمینال اجرا میکنید، استفاده می‌شوند. آنها در دایرکتوری <code class="language-plaintext highlighter-rouge">$HOME</code> شما قرار دارند و مثلا تعیین میکنند که ویرایشگر متون‌تان از چه رنگ بندی استفاده کند.<br />
وقتی به کامپیوتر دیگری میروید، داشتن آنها بروی مخزنی در <code class="language-plaintext highlighter-rouge">git</code> کمک زیادی خواهند بود تا براحتی بدون نیاز به ویرایش تک تک شان، آنها را یکجا به سیستم جدید منتقل کنید.
<!--more--></p>

<p><a href="https://github.com/search?q=dotfile+manager" target="_blank">دات‌فایل منیجرهای</a> زیادی وجود دارند که به زبان‌های مختلفی نوشته شده‌اند، در اصل همه آنها با ایجاد سیم‌لینک به دات‌فایل‌ها در <code class="language-plaintext highlighter-rouge">home directory</code> کار میکنند و واقعا برای همچین چیزی ساده‌ای (لینک کردن فایل‌ها و پوشه‌ها) نیاز به استفاده از یک دات‌فایل منیجر نداریم |:</p>
<h4 id="مخزن-گیت">مخزن گیت</h4>
<p>در ابتدا یک مخزن گیت میسازیم و یک دات‌فایل ساده را درون آن قرار میدهیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">mkdir</span> ~/.dotfiles
<span class="gp">$</span><span class="w"> </span><span class="nb">cd</span> ~/.dotfiles
<span class="gp">$</span><span class="w"> </span>git init
<span class="gp">$</span><span class="w"> </span>git remote add origin <span class="o">[</span>repo-url]
<span class="gp">$</span><span class="w"> </span><span class="nb">echo</span> <span class="s2">"this is a dotfile."</span> <span class="o">&gt;</span> .mydotfile
<span class="gp">$</span><span class="w"> </span>git add <span class="nt">--all</span>
<span class="gp">$</span><span class="w"> </span>git commit <span class="nt">-m</span> <span class="s2">"my dotfiles repository"</span>
<span class="gp">$</span><span class="w"> </span>git push <span class="nt">-u</span> origin master
</code></pre></div></div>
<p>حالا ما یک مخزن داریم با یک دات‌فایل نمونه درون آن و فقط باید یک سیم‌لینک به <code class="language-plaintext highlighter-rouge">home directory</code> برایش بسازیم.</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span>
<span class="gp">$</span><span class="w"> </span><span class="nb">ln</span> <span class="nt">-s</span> .dotfiles/.mydotfile .mydotfile
</code></pre></div></div>
<p>به این ترتیب سیم‌لینکی با نام <code class="language-plaintext highlighter-rouge">.mydotfile</code> که به فایلی با همان نام در مخزن دات‌فایل‌ها ساختیم، ایجاد کردیم. میتواینم این سیم‌لینک را باز کرده و ویرایش کنیم همان طور که فایل اصلی را ویرایش میکردیم و با ویرایش این سیم‌لینک، فایل اصلی نیز تغییر میکند ولی اگر سیم‌لینک را پاک کنیم، فایل اصلی حذف نمیشود و باقی می‌ماند.<br />
اساسا هدف از ساخت مخزن دات‌فایل‌ها همین است ولی اگر تعداد دات‌فایل‌هایتان زیاد باشد، سیم‌لینک کردن تک تک آنها دردسر است و وقت زیادی از ما میگیرد و در ضمن امکان این که دستوری را اشتباه زده و خطایی ایجاد کنیم زیاد است. یک راه حل اینست که اسکریپتی بسازیم تا این کار را برایمان انجام دهد ولی راه حل بهتری هم وجود دارد:</p>
<h4 id="gnu-stow">GNU Stow</h4>
<p><code class="language-plaintext highlighter-rouge">stow</code> در واقع یک مدیر لینک است که فایلها و پکیج‌های نرم افزاری مختلف را که درپوشه‌هایی با آدرس‌های مختلف قرار دارند را بگونه‌ای لینک میکند که در یک مکان بنظر برسند.(تعریف واضحی نیست)<br />
برای روشن شدن بهتر کار با یک مثال ادامه میدهیم:<br />
فرض کنید در آدرس <code class="language-plaintext highlighter-rouge">~/.dotfiles</code> بالایی هستیم با این تفاوت که تعدادی دات‌فایل دیگر هم به آن اضافه کردیم.
دستور <code class="language-plaintext highlighter-rouge">tree -a</code> ساختار درخت گونه ای از محتوای پوشه <code class="language-plaintext highlighter-rouge">.dotfiles</code> با فایل‌های مخفی درونش را به ما نشان میدهد:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>tree <span class="nt">-a</span> ~/.dotfiles
<span class="c">.
</span><span class="go">├── bash
│   ├── .bashrc
│   └── .bash_profile
└── vim
    └── .vimrc
</span></code></pre></div></div>
<p>حالا ما تعدادی دات‌فایل واقعی در این پوشه داریم. تعدادی برای <code class="language-plaintext highlighter-rouge">bash shell</code> و یکی هم برای ویرایشگر <code class="language-plaintext highlighter-rouge">vim</code> داریم.<br />
برای سیم‌لینک کردن این دات‌فایل‌ها میتوانیم آنها را به روش بالاتر بصورت دستی سیم‌لینک کنیم یا راه حل ساده‌تر را استفاده کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span> ~/.dotfiles
<span class="gp">$</span><span class="w"> </span>stow vim
</code></pre></div></div>
<h4 id="چه-اتفاقی-افتاد">چه اتفاقی افتاد</h4>
<ol>
  <li>ما دستور <code class="language-plaintext highlighter-rouge">stow vim</code> را اجرا کردیم.</li>
  <li><code class="language-plaintext highlighter-rouge">stow</code> فایل <code class="language-plaintext highlighter-rouge">.vimrc</code> را یافته</li>
  <li>سیم‌لینکی به این فایل در یک پوشه بالاتر به آن ایجاد کرده است و حالا ما یک سیم‌لینک به فایل <code class="language-plaintext highlighter-rouge">~/.dotfiles/vim/.vimrc</code> در <code class="language-plaintext highlighter-rouge">home directory</code> به این آدرس <code class="language-plaintext highlighter-rouge">~/.vimrc</code> داریم.</li>
</ol>

<p>برای واضح تر شدن اگر بخواهیم برای <code class="language-plaintext highlighter-rouge">openbox</code> همین کار را انجام دهیم. باید پوشه <code class="language-plaintext highlighter-rouge">openbox</code> را به این آدرس منتقل کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="go">~/.dotfiles/openbox/.config/openbox
</span></code></pre></div></div>
<p>و با اجرای دستور زیر آن را سیم‌لینک کنیم</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span> ~/.dotfiles
<span class="gp">$</span><span class="w"> </span>stow openbox
</code></pre></div></div>
<p>و سیم‌لینکی در آدرس <code class="language-plaintext highlighter-rouge">~/.config/openbox</code> به پوشه <code class="language-plaintext highlighter-rouge">~/.dotfiles/openbox/.config/openbox</code> ساخته میشود.</p>

<p>از این به بعد نیازی نیست با رفتن پای یک کامپیوتر دیگر تک تک دات‌فایل‌هایتان را ویرایش کنید یا آنها را یک به یک سیم‌لینک کنید، با <code class="language-plaintext highlighter-rouge">stow *</code> در یک زمان همه آنها را سیم‌لینک کرده و فایل‌های‌تان را در یک حرکت و یکجا بازگردانید.</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="dotfile" /><category term="stow" /><category term="manager" /><category term="git" /><category term="repository" /><category term="remote" /><category term="origin" /><category term="init" /><category term="commit" /><category term="push" /><category term="pull" /><category term="symlink" /><category term="GNU" /><category term="tree" /><category term="bash" /><category term="shell" /><category term="openbox" /><category term="لینوکس" /><category term="دات" /><category term="فایل" /><category term="مدیر" /><category term="مخزن" /><category term="گیت" /><category term="سیم" /><category term="لینک" /><category term="بش" /><category term="شل" /><summary type="html"><![CDATA[دات‌فایل‌ها، فایل‌های متنی هستند که برای پیکربندی و تنظیمات برنامه‌هایی که روی ترمینال اجرا میکنید، استفاده می‌شوند. آنها در دایرکتوری $HOME شما قرار دارند و مثلا تعیین میکنند که ویرایشگر متون‌تان از چه رنگ بندی استفاده کند. وقتی به کامپیوتر دیگری میروید، داشتن آنها بروی مخزنی در git کمک زیادی خواهند بود تا براحتی بدون نیاز به ویرایش تک تک شان، آنها را یکجا به سیستم جدید منتقل کنید.]]></summary></entry><entry><title type="html">رمزگذاری روی پوشه‌ها با encfs در لینوکس</title><link href="https://narmenj.github.io/linux/2022/01/09/encrypt-your-data-with-encfs.html" rel="alternate" type="text/html" title="رمزگذاری روی پوشه‌ها با encfs در لینوکس" /><published>2022-01-09T04:38:33+00:00</published><updated>2022-01-09T04:38:33+00:00</updated><id>https://narmenj.github.io/linux/2022/01/09/encrypt-your-data-with-encfs</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/01/09/encrypt-your-data-with-encfs.html"><![CDATA[<p>حتما شما هم روی هارد اکسترنال یا مموری کارت و فلش درایو‌هایتان اطلاعات حساسی دارید که نمی‌خواهید بدست دیگران بیفتد ولی از آنجا که همیشه احتمال گم شدن یا دزدیده شدن شان وجود دارد، بهتر است داده‌های مهمی مثل عکس‌‌ها و فیلم‌های خانوادگی را رمزگذاری کنید تا خیالتان از این بابت اندکی راحت شود.<br />
<!--more-->
برای رمزگذاری روی فایلها و پوشه‌ها در لینوکس میتوان از <code class="language-plaintext highlighter-rouge">encfs</code> استفاده کرد.
به این صورت که ابتدا آن را نصب می‌کنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>pacman <span class="nt">-S</span> encfs fuse
</code></pre></div></div>
<p>و با دستورات پایین پوشه <code class="language-plaintext highlighter-rouge">~/.encrypted</code> را ساخته و قفلش میکنیم در حالی که پوشه <code class="language-plaintext highlighter-rouge">~/decrypted</code> برای باز کردن قفل و دخل و تصرف در داده‌هاست.<br />
ابتدا این دو پوشه را می‌سازیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">mkdir</span> ~/.encrypted
<span class="gp">$</span><span class="w"> </span><span class="nb">mkdir</span> ~/decrypted
</code></pre></div></div>
<p>با اجرای دستور زیر <code class="language-plaintext highlighter-rouge">encfs</code> از ما می‌خواهد حالت رمزگذاری را تعیین کنیم که توصیه میشود <code class="language-plaintext highlighter-rouge">paranoia</code> را با زدن <code class="language-plaintext highlighter-rouge">p</code> انتخاب کنید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>encfs ~/.encrypted ~/decrypted
</code></pre></div></div>
<p>برای پیاده کردن (unmount)، از این استفاده میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>fusermount <span class="nt">-u</span> ~/decrypted
</code></pre></div></div>
<p>برای سوارکردن مجدد هم از دو دستور بالاتر استفاده می‌کنیم و رمزی که داده بودیم را وارد می‌کنیم.<br />
و با این یکی پسورد را تغییر می‌دهیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>encfsctl passwd ~/.encrypted
</code></pre></div></div>
<p>اگر می‌خواهید از <abbr title="Graphical user interface">gui</abbr> استفاده کنید در آرچ لینوکس این بسته را نیز نصب کنید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>yay <span class="nt">-S</span>  gnome-encfs-manager-bin
</code></pre></div></div>
<p>و به همین ترتیب میتوانید روی داده‌هایتان در هارداکسترنال و فلش درایوها، رمزگذاری کنید.</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="encfs" /><category term="encryption" /><category term="pendrive" /><category term="memory" /><category term="hdd" /><category term="hard" /><category term="external" /><category term="unmount" /><category term="password" /><category term="GUI" /><category term="data" /><category term="لینوکس" /><category term="رمزگذاری" /><category term="فلش" /><category term="درایو" /><category term="هارد" /><category term="دیسک" /><category term="اکسترنال" /><category term="پسورد" /><category term="اطلاعات" /><category term="رابط" /><category term="کاربری" /><category term="گرافیکی" /><summary type="html"><![CDATA[حتما شما هم روی هارد اکسترنال یا مموری کارت و فلش درایو‌هایتان اطلاعات حساسی دارید که نمی‌خواهید بدست دیگران بیفتد ولی از آنجا که همیشه احتمال گم شدن یا دزدیده شدن شان وجود دارد، بهتر است داده‌های مهمی مثل عکس‌‌ها و فیلم‌های خانوادگی را رمزگذاری کنید تا خیالتان از این بابت اندکی راحت شود.]]></summary></entry><entry><title type="html">راه‌اندازی سیستم از طریق usb در سیستم‌های قدیمی</title><link href="https://narmenj.github.io/linux/2022/01/08/boot-from-usb-without-bios-suport.html" rel="alternate" type="text/html" title="راه‌اندازی سیستم از طریق usb در سیستم‌های قدیمی" /><published>2022-01-08T05:25:57+00:00</published><updated>2022-01-08T05:25:57+00:00</updated><id>https://narmenj.github.io/linux/2022/01/08/boot-from-usb-without-bios-suport</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/01/08/boot-from-usb-without-bios-suport.html"><![CDATA[<p>برای سیستم‌ قدیمی‌ام که فاقد گزینه بوت از طریق <code class="language-plaintext highlighter-rouge">usb</code> است راه حل جالبی پیدا کردم<br />
چند وقت پیش که کامپیوتر قدیمی‌ام را دوباره راه انداختم، برای نصب لینوکس در آن با مشکلی مواجه شدم. <code class="language-plaintext highlighter-rouge">cd-rom</code> سیستمم قدیمی بود و با سی دی های خش دار عمل نمی‌کرد و حتما باید لینوکس را روی سی دی جدید رایت می‌کردم تا کار کند. از طرفی اکثر توزیع‌های لینوکس حجمی بالاتر از ظرفیت سی دی داشتند و نهایتا مجبور شدم <code class="language-plaintext highlighter-rouge">antiX</code> آن هم نسخه <code class="language-plaintext highlighter-rouge">core</code> را که حجم کمی داشت نصب کنم.<br />
<!--more-->
ولی با کمی جستجو، <code class="language-plaintext highlighter-rouge">PLoP Boot Manager</code> را پیدا کردم که امکان بوت سیستم از <code class="language-plaintext highlighter-rouge">usb</code> را برای کامپیوترهای قدیمی که چنین امکانی در بایوس ندارند، فراهم میکند. برای کار با آن باید ابتدا سی دی بوت <code class="language-plaintext highlighter-rouge">plop</code> را بسازید و کامپپیوتر را از طریق سی دی بالا بیاورید:</p>
<ol>
  <li><code class="language-plaintext highlighter-rouge">plop</code> را از <a href="https://download.plop.at/files/bootmngr/plpbt-5.0.15.zip">اینجا</a> دانلود کنید و آن را از حالت فشرده خارج کنید.</li>
  <li><code class="language-plaintext highlighter-rouge">plpbt.iso</code> را روی سی دی خام رایت کنید<br />
ابتدا رایتر را پیدا میکنیم:
    <div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>lsblk
</code></pre></div>    </div>
    <p>در این مورد:</p>
    <div class="language-conf highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">NAME</span>   <span class="n">MAJ</span>:<span class="n">MIN</span> <span class="n">RM</span>   <span class="n">SIZE</span> <span class="n">RO</span> <span class="n">TYPE</span> <span class="n">MOUNTPOINTS</span>
<span class="n">fd0</span>      <span class="m">2</span>:<span class="m">0</span>    <span class="m">1</span>     <span class="m">4</span><span class="n">K</span>  <span class="m">0</span> <span class="n">disk</span>
<span class="n">sda</span>      <span class="m">8</span>:<span class="m">0</span>    <span class="m">0</span> <span class="m">223</span>.<span class="m">6</span><span class="n">G</span>  <span class="m">0</span> <span class="n">disk</span>
├─<span class="n">sda1</span>   <span class="m">8</span>:<span class="m">1</span>    <span class="m">0</span>    <span class="m">45</span><span class="n">G</span>  <span class="m">0</span> <span class="n">part</span> /
├─<span class="n">sda2</span>   <span class="m">8</span>:<span class="m">2</span>    <span class="m">0</span>     <span class="m">8</span><span class="n">G</span>  <span class="m">0</span> <span class="n">part</span> [<span class="n">SWAP</span>]
└─<span class="n">sda3</span>   <span class="m">8</span>:<span class="m">3</span>    <span class="m">0</span> <span class="m">170</span>.<span class="m">6</span><span class="n">G</span>  <span class="m">0</span> <span class="n">part</span> /<span class="n">home</span>
<span class="n">sr0</span>     <span class="m">11</span>:<span class="m">0</span>    <span class="m">1</span>     <span class="m">2</span><span class="n">K</span>  <span class="m">0</span> <span class="n">rom</span>
</code></pre></div>    </div>
    <p>رایتر <code class="language-plaintext highlighter-rouge">sr0</code> است.
سپس با دستور زیر فایل ایمیج را روی سی دی خام رایت میکنیم:</p>
    <div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>cdrecord <span class="nt">-v</span> <span class="nt">-sao</span> <span class="nv">dev</span><span class="o">=</span>/dev/sr0 /path/to/plpbt.iso
</code></pre></div>    </div>
  </li>
  <li>سی دی بوتی که ساختید را داخل درایو سی دی رام گذاشته و فلشی که می‌خواهید کامپیوترتان را با آن بوت کنید، به کامپیوتر وصل کنید.</li>
  <li>کامپیوتر را از نو بالا بیاورید.</li>
</ol>

<p>اگر همه چی درست پیش برود باید سیستم از طریق <code class="language-plaintext highlighter-rouge">usb</code> راه‌اندازی شود.</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="usb" /><category term="boot" /><category term="old" /><category term="bios" /><category term="cd" /><category term="rom" /><category term="antiX" /><category term="plop" /><category term="manager" /><category term="dvd" /><category term="لینوکس" /><category term="یو اس بی" /><category term="بوت" /><category term="قدیمی" /><category term="بایوس" /><category term="سی دی" /><category term="دی وی دی" /><category term="رایتر" /><summary type="html"><![CDATA[برای سیستم‌ قدیمی‌ام که فاقد گزینه بوت از طریق usb است راه حل جالبی پیدا کردم چند وقت پیش که کامپیوتر قدیمی‌ام را دوباره راه انداختم، برای نصب لینوکس در آن با مشکلی مواجه شدم. cd-rom سیستمم قدیمی بود و با سی دی های خش دار عمل نمی‌کرد و حتما باید لینوکس را روی سی دی جدید رایت می‌کردم تا کار کند. از طرفی اکثر توزیع‌های لینوکس حجمی بالاتر از ظرفیت سی دی داشتند و نهایتا مجبور شدم antiX آن هم نسخه core را که حجم کمی داشت نصب کنم.]]></summary></entry><entry><title type="html">پرینتر Canon-LBP2900</title><link href="https://narmenj.github.io/linux/2022/01/03/Canon-lbp2900.html" rel="alternate" type="text/html" title="پرینتر Canon-LBP2900" /><published>2022-01-03T07:49:17+00:00</published><updated>2022-01-03T07:49:17+00:00</updated><id>https://narmenj.github.io/linux/2022/01/03/Canon-lbp2900</id><content type="html" xml:base="https://narmenj.github.io/linux/2022/01/03/Canon-lbp2900.html"><![CDATA[<p>این روز‌ها نصب و راه اندازی پرینتر مخصوصا در ویندوز کار ساده‌ایست و براحتی به کمک سی دی همراه پرینتر کارتان راه می‌افتد. با پرینترهای جدید در لینوکس هم مشکلی نخواهید داشت  و معمولا بلافاصله بعد از اتصال پرینتر به سیستم و روشن شدنش، بصورت خودکار شناسایی و نصب میشود.<br />
ولی اگر مثل من پرینترتان قدیمی باشد و بخواهید در آرچ لینوکس آن را نصب کنید به مشکل بر میخورید و باید آن را دستی نصب کنید /:  <br />
<!--more--></p>
<h4 id="نصب-درایور">نصب درایور</h4>
<p>در ابتدا باید مخزن <code class="language-plaintext highlighter-rouge">mutilib</code> را در فایل <code class="language-plaintext highlighter-rouge">/etc/pacman.conf</code> فعال کنید و سپس با دستور زیر درایور <code class="language-plaintext highlighter-rouge">capt</code> را نصب کنید:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>yay <span class="nt">-S</span> capt-src
</code></pre></div></div>
<p>درایور <code class="language-plaintext highlighter-rouge">capt</code> اصطلاحا روی درایور <code class="language-plaintext highlighter-rouge">CUPS</code> مینشیند، بنابراین باید آن هم نصب شود:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>pacman <span class="nt">-S</span> cups
</code></pre></div></div>
<p>سپس <code class="language-plaintext highlighter-rouge">CUPS</code> را فعال میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>systemctl <span class="nb">enable </span>cups.service
<span class="gp">$</span><span class="w"> </span>systemctl start cups.service
</code></pre></div></div>
<p>و وضعیتش را بدین صورت چک میکنیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>systemctl status cups.service
</code></pre></div></div>
<p>باید آن را <code class="language-plaintext highlighter-rouge">active</code> نشان دهد.</p>
<h4 id="تنظیمات-capt">تنظیمات CAPT</h4>
<p>ابتدا اگر کاربر عضو گروه‌ <code class="language-plaintext highlighter-rouge">lp</code> نیست آن را با بدین صورت اضافه میکنیم به این گروه‌:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>gpasswd <span class="nt">-a</span> &lt;username&gt; lp
</code></pre></div></div>
<p>به آدرس <code class="language-plaintext highlighter-rouge">/usr/share/cups/model/</code> میرویم و از آن لیست میگیریم. باید فایل <code class="language-plaintext highlighter-rouge">CNCUPSLBP2900CAPTK.ppd</code> وجود داشته باشد سپس دستور زیر را اجرا میکنیم</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo</span> /usr/sbin/lpadmin <span class="nt">-p</span> LBP2900 <span class="nt">-m</span> CNCUPSLBP2900CAPTK.ppd <span class="nt">-v</span> ccp://localhost:59687 <span class="nt">-E</span>
</code></pre></div></div>
<p>حالا پرینتر را روشن میکنیم و بررسی میکنیم آیا پرینتر بدرستی متصل شده به سیستم و به کدام پورت وصل است:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">ls</span> <span class="nt">-l</span> /dev/usb
</code></pre></div></div>
<p>خروجی آن اگر پرینتر را بدرستی وصل کرده باشید و روشن باشد چیزی شبیه به این است</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="go">crw-rw---- 1 root lp 180, 0 Jan  3 12:06 lp0
</span></code></pre></div></div>
<p>که این یعنی پرینتر به پورت <code class="language-plaintext highlighter-rouge">lp0</code> وصل است. با دستور زیر، کار نصب درایور را ادامه میدهیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo</span> /usr/sbin/ccpdadmin <span class="nt">-p</span> LBP2900 <span class="nt">-o</span> /dev/usb/lp0
</code></pre></div></div>
<p>پورت استفاده شده در دستور بالا را بر حسب شرایط خودتان تغییر دهید من در اینجا از پورت <code class="language-plaintext highlighter-rouge">lp0</code> استفاده کرده‌ام. <br />
نصب را با دستورات زیر ادامه میدهیم:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>systemctl <span class="nb">enable </span>ccpd.service
</code></pre></div></div>
<p>کامپیوتر را از نو راه‌اندازی میکنیم و پرینتر را نیز یکبار خاموش و روشن میکنیم.<br />
کار نصب تمام شد و فقط باید ببینیم همه چیز درست پیش میرود:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span><span class="w"> </span>captstatusui <span class="nt">-P</span> LBP2900
</code></pre></div></div>
<p>اگر خروجی زیر را داد باید بسته <code class="language-plaintext highlighter-rouge">libxml2</code> را نصب کنید و سیستم را دوباره راه‌اندازی کنید..</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">&lt;Printer ***&gt;</span><span class="w"> </span>of /etc/ccpd.conf
</code></pre></div></div>
<p>اگر <code class="language-plaintext highlighter-rouge">captstatusui</code> نشان داد که پرینتر آماده بکار است ولی پرینت نمیگیرد باید چک کنید پرینتر در حالت <code class="language-plaintext highlighter-rouge">pause</code> قرار دارد یا نه:<br />
به صفحه CUPS میرویم به آدرس:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>http://localhost:631
</code></pre></div></div>
<p>به سربرگ <code class="language-plaintext highlighter-rouge">Printers</code> رفته و اگر پرینتر در حالت <code class="language-plaintext highlighter-rouge">pause</code> بود <code class="language-plaintext highlighter-rouge">resume printer</code> را میزنیم<br />
حالا باید پرینتر نصب و آماده استفاده باشد اگر باز هم پرینت نمیگیرد یک بار دیگر آن را خاموش و سپس روشن کنید</p>]]></content><author><name></name></author><category term="linux" /><category term="linux" /><category term="canon" /><category term="lbp2900" /><category term="printer" /><category term="driver" /><category term="cups" /><category term="capt" /><category term="port" /><category term="service" /><category term="daemon" /><category term="captstatusui" /><category term="print" /><category term="pause" /><category term="resume" /><category term="لینوکس" /><category term="کنون" /><category term="پرینتر" /><category term="درایور" /><category term="پورت" /><category term="دیمن" /><category term="پرینت" /><summary type="html"><![CDATA[این روز‌ها نصب و راه اندازی پرینتر مخصوصا در ویندوز کار ساده‌ایست و براحتی به کمک سی دی همراه پرینتر کارتان راه می‌افتد. با پرینترهای جدید در لینوکس هم مشکلی نخواهید داشت و معمولا بلافاصله بعد از اتصال پرینتر به سیستم و روشن شدنش، بصورت خودکار شناسایی و نصب میشود. ولی اگر مثل من پرینترتان قدیمی باشد و بخواهید در آرچ لینوکس آن را نصب کنید به مشکل بر میخورید و باید آن را دستی نصب کنید /:]]></summary></entry></feed>