<?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>Solusan &#187; DragonFlyBSD</title>
	<atom:link href="http://www.solusan.com/blog/dragonflybsd/feed" rel="self" type="application/rss+xml" />
	<link>http://www.solusan.com</link>
	<description>..:: Solusan - Otro blog más ::..</description>
	<lastBuildDate>Thu, 25 Aug 2011 16:39:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=250</generator>
		<item>
		<title>How To: Getting Started with Amazon EC2</title>
		<link>http://www.solusan.com/how-to-getting-started-with-amazon-ec2.html</link>
		<comments>http://www.solusan.com/how-to-getting-started-with-amazon-ec2.html#comments</comments>
		<pubDate>Sun, 13 Feb 2011 16:18:03 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[CentoOS]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.solusan.com/?p=1395</guid>
		<description><![CDATA[Así.. sin valium y sin nada: Amazon EC2 is among the more potent items in Amazon&#8217;s web services arsenal. You&#8217;ve probably heard of many of the other services such as S3 for storage and FPS for payments. EC2 is all about the &#8220;elastic compute cloud.&#8221; In layman&#8217;s terms, it&#8217;s a server. In slightly less layman&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Así.. sin valium y sin nada:</p>
<p><a href="http://www.amazon.com/gp/browse.html?node=201590011">Amazon EC2</a> is among the more potent items in Amazon&#8217;s web services arsenal. You&#8217;ve  probably heard of many of the other services such as S3 for storage and  FPS for payments. EC2 is all about the &#8220;elastic compute cloud.&#8221; In  layman&#8217;s terms, it&#8217;s a server. In slightly less layman&#8217;s terms, EC2 lets  you easily run and manage many instances (like servers) and  given the proper software and configurations, have a scalable platform  for your web application, outsource resource-intensive tasks to EC2 or  for whatever you would use a server farm.</p>
<p>There are three different <a href="http://www.amazon.com/Instances-EC2-AWS/b/ref=sc_fe_c_0_201590011_2?ie=UTF8&amp;node=370375011&amp;no=201590011&amp;me=A36L942TSJ2AJA">sizes of EC2 instances</a> you can summon and they&#8217;re all probably more powerful than the server  currently running your blog. Unless you&#8217;re offloading video processing  or something intense to EC2, the default small instance with its 1.7GB  of RAM and 160GB disk should be more than fine. It&#8217;s just nice to know  that if for any reason I need a farm of machines each with 15GB of RAM, I  can get that easily.</p>
<p>EC2 has been around for a while but has gained interest in the last  few weeks as Amazon released an elastic IP feature. One of the larger  EC2 issues deals with data persistence on instances. There are many  limitations with EC2 that make it difficult to use unless you carefully  build around the EC2 architecture and don&#8217;t just assume that you can  move your app to EC2 flawlessly. If an instance crashes and you run it  again, you&#8217;ll loose data and when the instance comes back up it will  have a new IP, adding another hurdle with DNS issues. Fortunately, the  elastic IP feature lets you assign a static IP address to your  instances.</p>
<p>As the title of this article implies, this article is meant to be a  beginner&#8217;s look into tinkering with EC2. Just because you will be able  to host a page on EC2 at the end of this article does not mean you  should start using it as your only server. Many considerations need to  be made when using EC2 to get around the data persistence issue. If your  startup is looking to use EC2 as a scalable platform, fortunately there  are many services that have already built stable systems on top of EC2,  ready for your consumption: <a href="http://weoceo.weogeo.com/">WeoCeo</a>, <a href="http://code.google.com/p/scalr/">Scalr</a> and <a href="http://www.rightscale.com/">RightScale</a>. Enough talk, shall we jump right in?</p>
<p><strong>Note:</strong> Most of the information below (and more) is available in the EC2 API doc if you enjoy reading those things.</p>
<h4><span id="more-1395"></span>Getting Started</h4>
<p>In order to interact with any EC2 instances, you&#8217;ll need to install  Amazon&#8217;s command line tools and download your X.509 certificate from  Amazon. Let&#8217;s start with the certificate. Login to your Amazon account  and visit the AWS Access Identifiers page. In the X.509 certificate  section near the bottom, click <strong>Create New</strong>. You&#8217;ll be  greeted with a page allowing you to download both the private key file  and X.509 certificate. Both of these are very important, download them  to your desktop so you don&#8217;t lose them.</p>
<div><a href="http://www.solusan.com/wp-content/2011/02/amazon_aws_create_x509.jpg"><img class="aligncenter size-full wp-image-1400" title="amazon_aws_create_x509" src="http://www.solusan.com/wp-content/2011/02/amazon_aws_create_x509.jpg" alt="" width="500" height="211" /></a></div>
<p>Next up, grab the <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&amp;categoryID=88">EC2 command line tools</a>. Extract them and you should be left with a folder named something like <em>ec2-api-tools-1.3-19403</em>. We&#8217;ll move those to a directory where we will also store the private and public keys.</p>
<p>The commands below assume you are working on an OS X machine in the Terminal.</p>
<pre><code>
mkdir ~/.ec2
cd ~/Desktop
mv *.pem ~/.ec2
cd ~/Desktop/ec2-api-tools-1.3-19403/  #depends on ec2 tools folder name
mv * ~/.ec2
</code></pre>
<p>This is what your .ec2 folder should have now.</p>
<div><a title="Amazon EC2 Folder" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_howto_folder_800.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_howto_folder.jpg"><img class="aligncenter size-full wp-image-1402" style="border: 1px solid black;" title="ec2_howto_folder" src="http://www.solusan.com/wp-content/2011/02/ec2_howto_folder.jpg" alt="" width="500" height="181" /></a></div>
<p>Next up, we&#8217;ll set some paths in your bash profile so the OS knows where the EC2 tools are located.</p>
<p><code>sudo vi ~/.bash_profile</code></p>
<p>Add these lines, replacing &#8220;YOURKEYNAME&#8221; with the actual file name of your private and public keys, then save.</p>
<pre><code>
export EC2_HOME=~/.ec2
export PATH=$PATH:$EC2_HOME/bin
export EC2_PRIVATE_KEY=pk-YOURKEYNAME.pem
export EC2_CERT=cert-YOURKEYNAME.pem
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home/
</code></pre>
<p>To get the changes noticed by the OS immediately, run <em>source</em>.</p>
<p><code>source ~/.bash_profile</code></p>
<p>Now we can actually use those helpful EC2 command line tools.</p>
<h4>AMIs, Keypairs and Instances, Oh My!</h4>
<p>Before proceeding, you&#8217;ll need to grok the concept of AMIs. They are  Amazon Machine Images and whenever you create an EC2 instance, an AMI is  quickly loaded on the machine. They&#8217;re essentially images of the OS. If  you terminate an instance and bring it up again, your machine will only  have the data initially included in the image. That&#8217;s why lots of work  goes into making (&#8220;bundling&#8221;) a good image you will always use that has  the configurations and software you need so you don&#8217;t have to do much  whenever you load the image. This article won&#8217;t delve into creating your  own AMIs but fortunately there are many great, public AMIs available  for use.</p>
<p>To SSH into the instance we&#8217;ll create from an AMI we find, we&#8217;ll need  to create a keypair. This is a different key from the one provided to  us by Amazon. That was for using the EC2 tools and interacting with the  instances in terms of creation and management. To actually SSH into an  instance, a separate keypair is required as there are no passwords by  default.</p>
<pre><code>
cd ~/.ec2 #we pretty much always need to be here
ec2-add-keypair pstam-keypair
</code></pre>
<p>That will print out the private key, which you&#8217;ll need to copy and paste into a file manually.</p>
<div><a title="Amazon EC2 - Adding a keypair" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_keypair_529.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_keypair.jpg"><img class="aligncenter size-full wp-image-1403" title="ec2_keypair" src="http://www.solusan.com/wp-content/2011/02/ec2_keypair.jpg" alt="" width="500" height="189" /></a></div>
<pre><code>
vi ~/.ec2/id_rsa-pstam-keypair
#now paste the private key and save
sudo chmod 600 id_rsa-pstam-keypair
</code></pre>
<p>Now we can find which AMI we want to toss on our yet-to-be-created EC2 instance.</p>
<pre><code>
cd ~/.ec2
ec2-describe-images -a
</code></pre>
<p>Using the <em>-a</em> option will list all of the AMIs you have  access to, and there are a lot. Alternatively you can list just the  images Amazon has:</p>
<pre><code>
ec2-describe-images -o amazon
</code></pre>
<div><a title="Amazon EC2 AMIs" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_images_1000.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_images.jpg"><img class="aligncenter size-full wp-image-1405" title="ec2_images" src="http://www.solusan.com/wp-content/2011/02/ec2_images.jpg" alt="" width="500" height="211" /></a></div>
<p>I found an AMI that I&#8217;ll try out.</p>
<blockquote><p>ami.yyang.info/gentoo-nginx-php-mysql-06feb2008.manifest.xml</p></blockquote>
<p>It&#8217;s a Gentoo Linux install with PHP, MySQL and nginx. When looking at AMIs, you need to find the AMI ID. In this case, it&#8217;s <em>ami-6138dd08</em>.</p>
<p><code> ec2-run-instances ami-6138dd08 -k pstam-keypair </code></p>
<p>The instance is now being loaded with the AMI I selected and booting  up. It should output some text with &#8220;RESERVATION&#8221; and &#8220;INSTANCE&#8221; rows.  On the instance row, it will say something like <em>pending pstam-keypair</em> until it has fully booted up. When an instance is ready to go, its URL  and internal address will be supplied with the ec2din command below.</p>
<p><code> ec2-describe-instances </code></p>
<div><a title="Amazon EC2 Describe Instances" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_describe_instances_600.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_describe_instances.jpg"><img class="aligncenter size-full wp-image-1406" title="ec2_describe_instances" src="http://www.solusan.com/wp-content/2011/02/ec2_describe_instances.jpg" alt="" width="500" height="49" /></a></div>
<p>If you try to access the URL in a browser, nothing will happen just  yet as the firewall blocks all ports by default. You&#8217;ll have to open up  the ones you need. We&#8217;ll do port 80 for HTTP and 22 for SSH. If the AMI  you are running doesn&#8217;t have a web server installed, accessing the EC2  URL in a browser won&#8217;t bring up anything regardless.</p>
<pre><code>
ec2-authorize default -p 22
ec2-authorize default -p 80
</code></pre>
<p>If you want to undo any port authorizations you&#8217;ve made, you can use <em>ec2-revoke</em>.  Now if you access your EC2 URL in a browser you&#8217;ll get something like a  default Apache page, or in the case of the AMI I&#8217;m using, a phpinfo()  page.</p>
<div><a title="EC2 Instance loaded in Firefox" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_phpinfo_ffox_850.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_phpinfo_ffox.jpg"><img class="aligncenter size-full wp-image-1407" title="ec2_phpinfo_ffox" src="http://www.solusan.com/wp-content/2011/02/ec2_phpinfo_ffox.jpg" alt="" width="500" height="161" /></a></div>
<p>The next step to actually using your new EC2 instance is SSHing into  it to get full root access. Run the line below and replace the EC2 URL  with the one provided to you by the <em>ec2-describe-images</em> command earlier.</p>
<pre><code>
ssh -i id_rsa-pstam-keypair root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com
</code></pre>
<p>If you run into the problem I did, this won&#8217;t work and you&#8217;ll be  asked for an EC2 instance password that doesn&#8217;t exist. I found out this  was because I initially created the <em>id_rsa-pstam-keypair</em> file  as the root user but ran the ssh command as a regular user which was not  able to access that keypair. That was easily fixed with <em>sudo chown Paul id_rsa-pstam-keypair</em> but you won&#8217;t have this issue if you followed this guide.</p>
<p>Otherwise, you should be logged into your EC2 instance as root over  SSH. Now that we&#8217;re in, we can tinker with the system however we like  and even see what kind of hardware we&#8217;re running on, setup FTP and drop a  web app into <em>/var/www/localhost/htdocs</em> or whatever. Having full root access in any OS you wish is one of the boons of using Amazon EC2.</p>
<div><a title="SSHed into EC2 Instance - cpuinfo" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_ssh_catproc_700.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_ssh_catproc.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/ec2_ssh_catproc.jpg"><img class="aligncenter size-full wp-image-1409" title="ec2_ssh_catproc" src="http://www.solusan.com/wp-content/2011/02/ec2_ssh_catproc.jpg" alt="" width="500" height="257" /></a></div>
<h4>Static IP Time</h4>
<p>If you plan on running your instance for good, you&#8217;ll want a static IP. Let&#8217;s get one for you.</p>
<p><code> ec2-allocate-address </code></p>
<div><a href="http://www.solusan.com/wp-content/2011/02/ec2_allocate_ip.jpg"><img class="aligncenter size-full wp-image-1410" title="ec2_allocate_ip" src="http://www.solusan.com/wp-content/2011/02/ec2_allocate_ip.jpg" alt="" width="500" height="93" /></a></div>
<p>Now we just need to tie that IP address to the instance ID of the  instance you wish to give a static IP. You can grab the instance ID (not  to be confused with the ami-* AMI ID) by running <em>ec2-describe-instances</em>.</p>
<p>In the line below, replace XXX.XXX.XXX.XXX with the IP address you  were given above and replace i-yourinstance with your actual instance  ID.</p>
<p><code> ec2-associate-address -i i-yourinstance XXX.XXX.XXX.XXX </code></p>
<div><a href="http://www.solusan.com/wp-content/2011/02/ec2_terminate_instance.jpg"><img class="aligncenter size-full wp-image-1411" title="ec2_terminate_instance" src="http://www.solusan.com/wp-content/2011/02/ec2_terminate_instance.jpg" alt="" width="500" height="104" /></a></div>
<p>Give it a few minutes and your instance will be accessible through  that new IP in addition to the longer EC2 URL we were previously using.  Please note that if you terminate the instance, the IP does not remain  tied to the instance, to the best of my knowledge. Terminating an  instance seems to be a nuclear option compared to simply rebooting an  instance via regular unix commands over SSH.</p>
<p>Now that the instance has an IP you can setup a domain name with it  if you want. The easiest way I&#8217;ve found of doing this is through a DNS  service like <a href="http://everydns.net/">EveryDNS</a>. Just provide  your domain name registrar with EveryDNS&#8217;s domain name servers, create  an EveryDNS account, add your domain and create an A record with your  newly associated EC2 instance IP address.</p>
<div><a title="EveryDNS - Setup Domain" href="http://turbo.paulstamatiou.com/uploads/2008/04/everydns_setup_domain_1200.jpg"></a><a href="http://www.solusan.com/wp-content/2011/02/everydns_setup_domain.jpg"><img class="aligncenter size-full wp-image-1412" title="everydns_setup_domain" src="http://www.solusan.com/wp-content/2011/02/everydns_setup_domain.jpg" alt="" width="500" height="255" /></a></div>
<p>The TTL on EveryDNS seems to be fixed at 3600 so it might take a  while for propagation, especially if you&#8217;re used to pushing down TTL to  300 when doing DNS work.</p>
<h4>Terminating Your EC2 Instance</h4>
<p>Killing your instance for good can be done, like every other action,  through an EC2 command line tool. This time, it&#8217;s the appropriately  named <em>ec2-terminate-instances</em> (ec2kill). Just provide it with the instance ID of your instance (get it from running ec2din).</p>
<p><code> ec2-terminate-instances i-yourinstance </code></p>
<div><img src="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_terminate_instance.jpg" alt="Terminate EC2 Instance" /></div>
<p>It should return with a &#8220;shutting-down&#8221; status but you&#8217;ll definitely want to check back in a few minutes with <em>ec2-describe-instances</em> to make sure it shutdown successfully and comes up as &#8220;terminated&#8221;.  There are a few cases where instances will hang on shutdown and you will  continue to be charged for instance hours.</p>
<div><a title="EC2 Instances Terminated" href="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_terminated_instances_600.jpg"><img src="http://turbo.paulstamatiou.com/uploads/2008/04/ec2_terminated_instances.jpg" alt="EC2 Instances Terminated" /></a></div>
<h4>The Next Step</h4>
<p>Now that you&#8217;ve successfully launched your first Amazon EC2 instance,  you&#8217;re ready to begin exploring the endless EC2 possibilities. I&#8217;m  still learning about taking the next step but overall, EC2 really isn&#8217;t  something to mess with unless you have quite a bit of sysadmin and  development experience. Actually using EC2 as an elastic compute cloud  usually involves setting up an instance as a load balancer and giving  that instance access to an array of active EC2 instances which it can  hand work to. Other hurdles include providing multiple instances access  to the same database, using Amazon S3 as a persistent filesystem and  employing highly redundant backup systems given the relatively volatile  nature of instances.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/how-to-getting-started-with-amazon-ec2.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>grep</title>
		<link>http://www.solusan.com/grep.html</link>
		<comments>http://www.solusan.com/grep.html#comments</comments>
		<pubDate>Tue, 01 Apr 2008 10:25:01 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[SuSE]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[grep]]></category>

		<guid isPermaLink="false">http://www.solusan.com/grep.html</guid>
		<description><![CDATA[What does ‘grep’ mean? &#160; The Wikipedia entry for grep states: grep is a command line utility originally written for use with the Unix operating system. The name comes from a command in the Unix text editor ed that takes the form: g/re/p This means “search globally for matches to the regular expression re, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.solusan.com/wp-content/2008/04/pspipegrep-copia.png" title="pspipegrep-copia.png"><img src="http://www.solusan.com/wp-content/2008/04/pspipegrep-copia.thumbnail.png" alt="pspipegrep-copia.png" align="right" /></a>What does ‘grep’ mean?</p>
<p class="storycontent">&nbsp;</p>
<blockquote><p>The Wikipedia entry for grep states:</p>
<p><strong>grep</strong> is a command line utility originally written for use with the Unix operating system.</p>
<p>The name comes from a command in the Unix text editor ed that takes the form:</p>
<p><strong>g/re/p</strong></p>
<p>This means “<em>s</em>earch <strong>g</strong>lobally for matches to the <strong>r</strong>egular <strong>e</strong>xpression re, and <strong>p</strong>rint lines where they are found”.</p></blockquote>
<p>Simple como deben ser las <em>utilidades</em> …</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/grep.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insultos de sudo</title>
		<link>http://www.solusan.com/insultos-de-sudo.html</link>
		<comments>http://www.solusan.com/insultos-de-sudo.html#comments</comments>
		<pubDate>Fri, 21 Dec 2007 09:16:16 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Insultos de sudo]]></category>

		<guid isPermaLink="false">http://www.solusan.com/insultos-de-sudo.html</guid>
		<description><![CDATA[Este tip es algo antiguo, aunque muchos lo desconocerán. El caso es que se puede configurar el comando sudo para que nos insulte con una donosa frase como It can only be attributed to human error, Listen, burrito brains, I don’t have time to listen to this trash o Wrong! You cheating scum!. Para activarlo [...]]]></description>
			<content:encoded><![CDATA[<p>Este <em>tip</em> es algo antiguo, aunque muchos lo desconocerán. El caso es que se puede configurar el <strong>comando sudo</strong> para que nos insulte con una donosa frase como <em>It can only be attributed to human error</em>, <em>Listen, burrito brains, I don’t have time to listen to this trash</em> o <em>Wrong! You cheating scum!</em>. Para activarlo hay que editar el archivo <em>/etc/sudoers</em>:</p>
<p style="line-height: 135%">&nbsp;</p>
<pre class="codigo"># sudo vi /etc/sudoers</pre>
<p>Situarnos en la línea que comienza por <em>Defaults</em>, y añadir el flag <em>insults</em> al final:</p>
<pre class="codigo">Defaults     !lecture,tty_tickets,!fqdn,insults</pre>
<p>A continuación limpiamos con la opcion <strong>-k (kill)</strong> la sesión abierta de sudo (si existe), para que nos solicite escribir la contraseña la próxima vez que ejecutemos <em>sudo</em>:</p>
<pre class="codigo"># sudo -k</pre>
<p>Ahora cada vez que introduzcamos mal la contraseña al ejecutar <em>sudo</em> nos insultará.</p>
<p style="text-align: center"><img src="http://www.alfonsojimenez.com/images/2007/09/insultos_sudo.jpg" class="centro" alt="Sudo" /></p>
<p>Vía: <a href="http://www.alfonsojimenez.com/2007/09/09-insultos-de-sudo" class="broken_link">http://www.alfonsojimenez.com/2007/09/09-insultos-de-sudo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/insultos-de-sudo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Piedra Rosseta de UNIX</title>
		<link>http://www.solusan.com/la-piedra-rosseta-de-unix.html</link>
		<comments>http://www.solusan.com/la-piedra-rosseta-de-unix.html#comments</comments>
		<pubDate>Thu, 15 Nov 2007 09:49:02 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Geek Works]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Piedra Rosseta de UNIX]]></category>

		<guid isPermaLink="false">http://www.solusan.com/la-piedra-rosseta-de-unix.html</guid>
		<description><![CDATA[Mirando documentación para UNIX y comentando con mis compañeros de trabajo resulta que a golpe de teclado me comentaron de esta URL francamente interesante: http://bhami.com/rosetta.html Gracias, Mercé Tena]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.solusan.com/wp-content/2007/11/sept512.jpg" title="sept512.jpg"><img src="http://www.solusan.com/wp-content/2007/11/sept512.thumbnail.jpg" alt="sept512.jpg" align="right" /></a>Mirando documentación para UNIX y comentando con mis compañeros de trabajo resulta que a golpe de teclado me comentaron de esta URL francamente interesante:</p>
<p><a href="http://bhami.com/rosetta.html" title=" Piedra Rosseta de UNIX" target="_blank">http://bhami.com/rosetta.html</a></p>
<p>Gracias, Mercé Tena <img src='http://www.solusan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/la-piedra-rosseta-de-unix.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Administrar mediante SSH</title>
		<link>http://www.solusan.com/administrar-mediante-ssh.html</link>
		<comments>http://www.solusan.com/administrar-mediante-ssh.html#comments</comments>
		<pubDate>Fri, 17 Aug 2007 09:18:27 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SuSE]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.solusan.com/administrar-mediante-ssh.html</guid>
		<description><![CDATA[Me acerque al SSH como un telnet seguro, una posibilidad de poder acceder a maquinas remotas por consola con un mínimo de seguridad. Después investigando y cacharreando en el dia a dia veo cosas tan útiles como esta: # ssh root@asuncion df # ssh root@asuncion uptime … que nos lanza un df o un uptime [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.solusan.com/wp-content/2007/08/ssh-tunnel-diagram-ht.jpg" title="ssh-tunnel-diagram-ht.jpg"><img src="http://www.solusan.com/wp-content/2007/08/ssh-tunnel-diagram-ht.thumbnail.jpg" alt="ssh-tunnel-diagram-ht.jpg" align="right" /></a> Me acerque al <a href="http://es.wikipedia.org/wiki/SSH">SSH</a> como un telnet seguro, una posibilidad de poder acceder a maquinas remotas por consola con un mínimo de seguridad.<br />
Después investigando y cacharreando en el dia a dia veo cosas tan útiles como esta:</p>
<blockquote><p># ssh root@asuncion df<br />
# ssh root@asuncion uptime</p></blockquote>
<p>… que nos lanza un df o un uptime en la maquina indicada con el usuario indicado y autenticandonos.<br />
o mejor aun</p>
<blockquote><p># ssh root@asuncion “df;uptime”</p></blockquote>
<p>que lo hace todo de una vez.</p>
<p>De momento no puedo lanzar sesiones interactivas, solo lo que es orden y respuesta al estilo del <em>ls</em>, <em>df</em>, <em>mount</em>, … aunque seguiremos investigando.</p>
<p>Via: <a href="http://troxa.com/?p=349" title="http://troxa.com/?p=349" target="_blank">Andros</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/administrar-mediante-ssh.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BSD, una buena alternativa</title>
		<link>http://www.solusan.com/bsd-una-buena-alternativa.html</link>
		<comments>http://www.solusan.com/bsd-una-buena-alternativa.html#comments</comments>
		<pubDate>Mon, 07 Aug 2006 12:55:24 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OpenBSD]]></category>

		<guid isPermaLink="false">http://www.solusan.com/?p=222</guid>
		<description><![CDATA[NOTA: Este articulo fue escrito originariamente para el canal #networking, un canal situado en el servidor irc-hispano en el que semanalmente dan cabida numerosas charlas impartidas por numerosas personas. Este documento habla de cosas que a medida que va pasando el tiempo pueden cambiar o variar facilmente. Los datos contenidos son correctos almenos hasta la [...]]]></description>
			<content:encoded><![CDATA[<p><u><em>NOTA:</em></u><em> Este articulo fue escrito originariamente para el canal #networking, un canal situado en el servidor irc-hispano en el que semanalmente dan cabida numerosas charlas impartidas por numerosas personas. Este documento habla de cosas que a medida que va pasando el tiempo pueden cambiar o variar facilmente. Los datos contenidos son correctos almenos hasta la fecha de creación del mismo (25/05/2001). No obstante si ves alguna incorreción puedes comentarmelo en <a href="mailto:koji@jet.es">koji@jet.es</a></em></p>
<hr width="50%" />  <a href="http://www.solusan.com/wp-content/2007/03/bsdlogo.jpg" title="bsdlogo.jpg"><img src="http://www.solusan.com/wp-content/2007/03/bsdlogo.miniatura.jpg" alt="bsdlogo.jpg" align="right" /></a> 1. Introducción2. Del AT&amp;T Unix a 4.4BSD -Historia de BSD-3. Principales caracteristicas y objetivos de cada uno de los sistemas *BSD</p>
<p>4. Modelo de desarrollo de los sistemas *BSD</p>
<p>5. Ports y packages</p>
<p>6. Igualdades y diferencias en los *BSD</p>
<p>7. Conclusión</p>
<p><strong> 1. Introducción</strong></p>
<p>Hola a todos. Esta noche hablaremos un poco sobre los diferentes sistemas operativos libres que estan basados en BSD, mas concretamente en 4.4BSD-Lite. Variaciones las hay muchas, y seria imposible tratar</p>
<p>todas las variantes *BSD que se encuentran disponibles, por lo tanto nos centraremos basicamente en las tres mas comunes y las que posiblemente conoce mas gente: NetBSD, FreeBSD y OpenBSD. No vamos a tratar ningun *BSD en profundidad. Esta charla estará enfocada mas bien a los &#8220;elementos&#8221; caracteristicos que tienen estos *BSD que hemos nombrado anteriormente y que son los mas conocidos por todo el mundo. Estos elementos comunes pueden ser por ejemplo el tipo de licencia, el sistema de paquetes, el sistema de arranque etc. es decir, elementos que encontrareis casi identicos tanto si usais NetBSD, FreeBSD o OpenBSD. Tambien comentaremos algunas de las diferencias existentes en estas tres vertientes y los propositos de cada una.</p>
<p>Antes de continuar comentar que usaremos el termino &#8220;*BSD&#8221; para referirnos en conjunto a NetBSD, FreeBSD y OpenBSD.</p>
<p>La charla empezará con una breve historia del sistema BSD, que esta muy ligada a la historia de Unix (como no). Posteriormente comentaremos los objetivos y caracterisitcas que hacen de estos tres BSD&#8217;s, sistemas diferentes que estan enfocados cada uno a un objetivo distinto</p>
<p>El cuarto punto tratara sobre el modelo de desarrollo que siguen los sistemas *BSD, veremos la organizacion de desarrollo y que significan las palabras -release, -stable y -current.</p>
<p>En el quinto punto explicaremos el sistema de paquetes usado por *BSD con ejemplos practicos para una expicación mas entretenida.</p>
<p>Y en el ultimo punto (el numero seis) comentaremos tanto las igualdades que tienen en comun los diferentes *BSD como las diferencias entre ellos.</p>
<p>Vamos allá <img src='http://www.solusan.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  <span id="more-222"></span></p>
<p><strong> 2. Del AT&amp;T Unix a 4.4BSD &#8211; Historia de BSD -</strong></p>
<p>La primera versión de Unix fuea desarrollada por Ken Thompson para los laboratorios Bell en 1969, poco tiempo después se unió al proyecto Dennis Ritchie, quien a parte de colaborar en el diseño y la implementación del sistema operativo, creó el lenguaje C, en el que se reescribiría Unix completamente.</p>
<p>Muchas de las ideas de unix, fueron tomadas de otros sistemas operativos. Multics, un sistema operativo también de Bell en el que habían trabajo estos dos desarrolladores, tuvo una gran influencia en Unix; donde en Multics se intentaba hacer algo muy complejo para resolver un problema, en Unix se buscaba el remedio más sencillo. Ideas tomadas directamente de Multics son el sistema de archivos y su interfaz etc&#8230; La idea de la operación &#8216;fork&#8217; fue tomada de GENIE (Berkeley).</p>
<p>La sexta edición de Unix (V6) fue ampliamente distribuida, fuera de los laboratorios Bell. Las diferencias más destacadas respecto a otros sistemas operativos fueron que Unix estuviera escrito en un lenguaje de alto nivel, se distribuyera el código fuente y la posibilidad de correr procesos concurrentemente.</p>
<p>La primera versión de Unix proveniente de Berkeley, fue una modificación al 32V (predecesora de la V7), añadiéndole memoria virtual y otras características, a la cual se llamó 3BSD (1979). Este trabajo convenció a DARPA para que Berkeley desarrollara un sistema operativo con soporte para TCP/IP, así se creo el estandar 4BSD. Con el lanzamiento de 4.2BSD (1983) terminó el proyecto &#8216;Berkeley DARPA UNIX&#8217;. Apartir de aquí se lanzaron diferentes versiones, 4.3BSD (1986), 4.3BSD Net1 y Net2 (1989,1991) estas versiones ya se podían distribuir libremente sin ninguna ligadura con la &#8216;UNIX source license&#8217;. 4.4BSD (1993) y la 4.4BSD-Lite (1994), en la que se basan todos los *BSD de hoy en día.</p>
<p>En la versión 4.4 se arreglaron bastante deficiencias de su antecesora (4.3BSD) se incluyeron nuevos algoritmos que mejoraban la gestión de memoria, se mejoró la implementación de la suite IP, se añadió compatibilidad con el estandar POSIX. En esta versión se añadió una abstracción en la implementación de la interfaz de sistemas de archivos, de esta manera se permitía el soporte de varios fs.</p>
<p><strong><br />
3-Principales caracteristicas y objetivos de cada uno de los sistemas *BSD</strong></p>
<p>Las principales características y objetivos del proyecto NetBSD son:</p>
<p>*Sistema operativo tipo UNIX, basado en 4.4BSD, multiplataforma y de libre disposición</p>
<p class="western" style="margin-bottom: 0cm" xml:lang="en-GB" lang="en-GB">*Posee un sistema TCP/IP completo (SLIP, PPP, NFS, NIS, FTP, TELNET,MAIL etc.)</p>
<p>*Amplia portabilidad: esto se realiza dividiendo el diseño en dos partes,</p>
<ul>
<li>MD (Máquina dependiente) y</li>
<li>MI (Máquina independiente).</li>
</ul>
<p>*Distribución del código fuente.</p>
<p>*Permite NAT, Ipv6, Wireless Networking, soporta hardware y sofware RAID, SCSI, sistemas de archivos de 64-bit, DVD ROM y RAM, USB, UVM, Cardbus, etc.</p>
<p>*Emulación de binarios: Linux, OSF/1, SCO UNIX, SunOS, System V release 4, Solaris y Ultrix.</p>
<p>*Desarrollar un S.O totalmente portable, que pueda correr en multitud de arquitecturas</p>
<p><strong><br />
Caracteristicas de FreeBSD</strong></p>
<p>* FreeBSD es un sistema desarrollado totalmente en 32 bits.</p>
<p class="western" style="margin-bottom: 0cm" xml:lang="en-GB" lang="en-GB">* Posee un sistema TCP/IP completo (SLIP, PPP, NFS, NIS, FTP, TELNET,MAIL etc.)</p>
<p>* Sistema multiusuario/multitarea. FreeBSD como todo UNIX ofrece un sistema con posibilidad de ejecutar mas de una aplicación al mismo tiempo y trabajar con mas de un usuario a la vez</p>
<p>* Versatilidad en cuanto a su uso como Pc personal: Estación de trabajo, servidor de ficheros y aplicaciones, bases de datos, comunicaciones e internet, router, gateway, firewall, etc.</p>
<p style="margin-bottom: 0cm" class="western"><span xml:lang="es-ES" lang="es-ES"><strong>* </strong>Módulos de compatibilidad que permiten la ejecución de programas de otros sistemas operativos en FreeBSD, incluyendo programas para Linux, SCO, NetBSD, BSDI, etc.</span></p>
<p>* Módulos de kernel de carga dinámica que permiten tener acceso a nuevos sistemas de ficheros, protocolos de red o emuladores de binarios en tiempo de ejecución sin necesidad de generar un nuevo kernel.</p>
<p>* Disposición de todo el codigo fuente tanto del kernel como de las aplicaciones en la instalación base.</p>
<p>* FreeBSD soporta SMP y actualmente corre en arquitecturas i386 y alpha</p>
<p>* FreeBSD dispone de un grandisimo repertorio de aplicaciones y programas que corren perfectamente en él</p>
<p><strong><br />
Cuales son los objetivos de FreeBSD?</strong></p>
<p>*Proveer software que pueda ser usado para cualquier causa sin que esto sea una carga. Es decir, desarrollar aplicaciones bajo licencia BSD para que despues se haga lo que quiera con este software.</p>
<p>*Optimización del codigo para plataformas i386 y alpha para que el sistema y las aplicaciones corran a gran velocidad bajo este S.O</p>
<p>*Dar disponibilidad del codigo fuente para que todo el mundo tenga acceso a el</p>
<p>*Seguir desarrollando un S.O estable, rapido y libre con abundantes aplicaciones, que sea efectivo y que responda bien ante grandes cargas de información</p>
<p><strong><br />
Caracteristicas OpenBSD</strong></p>
<p>*Sistema operativo tipo UNIX, basado en 4.4BSD, multiplataforma y de libre disposición</p>
<p class="western" style="margin-bottom: 0cm" xml:lang="en-GB" lang="en-GB">* Posee un sistema TCP/IP completo (SLIP, PPP, NFS, NIS, FTP, TELNET,MAIL etc.)</p>
<p style="margin-bottom: 0cm" class="western"><span xml:lang="en-GB" lang="en-GB">*</span><span xml:lang="es-ES" lang="es-ES">Soporte para la emulación de la mayor parte del código binario de los sistemas SVR4 (Solaris), FreeBSD, Linux, BSDI, SunOS, y HP-UX.</span></p>
<p>*OpenBSD actualmente soporta las plataformas siguientes: i386, sparc, hp300, amiga, mac68k, powerpc, sun3, mvme68k, alpha y vax</p>
<p>* OpenBSD está reconocido por muchos profesionales de la seguridad informática como el sistema operativo tipo UNIX más seguro; esto es el resultado de una intensa auditoría de seguridad sobre el código fuente, llevada a cabo durante un año y medio por un grupo de diez personas.</p>
<p>*OpenBSD es un sistema operativo con todas las funcionalidades de UNIX, que se puede adquirir de forma gratuita.</p>
<p><strong><br />
Cuales son los objetivos de OpenBSD?</strong></p>
<p>*Proveer la mejor plataforma de desarrollo posible</p>
<p>*Dar acceso al codigo fuente a todo el mundo</p>
<p>*Integracion de código de calidad de cualquier fuente (preferiblemente del estilo de Berkeley -BSD-)</p>
<p>*Intentar ser el sistema operativo mas seguro. &#8220;Seguro por defecto&#8221;, es decir intentar hacer un S.O libre de bugs y errores en su instalacion por defecto, auditando constantemente el codigo en busca de posibles fallas.</p>
<p>*Mas integración de software criptografico. OpenBSD se desarrolla en canadá y esto permite toda clase de exportación de software criptografico. Gracias a este detalle OpenBSD ha integrado en muchas partes del sistema operativo toda clase de sistemas criptograficos.</p>
<p>* Sacar aproximadamente cada seis meses una nueva version de OpenBSD, sobre todo para recoger fondos para el proyecto.</p>
<p><strong><br />
4. Modelo de desarrollo de los sistemas *BSD</strong></p>
<p>Asi en terminos generales podriamos decir que los sistemas *BSD se componen de tres ramas bien diferenciadas cumpliendo cada una de ellas un proposito diferente. El nombre que reciben cada una de estas ramas es: La rama -release, la rama -stable y la rama -current.</p>
<p>Nosotros en cualquier momento podemos usar una u otra, todo dependerá de lo que queramos o busquemos.</p>
<p>Para empezar, la rama -release es la rama que se quema en los CD&#8217;s de venta o distribucion, es decir, es la version &#8220;de corte&#8221;. Asi pues si instalamos un *BSD desde el CD de distribucion, ISO oficial que hemos quemado etc, estaremos usando la rama -release.</p>
<p>Continuando con nuestra explicación, la rama -stable, no es mas que la rama -release con los bugs o fallas (que han salido despues de liberar la version -release) corregidos. A esta version normalmente solo se podra actualizar via internet a traves de CVS o CVSUP, y es una rama que se considera estable ya que se van aplicando a ella todos los parches necesarios para corregir los bugs descubiertos.</p>
<p>Por ultimo la rama -current, es la rama mas &#8220;inestable&#8221; y que mas cambia. Es la rama con los ultimos soportes y ultimas caracteristicas agregadas al S.O. Esta rama la suele usar gente que no necesita para nada una version estable del S.O y gente que sabe que en cualquier momento el sistema operativo puede dejar de funcionar correctamente. Es una version de pruebas por decirlo de alguna manera para ir probando y testeando las nuevas caracteristicas que poseeran en un futuro las ramas -stable y -release. A esta rama al igual que la -stable, lo mas normal es que solo se pueda actualizar por internet via CVS o CVSUP, aunque dependiendo del *BSD tambien puede estar disponible algun snapshot o imagen ISO.</p>
<p>A todas estas ramas se puede acceder facilmente a traves del depósito CVS (Concurrent Version System), que es una herramienta destinada para el control de codigo fuente. Gracias a esta herramienta nosotros podemos &#8220;sincronizar&#8221; nuestro codigo fuente con cualquiera de las ramas disponibles para posteriormente compilar todas las fuentes.</p>
<p>Despues de comentar un poco acerca de las versiones y herramientas proporcionadas para acceder a estas ramas nos podemos preguntar quien esta detras del proyecto *BSD.</p>
<p>La respuesta es: mucha gente, pero basicamente podriamos dividir a toda esta gente en tres grandes grupos, teniendo cada grupo su importancia y prioridad.</p>
<p>Si tuvieramos que comentar estos grupos en orden jerarquico, empezariamos sin duda por el llamado &#8220;core-team&#8221;.</p>
<p>El core-team podria ser lo equivalente al conjunto de directores si *BSD fuese una compañia. La tarea del core-team es asegurar el buen camino del proyecto *BSD. Cada mienbro del core team puede tener alguna que otra tarea especifica como por ejemplo la de asegurar que partes importantes del sistema funcionen como se espera. Dependiendo del *BSD este grupo puede constar de mas o menos mienbros y la manera de llegar a ser un mienbro del core team tambien puede variar segun del *BSD del que hablemos. Sin ir mas lejos el core-team de FreeBSD consta de nueve personas, y las ultimas &#8220;elecciones&#8221; se han llevado a cabo mediante votos democraticos a traves de internet.</p>
<p>En nuestro segundo grupo jerarquico podriamos poner a los llamados &#8220;committers&#8221; que son ni mas ni menos que las personas que tienen accesso de escritura al codigo fuente albergado en el CVS. Estas personas estan autorizadas para realizar modificaciones en el codigo.</p>
<p>Por ultimo clasificariamos a los contribuyentes externos que son los propios usuarios, y sin duda el grupo mas importante ya que ofrecen sus ideas, aportaciones, parches, codigo etc.</p>
<p><strong><br />
5. Ports y Packages</strong></p>
<p>En esta sección hablaremos sobre una caracteristica que poseen los BSD&#8217;s mas destacados, hablaremos de los ports y de los packages.</p>
<p>Que son los ports?</p>
<p>Los ports son unica y exclusivamente los scripts y parches necesarios que se han de aplicar a un programa fuente en concreto (el archivo.tar.gz de toda la vida) para que pueda ejecutarse satisfactoriamente en nuestro sistema.</p>
<p>Que ganamos con todo esto?</p>
<p>Pues bastante, aqui va lo mas destacado:</p>
<p>* Gracias a los ports nos ahorramos el tener que buscar el tar.gz en cuestion por todos los FTP&#8217;s ya que el sistema de ports contiene una lista de FTP&#8217;s de donde puede descargar automaticamente el programa o la aplicacion.</p>
<p>* Tambien nos ahorramos el tener que controlar las dependencias entre aplicaciones, esto es, si queremos instalar el paquete X pero éste no puede funcionar sin el paquete Y, el sistema de ports descargará y instalará el paquete Y y posteriormente instalara el paquete X.</p>
<p>* Nos proporciona un &#8220;esqueleto&#8221; de directorios clasificados por secciones, en las cuales podemos encontrar todos los programas ordenados por temas o secciones que estan disponibles para nuestro S.O</p>
<p>* &#8220;Nos ahorra&#8221; el tener que leer la larga documentación de instalacion que explica la manera en que se ha de instalar el programa. Los ports instalaran la aplicación por nosotros con un solo comando, eso si, con las opciones por defecto y mas comunes si nosotros no le indicamos lo contrario.</p>
<p>* Nos asegura una forma limpia y ordenada en la ubicación de los ejecutables del programa a la hora de copiarlos. Generalmente bajo /usr/local si no le indicamos lo contrario.</p>
<p>* A la hora de posibles actualizaciones o desinstalaciones no tenemos que preocuparnos por borrar todos los archivos y directorios creados en la instalacion, ya que se mantiene una base de datos con todas las aplicaciones instaladas y cada BSD posee los comandos necesarios para borrar limpiamente ports instalados.</p>
<p>Despues de ver las caracteristicas mas significativas de los ports, pondremos a modo de ejemplo los logs de la instalación de un port para que se entienda el funcionamiento de un port.</p>
<p>A modo de ejemplo hemos decidido instalar el conocido navegador en modo texto links. Antes de nada comentamos que la el analisis de este port en concreto a sido llevado en FreeBSD, y que en otros BSD&#8217;s puede variar ligeramente algun archivo de configuración o simplemente la ruta del directorio links, pero estos cambios no son importantes para entender la filosofia de los ports.</p>
<p>Todos los ports son instalados bajo el directorio /usr/ports (comumente). Dependiendo del BSD ya los tendremos instalados o se nos preguntara si se desean instalar en la instalacion del BSD. Por otro lado tambien es posible que tengamos que instalarlos nosotros a mano una vez finalizada la instalacion del sistema.</p>
<p>Asi pues nos situamos bajo el directorio /usr/ports y hacemos un ls para que podais ver las diferentes categorias que engloban los ports:</p>
<p>sayaka# cd /usr/ports &amp;&amp; ls</p>
<p>.cvsignore benchmarks french math sysutils</p>
<p>INDEX biology ftp mbone textproc</p>
<p>LEGAL cad games misc ukrainian</p>
<p>Makefile chinese german net vietnamese</p>
<p>Mk comms graphics news www</p>
<p>README converters hebrew palm x11</p>
<p>README.html databases irc picobsd x11-clocks</p>
<p>Templates deskutils japanese print x11-fm</p>
<p>Tools devel java russian x11-fonts</p>
<p>archivers distfiles korean science x11-servers</p>
<p>astro editors lang security x11-toolkits</p>
<p>audio emulators mail shells x11-wm</p>
<p>Como podemos ver son muchas las secciones que engloban los ports. Una vez mas comento que en estos directorios no se encuentran los fuentes ni los programas de cada categoria, sino simplemente makefiles, parches y scripts que se encargaran de bajar el port y instalarlo.</p>
<p>Nos situamos en el directorio /usr/ports/www/links que es donde se encuentra el port que queremos instalar y hacemos un ls para ver de que se compone:</p>
<p>sayaka# cd /usr/ports/www/links &amp;&amp; ls</p>
<p>Makefile distinfo pkg-comment pkg-plist</p>
<p>README.html files pkg-descr</p>
<p>Nos centraremos en los archivos mas importantes, que en este caso son el Makefile y el directorio files.</p>
<p>El archivo Makefile contiene varias cosas:</p>
<p>*Nombre y version del port</p>
<p>*Nombrte y email de la persona encargada del port</p>
<p>*Categoria en la que se situa el port (en este caso www)</p>
<p>*FTP&#8217;s disponibles en los que puede probar el sistema para conectar y descargar el port en cuestion</p>
<p>*etc.</p>
<p>Por otro lado el directorio files contiene los diferentes patchs (parches) que seran aplicados durante la compilación y instalacion del port.</p>
<p>Asi pues, una vez vistos por encima los contenidos del port links vayamos a instalarlo. Para instalarlo unicamente tenemos que teclear &#8220;make install&#8221; en el directorio /usr/ports/www/links</p>
<p>sayaka# make install</p>
<p>&gt;&gt; links-0.95.tar.gz doesn&#8217;t seem to exist in /usr/ports/distfiles/.</p>
<p>&gt;&gt; Attempting to fetch from http://artax.karlin.mff.cuni.cz/~mikulas/vyplody/links/download/.</p>
<p>fetch: links-0.95.tar.gz: size of remote file is not known</p>
<p>Receiving links-0.95.tar.gz: 45056 bytes</p>
<p>449795 bytes transferred in 16.7 seconds (26.25 kBps)</p>
<p>===&gt; Extracting for links-0.95_2</p>
<p>&gt;&gt; Checksum OK for links-0.95.tar.gz.</p>
<p>===&gt; Patching for links-0.95_2</p>
<p>===&gt; Applying FreeBSD patches for links-0.95_2</p>
<p>===&gt; Configuring for links-0.95_2</p>
<p>creating cache ./config.cache</p>
<p>checking for a BSD compatible install&#8230; /usr/bin/install -c -o root -g wheel</p>
<p>checking whether build environment is sane&#8230; yes</p>
<p>[...] configuracion y compilacion [...]</p>
<p>===&gt; Generating temporary packing list</p>
<p>===&gt; Compressing manual pages for links-0.95_2</p>
<p>===&gt; Registering installation for links-0.95_2</p>
<p>Hemos resumido el log para hacerlo mas corto. Aqui basicamente podemos ver los siguientes pasos para la correcta instalación del port links:</p>
<p style="margin-bottom: 0cm" class="western"><span xml:lang="es-ES" lang="es-ES">1. Comprobar si el archivo links-0.95.tar.gz (en este caso) se encuentra en el disco duro en local</span></p>
<p>2. En este caso no se encuentra, por lo tanto se empieza la descarga del archivo en alguno de los FTP&#8217;s definidos en el Makefile que vimos anteriormente.</p>
<p>3. Una vez descargado y aunque el log no lo indique, se comprueban las dependencias sobre links. Al no requerir otro paquete adicional para su correcto funcionamiento se pasa a la extracción del links-0.95.tar.gz.</p>
<p>4. Una vez descomprimido se comprueba el cheksum para verificar la integridad del archivo</p>
<p>5. Si todo ha ido bien, se pasa al parcheado del fichero y/o ficheros para la correcta compilacion y instalacion del port (parches que comentabamos antes)</p>
<p>6.En este punto nuestro BSD ya comienza la fase de configuracion (./configure), compilacion (make), y instalacion del programa en cuestion (make install)</p>
<p>7. Finalmente se registra el port en la base de datos para futuras deinstalaciones limpias.</p>
<p>y eso es todo.</p>
<p>Los ports son diariamente modificados, actualizados y parcheados por multitut de personas que se encargan de eso, de tener &#8220;al dia&#8221; los ports. Nosotros podemos actualizar nuestro arbol de ports (/usr/ports) por CVS o CVSUP.</p>
<p>Pasemos ahora pues a hablar de los packages.</p>
<p>Si los ports eran parches aplicados a programas .tar.gz (sources) de toda la vida, los packages son algo asi como los .rpm o .deb de linux, es decir, los archivos binarios (archivos ya compilados)</p>
<p>Su funcionamiento es parecido al de los ports. Comentemos algunas caracteristicas de ellos:</p>
<p>*Los packages son archivos .tar.gz que engloban archivos binarios + pequeños scripts que definen donde y como se instalaran los ejecutables</p>
<p>*Los packages estan situados en multitut de FTP&#8217;s, a diferencia de los ports con los packages &#8220;tenemos que ir a los diversos FTP&#8217;s a buscarlos&#8221;, y pongo esto entre comillas ya que algun BSD dispone de herramientas que no te hacen necesaria la pesada busqueda de un package por el FTP.</p>
<p>*Igual que en los ports, los packages garantizan un buen mecanismo de instalacion/desinstalacion de aplicaciones o programas ya que se hace de una forma controlada y ordenada</p>
<p>*Los packages tambien controlan el tema de las dependencias a la hora de instalar un programa en concreto.</p>
<p>Al igual como en los ports, instalaremos un package para que podais ver lo sencillo y rapido que resulta. Para no pderder la costumbre, instalaremos el package links (esta vez los binarios).</p>
<p>Asi pues una vez bajado el package teclearemos la orden de instalacion de un package:</p>
<p>sayaka# pkg_add links-0.95_2.tgz</p>
<p>El comando pkg_add es usado para instalar packages.</p>
<p>De igual forma sus compañeros pkg_delete borra packages y pkg_info proporciona informacion sobre packages. Podemos teclear la orden pkg_info para que nos muestre una lista de los packages instalados:</p>
<p>sayaka# pkg_info</p>
<p>apache-1.3.17 The extremely popular Apache http server. Very fast, very c</p>
<p>autoconf-2.13 Automatically configure source code on many Un*x platforms</p>
<p>cvsup-bin-16.1 A general network file distribution system optimized for CVS</p>
<p>gettext-0.10.35 GNU gettext package</p>
<p>gmake-3.79.1 GNU version of &#8216;make&#8217; utility</p>
<p>libtool-1.3.4_2 Generic shared library support script</p>
<p>links-0.95_2 Lynx-like text WWW browser</p>
<p>Efectivamente podemos ver que el links esta instalado correctamente, tambien bajo /usr/local (normalmente) como hacian los ports</p>
<p>Para ver el funcionamiento algo mas interno de un package, cogeremos el archivo de antes links-0.95_2.tgz y en vez de utilizar los comandos pkg* desarrolados para el tratamiento de packages lo descomprimiremos &#8220;a mano&#8221; para ver de que se compone. Asi que tecleamos:</p>
<p>sayaka# tar -zxvf links-0.95_2.tgz</p>
<p>+CONTENTS</p>
<p>+COMMENT</p>
<p>+DESC</p>
<p>+MTREE_DIRS</p>
<p>man/man1/links.1.gz</p>
<p>bin/links</p>
<p>Como vemos, lo que llama mas la atencion son los archivos que empizan por &#8220;+&#8221;. El archivo links.1.gz y links son los archivos que compondrian un .tar.gz normal</p>
<p>A modo de resumen, los archivos &#8220;+&#8221; definen la descripcion del package (de que trata el programa), donde se instalará y de que esta compuesto. No entraremos mas en detalle porque se alargaria demasiado esto.</p>
<p>Para acabar con esta larga sección, me gustaria comentar una ultima nota sobre los ports y los packages.</p>
<p>Cuando nosotros instalamos un port, lo que estamos instalando realmente es un package, es decir, despues de todo el proceso de configuracion y compilacion del port, el BSD en cuestion empaqueta los binarios que ha compilado de los fuentes del port en forma de package de forma temporal, para posteriormente instalar el package que no es otra cosa que un package transformado a partir del port. Con esto deducimos, que tan solo hay una base de datos que controla lo que tenemos y no tenemos instalado, y esta base de datos es controlada por los comandos genericos pkg* (pkg_add, pkg_delete etc.) disponibles para trabajar con packages.</p>
<p><strong><br />
6. Igualdades y diferencias en los *BSD</strong></p>
<p>En este ultimo punto que abarcaremos de la charla, explicaremos de forma general las cosas en comun y las cosas que los hacen diferentes a estos tres *BSD&#8217;s</p>
<p>A parte de gran parte de las caracteristicas que hemos comentado anteriormente y del sistema de paquetes, podemos encontrar otras caracteristicas comunes a los *BSD. Pasemos a comentarlas:</p>
<p>Lo mas caracteristico y lo primero que se puede ver tan solo leyendo su nombre es su tipo de licencia. Los *BSD&#8217;s tienen gran parte de codigo regido por la licencia BSD. Que dice esta licencia? no me extenderé hablando de las clausulas sobre la BSD, pero para aquellos interesados pueden consultar la web http://www.eldemonio.org donde hay un doc que habla sobre las diferencias entre la BSD y GPL. No obstante si que comentare que la licencia BSD no obliga a adjuntar el codigo fuente junto al programa. Esto mucha gente lo ve bien ya que hace de ella una licencia menos restrictiva, y muchos otros lo ven mal.</p>
<p>Continuando con las igualdades, los sistemas operativos *BSD&#8217;s se caracterizan por la manera que tienen de arrancar. En el mundo UNIX hay 2 variantes a la hora de arrancar un S.O, una llamada system V y otra llamada BSD. La mayoria de distribuciones linux usan la system V, pero logicamente los sistemas *BSD usan el metodo BSD.</p>
<p>La principal diferencia entre estas dos maneras de arrancar radica en el lugar donde se situan los scripts de inicializacion. En el estilo System V los podemos encontrar en /etc/rc.d y en BSD estaran en /etc. Todos los scripts de arranque del metodo BSD son llamados rc*</p>
<p>Las particiones en los sistemas *BSD tambien es algo que tienen en comun y que deberiamos comentar. A diferencia de otros sistemas operativos los sistemas *BSD usan una sola particion con su correspondiente sistema de archivos. Dentro de esta particion estan lo llamado &#8216;slices&#8217; que son algo asi como subparticiones dentro de una particion. Por poner un ejemplo, si quisieramos instalar un sistema BSD con las particiones /var /usr, / y swap tan solo tendriamos que crear una particion con el sistema de archivos correspondiente, y dentro de esta particion BSD creariamos cuatro slices estableciendo sus puntos de montaje /var, /usr , / y el swap. Esto es una gran ventaja respecto a otros SSOO ya que ahorramos entradas de particiones en nuestra tabla.</p>
<p>Como tambien comentabamos antes, los sistemas *BSD albergan todo su codigo fuente en servidores CVS, para que todo aquel que quiera pueda actualizar su S.O</p>
<p>Una vez comentadas algunas de las caracteristicas mas significativas, explicaremos algunas de las cosas que hacen a estos tres SSOO sistemas diferentes.</p>
<p>Como ya habreis podido observar, los dos BSD&#8217;s con soporte para mas plataformas son OpenBSD y NetBSD. Este ultimo soporta gran variedad de plataformas (muchas mas que OpenBSD), llegando a poder correr incluso en una consola DreamCast.</p>
<p>FreeBSD por otro lado, es el unico *BSD de estos tres que tiene un soporte estable para trabajar en SMP. Tambien incorpora un boot manager (este ultimo) simple, comodo y eficaz que nos permitirá arrancar cualquier otro S.O que tengamos instalado en nuestro sistema.</p>
<p>Sin duda el *BSD que posee mas aplicaciones y/o programas disponibles es FreeBSD, con una inmensa coleccion de ports y packages. FreeBSD tambien tiene un buen soporte de hardware, a modo de ejemplo, podemos comentar, que es el unico BSD que tiene drivers para la targeta sb live.</p>
<p>OpenBSD por otro lado dispone de drivers para poder usar targetas aceleradoras criptograficas.</p>
<p>Las igualdades y diferencias entre estos tres *BSD son muchas, y nos abarcaria demasiado tiempo y espacio el poder comentarlas todas de forma exhaustiva. Si tuvieramos que diferenciar a estos tres sistemas operativos de forma escueta podriamos decir que:</p>
<p>*FreeBSD es un s.o que se caracteriza por su gran variedad de aplicaciones y su gran optimizacion del codigo para correr a gran velocidad en plataformas i386 y alpha</p>
<p>*NetBSD es sin duda el S.O que mas plataformas soporta, y su objetivo es ser lo mas portable posible</p>
<p>*OpenBSD es un s.o con la idea de ser el s.o mas seguro (si no lo es ya) y la de incorporar todo tipo de criptografia.</p>
<p style="margin-bottom: 0cm" class="western"><span xml:lang="es-ES" lang="es-ES"><br />
<strong> 7. Conclusión</strong></span></p>
<p>Como se suele decir siempre, pruebalo y opina. Creo que los objetivos de cada uno de estos tres *BSD son diferentes, y dependiendo de tus necesidades puedes querer instalar uno u otro.</p>
<p>Yo posiblemente si tuviera un servidor sencillo sin demasiadas cargas y sin necesitar aplicaciones extras (server sencillo de mail, ftp etc.) seguramente me quedaria con OpenBSD, ya que me proporciona una seguridad por defecto que posiblemente otros SSOO no me la dan.</p>
<p>Si tuviera que tener algun servidor con abundante trafico y necesitase instalar una gran variedad de aplicaciones o programas extras sin duda me quedaria con FreeBSD. Es raro encontrar programas habituales en linux que no esten disponibles para FreeBSD. FreeBSD me proporciona una gran velocidad y un abundante repertorio de aplicaciones de toda clase.</p>
<p>Finalmente si tuviera que correr algun server con hardware antiguo o poco habitual me quedaria con NetBSD. NetBSD me proporciona soporte para cantidad de plataformas y es raro el tener un ordenador que no pueda ser usado con NetBSD.</p>
<p>Con esto acabo, gracias por la atención y espero que hayan aprendido algo sobre estos sistemas que aun estan algo desconocidos para mucha gente</p>
<p>un saludo</p>
<p>koji@jet.es</p>
<p>Documento original en: <a href="http://www.eldemonio.org/documentos/lectura/bsd/charla.html" target="_blank">http://www.eldemonio.org/documentos/lectura/bsd/charla.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/bsd-una-buena-alternativa.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalar vim desde los ports II</title>
		<link>http://www.solusan.com/instalar-vim-desde-los-ports-ptii.html</link>
		<comments>http://www.solusan.com/instalar-vim-desde-los-ports-ptii.html#comments</comments>
		<pubDate>Mon, 07 Aug 2006 11:43:42 +0000</pubDate>
		<dc:creator>Solusan</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[DragonFlyBSD]]></category>

		<guid isPermaLink="false">http://www.solusan.com/?p=197</guid>
		<description><![CDATA[DragonFly BSD es una distribución de BSD que, desde, siempre ha prometido mucho. Podemos encontrarnos el caso de que al instalar desde los ports el programa &#8216;vim&#8217; éste nos explote en las manos con un fabuloso mensaje error como este: /usr/libexec/binutils212/elf/ld: cannot find -lXThrStub *** Error code 1 Stop in /usr/ports/x11/XFree86-4-libraries/work/xc/lib/X11. *** Error code 1 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.solusan.com/wp-content/2007/08/fulllogo.gif" title="fulllogo.gif"><img src="http://www.solusan.com/wp-content/2007/08/fulllogo.thumbnail.gif" alt="fulllogo.gif" align="left" /></a><font class="storycontent">DragonFly BSD es una distribución de BSD que, desde, siempre ha prometido mucho.</font></p>
<p><font class="storycontent">Podemos encontrarnos el caso de que al instalar desde los ports el programa &#8216;vim&#8217; éste nos explote en las manos con un fabuloso mensaje error como este:</font></p>
<p><code>/usr/libexec/binutils212/elf/ld: cannot find -lXThrStub *** Error code 1  Stop in /usr/ports/x11/XFree86-4-libraries/work/xc/lib/X11. *** Error code 1  Stop in /usr/ports/x11/XFree86-4-libraries/work/xc/lib. *** Error code 1  Stop in /usr/ports/x11/XFree86-4-libraries. *** Error code 1  Stop in /usr/ports/x11-toolkits/gtk12. *** Error code 1  Stop in /usr/ports/editors/vim.978</code></p>
<p><font class="storycontent">Para paliar esto deberemos instalar sin el soporte X11 de la siguiente manera:<br />
</font><br />
<code># cd /usr/ports/editors/vim &amp;&amp; make install clean WITHOUT_X11="YES"</code></p>
<p><font class="storycontent">En todos los paquetes podemos ver según que opciones tenemos rastreando en el Makefile del mismo.</font></p>
<p><font class="storycontent"> </font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solusan.com/instalar-vim-desde-los-ports-ptii.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

