Updated: November 9th, 2007

So today I was looking for a proper sources.list file that would work for apt-get in SUSE 10.2 since the one in yast and smart repositories comes with a broken list. And by broken I mean completely f***ed.

apt-get update
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386 release
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Get:1 ftp://ftp4.gwdg.de SuSE/10.2-i386 release
Ign ftp://ftp4.gwdg.de SuSE/10.2-i386 release
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/base pkglist
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/base release
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/update pkglist
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Get:1 ftp://ftp4.gwdg.de SuSE/10.2-i386/base pkglist
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/update release
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Err ftp://ftp4.gwdg.de SuSE/10.2-i386/base pkglist
Unable to fetch file, server said 'Failed to open file.  '
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/security pkglist
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Get:2 ftp://ftp4.gwdg.de SuSE/10.2-i386/base release
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/security release
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Ign ftp://ftp4.gwdg.de SuSE/10.2-i386/base release
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/rpmkeys pkglist
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Get:3 ftp://ftp4.gwdg.de SuSE/10.2-i386/update pkglist
Err ftp://mirrors.mathematik.uni-bielefeld.de SuSE/10.2-i386/rpmkeys release
Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Err ftp://ftp4.gwdg.de SuSE/10.2-i386/update pkglist
Unable to fetch file, server said 'Failed to open file.  '
Get:4 ftp://ftp4.gwdg.de SuSE/10.2-i386/update release
Ign ftp://ftp4.gwdg.de SuSE/10.2-i386/update release
Get:5 ftp://ftp4.gwdg.de SuSE/10.2-i386/security pkglist
Err ftp://ftp4.gwdg.de SuSE/10.2-i386/security pkglist
Unable to fetch file, server said 'Failed to open file.  '
Get:6 ftp://ftp4.gwdg.de SuSE/10.2-i386/security release
Ign ftp://ftp4.gwdg.de SuSE/10.2-i386/security release
Get:7 ftp://ftp4.gwdg.de SuSE/10.2-i386/rpmkeys pkglist
Err ftp://ftp4.gwdg.de SuSE/10.2-i386/rpmkeys pkglist
Unable to fetch file, server said 'Failed to open file.  '
Get:8 ftp://ftp4.gwdg.de SuSE/10.2-i386/rpmkeys release
Ign ftp://ftp4.gwdg.de SuSE/10.2-i386/rpmkeys release
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/release  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.base  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/release.base  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.update  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/release.update  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.security  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/release.security  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.rpmkeys  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/SuSE/10.2-i386/base/release.rpmkeys  Could not resolve 'mirrors.mathematik.uni-bielefeld.de'
Failed to fetch ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.base  Unable to fetch file, server said 'Failed to open file.  '
Failed to fetch ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.update  Unable to fetch file, server said 'Failed to open file.  '
Failed to fetch ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.security  Unable to fetch file, server said 'Failed to open file.  '
Failed to fetch ftp://ftp4.gwdg.de/pub/linux/suse/apt/SuSE/10.2-i386/base/pkglist.rpmkeys  Unable to fetch file, server said 'Failed to open file.  '

The easiest solution is to download and install the rpms from ftp://ftp5.gwdg.de/pub/opensuse/repositories/home%3A/rbos/openSUSE_10.2/i586/ instead, which come with the correct sources.list as pointed to by this post. Here it is (with the additional sources uncommented):

# A very basic sources.list file.
#
# Fastest repository comes first, with netselect it is possible to determine
# the fastest repository easily.
 
repomd http://ftp-1.gwdg.de/pub/suse/i386 update/10.2
repomd http://ftp-1.gwdg.de/pub/opensuse/distribution 10.2/repo/oss/suse
 
# Visit http://software.opensuse.org/download/ to determine which additional
# components are available.  Some examples are given below, just uncomment
# the line to enable it.
 
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories home:/rbos/openSUSE_10.2
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories KDE:/KDE3/openSUSE_10.2
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories KDE:/Backports/openSUSE_10.2
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories KDE:/Playground/openSUSE_10.2
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories mozilla/openSUSE_10.2
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories openSUSE:/Tools/openSUSE_10.2
repomd ftp://ftp.gwdg.de/pub/linux/misc              packman/suse/10.2
 
# The apt format
# rpm ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/ @ftp_dir@ base update security rpmkeys
# rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt/ @ftp_dir@ base update security rpmkeys

Updating this list produces a much nicer result:

