<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <atom:link href="https://cber.space/linux/rss.xml" rel="self" type="application/rss+xml"/>
    <title>Linux Notes</title>
    <link>https://cber.space/linux</link>
    <description/>
    <lastBuildDate>Thu, 02 Sep 2021 05:07:08 -0400</lastBuildDate>
    <item>
      <title>File/Dir Operations</title>
      <link>https://cber.space/linux/links-file-editing</link>
      <description>&lt;h3&gt;pdf&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="post-title"&gt;&lt;a href="https://chainsawonatireswing.com/2013/01/04/how-to-batch-change-the-title-metadata-in-a-bunch-of-pdfs-with-a-shell-script/?from=@"&gt;How to batch change the Title metadata in a bunch of PDFs with a shell script&lt;/a&gt;&lt;/li&gt;
&lt;li class="post-title"&gt;&lt;a href="http://www.marshalgraham.com/2011/04/removing-pdf-metadata-with-pdf-toolkit.html#installing"&gt;Removing PDF Metadata with PDF Toolkit &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;search&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cyberciti.biz/faq/howto-find-a-directory-linux-command/"&gt;How to find a directory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;back-up / sync&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linuxtechi.com/rsync-command-examples-linux/"&gt;17 useful rsync (remote sync) command examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 05 Aug 2022 18:17:00 -0400</pubDate>
      <guid isPermaLink="false">e9522166ef2791224dda9b4c1f529e45</guid>
    </item>
    <item>
      <title>Operating System</title>
      <link>https://cber.space/linux/operating-system</link>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.studytonight.com/operating-system/"&gt;Operating System Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Virtualization&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://linuxconfig.org/how-to-create-and-manage-kvm-virtual-machines-from-cli"&gt;How to create and manage KVM VMs from CLI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 23 Aug 2021 14:30:00 -0400</pubDate>
      <guid isPermaLink="false">2c3439b1bdcd8c6712c4c225f3b817c8</guid>
    </item>
    <item>
      <title>GNU / Linux</title>
      <link>https://cber.space/linux/gnu-linux</link>
      <description>&lt;h3&gt;&lt;a href="https://httpd.apache.org/docs/current/ssl/index.html"&gt;&lt;/a&gt;Bash&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://guide.bash.academy/"&gt;The Bash Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shellscript.sh/"&gt;Shell Scripting Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.bash-hackers.org/start"&gt;The Bash Hackers Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devhints.io/bash"&gt;Bash scripting cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blackmagicboxes.com/?page_id=499"&gt;Shell scripting quick reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://explainshell.com/"&gt;explainshell.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ss64.com/bash/" title="An A-Z Index of the Linux command line: bash + utilities."&gt;An A-Z Index of the &lt;b&gt;Linux&lt;/b&gt; command line: &lt;span class="grn"&gt;bash + utilities&lt;/span&gt;.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cber.space/linux/admin/edit-content/The Beginner’s Guide to Shell Scripting: The Basics"&gt;The Beginner’s Guide to Shell Scripting: The Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gnulinux.guru/"&gt;Bourne-Again SHell and Linux CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikibooks.org/wiki/Linux_Guide/Linux_commands"&gt;Linux commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blackmagicboxes.com/?page_id=282"&gt;Shell commands quick reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://itsfoss.com/linux-command-tricks/"&gt;Useful Linux Command Tips &amp;amp; Tricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html"&gt;30 Handy Bash Shell Aliases For Linux / Unix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;String search / manipulation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.regular-expressions.info/examples.html"&gt;Regular Expressions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.regular-expressions.info/books.html"&gt;Books about Regular Expressions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.grymoire.com/Unix/Sed.html"&gt;Sed - An Introduction and Tutorial&lt;/a&gt;&lt;a href="https://www.gnu.org/software/sed/manual/sed.html"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gnu.org/software/sed/manual/sed.html"&gt;Sed, a stream editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.grymoire.com/Unix/Awk.html"&gt;Awk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gnu.org/software/gawk/manual/gawk.html"&gt;GNU Awk User’s Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.grymoire.com/Unix/Grep.html"&gt;An introduction to grep &amp;amp; egrep - how to search for strings inside of files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Filesystem&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linux.com/training-tutorials/linux-filesystem-explained/"&gt;The Linux filesystem explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.grymoire.com/Unix/Inodes.html"&gt;Inodes - an Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Hardware&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.binarytides.com/linux-command-check-memory-usage/"&gt;5 commands to check memory usage on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cyberciti.biz/faq/linux-laptop-battery-status-temperature/"&gt;Display battery status and thermal temperature from command line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://linrunner.de/tlp/faq/battery.html#faq-which-kernel-module"&gt;Battery Features — TLP 1.3.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Books&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://0xax.gitbooks.io/linux-insides/content/"&gt;Linux-insides&lt;/a&gt;&lt;a href="https://www.linux.com/training-tutorials/linux-filesystem-explained/"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Apache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.liquidweb.com/kb/configure-apache-virtual-hosts-ubuntu-18-04/"&gt;Configure Multiple Sites with Apache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://httpd.apache.org/docs/current/howto/reverse_proxy.html"&gt;Reverse Proxy Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-1/"&gt;Change Apache Default Port To A Custom Port&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://httpd.apache.org/docs/2.4/vhosts/examples.html"&gt;VirtualHost Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://httpd.apache.org/docs/current/ssl/index.html"&gt;Apache SSL/TLS Encryption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://httpd.apache.org/docs/current/ssl/ssl_howto.html"&gt;SSL/TLS Strong Encryption: How-To&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hostadvice.com/how-to/how-to-enable-apache-mod_rewrite-on-an-ubuntu-18-04-vps-or-dedicated-server/"&gt;How to Enable Apache Mod_Rewrite (Ubuntu Server)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Nginx&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hostadvice.com/how-to/how-to-configure-nginx-and-apache-together-in-ubuntu/"&gt;How to Configure Nginx and Apache Together (Ubuntu Server)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Databases&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-10"&gt;How To Install MariaDB on Debian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cyberciti.biz/faq/how-to-show-list-users-in-a-mysql-mariadb-database/"&gt;How to see/get a list of MySQL/MariaDB users&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Sun, 22 Aug 2021 20:26:56 -0400</pubDate>
      <guid isPermaLink="false">c36adc6e57a79ccd91be434df2c17dbe</guid>
    </item>
    <item>
      <title>Networking</title>
      <link>https://cber.space/linux/networking</link>
      <description>&lt;ul&gt;
