<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Aamnah - Frontend Web Developer</title>
    <link>https://aamnah.com/notes/linux/</link>
    <description>Recent content in Linux on Aamnah - Frontend Web Developer</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 18 Oct 2026 23:45:00 +0300</lastBuildDate>
    <atom:link href="https://aamnah.com/notes/linux/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Enable macOS like touchpad gestures on Ubuntu</title>
      <link>https://aamnah.com/notes/linux/install-macos-gestures-trackpad-ubuntu/</link>
      <pubDate>Wed, 09 Oct 2019 23:54:51 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/install-macos-gestures-trackpad-ubuntu/</guid>
      <description>&lt;p&gt;NOTE: i ended up finally learning how to properly use Workspaces in Ubuntu and no longer use the swipe gesture. They were wonky anyway, middle click was still pasting things in the end.. The touchpad on a Lenove Thinkpad is good, better than any HP or Acer i have ever used, but still doesn&amp;rsquo;t compare to one on a MacBook&lt;/p&gt;&#xA;&lt;p&gt;FYI:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I&amp;rsquo;m using the touchpad of a Lenovo T450.&lt;/li&gt;&#xA;&lt;li&gt;On my Mac, i use 3-finger swipe up for app Expose, and 3-finger left/right to switch between full-screen apps&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;installation-and-setup&#34;&gt;Installation and setup&lt;/h3&gt;&#xA;&lt;p&gt;Add yourself to the &lt;code&gt;input&lt;/code&gt; group.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add missing Monitor Resolution profile</title>
      <link>https://aamnah.com/notes/linux/monitor-custom-resolution/</link>
      <pubDate>Mon, 21 Jan 2019 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/monitor-custom-resolution/</guid>
      <description>&lt;h3 id=&#34;tldr&#34;&gt;tl;dr&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;get Modeline &lt;code&gt;cvt 1366 768&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;create and add new mode with &lt;code&gt;xrandr&lt;/code&gt; based on the generated modeline&lt;/li&gt;&#xA;&lt;li&gt;add settings to &lt;code&gt;~/.xprofile&lt;/code&gt; to preserve them, so the settings are still there when you restart&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add 1366x768@60Hz&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --newmode &lt;span class=&#34;s2&#34;&gt;&amp;#34;1368x768&amp;#34;&lt;/span&gt;  85.86  &lt;span class=&#34;m&#34;&gt;1368&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1440&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1584&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1800&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;768&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;769&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;772&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;795&lt;/span&gt;  -HSync +Vsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --addmode VGA-1 1368x768&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --output VGA-1 --mode 1368x768&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;get-modeline&#34;&gt;get Modeline&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;cvt &lt;span class=&#34;m&#34;&gt;1366&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;768&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 1368x768 59.88 Hz (CVT) hsync: 47.79 kHz; pclk: 85.25 MHz&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;Modeline &lt;span class=&#34;s2&#34;&gt;&amp;#34;1368x768_60.00&amp;#34;&lt;/span&gt;   85.25  &lt;span class=&#34;m&#34;&gt;1368&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1440&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1576&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1784&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;768&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;771&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;781&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;798&lt;/span&gt; -hsync +vsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;create-and-add-mode&#34;&gt;create and add mode&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Add the resolution supported by Acer Aspire 5742 on VGA port&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --newmode &lt;span class=&#34;s2&#34;&gt;&amp;#34;1368x768_60.00&amp;#34;&lt;/span&gt;   85.25  &lt;span class=&#34;m&#34;&gt;1368&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1440&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1576&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1784&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;768&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;771&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;781&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;798&lt;/span&gt; -hsync +vsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --addmode VGA-1 1368x768_60.00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# find the monitor identifier to set the mode for&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --listmonitors&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Monitors: 2&#xA; 0: +*LVDS-1 1366/344x768/194+0+0  LVDS-1&#xA; 1: +VGA-1 1024/271x768/203+1366+0  VGA-1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;set-output-mode&#34;&gt;set output mode&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;xrandr --output VGA-1 --mode 1368x768_60.00&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;create-xprofile&#34;&gt;create .xprofile&lt;/h2&gt;&#xA;&lt;p&gt;Create a &lt;code&gt;~/.xprofile&lt;/code&gt; file and simply add the commands for the programs you wish to start with the session&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add SSH Key to MacOS Keychain permanently</title>
      <link>https://aamnah.com/notes/linux/howto-add-ssh-key-macos-keychain-permanently/</link>
      <pubDate>Mon, 20 Feb 2017 00:00:01 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/howto-add-ssh-key-macos-keychain-permanently/</guid>
      <description>&lt;p&gt;Run &lt;code&gt;ssh-agent&lt;/code&gt; if it&amp;rsquo;s not already running&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;ssh-agent -s&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add SSH key to ssh-agent&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;ssh-add -K ~/.ssh/id_rsa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;id_rsa&lt;/code&gt; is the actual filename of the key you&amp;rsquo;re adding. This should do it for OSX before Sierra.&lt;/p&gt;&#xA;&lt;h3 id=&#34;macos-sierra&#34;&gt;MacOS Sierra&lt;/h3&gt;&#xA;&lt;p&gt;Create an SSH config file&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;nano ~/.ssh/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add the following to it&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;Host *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;UseKeychain yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;AddKeysToAgent yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;IdentityFile ~/.ssh/id_rsa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;UseKeychain yes&lt;/code&gt; tells SSH to look in your OSX keychain for the key passphrase.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;IdentityFile&lt;/code&gt; specifies the key you want to load. If you want to load multiple keys just add more &lt;code&gt;IdentityFile&lt;/code&gt; entries, one per line.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Now add your key(s)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Run JNLP Files on Ubuntu</title>
      <link>https://aamnah.com/notes/linux/run-jnlp-java-files-ubuntu/</link>
      <pubDate>Mon, 23 Jan 2017 00:00:02 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/run-jnlp-java-files-ubuntu/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install icedtea-netx -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;icedtea-netx&lt;/code&gt; requires &lt;code&gt;openjdk-8-jre&lt;/code&gt; and &lt;code&gt;openjdk-8-jre-headless&lt;/code&gt; as dependencies so it&amp;rsquo;ll install JRE (Java Runtime Environment) for you as well if you don&amp;rsquo;t have that already.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;JNLP&lt;/em&gt; is Java Network Launching Protocol&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;icdeatea-netx&lt;/code&gt; is Netx implementation of JNLP&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;icedtea-plugin&lt;/code&gt; is web browser plugin to execute Java applets. No longer available in Ubuntu (20.04)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Setting up shared network between Ubuntu and Mac using Samba</title>
      <link>https://aamnah.com/notes/linux/samba/</link>
      <pubDate>Mon, 23 Jan 2017 00:00:01 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/samba/</guid>
      <description>&lt;p&gt;Ubuntu 16.04 LTS&lt;/p&gt;&#xA;&lt;h3 id=&#34;install-samba&#34;&gt;Install Samba&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y samba &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;config&#34;&gt;Config&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# make a backup of original conf file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo /etc/samba/smb.conf /etc/samba/smb_bak.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# edit conf file and add share folders&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo nano /etc/samba/smb.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SHARED FOLDERS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Added by Aamnah on Fri 25 May 2018&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Movies&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;comment&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Movies&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; /media/NAS/MOVIES/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;browseable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;read&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;only&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; no&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    guest &lt;span class=&#34;nv&#34;&gt;ok&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;TVShows&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;comment&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; TV Show&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/media/NAS/TV Shows/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;browseable&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;read&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;only&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; no&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    guest &lt;span class=&#34;nv&#34;&gt;ok&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# restart Samba&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo /etc/init.d/samba restart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;create-a-user-to-use-with-samba&#34;&gt;Create a user to use with Samba&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# create user&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo useradd bumblebee -m -G users&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# set password for the user you just created&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo passwd bumblebee&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;set-a-password-for-your-user-in-samba&#34;&gt;Set a password for your user in Samba&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo smbpasswd -a &amp;lt;username&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;share-a-folder&#34;&gt;Share a folder&lt;/h3&gt;&#xA;&lt;p&gt;Right click on folder &amp;gt; Properties &amp;gt; Share this folder&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting WiFi details in Linux</title>
      <link>https://aamnah.com/notes/linux/wifi-linux-commands/</link>
      <pubDate>Thu, 15 Sep 2016 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/wifi-linux-commands/</guid>
      <description>&lt;h2 id=&#34;put-wireless-card-in-monitor-mode&#34;&gt;put wireless card in monitor mode&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo iwconfig wlan0 mode monitor &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; iwconfig&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;via airmon&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;airmon-ng start wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;wlan0mon&lt;/code&gt; here is your wifi in monitor mode. To disable, run &lt;code&gt;airmon-ng stop wlan0mon&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;get-wifi-details-bssid&#34;&gt;get wifi details (BSSID)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;iwlist scan&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;wash -i wlan0mon --ignore-fcs&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;airodump-ng wlan0mon&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;get-available-networks&#34;&gt;get available networks&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;iwlist scanning&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;or&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;airodump-ng wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;put-wifi-card-in-monitor-mode&#34;&gt;put wifi card in monitor mode&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;airmon-ng start wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Image Optimization on a Linux server</title>
      <link>https://aamnah.com/notes/linux/image-optimzation-linux-jpegoptim/</link>
      <pubDate>Mon, 20 Jun 2016 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/image-optimzation-linux-jpegoptim/</guid>
      <description>&lt;h1 id=&#34;jpegoptim&#34;&gt;jpegoptim&lt;/h1&gt;&#xA;&lt;p&gt;You can do a test run with the &lt;code&gt;-n&lt;/code&gt; aka &lt;code&gt;--noaction&lt;/code&gt; flag. It will print results without taking any action&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;jpegoptim -n img/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;opencart-directories-with-images&#34;&gt;opencart directories with images&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;image/catalog/&lt;/li&gt;&#xA;&lt;li&gt;catalog/view/&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# optimize-images.sh&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;install&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# Install tools if not already installed&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  sudo apt-get install jpegoptim optipng&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;optimize_jpeg&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# jpegoptim -pqt --all-progressive *.jpeg&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# -p, --preserve, Preserve file modification times.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# -q, --quiet, Quiet mode.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# -t, --totals, Print totals after processing all files.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;17&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# --all-progressive, Force  all output files to be progressive.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;19&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  find -type f -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;*.jpg&amp;#34;&lt;/span&gt; -exec jpegoptim -pqtn --all-progressive &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;22&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;optimize_png&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;23&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  find -type f -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;*.png&amp;#34;&lt;/span&gt; -exec optipng -simulate -quiet &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;24&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Optimizing PNGs.. .. &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;26&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;27&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;28&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;optimize_jpeg&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;29&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;optimize_png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;31&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Success: Image files have been optimized.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;links&#34;&gt;Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.tecmint.com/optimize-and-compress-jpeg-or-png-batch-images-linux-commandline/&#34;&gt;How to Optimize and Compress JPEG or PNG Images in Linux Commandline&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.mariusc.name/how-use-jpegoptim-recursively/58/snippets&#34;&gt;How to use Jpegoptim recursively&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[modprobe, lsmod, insmod, rmmod] List, Add, Remove Kernel Modules</title>
      <link>https://aamnah.com/notes/linux/modprobe-lsmod-insmod-rmmod-list-add-remove-kernel-modules/</link>
      <pubDate>Sun, 17 Jan 2016 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/modprobe-lsmod-insmod-rmmod-list-add-remove-kernel-modules/</guid>
      <description>&lt;p&gt;Building on previous lessons in this section, we will learn how to probe our kernel with the appropriate device driver and determine whether it is loaded and functioning as expected. We will also discuss how we can use the configuration of modprobe to blacklist or prevent some device drivers from loading even if the hardware is present on our system as well as why we might need to do that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Disk File Systems (ext2, ext3, Reiser, ext4)</title>
      <link>https://aamnah.com/notes/linux/linux-disk-file-systems/</link>
      <pubDate>Fri, 18 Dec 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/linux-disk-file-systems/</guid>
      <description>&lt;h2 id=&#34;ext2&#34;&gt;ext2&lt;/h2&gt;&#xA;&lt;p&gt;2nd Extended File System. It was originally introduced back in 1993 and ext2 stores data in the standard hierarchial fashion used by most other file systems.&lt;/p&gt;&#xA;&lt;p&gt;Data is stored in files, files are stored in directories, and a directory can simply contain either files or other directories.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Max file size is 2TB. An ext2 volume can be upto 4TB&lt;/strong&gt;. File names can be upto 255 characters long and ext2 supports Linux filesystem users, groups and permissions. It also supports compression.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Bash] Bash PATH Environment Variable</title>
      <link>https://aamnah.com/notes/linux/bash-path-envirnoment-variable/</link>
      <pubDate>Fri, 20 Nov 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/bash-path-envirnoment-variable/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;~ $ &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/aamnah/Dropbox/todo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;~ $ cat /etc/paths&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/usr/local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/usr/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/usr/sbin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;/sbin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/bin:&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# prepend a path to your current $PATH&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;ubuntu&#34;&gt;Ubuntu&lt;/h1&gt;&#xA;&lt;p&gt;The following command adds (appends) a path to your current path:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;:/my/custom/path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you want your setup to execute this command every time, there are a number of places where you can put it. When you login, the following scripts will be executed in this order:&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Tunneling / Port Forwarding</title>
      <link>https://aamnah.com/notes/linux/ssh-tunnel-port-forward/</link>
      <pubDate>Sun, 15 Nov 2015 00:00:01 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/ssh-tunnel-port-forward/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;ssh -f -N -L 2222:vortex.myserver.com:22 user@jumphost&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-f&lt;/code&gt; go to the background (just before running the command, so you can still type a password first). It does NOT mean force&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-L&lt;/code&gt; local port forward, in the form &lt;code&gt;local_port:destination_host:destination_port&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-N&lt;/code&gt; don&amp;rsquo;t execute any commands at remote host, just forward the port&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;2222&lt;/code&gt; is local port&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;vortex.myserver.com&lt;/code&gt; is remote server, the one you actually want to reach&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;22&lt;/code&gt; is remote port&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;user@jumphost&lt;/code&gt; is the server you SSH into. The connection to &lt;code&gt;vortex.myserver.com:22&lt;/code&gt; is made &lt;em&gt;from there&lt;/em&gt;, so &lt;code&gt;vortex&lt;/code&gt; only has to be reachable from the jump host, not from you&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ssh -L 2222:vortex.myserver.com:22 localhost&lt;/code&gt; only works if you run an SSH server on your own machine, because then &lt;code&gt;localhost&lt;/code&gt; is the server you log into&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Now connect to the local port, and you end up on &lt;code&gt;vortex&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Keys</title>
      <link>https://aamnah.com/notes/linux/ssh-keys/</link>
      <pubDate>Sun, 15 Nov 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/ssh-keys/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Generate a key pair locally&lt;/li&gt;&#xA;&lt;li&gt;Give the public key to the remote server&lt;/li&gt;&#xA;&lt;li&gt;Keep the private key yourself&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;generate-key&#34;&gt;Generate key&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen -t ed25519&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Previously, i used to use &lt;code&gt;rsa&lt;/code&gt; as the type, but i have since moved on to &lt;code&gt;ed25519&lt;/code&gt;. Ed25519 is a newer public-key algorithm which is faster (and safer) than RSA. Ed25519 public-key is also more compact, containing only 68 characters as compared to RSA 3072 that has 544 characters. Ed25519 is supported by OpenSSH so you should be good in almost all cases.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FHS, File System Architecture and Directory Structure</title>
      <link>https://aamnah.com/notes/linux/fhs-linux-file-system/</link>
      <pubDate>Thu, 12 Nov 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/fhs-linux-file-system/</guid>
      <description>&lt;h2 id=&#34;filesystem-hierarchy-standard&#34;&gt;&lt;strong&gt;F&lt;/strong&gt;ilesystem &lt;strong&gt;H&lt;/strong&gt;ierarchy &lt;strong&gt;S&lt;/strong&gt;tandard&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;FHS&lt;/strong&gt; is the standard method of laying out the directory structure in Linux distributions, so that the contents follow a standard layout. That you can always depend upon certain types of files being in certain types of directories, and that they are generally consistent accross distributions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Some systems may deviate from FHS in some areas. The current FHS is v2.3, was actually announced Jan 29th, 2004. v3 has been under development for almost 5 years. It stands to reason that some Linux file systems or dirs may have developed over the last ten years use of Linux that don&amp;rsquo;t quite fit this FHS standard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring WIFI via Command Line</title>
      <link>https://aamnah.com/notes/linux/configuring-wifi-via-command-line/</link>
      <pubDate>Mon, 24 Aug 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/configuring-wifi-via-command-line/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://www.farnell.com/datasheets/1668709.pdf&#34;&gt;RaspberryPi Wireless WiFi Dongle Configuration guide&lt;/a&gt; by Farnell is THE BEST i’ve found so far.&lt;/p&gt;&#xA;&lt;h4 id=&#34;to-check-if-your-wifi-dongle-is-recognized&#34;&gt;To check if your wifi dongle is recognized&lt;/h4&gt;&#xA;&lt;pre&gt;&lt;code&gt;ifconfig &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;if you see &lt;strong&gt;wlan0&lt;/strong&gt;, it confirms that raspberry pi has detected your wifi adaptor.&lt;/p&gt;&#xA;&lt;h4 id=&#34;to-scan-for-wifi-networks&#34;&gt;To scan for wifi networks&lt;/h4&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo iwlist wlan0 scan&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;edit-the-wpa_supplicantconf-file&#34;&gt;Edit the &lt;code&gt;wpa_supplicant.conf&lt;/code&gt; file&lt;/h4&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo nano /etc/wpa_supplicant/wpa_supplicant.conf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Add the following with your network details at the end of the file, below &lt;code&gt;update_config=1&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yum Transaction Check Errors &amp; Dependencies/Package Conflicts</title>
      <link>https://aamnah.com/notes/linux/yum-transaction-check-error-package-conflict/</link>
      <pubDate>Mon, 19 Jan 2015 00:00:02 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/yum-transaction-check-error-package-conflict/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Transaction Check Error:&#xA;  file /etc/pki/tls/certs/ca-bundle.crt from install of openssl-0.9.8e-32.el5_11.x86_64 conflicts with file from package openssl-0.9.8e-26.el5_9.1.i686&#xA;  file /usr/share/man/man1/ca.1ssl.gz from install of openssl-0.9.8e-32.el5_11.x86_64 conflicts with file from package openssl-0.9.8e-26.el5_9.1.i686&#xA;  file /usr/share/man/man1/req.1ssl.gz from install of openssl-0.9.8e-32.el5_11.x86_64 conflicts with file from package openssl-0.9.8e-26.el5_9.1.i686&#xA;  file /usr/share/man/man1/x509.1ssl.gz from install of openssl-0.9.8e-32.el5_11.x86_64 conflicts with file from package openssl-0.9.8e-26.el5_9.1.i686&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This can happen if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;package architecture is different (32-bit vs 64-bit)&lt;/li&gt;&#xA;&lt;li&gt;package source/repo is different&lt;/li&gt;&#xA;&lt;li&gt;you have a newer package installed while the repo you are trying to &amp;lsquo;update&amp;rsquo; from has an older version&lt;/li&gt;&#xA;&lt;li&gt;package already installed is 32-bit but 32-bit packages are excluded in /etc/yum.conf so it won&amp;rsquo;t update&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This issue was resolved by adding &lt;code&gt;multilib_policy=best&lt;/code&gt; to &lt;code&gt;/etc/yum.conf&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to install Node.js on CentOS/cPanel</title>
      <link>https://aamnah.com/notes/linux/install-nodejs-centos-cpanel/</link>
      <pubDate>Mon, 19 Jan 2015 00:00:01 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/install-nodejs-centos-cpanel/</guid>
      <description>&lt;p&gt;Run as root on RHEL, CentOS or Fedora:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;curl -sL https://rpm.nodesource.com/setup &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then install, as root:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;yum install -y nodejs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;-y&lt;/code&gt; flag will automatically answer &amp;ldquo;yes&amp;rdquo; to every confirmation question, so leave it out if you want to be able to say no to something.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Optional&lt;/strong&gt;: install build tools&lt;/p&gt;&#xA;&lt;p&gt;To compile and install native addons from npm you may also need to install build tools:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;yum install gcc-c++ make&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OR&lt;/p&gt;</description>
    </item>
    <item>
      <title>Editing Apache Configuration on a cPanel/CentOS Server</title>
      <link>https://aamnah.com/notes/linux/edit-apache-config-centos-cpanel-command-line/</link>
      <pubDate>Mon, 19 Jan 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/edit-apache-config-centos-cpanel-command-line/</guid>
      <description>&lt;p&gt;According to cPanel docs, it&amp;rsquo;s easier to use EasyApache for configuring and regenerating Apache. If you want the recommended way, skip this article. I&amp;rsquo;m more of a command line gal, so i&amp;rsquo;ll go ahead and detail the process of editing &lt;strong&gt;httpd.conf&lt;/strong&gt; from the command line, enabling some modules, adding configurations, retaining the configuration and checking if your configuration has been preserved.&lt;/p&gt;&#xA;&lt;p&gt;On Debian/Ubuntu it&amp;rsquo;s easier to enable a module. You run the command &lt;code&gt;a2enmod&lt;/code&gt; followed by the name of the module and it gets enabled. Then you restart Apache by running another command &lt;code&gt;sudo /etc/init.d/apache2 restart&lt;/code&gt; so your configurations take effect.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install Git on CentOS</title>
      <link>https://aamnah.com/notes/linux/howto-install-git-centos-6-7/</link>
      <pubDate>Sun, 18 Jan 2015 00:00:00 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/howto-install-git-centos-6-7/</guid>
      <description>&lt;h2 id=&#34;the-easy-way&#34;&gt;The Easy Way&lt;/h2&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo yum install git&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;code&gt;git --version&lt;/code&gt; to make sure it&amp;rsquo;s installed.&lt;/p&gt;&#xA;&lt;h2 id=&#34;compiling-from-source&#34;&gt;Compiling from Source&lt;/h2&gt;&#xA;&lt;p&gt;Make sure you have sudo access.&lt;/p&gt;&#xA;&lt;h3 id=&#34;install-compilation-tools&#34;&gt;Install Compilation tools&lt;/h3&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo yum groupinstall &amp;quot;Development Tools&amp;quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;instll-dependencies&#34;&gt;Instll Dependencies&lt;/h3&gt;&#xA;&lt;p&gt;CentOS 6.x&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;CentOS 7.x&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;fetch-source-files&#34;&gt;Fetch source files&lt;/h3&gt;&#xA;&lt;pre&gt;&lt;code&gt;wget https://github.com/git/git/archive/v2.2.2.tar.gz -O git.tar.gz&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Check &lt;a href=&#34;https://github.com/git/git/releases&#34;&gt;Github Release page&lt;/a&gt; for the latest stable version. Or install teh latest &lt;code&gt;-rc&lt;/code&gt; (release candidate) version if you are feeling dangerous. Latest stable is recommended.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generating an SSH Key and Copying it to Remote Server</title>
      <link>https://aamnah.com/notes/linux/generate-ssh-keys-copy-remote-server/</link>
      <pubDate>Tue, 26 Aug 2014 00:00:05 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/generate-ssh-keys-copy-remote-server/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;mkdir ~/.ssh &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span class=&#34;m&#34;&gt;700&lt;/span&gt; ~/.ssh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;touch ~/.ssh/authorized_keys &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; chmod &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; ~/.ssh/authorized_keys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# copy key.pub to authorized_keys&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# nano /etc/ssh/sshd_config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;service ssh reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;generate-the-key-on-local-server&#34;&gt;Generate the Key (on local server)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.ssh &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ssh-keygen -t ed25519&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;Ed25519&lt;/code&gt; is a newer algorithm which is faster than &lt;code&gt;RSA&lt;/code&gt;. Ed25519 is supported by OpenSSH so you should be good in almost all cases. Github recommends passing it your email with &lt;code&gt;-C&lt;/code&gt; which is then uses as a label.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.ssh &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ssh-keygen -t ed25519 -C &lt;span class=&#34;s2&#34;&gt;&amp;#34;hello@example.com&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;add-ssh-key-to-macos-keychain&#34;&gt;Add SSH key to macOS Keychain&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;ssh-add --apple-use-keychain ~/.ssh/id_ed25519&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;making-sure-the-remote-server-accepts-ssh-keys&#34;&gt;Making Sure the Remote Server Accepts SSH Keys&lt;/h3&gt;&#xA;&lt;p&gt;view the server&amp;rsquo;s sshd_config file&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install Ruby on Ubuntu</title>
      <link>https://aamnah.com/notes/linux/installing-ruby-on-ubuntu/</link>
      <pubDate>Tue, 26 Aug 2014 00:00:04 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/installing-ruby-on-ubuntu/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# update packages&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install curl if not already there&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install curl -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install RVM&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;\c&lt;/span&gt;url -L https://get.rvm.io &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s stable&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# load RVM&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.rvm/scripts/rvm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install RVM dependencies&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;rvm requirements&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install ruby&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;rvm install ruby&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# use default ruby version (latest)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;rvm use ruby --default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install rubygems&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;17&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;rvm rubygems current&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# install Rails&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;19&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;gem install rails&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;notes&#34;&gt;notes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the setup seems to be user specific&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;issues&#34;&gt;issues&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;rvm requirements&lt;/code&gt; needs to be run as root. may require a password.  sudo rvm rquiremenst for some unknown reason does not seem to work.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;more-on-rvm-requirements-issue&#34;&gt;more on rvm requirements issue&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the error happens when there are broken sources in /etc/apt/sources.list or /etc/apt/sources.list.d/*.list &lt;a href=&#34;http://stackoverflow.com/questions/19373560/why-do-i-get-a-requirements-error-when-trying-to-install-ruby-with-rvm&#34;&gt;x&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;the broken source list is because &amp;ldquo;Ubuntu 12.10 is not supported any more since May 2014. You either need to update to a more recent version of Ubuntu (i.e. 14.04), or find an alternative repository.&amp;rdquo; &lt;a href=&#34;http://askubuntu.com/questions/499738/not-able-to-install-software-on-ubuntu-12-10&#34;&gt;x&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;solution&lt;/strong&gt; &lt;code&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install update-manager-core &amp;amp;&amp;amp; sudo do-release-upgrade&lt;/code&gt; &lt;a href=&#34;http://www.cyberciti.biz/faq/howto-upgrade-to-ubuntu-14-04-from-ubuntu-13-10-or-12-04/&#34;&gt;x&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;the problem with the solution&lt;/strong&gt;: Ubuntu can only be updated to the next version. Direct upgrades to the latest version only works LTS to LTS. In my case, the server is still on 12.10 (12.04 was LTS, the latest at the moment is 14.04 has already arrived) the best strategy at this point is to &lt;a href=&#34;http://askubuntu.com/questions/298334/unable-to-locate-package-update-manager-core&#34;&gt;take backups&lt;/a&gt; and restore on a fresh install of latest version.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;links&#34;&gt;Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-12-04-lts-precise-pangolin-with-rvm&#34;&gt;How To Install Ruby on Rails on Ubuntu 12.04 LTS (Precise Pangolin) with RVM&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Command line color settings (GNU)</title>
      <link>https://aamnah.com/notes/linux/command-line-color-settings-gnu/</link>
      <pubDate>Tue, 26 Aug 2014 00:00:03 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/command-line-color-settings-gnu/</guid>
      <description>&lt;h1 id=&#34;coloring-the-list-and-tree-command-outputs-gnu&#34;&gt;Coloring the &lt;code&gt;list&lt;/code&gt; and &lt;code&gt;tree&lt;/code&gt; command outputs (GNU)&lt;/h1&gt;&#xA;&lt;h2 id=&#34;customizing-colors-gnu&#34;&gt;Customizing Colors (GNU)&lt;/h2&gt;&#xA;&lt;p&gt;The format is as follows: &lt;code&gt;LS_COLORS=&amp;quot;di=01;90:ow=01;90&amp;quot;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;The LS_COLORS environment variable is a colon &lt;code&gt;:&lt;/code&gt; separated list of key=colour pairs. There are 2 types of key: file types and file extensions.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;key&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;effect&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;color&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;meaning&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;di&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;01&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;90&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;color all dirs dark grey and make it bold&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ow&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;01&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;90&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;color all other_writable (o+w) dirs dark grey and make it bold&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;links&#34;&gt;Links:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.bigsoft.co.uk/blog/index.php/2008/04/11/configuring-ls_colors&#34;&gt;Configuring LS_COLORS (GNU)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://ubuntuforums.org/showthread.php?t=41538&#34;&gt;Howto: Add custom color to directory listings&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://linux-sxs.org/housekeeping/dircolor.html&#34;&gt;COLORS-Dircolors&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://unix.stackexchange.com/questions/94299/dircolors-modify-color-settings-globaly&#34;&gt;dircolors: modify color settings globaly&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Coloring the Mac Terminal</title>
      <link>https://aamnah.com/notes/linux/mac-terminal-colors-prompt/</link>
      <pubDate>Tue, 26 Aug 2014 00:00:02 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/mac-terminal-colors-prompt/</guid>
      <description>&lt;h2 id=&#34;adding-colors-to-ls-and-tree&#34;&gt;Adding colors to &lt;code&gt;ls&lt;/code&gt; and &lt;code&gt;tree&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;enabling-colors&#34;&gt;Enabling Colors&lt;/h2&gt;&#xA;&lt;p&gt;Edit &lt;code&gt;~/.bash_profile&lt;/code&gt; or &lt;code&gt;~/.profile&lt;/code&gt; and add the following two lines:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;CLICOLOR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LSCOLORS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ExFxCxDxBxegedabagacad&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;you can use this if you are using a black background:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LSCOLORS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gxBxhxDxfxhxhxhxhxcxcx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;LSCOLORS=&amp;quot;ExGxBxDxCxEgEdxbxgxcxd&amp;quot;&lt;/code&gt; will emulate the default colouring on the linux ls command.&lt;/p&gt;&#xA;&lt;h2 id=&#34;making-it-permanent&#34;&gt;Making it permanent&lt;/h2&gt;&#xA;&lt;p&gt;You can add&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ls&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ls -Gp&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;tree&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;tree -C&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;to your &lt;code&gt;~/.bash_profile&lt;/code&gt; to ALWAYS get colored &lt;code&gt;ls&lt;/code&gt; and &lt;code&gt;tree&lt;/code&gt; output.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;-G&lt;/code&gt; enables colorized output and the &lt;code&gt;-p&lt;/code&gt; adds a slash after each directory. the &lt;code&gt;-C&lt;/code&gt; turns on colorization for the tree command.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crontab Basics</title>
      <link>https://aamnah.com/notes/linux/basics-crontab/</link>
      <pubDate>Wed, 21 May 2014 16:32:55 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/basics-crontab/</guid>
      <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;tl;dr&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;crontab -l &lt;span class=&#34;c1&#34;&gt;# List crontab entries&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;crontab -e &lt;span class=&#34;c1&#34;&gt;# Edit a crontab using the EDITOR specified (export EDITOR=nano)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;crontab -r &lt;span class=&#34;c1&#34;&gt;# Remove a crontab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;sudo crontab -e &lt;span class=&#34;c1&#34;&gt;# Edit root user’s crontab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;crontab my-crontab &lt;span class=&#34;c1&#34;&gt;# add cron jobs by giving a file to crontab&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;If you are adding a script in any of the cron directories, it has to be &lt;strong&gt;executable&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Use &lt;strong&gt;absolute paths&lt;/strong&gt; for files, directories and executable commands&lt;/li&gt;&#xA;&lt;li&gt;it should link to the absolute path of the executables (commands). e.g. &lt;code&gt;/bin/echo&lt;/code&gt; instead of &lt;code&gt;echo&lt;/code&gt;. Find out absolute paths with the &lt;code&gt;which&lt;/code&gt; command, e.g. &lt;code&gt;which echo&lt;/code&gt; (or consider adding PATH at the top of the crontab file)&lt;/li&gt;&#xA;&lt;li&gt;Commands that need to be run with &lt;code&gt;sudo&lt;/code&gt; should be added to the &lt;code&gt;root&lt;/code&gt; user&amp;rsquo;s crontab&lt;/li&gt;&#xA;&lt;li&gt;Have your script create a file that &lt;strong&gt;log success or failure&lt;/strong&gt;, makes it easier to troubleshoot cron &lt;code&gt;echo &amp;quot;Nightly Backup Successful: $(date)&amp;quot; &amp;gt;&amp;gt; /tmp/mybackup.log&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Recommended is to add cron jobs to any of the cron directories (e.g. &lt;code&gt;/etc/cron.d&lt;/code&gt;) instead of editing a user&amp;rsquo;s crontab (&lt;code&gt;crontab -e&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;The user adding the crons needs to be in &lt;code&gt;cron.allow&lt;/code&gt; (if it exists)&lt;/li&gt;&#xA;&lt;li&gt;User access is determined by &lt;code&gt;/etc/cron.allow&lt;/code&gt; and &lt;code&gt;/etc/cron.deny&lt;/code&gt;, if they exist. Blank &lt;code&gt;/etc/cron.deny&lt;/code&gt; means only root is allowed access, plus everyone who&amp;rsquo;s in &lt;code&gt;/etc/cron.allow&lt;/code&gt;. No &lt;code&gt;cron.allow&lt;/code&gt; and &lt;code&gt;cron.deny&lt;/code&gt; means everyone has access&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;where-to-add-your-cron-jobs&#34;&gt;Where to add your cron jobs?&lt;/h3&gt;&#xA;&lt;p&gt;There are plenty of places where you can place your cron jobs. You can&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nagios</title>
      <link>https://aamnah.com/notes/linux/basics-nagios/</link>
      <pubDate>Wed, 21 May 2014 16:31:32 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/basics-nagios/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Install: &lt;code&gt;apt update &amp;amp;&amp;amp; apt install -y nagios3&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Check install: &lt;code&gt;dpkg -l | grep -i nagios&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Default login: &lt;code&gt;nagiosadmin, g_!_o&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Listing packages of nagios: &lt;code&gt;dpkg -L nagios3&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;notes&#34;&gt;NOTES&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;aptitude&lt;/strong&gt; is a front-end for &lt;strong&gt;dpkg&lt;/strong&gt;. &lt;code&gt;dpkg&lt;/code&gt; is the package manager.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Unix: Using pushd and popd for faster navigation</title>
      <link>https://aamnah.com/notes/linux/pushd-and-popd-for-faster-navigation/</link>
      <pubDate>Wed, 21 May 2014 15:33:21 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/pushd-and-popd-for-faster-navigation/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.networkworld.com/article/930672/unix-using-pushd-and-popd-for-faster-navigation.html&#34;&gt;Unix: Using pushd and popd for faster navigation&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The &lt;strong&gt;pushd&lt;/strong&gt; and &lt;strong&gt;popd&lt;/strong&gt; commands put directory paths onto a directory stack (&lt;strong&gt;pushd&lt;/strong&gt;) and then pop them off again (&lt;strong&gt;popd&lt;/strong&gt;). Using the pushd and popd commands is not unlike dropping directory &amp;ldquo;bread crumbs&amp;rdquo; and then returning in reverse order to all the places you visited.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;pushd&lt;/code&gt; and &lt;code&gt;popd&lt;/code&gt; manage a &lt;strong&gt;directory stack&lt;/strong&gt; — &lt;code&gt;cd&lt;/code&gt; with a memory. It&amp;rsquo;s LIFO: last in, first out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unix: Pranks that sysadmins play</title>
      <link>https://aamnah.com/notes/linux/unix-pranks-that-sysadmins-play/</link>
      <pubDate>Wed, 21 May 2014 15:32:18 +0500</pubDate>
      <guid>https://aamnah.com/notes/linux/unix-pranks-that-sysadmins-play/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.networkworld.com/article/930678/unix-pranks-that-sysadmins-play.html&#34;&gt;Unix: Pranks that sysadmins play&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Unix systems administrators tend to be very serious about their responsibilities &amp;ndash; except when they&amp;rsquo;re not. And, when they&amp;rsquo;re not, the pranks that they play on each other and some of their more annoying users might surprise you.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;tldr&#34;&gt;TL;DR&lt;/h2&gt;&#xA;&lt;p&gt;A catalogue of classic sysadmin pranks that exploit command-line knowledge the victim doesn&amp;rsquo;t have.&lt;/p&gt;&#xA;&lt;h3 id=&#34;alias-tricks&#34;&gt;Alias tricks&lt;/h3&gt;&#xA;&lt;p&gt;Redefine a common command to do something weird or break loudly:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