apt update
Get:1 http://ftp-1.gwdg.de update/10.2 repomd.xml [1231B]
Get:2 http://ftp-1.gwdg.de 10.2/repo/oss/suse repomd.xml [951B]
Get:3 ftp://ftp-1.gwdg.de home:/rbos/openSUSE_10.2 repomd.xml [951B]
Get:4 ftp://ftp.gwdg.de packman/suse/10.2 repomd.xml [951B]
Get:5 ftp://ftp-1.gwdg.de KDE:/KDE3/openSUSE_10.2 repomd.xml [951B]
Get:6 ftp://ftp-1.gwdg.de KDE:/Backports/openSUSE_10.2 repomd.xml [951B]
Get:7 ftp://ftp-1.gwdg.de KDE:/Playground/openSUSE_10.2 repomd.xml [951B]
Get:8 ftp://ftp-1.gwdg.de mozilla/openSUSE_10.2 repomd.xml [951B]
Get:9 ftp://ftp-1.gwdg.de openSUSE:/Tools/openSUSE_10.2 repomd.xml [951B]
Fetched 8839B in 8s (1059B/s)
Get:1 http://ftp-1.gwdg.de update/10.2/ primary.xml [724kB]
Get:2 ftp://ftp-1.gwdg.de home:/rbos/openSUSE_10.2/ primary.xml [28.8kB]
Get:3 ftp://ftp.gwdg.de packman/suse/10.2/ primary.xml [2286kB]
Get:4 ftp://ftp-1.gwdg.de home:/rbos/openSUSE_10.2/ filelists.xml [46.5kB]
Get:5 http://ftp-1.gwdg.de update/10.2/ filelists.xml [4061kB]
Get:6 ftp://ftp-1.gwdg.de KDE:/KDE3/openSUSE_10.2/ primary.xml [112kB]
Get:7 ftp://ftp-1.gwdg.de KDE:/KDE3/openSUSE_10.2/ filelists.xml [1212kB]
Get:8 ftp://ftp.gwdg.de packman/suse/10.2/ filelists.xml [3021kB]
Get:9 ftp://ftp-1.gwdg.de KDE:/Backports/openSUSE_10.2/ primary.xml [174kB]
Get:10 ftp://ftp-1.gwdg.de KDE:/Backports/openSUSE_10.2/ filelists.xml [445kB]
Get:11 http://ftp-1.gwdg.de 10.2/repo/oss/suse/ primary.xml [6272kB]
Get:12 ftp://ftp-1.gwdg.de KDE:/Playground/openSUSE_10.2/ primary.xml [16.7kB]
Get:13 ftp://ftp-1.gwdg.de KDE:/Playground/openSUSE_10.2/ filelists.xml [39.0kB]
Get:14 ftp://ftp-1.gwdg.de mozilla/openSUSE_10.2/ primary.xml [22.8kB]
Get:15 ftp://ftp-1.gwdg.de mozilla/openSUSE_10.2/ filelists.xml [339kB]
Get:16 ftp://ftp-1.gwdg.de openSUSE:/Tools/openSUSE_10.2/ primary.xml [6095B]
Get:17 ftp://ftp-1.gwdg.de openSUSE:/Tools/openSUSE_10.2/ filelists.xml [14.5kB]
Get:18 http://ftp-1.gwdg.de 10.2/repo/oss/suse/ filelists.xml [12.4MB]
Fetched 31.2MB in 1m18s (400kB/s)
Reading Package Lists... Done
Building Dependency Tree... Done

Now we got a working apt for SUSE 10.2.

Updated: March 20th, 2008

The purpose of this article is to:

  • introduce the new Linux section of the site (specifically dedicated to openSUSE).
  • provide a very short description of Linux and compare it to other operating systems.
  • answer some installation questions.

I'm a Windows user, I admit it. Not because I enjoy frequent reboots, freezes, and other unexplainable quirks. It's mostly because I have so many programs I'm used to, it would be impossible to switch to anything else, and I know ins and outs that allow me to be very comfortable with the Windows. I'm talking 20-30 programs I'm not willing to give up any time soon.

opensuse.png However, I also have deep respect for *nix based systems. I started using them back in college and continued later on when I worked at Intel (Solaris) and other jobs. Stability and abundance of open-source software that just works attracted me to Linux. Finally, being a user just wasn't going to cut it: I had way too many questions about how things work, how the OS boots, what the conventions are, etc, etc, etc. So, finally, a couple of days ago I picked openSUSE 10.2 as my distro (distribution) of choice to play around with. The Linux section here on the site has been empty for a while, so I'm going to fill it up by documenting all my experiences and questions throughout the whole learning process as seen with the eyes of an amateur, which, I think, is what most tutorials are missing. So, let's begin.

