{"id":128,"date":"2004-10-18T10:59:45","date_gmt":"2004-10-18T10:59:45","guid":{"rendered":""},"modified":"2004-10-18T10:59:45","modified_gmt":"2004-10-18T10:59:45","slug":"","status":"publish","type":"post","link":"https:\/\/www.sungate.co.uk\/?p=128","title":{"rendered":"Debian: From Installation To Infinity (Part 1)"},"content":{"rendered":"<h4>Rationale<\/h4>\n<p>This is the first in a series of documents about the experiences of<br \/>\ninstalling a new <a href=\"http:\/\/www.debian.org\/\">Debian<\/a> workstation system.<br \/>\nAs a result of confusing my old installation by selecting a strange mixture of<br \/>\nDebian\/Testing and Debian\/Unstable sources, I decided to re-install.<\/p>\n<p>And this time, I intend to <strong>Do It Right<\/strong> and also to<br \/>\n<strong>Do It The Debian Way<\/strong>.<\/p>\n<p>This first document looks at the installation and the immediate<br \/>\npost-installation configuration.<\/p>\n<h4>Installation<\/h4>\n<p>After making the decision to re-install the operating system, I did three<br \/>\nthings:<\/p>\n<ol>\n<li>Chose Debian Sarge as the version to install;<\/li>\n<li>Backed-up my existing <code>\/home<\/code> partition and most of the existing<br \/>\n<code>\/etc<\/code>, for<br \/>\nconfiguration files;<\/li>\n<li>Downloaded the first three Debian Sarge ISOs for burning to CD (from the<br \/>\n2004-10-12 snapshot).<\/li>\n<\/ol>\n<p>Installation was very smooth; all hardware was automatically detected.  There<br \/>\nare some nice extra features available in the new installer.  I suspect that, had<br \/>\nI been installing completely from scratch it would have been even easier.  I<br \/>\nhad to take care, however, because I had pre-existing disk partitions, some of<br \/>\nwhich I wanted to keep.  A nice feature of the partitioning tool during<br \/>\ninstallation was the option to set some basic filesystem parameters.  For<br \/>\nexample, I use <a href=\"http:\/\/leafnode.sourceforge.net\/\">leafnode<\/a> to allow<br \/>\nfast, offline reading of newsgroups.  Since this results in a high turnover of a<br \/>\nlarge number of small files, I put the <code>\/var\/spool<\/code> filesystem on its own<br \/>\npartition.  The installer actually gave a &#8216;news&#8217; option for the partition<br \/>\nfilesystem settings, optimized for small files.<\/p>\n<h4>Post-installation tweaking and customisation<\/h4>\n<p><i>Debian Package Repositories<\/i><\/p>\n<p>The installation used the three CDs I downloaded, but I now wanted to make sure<br \/>\nthat I had access to the full Debian archives.  I changed<br \/>\n<code>\/etc\/apt\/sources.list<\/code> to include the following:<\/p>\n<pre>\r\n    deb ...\/debian\/ sarge main non-free contrib\r\n    deb-src ...\/debian\/ sarge main non-free contrib\r\n    deb ...\/debian-non-US\/ sarge\/non-US main non-free contrib\r\n    deb-src ...\/debian-non-US\/ sarge\/non-US main non-free contrib\r\n<\/pre>\n<p>Note that this includes entries for both the binaries and also the source,<br \/>\nsince I know that there are some packages I&#8217;ll want to rebuild using different<br \/>\noptions, for which the source code will be required.<\/p>\n<p><i>nVidia Graphics Card<\/i><\/p>\n<p>The base system included a stock 2.4.27 kernel optimised for 386 systems, so<br \/>\nI upgraded to the 686-optimised version.  At the same time, I downloaded the<br \/>\nbinary module for my nVidia graphics card.  In the past, I&#8217;ve always rolled my<br \/>\nown kernel (as I will do shortly with this installation too), but to get up and<br \/>\nrunning quickly, using a binary nVidia module matching the stock kernel is a<br \/>\nhelpful option.<\/p>\n<p>When installing the nVidia module, one or two minor edits to<br \/>\n<code>\/etc\/X11\/XF86Config-4<\/code> are required, in particular to get the OpenGL<br \/>\nside of things working properly.  The GLX README in the Debian documentation<br \/>\ntells you to remove <code>GLcore<\/code> and <code>dri<\/code> support.  It should<br \/>\nbe possible to have the above changes happen automatically, or be triggered as a<br \/>\nresult of doing a <code>dpkg-reconfigure xserver-xfree86<\/code>, but I didn&#8217;t<br \/>\ntry that.  The<br \/>\nnVidia card using the device file <code>\/dev\/nvidiactl<\/code> which, by default,<br \/>\ncan only be accessed by user root and members of the group &#8216;video&#8217;.  So, there<br \/>\nare three options here:<\/p>\n<ol>\n<li>Set <code>chmod 666<\/code> to allow all users access;<\/li>\n<li>Add required users to the group &#8216;video&#8217;;<\/li>\n<li>Add all local users to a group &#8216;everyone&#8217; and <code>chown root.everyone<br \/>\n\/dev\/nvidiactl<\/code><\/li>\n<\/ol>\n<p>The first option is probably the simplest, although the second is probably<br \/>\nconsidered more correct and is the one I used.  The third option occurred to me<br \/>\nwhile I was doing the setup, although I didn&#8217;t use it.<\/p>\n<p>Similar group membership tricks are required to permit access to the CDROM,<br \/>\nfloppy and sound system.<\/p>\n<p><i>Extras<\/i><\/p>\n<p>It seems that the <a href=\"http:\/\/www.macromedia.com\/\">Macromedia Flash<\/a><br \/>\nplugin (for web browsers) depends on the package <code>gsfonts-x11<\/code>, which<br \/>\nwasn&#8217;t installed by default and wasn&#8217;t picked up as a dependency by<br \/>\n<code>apt-get<\/code> when installing the package<br \/>\n<code>flashplugin-nonfree<\/code> &#8211; in fact, it&#8217;s listed as a &#8216;recommended&#8217;<br \/>\npackage, not a dependency.  The symptoms were that Flash had not been installed,<br \/>\nwhen this was clearly the case.<\/p>\n<p>Next I had to edit the Exim4 setup in order to send all<br \/>\noutgoing mail via authenticated SMTP &#8211; this was fairly straightforward, since<br \/>\nthe stock configuration file is very well commented.<\/p>\n<p>My own project, <a href=\"http:\/\/colordiff.sf.net\/\">colordiff<\/a>, is now part<br \/>\nof Debian and so it was very nice to be able to simply type:<\/p>\n<pre>\r\n    apt-get install colordiff\r\n<\/pre>\n<p>and have it downloaded and installed automatically.<\/p>\n<p>I also installed <code>ntpdate<\/code> to keep the clock on my system properly<br \/>\nsynchronized with an accurate time source.<\/p>\n<p>The installation process setup my networking by installing a DHCP client to<br \/>\npick up an IP address automatically.  This worked because I have a DHCP server<br \/>\non my network.  However, my workstation normally boots up much faster than all<br \/>\nthe other systems, so when it tries to bring up networking, the system running<br \/>\nthe DHCP server hasn&#8217;t finished booting up yet.  So, I decided to hardwire the<br \/>\nIP configuration on my system.  I knew I could do this by editing various files<br \/>\nsuch as <code>\/etc\/network\/interfaces<\/code>, <code>\/etc\/resolv.conf<\/code> and<br \/>\nso on, but wanted to do this the Right Way.  I knew I needed to<br \/>\n<code>dpkg-reconfigure<\/code> a package, but it wasn&#8217;t clear which one.  A quick visit to the #debian IRC<br \/>\nchannel on <a href=\"http:\/\/www.freenode.net\/\">freenode<\/a> got the answer,<br \/>\nappropriately enough from <a href=\"http:\/\/www.livejournal.com\/users\/diffrentcolours\/\">diffrentcolours<\/a>.<br \/>\nThe answer is to install and configure the package <code>etherconf<\/code> which<br \/>\nasks a couple of questions about the (static) IP configuration and writes out<br \/>\nall the appropriate configuration files.<\/p>\n<p><i>Future<\/i><\/p>\n<p>Before I trashed my old setup, I was running a 2.6.x series kernel and, since<br \/>\ngeneral system performance seemed very good under that setup, I plan to migrate<br \/>\nto a 2.6 kernel as soon as possible.  I have downloaded the Debian source<br \/>\npackage for 2.6.8 and will build this together with the corresponding nVidia<br \/>\ngraphics module.  I have a configuration file from my old 2.6.6 kernel as a good<br \/>\nstarting point.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rationale This is the first in a series of documents about the experiences of installing a new Debian workstation system. As a result of confusing my old installation by selecting a strange mixture of Debian\/Testing and Debian\/Unstable sources, I decided to re-install. And this time, I intend to Do It Right and also to Do&#8230;&nbsp;(<a href=\"https:\/\/www.sungate.co.uk\/?p=128\">read more<\/a>)<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-128","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=128"}],"version-history":[{"count":0,"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sungate.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}