&lt;li class="post-title entry-title"&gt;&lt;a href="https://www.studytonight.com/computer-networks/"&gt;Computer Networks Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li class="post-title entry-title"&gt;&lt;a href="https://www.studytonight.com/network-programming-in-python/" icon="data:image/png;base64,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"&gt;Network Programming in Python Tutorial&lt;/a&gt;&lt;a href="https://cber.space/math/questions/networks"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Server&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.rackspace.com/support/how-to/connecting-to-a-server-using-ssh-on-linux-or-mac-os/"&gt;Connect to a server via SSH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://likegeeks.com/ssh-connection-refused/"&gt;SSH Connection Refused - Causes &amp;amp; Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devconnected.com/how-to-install-and-enable-ssh-server-on-debian-10/"&gt;How To Install and Enable SSH Server on Debian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linode.com/docs/guides/gpg-key-for-ssh-authentication/"&gt;How to use a GPG key for SSH authentication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linode.com/docs/guides/"&gt;Guides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Router&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.syncthing.net/users/firewall.html" title="Firewall Setup"&gt;https://docs.syncthing.net/users/firewall.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="post-title entry-title"&gt;Wireless&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="post-title entry-title"&gt;&lt;a href="https://www.ubuntugeek.com/how-to-troubleshoot-wireless-network-connection-in-ubuntu.html"&gt;How To Troubleshoot Wireless Network Connection in Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://linux.icydog.net/wpa.php"&gt;Command line WPA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Books&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gaia.cs.umass.edu/kurose_ross/online_lectures.htm"&gt;Computer Networking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://media.pearsoncmg.com/ph/esm/ecs_kurose_compnetwork_8/cw/"&gt;Computer Networking - Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;TCP / IP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.blackmagicboxes.com/?page_id=291"&gt;IPv4 Subnetting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blackmagicboxes.com/?page_id=314"&gt;IPv6&lt;/a&gt;&lt;a href="https://www.studytonight.com/computer-networks/"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cs.ait.ac.th/~on/O/oreilly/tcpip/firewall/ch06_03.htm"&gt;What Does a Packet Look Like?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cber.space/math/459/socket-programming-howto"&gt;Python Socket Programming How-To&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://baturin.org/docs/iproute2/#overview-of-iproute2"&gt;Task-centered iproute2 user guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sites.cns.utexas.edu/oit-blog/blog/how-set-static-ip-linux-machine"&gt;Set up a static IP on a Linux machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://linuxconfig.org/how-to-setup-a-static-ip-address-on-debian-linux"&gt;How to setup a Static IP address on Debian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://authmane512.medium.com/how-to-set-up-a-proxy-server-on-debian-9-stretch-or-ubuntu-with-squid-in-3-minutes-de754502ddbd"&gt;Set up a proxy server on Debian / Ubuntu with Squid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linode.com/docs/guides/networking/"&gt;IPs, Networking &amp;amp; Domains&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 22 Aug 2021 19:36:36 -0400</pubDate>
      <guid isPermaLink="false">26bc31b1e7120796af6bfb1f025a6e11</guid>
    </item>
    <item>
      <title>how to install Apache and NGINX on the same localhost</title>
      <link>https://cber.space/linux/autosave-e3d6bbc30120733d7e3e169acec31a08</link>
      <description>&lt;div class="s-prose js-post-body" itemprop="text"&gt;