OK, so… what are all these distributions? Ubuntu, who hasn't heard that by now? SUSE? Fedora? Why can't Linux be just Linux, just like Windows is just Windows? In short, in my opinion, because nobody but Microsoft has access to the Windows code (technically, after that leak a couple of years ago, everyone had a chance to see kernel source, but nobody can actually modify the OS or release another one based on it). Linux is open source, anybody can contribute to its development. That's the beauty of Linux: collaboration of hundreds thousands of people often working on their own time with passion no employee on payroll can match. Some motivated individuals go even further: they compile a set of Linux components that they think would work best together and release it as a distribution. openSUSE is a fine example of that. A bunch of smart people over at Novell got together and produced openSUSE a while ago, with its main goals being:

  • Make openSUSE the easiest Linux distribution for anyone to obtain and the most widely used open source platform.
  • Provide an environment for open source collaboration that makes openSUSE the world's best Linux distribution for new and experienced Linux users.
  • Dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux hackers and application developers.

See this openSUSE.org about page for more info.

Installing Linux is easier than ever. Back in the day, Linux puzzled average users. Nowadays, for everyday activities Linux is as easy to use as Windows (or Mac if you're into big shiny objects). A short installation guide by Novel is available here and a very nice long guide by HowToForge is available here. If you breeze through the installation steps, you should have a shiny desktop ready to rock and roll in about 30 minutes. While the installation itself is very easy (just burn a CD/DVD from http://download.opensuse.org and reboot the computer), I had a couple of questions about things I wasn't quite sure about. Here they are:

  • You're prompted to select your Desktop. The choices are KDE, GNOME, and Other (the Other menu has serveral options, one being no graphical desktop, which you would use if you didn't want a GUI at all, for example for server installs or if you imagined myself as an uber leet hax0r). A graphical desktop is a bit like a skin for the OS. Each also includes different sets of tools, for example KDE's default editor is KEdit while GNOME's is gedit. There are other differences, but for now we have to pick one. The good news is that you can install both later via the software update tool called YaST (actually it's yast2 in SUSE 10.2, yast is just a symlink to /sbin/yast2) and switch between them with ease. For my particular installation, I picked KDE as the desktop manager, which I ended up enjoying quite a lot.
  • Correct partitioning of my 110GB hard drive raised the most questions out of all the installation prompts. After consulting with a friendly sysadmin from work, I ended up with
    • 1.0GB swap partition with swap filesystem. I have 2GB RAM, so 1GB swap in case I run out of RAM should suffice.
    • 100MB /boot partition with ext3 filesystem. /boot is where a boot loader like GRUB will reside. We don't want to piss off GRUB, so we'll give it a separate partition.
    • ###MB /tmp partition with ext3 filesystem. /tmp stores temp files for all users. It is better to assign a separate partition to it so that malicious users cannot potentially flood it with useless data and cause the server to run out of space. Don't make this space too small though, so that legitimate users don't run out of temp space.
    • ###MB /var partition with ext3 filesystem. /var can also run the server out of space quickly if a runaway log file fills it up (normally, in /var/log). Assign a few gigs to this dir depending on total space.
    • The rest of the drive I assigned to / with ext3 filesystem. Some people also recommend assigning a separate partition to /home, which is probably a good idea if you're planning on having multiple users on the box. I picked ext3 after reading up online about various filesystem types. ReiserFS was not really an option anymore, since it wasn't too stable yet, and the creator of Reiser was recently arrested for murdering his wife. 2 days after the news broke out, SUSE creators officially announced ext3 as the recommended SUSE filesystem. When ext4 comes out, ext3 partitions will be easily upgradeable to ext4 without the need for repartitioning. The only drawback that I could find for ext3 is the ~32k directory and file limit in a single directory. Oh well, as long as I know about it, I'll be able to craft my applications with that in mind.
    • Update 3/20/2008: I found a great Filesystem Hierarchy Standard document that explains all the dirs in detail here.
  • Since I was planning on letting my router (Linksys WRT54G with HyperWRT firmware) handle the firewall duties, I disabled the firewall in the Network part of the installation. It's probably a good idea to leave it on and open ports like SSH (22), FTP (20-21), or HTTP (80) manually. I'm probably going to turn the firewall back on after a couple of weeks once I get the hang of everything.

Well, that should do it for this introduction. In the following articles, I will share my experiences dealing with something something specific, writing as I learn myself. They may be dedicated to software installation and usage, for example, proftpd ftp server. In other articles I may visit Linux concepts, like how to make programs start up at boot time.

Ubuntu Laptop Installation

Wednesday, June 7th, 2006

Updated: November 4th, 2007

Ubuntu

Installed Ubuntu LTS 6.06 as a 2nd OS on my Dell E1505 laptop today after delaying doing this for a while. This article from digg finally made me install it, which took roughly 10 minutes, as it mentions. Compare this and 0 reboots to 45min and 5 reboots installing Windows. Ubuntu's pretty damn sweet; I'm gonna go tweak it now with the help of Arthur. I'm predicting that Linux (and Ubuntu in particular, as of now) will eat up Windows' market share surely and quickly. The dual boot is very friendly, it uses GRUB as the boot manager. To boot directly into Windows by default, I edited /boot/grub/menu.list from Ubuntu.