<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gustavo on Information Technology &#187; gnu/linux</title>
	<atom:link href="http://gustavonarea.net/blog/tags/gnulinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://gustavonarea.net</link>
	<description>Just a social techie</description>
	<lastBuildDate>Tue, 20 Jul 2010 20:47:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Setting up your first server</title>
		<link>http://gustavonarea.net/blog/posts/setting-up-your-first-server/</link>
		<comments>http://gustavonarea.net/blog/posts/setting-up-your-first-server/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 14:55:20 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=42</guid>
		<description><![CDATA[If you&#8217;re new to server management and use the terminal on GNU/Linux from time to time, this guide will hopefully come in handy for you to get started with your own server.
Unless you have good reasons to use another GNU/Linux distribution, I recommend you to install Debian. It has a lot of ready-to-install applications, is [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re new to server management and use the terminal on <a href="http://www.getgnulinux.org/">GNU/Linux</a> from time to time, this guide will hopefully come in handy for you to get started with your own server.</p>
<p>Unless you have good reasons to use another <a href="http://www.getgnulinux.org/">GNU/Linux</a> distribution, I recommend you to install <a href="http://www.debian.org">Debian</a>. It has a lot of ready-to-install applications, is very stable and it&#8217;s perhaps the distribution with more tutorials around.</p>
<p>Please notice that this is a <em>very basic</em> tutorial and has only been tested on Debian.</p>
<h2>Connect to your server</h2>
<p>First of all, log in as root:<br />
<code>ssh root@123.123.123.123 # where 123.123.123.123 is your server's IP address </code></p>
<p>Some hosting providers disable ssh root access, so you will need to replace <em>root</em> by your user name. If this is the case, after you log in you should become <em>root</em>:</p>
<p><code>su -</code></p>
<h2>Update your system</h2>
<p><code>aptitude update<br />
aptitude upgrade<br />
aptitude dist-upgrade</code></p>
<h2>Add your user</h2>
<p>If your hosting provider disables root access, then you should skip this step.</p>
<p><code>adduser emacs</code></p>
<p>Replace emacs by <a href="http://en.wikipedia.org/wiki/Vi">VI</a> <a href="http://en.wikipedia.org/wiki/Vi">VI</a> <a href="http://en.wikipedia.org/wiki/Vi">VI</a> if you don&#8217;t believe in <a href="http://www.stallman.org/saint.html">Saint IGNUcius</a>.</p>
<h2>Sudo setup</h2>
<p><a href="http://en.wikipedia.org/wiki/Sudo">sudo</a> is a very useful utility, and I recommend you to use it.</p>
<p>First, let&#8217;s install it:</p>
<p><code>aptitude install sudo</code></p>
<p>Then, we add your user to the list of sudoers, by running <code>visudo</code> and then adding the following line at the end of the file <code>emacs ALL=(ALL) ALL</code>.</p>
<p>Now you become yourself:</p>
<p><code>su emacs -</code></p>
<h2>Shared key ssh authentication</h2>
<p>At this point you should use shared key ssh authentication, but for that there&#8217;s <a href="http://ammonlauritzen.com/blog/2006/04/16/shared_key_ssh_authentication/">a great tutorial at ammonlauritzen.com</a>.</p>
<h2>Configuring the SSH daemon</h2>
<p>Open /etc/ssh/sshd_config with your favorite text editor, say:</p>
<p><code>sudo nano /etc/ssh/sshd_config</code></p>
<p>And make sure the following lines are set this way, if not, add or modify them accordingly:<br />
<code>PermitRootLogin no<br />
PasswordAuthentication no<br />
X11Forwarding no<br />
UsePAM no<br />
AllowUsers emacs                      # separate two or more usernames by spaces</code></p>
<p>Finally, apply your modifications:<br />
<code>sudo /etc/init.d/ssh reload</code></p>
<p>Don&#8217;t log out yet, we need to check that you will be able to access your server via ssh (this is, that you didn&#8217;t break anything on the /etc/ssh/sshd_config file). To check if everything is OK, try to log in:<br />
<code>ssh emacs@123.123.123.123</code></p>
<p>If you&#8217;re able to access, then it&#8217;s well configured and you may close the second session. If not, then you should check your modifications and try again.</p>
<h2>Setting up a basic firewall</h2>
<p>We are going to setup a very basic firewall with the powerful <a href="http://www.netfilter.org/">netfilter/iptables</a>. For this step you need to be root:<br />
<code>sudo -s</code></p>
<p>First, store the current iptables rules, in case something goes wrong with ours:<br />
<code>iptables-save &gt; /etc/iptables.conf.old</code></p>
<p>Now, create the file <em>/etc/iptables.conf</em> and add the following contents:<br />
<code># boring stuff for someone new to server administration<br />
*filter<br />
:INPUT ACCEPT [0:0]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [495:60715]<br />
-A INPUT -i lo -j ACCEPT<br />
-A INPUT -m state --state INVALID -j DROP<br />
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br />
# this is the port used by the SSH daemon<br />
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT<br />
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT<br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7<br />
-A INPUT -p tcp -j REJECT --reject-with tcp-reset<br />
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -j REJECT --reject-with icmp-proto-unreachable<br />
-A FORWARD -j REJECT --reject-with icmp-port-unreachable<br />
COMMIT</code></p>
<p>Please pay attention to this line:<br />
<code>-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT</code></p>
<p>You should use a line similar for every open port that you want to be accessible from the Internet. This is, if you have a webserver, you should copy that line but replace &#8220;22&#8243; by &#8220;80&#8243; (or any other port):<br />
<code>-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT</code></p>
<p>This is how you &#8220;enable&#8221; ports.</p>
<p>Then we load the configuration (and <strong>don&#8217;t log out</strong> until we test it!):<br />
<code>iptables-restore &lt; /etc/iptables.conf</code></p>
<h3>Testing the rules</h3>
<p>To test the rules, open another terminal and try to access your server:</p>
<p><code>ssh emacs@123.123.123.123</code></p>
<p>If you could access, then the rules should be OK. If not, reload the original rules until you find help:<br />
<code>iptables-restore &lt; /etc/iptables.conf.old</code></p>
<h3>Loading the rules when the server stars</h3>
<p>If the rules we defined work, then our the firewall should be loaded when the server starts:</p>
<p>Create the file /etc/network/if-pre-up.d/iptables with the following contents:<br />
<code>#!/bin/bash<br />
/sbin/iptables-restore &lt; /etc/iptables.conf</code></p>
<p>Then make it executable:<br />
<code>chmod +x /etc/network/if-pre-up.d/iptables</code></p>
<p>We can now go back to our normal user:<br />
<code>exit</code></p>
<h2>Your server is ready!</h2>
<p>At this point, you are ready to start installing applications on your brand-new server!</p>
<h2>What&#8217;s next?</h2>
<ul>
<li>Make sure you already know <a href="http://labor-liber.org/en/gnu-linux/introduction/">the basics of GNU/Linux</a>.</li>
<li><a href="http://wiki.debian.org/">Learn more about Debian</a>.</li>
<li><a href="http://www.debian-administration.org/">Find the HOWTO you were looking for</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/setting-up-your-first-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>I&#8217;ve seen the light: GNU/Linux Does Not Matter That Much</title>
		<link>http://gustavonarea.net/blog/posts/ive-seen-the-light-gnulinux-does-not-matter-that-much/</link>
		<comments>http://gustavonarea.net/blog/posts/ive-seen-the-light-gnulinux-does-not-matter-that-much/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 20:09:20 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Freedomware]]></category>
		<category><![CDATA[GNU/Linux Matters]]></category>
		<category><![CDATA[animador]]></category>
		<category><![CDATA[Closed Standards]]></category>
		<category><![CDATA[ffii]]></category>
		<category><![CDATA[formats]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[GGL.o]]></category>
		<category><![CDATA[glm]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Open Standards]]></category>
		<category><![CDATA[protocols]]></category>
		<category><![CDATA[Unconstrained]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/blog/posts/ive-seen-the-light-gnulinux-does-not-matter-that-much/</guid>
		<description><![CDATA[We freedomware advocates think that switching to a Freedom-respectful operating system (usually GNU/Linux) is the most important step when switching to freedomware, and therefore we focus on promoting these systems (myself included). However, I&#8217;ve found out that it does not matter that much.
The first and most important step when switching to Freedomware is using formats [...]]]></description>
			<content:encoded><![CDATA[<p>We <a href="http://www.softwareliberty.com/" title="Free Software">freedomware</a> advocates think that switching to a Freedom-respectful operating system (usually <a href="http://www.getgnulinux.org/" title="Linux, an operating system that respects your Freedom">GNU/Linux</a>) is the most important step when switching to freedomware, and therefore we focus on promoting these systems (myself included). However, I&#8217;ve found out that <strong>it does <em>not</em> matter <em>that</em> much</strong>.</p>
<p>The first and most important step when switching to Freedomware is using formats and protocols defined as <a href="http://opensource.org/osr/" title="Open Standards Requirement for Software">Open Standards</a>, even under a Freedom-trampling system like <a href="http://www.getgnulinux.org/windows/" title="Windows, a Freedom-trampling software">Windows</a>: <strong>Vendor lock-in is only possible by means of closed standards</strong>. They are the stone corner of the non-free software industry.</p>
<p>Why those who know about Freedomware, and support the idea, don&#8217;t make the switch? Aside their inability to follow their thoughts (the games excuse is included here), because switching from <em>Windows+Office+MSNMessenger/Etc</em> to <em>GNU/Linux+OpenOffice.org+Pidgin+Etc</em> seems like a <strong>huge</strong> step, only made by <em>adventurous souls</em>.</p>
<p>The most important things for them, their information and communications, are already locked-in, tied to a single vendor. <strong>Encouraging them to switch to a freedom-respectful operating system is an unwise recommendation, if you know they still rely on closed standards</strong>:</p>
<ol>
<li>If you say that they won&#8217;t be able to use the programs they were used to, but their free alternatives, you will fright them. Not to mention what they&#8217;ll think when they know that their MP3s, WMVs and .doc documents won&#8217;t play nice, and that their MSN Messenger sucks under GNU/Linux.</li>
<li>If you help them to keep their files under closed formats and communicate through closed protocols, then, why on the earth do you want them to use a free operating system? <em>Using a free operating system <strong>simply</strong> means that most of your software is free</em>. It <em>seldom</em> means that the user is reluctant to use Freedom-trampling software, closed formats and/or closed protocols, again. Quick demonstration: Take a look at any community of the easy-to-use distros and you will find that these standards are widely used among the majority of these users (although this doesn&#8217;t mean that <a href="http://www.gentoo.org/" title="Gentoo GNU/Linux">Gentoo</a> users, for example, are all disciples of the Church of Emacs).</li>
</ol>
<p>The only way to make safely the switch to a Freedom-respectful computing environment, with no turning back, is by getting rid of closed formats and protocols, before switching to a free operating system. Windows-GNU/Linux dual boots wouldn&#8217;t be necessary anymore.</p>
<p>These closed standards have always been a top-priority for non-free software vendors, unlike for us. <strong>Closed standards represent the Achilles&#8217; heel of the non-free software industry</strong>. We must hit them there! Pay attention to this excerpt from <a href="http://ec.europa.eu/comm/competition/antitrust/cases/decisions/37792/en.pdf" title="The European Commission, in its March 24, 2004 decision on Microsoft's business practices">a memo sent by Aaron Contorer, Microsoft general manager for C++ development, to Bill Gates</a>:</p>
<blockquote><p> &#8220;The Windows API is so broad, so deep, and so functional that most <a href="http://en.wikipedia.org/wiki/Independent_software_vendor" title="Independent software vendor">ISVs</a> would be crazy not to use it. And it is so deeply embedded in the source code of many Windows apps that there is a huge switching cost to using a different operating system instead&#8230;<br />
&#8220;It is this switching cost that has given the customers the patience to stick with Windows through all our mistakes, our buggy drivers, our high <a href="http://en.wikipedia.org/wiki/Total_cost_of_ownership" title="Total cost of ownership">TCO</a>, our lack of a sexy vision at times, and many other difficulties [...] Customers constantly evaluate other desktop platforms, [but] it would be so much work to move over that they hope we just improve Windows rather than force them to move.<br />
&#8220;In short, without this exclusive franchise called the Windows API, we would have been dead a long time ago.&#8221;</p></blockquote>
<h2>OK, that&#8217;s the root problem, but what&#8217;s the solution!?</h2>
<p><strong>We must put <em>more</em> effort into making people switch to open formats and open protocols</strong>, than the effort we put into encouraging them to switch to a freedom-respectful operating system like GNU/Linux. This is, our goal should be that people will get rid of closed formats and protocols <em>before</em> switching to a free operating system. <em>Don&#8217;t expect them to make the switch after installing the free system!</em> Or at least don&#8217;t get your hopes up if you ignore this (take the longer yet save path!).</p>
<p>The above might seem obvious to you at this point, and you might wonder, <em>how are we supposed to do so effectively?</em></p>
<h2>My proposal</h2>
<p>We have to carry out three tasks to reach our goal:</p>
<ol>
<li>First and foremost, make people worry about the formats and protocols they rely on;</li>
<li>Make it really easy for people to switch to unconstrained formats and protocols, under the current operating system, but also warn them that everything won&#8217;t be completely solved until they throw the non-free system away;</li>
<li><strong>And <em>finally</em></strong>, make people switch to a freedom-respectful operating system, like GNU/Linux.</li>
</ol>
<p>(Notice that nowadays most of us start with task #3, then <em>some of us</em> go further and make #1, but nearly we all forget about task #2)</p>
<p>These tasks should be performed separately and harmoniously, with one project for each of them. The good news is that we won&#8217;t have to start from scratch, as there are some existing efforts: <a href="http://www.gnulinuxmatters.org/" title="The Freedomware Marketing Organization">GNU/Linux Matters</a> is going to develop <a href="https://tracker.gnulinuxmatters.org/wiki/Uncontrained" title="Uncontrained.info">Unconstrained.info</a>, a project that would meet the requirements of task #1, and it also maintains <a href="http://www.getgnulinux.org/" title="GNU/Linux, an operating system that respects your Freedom">GetGNULinux.org</a>, the project that already meets the requirements of task #3.</p>
<p>The second task is by far the hardest one. <em>The</em> solution, in my opinion, is a software suite made up of the following well-integrated modules:</p>
<ol>
<li><strong>A package manager</strong>, like those for GNU/Linux: It will make it easy for people to get started with Freedomware applications that support unconstrained formats and protocols. These programs must be stored on special repositories, so that we could disable support for constrained standards by default. <em>This manager would only install Freedomware required to make the switch</em>, excluding <em>useful</em> free add-ons for the operating system: Our goal is not to make people feel comfortable with their freedom-trampling operating system. Only the best Freedomware packages will be available, with no alternatives: It would make no sense to include both OpenOffice.org and Koffice (for example), we don&#8217;t want people to <em>experiment</em> with the free alternatives, just that they make the switch.</li>
<li><strong>A file format converter</strong>: An extremely easy to use Freedomware application to convert <em>any file</em> stored with a closed format into one stored with the best-suitable open format, preferably/optionally deleting the former file after the conversion. When the suite is being installed, it must configure the system to open those constrained-formats-based files with this converter.</li>
<li><strong>A Instant Messaging Migrator</strong>: The hardest to make module. It will help people migrate to open protocols such as Jabber or SIP. It would create a gratis Jabber account with any provider. Then, if allowed, it would let people&#8217;s contacts know that they are making the switch to an unconstrained and better messaging network (encouraging them to make the switch too). Finally, it would configure the pre-selected free IM client accordingly, making it ready to use.</li>
<li><strong>A tutor</strong>: A program, similar to a Help Center, that would advice people on unconstrained formats and protocols. It would provide guidance throughout the migration process. It would make sure that people keep in mind that they should switch to a free operating system once they get used to the new standards.</li>
</ol>
<p>This suite must meet these requirements:</p>
<ul>
<li>Be multi-platform: It must run on all the mainstream operating systems, including <strong>GNU/Linux</strong> (yes, haven&#8217;t you noticed the amount of GNU/Linux users tied to constrained formats and protocols?).</li>
<li>Be multilingual.</li>
<li>Be extremely easy to use.</li>
</ul>
<p>Once <a href="https://tracker.gnulinuxmatters.org/wiki/Uncontrained" title="Uncontrained.info">Unconstrained.info</a> and <em>the liberation suite</em> are ready, together with <a href="http://www.getgnulinux.org/" title="GNU/Linux, an operating system that respects your Freedom">GetGNULinux.org</a>, the final touch for us to be effective will be <a href="https://tracker.gnulinuxmatters.org/wiki/Animador">Animador</a>.</p>
<h2>In an ideal world&#8230;</h2>
<p>&#8230; Organizations such as <a href="http://www.mozilla.org/">Mozilla</a>, the <a href="http://www.fsf.org/">FSF</a> and the <a href="http://www.ffii.org/">FFII</a> will support <a href="http://www.gnulinuxmatters.org/">GNU/Linux Matters</a> with tasks #1 and #3, and <a href="http://www.gnu.org/">the GNU project</a> will take over task #2, with the support of all of us.</p>
<p>If everything fails, I&#8217;ll try my best to take over task #2 on behalf of GNU/Linux Matters.</p>
<h2>On my part&#8230;</h2>
<p>&#8230; I&#8217;ll try to make GNU/Linux Matters change its vision, according to this blog post.</p>
<h2>On your part&#8230;</h2>
<p>&#8230; This all sounds so beautiful, right? Well, <a href="http://www.gnulinuxmatters.org/participate/" title="Help GNU/Linux Matters!">we need you</a>! And please don&#8217;t forget to comment on this blog post and spread the word about it if you find it useful.</p>
<p><strong>PS:</strong> Got something to say? <a href="http://www.nuxified.org/topic/gnu_linux_does_not_matter_that_much">Talk about it on NXFD!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/ive-seen-the-light-gnulinux-does-not-matter-that-much/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GNU with Linux&#8230; Plus KDE, Gnome, etc</title>
		<link>http://gustavonarea.net/blog/posts/gnu-with-linux-plus-kde-gnome-etc/</link>
		<comments>http://gustavonarea.net/blog/posts/gnu-with-linux-plus-kde-gnome-etc/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 10:25:37 +0000</pubDate>
		<dc:creator>Gustavo</dc:creator>
				<category><![CDATA[Freedomware]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[gtk+]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[taxonomy]]></category>

		<guid isPermaLink="false">http://gustavonarea.net/?p=12</guid>
		<description><![CDATA[Free Software purists spend/waste a lot of time explaining why GNU/Linux is the right name for the operating system and why just &#8220;Linux&#8221; is wrong, so these are my thoughts&#8230;
Alright, if I use the GNU operating system with Linux running as its kernel, then I&#8217;d be using GNU/Linux. But wait a second! Isn&#8217;t KDE or [...]]]></description>
			<content:encoded><![CDATA[<p>Free Software purists spend/waste a lot of time explaining why GNU/Linux is the right name for the operating system and why just &#8220;Linux&#8221; is wrong, so these are my thoughts&#8230;</p>
<p>Alright, if I use the GNU operating system with Linux running as its kernel, then I&#8217;d be using GNU/Linux. But wait a second! Isn&#8217;t KDE or Gnome one of the most important parts of my system? After all, I wouldn&#8217;t use my computer with the command line interface. Also, out of all of the applications I use, how many of them are KDE-based or Gnome-based? Much more than those applications from the GNU project.</p>
<p>So, my desktop environment also deserves to be appended to the name of the system I use and therefore I&#8217;m actually using GNU/Linux/KDE. Although&#8230; If they say <em>GNU/Linux</em> instead of <em>Linux</em> because the kernel without GNU is useless, then I shouldn&#8217;t just append my desktop environment but also its <a href="http://en.wikipedia.org/wiki/Widget_toolkit">widget toolkit</a>, so I&#8217;m afraid the right name of the system I use is <strong>GNU/Linux/Qt/KDE</strong>. And now I wonder whether I should also append the <a href="http://en.wikipedia.org/wiki/X_Window_System">X Windows System</a>.</p>
<p>This is a mess and I think there are many more important things to do instead of trying to find out what&#8217;s the accurate name of my system (I just care about it being freedom-respectful). To sum up, GNU is the base of the operating system and thus my operating system should be called just &#8220;GNU&#8221;, but it&#8217;s unfortunately best known as &#8220;Linux&#8221; (which is not that bad, after all, <em>it&#8217;s the core of the base sub-system</em>)&#8230; Also, a drawback of using GNU is that it&#8217;s an acronym, which would lead to a hard-to-remember name for a highly important operating system (<em>what&#8217;s its name? GUN? UNG? NGU?</em>), specially for non-English speaking people (who won&#8217;t remember what GNU stands for).</p>
<p>For the above reasons <em>Linux</em> has always worked, while I&#8217;d still prefer to refer to it as <em>GNU </em>(although I often use <em>GNU/Linux</em> to avoid ambiguity). In the end, the name is not so important to me, as long as it isn&#8217;t ambiguous.</p>
]]></content:encoded>
			<wfw:commentRss>http://gustavonarea.net/blog/posts/gnu-with-linux-plus-kde-gnome-etc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