&lt;p&gt;Assuming that you have both NGINX and Apache installed...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Select different IP addresses for each one.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Let's setup the &lt;code&gt;hosts&lt;/code&gt; file for quick access to start pages.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo nano /etc/hosts
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;append lines (use any local IP you like)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;127.0.0.1   nginx
127.0.0.2   apache
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;2. Setup listen IP and port for NGINX&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NGINX must listen on one IP address only.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo nano /etc/nginx/sites-enabled/default
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And replace the lines&lt;/p&gt;
&lt;p&gt;&lt;em&gt;--- (remove lines)&lt;/em&gt; &lt;em&gt;+++ (add lines)&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--- listen 80 default_server;
--- listen [::]:80 default_server;
+++ listen nginx:80;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you want to use SSL, make the same things for 443 port.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANT!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Make sure all enabled NGINX websites listen on nginx:80&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Restart NGINX&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo service nginx restart
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Make a check using command &lt;code&gt;sudo netstat -tulpn | grep :80&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN      26540/nginx: master
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Done! Now you can access default NGINX host by url &lt;a href="http://nginx" rel="nofollow noreferrer"&gt;http://nginx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Setup listen IP and port for Apache&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apache must listen on one IP address only as well.&lt;/p&gt;
&lt;p&gt;Ports:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo nano /etc/apache2/ports.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And replace the lines&lt;/p&gt;
&lt;p&gt;&lt;em&gt;--- (remove lines)&lt;/em&gt; &lt;em&gt;+++ (add lines)&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--- Listen 80
--- Listen 443
+++ Listen apache:80
+++ Listen apache:443
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Default virtual host:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo nano /etc/apache/sites-enabled/000-default
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And replace the lines&lt;/p&gt;
&lt;p&gt;&lt;em&gt;--- (remove lines)&lt;/em&gt; &lt;em&gt;+++ (add lines)&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--- &amp;lt;VirtualHost *:80&amp;gt;
+++ &amp;lt;VirtualHost apache:80&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you want to use SSL, make the same things for 443 port.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;IMPORTANT!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Make sure all enabled Apache websites listen on apache:80&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Restart Apache&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo service apache2 restart
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Make a check using command &lt;code&gt;sudo netstat -tulpn | grep :80&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tcp        0      0 127.0.0.2:80            0.0.0.0:*               LISTEN      26829/apache2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Done! Now you can access default Apache host by url &lt;a href="http://apache" rel="nofollow noreferrer"&gt;http://apache&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;time itemprop="dateCreated" datetime="2019-05-30T13:29:07"&gt;&lt;/time&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 07 Jun 2019 19:00:48 -0400</pubDate>
      <guid isPermaLink="false">autosave-e3d6bbc30120733d7e3e169acec31a08</guid>
    </item>
  </channel>
</rss>
