Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Linux Software

A Clean Linux Install? 23

linux_penguin asks: "I've been using Linux for a few years now, and have only just hit the wall I believe most intermediate users hit at some time... I hate RPM and all of its idiosyncracies, and I hate all the clutter and unnecessary junk most distributions install. I wanted to compile Enlightenment from CVS, and it turned into a major hassle due to RPM dependencies and libraries being spread everywhere. What I would like to achieve is an absolute basic install, and then build the system up slowly with source (with most stuff being installed into /usr/local hopefully, leaving the basic install clean and untouched). I know this is a fairly tall order, but has anyone achieved this to any degree and can anyone give me advice? What's the best distro for *this purpose*? Or am I better off building my box from the ground up, to the point of compiling *everything* from source? I would like to use this as a learning experience to gain greater knowledge of Linux and how it works."
This discussion has been archived. No new comments can be posted.

A Clean Linux Install?

Comments Filter:
  • slackware
  • by Zaffle ( 13798 ) on Tuesday May 02, 2000 @06:47PM (#1095785) Homepage Journal
    I hit the same sort of wall.

    First thing I did was use Debian, imho it has a better packaging system. But I don't think that will solve your problems.
    Though debian does come with a resonable base system (~50megs I think). And if you setup your partitions right, you can install your base system, then mount /usr readonly, but have /usr/local read-write. So the base system can't be touched (excluding confs in /etc), but you can still add new apps yourself.

    However, I don't do that, I just use debian, and when I want to compile something from source, I usually create a /usr/local/ for it, and compile destined for there:
    eg: ./configure --prefix=/usr/local/kde2

    I also do it totally non root, so that there is no chance of me writting over anything else.

    The problem comes if you want to install a package that depends on something you compilied yourself. The packaging system doesn't know you have it. When that comes along, I usually just compile the desired program from source, and it finds the libs it needs.

    In the end, if you want to use package management, you really need to use it all of the time, or hassels will develop.

    One point though. "Alien" is really handy. Its an app that converts between binary tarballs, rpms, and debs. I use it to convert RPMs to Debs all the time. It seems to work okay.


    ---

  • Install Slackware. I've never used it, but I do know that it doesn't use RPM, so you can do a minimal install and be pretty much set. FreeBSD is also very cool (/usr/ports is nice as well).

    If you want to keep using an RPM based distribution, some hints. First, don't install X or any of it's related stuff. Also don't install anything that you aren't going to need the second you turn on the box (like gcc or make or apache or ftpd or telnet or ssh or basically ANYTHING). All you want are the very basic packages (in RH stuff like basesystem, dev, kernel, bash, util-linux, lilo, etc). And make sure you have a very big /usr/local. :)

    Personally I do clean installs every year or so just to keep this kind of problem from getting too much out of hand: I build a lot of stuff from source and also install a lot of third-party RPMs, so things get crufty fairly quickly. I keep stuff that I download in /usr/local/packages and it seems that I've installed or upgraded about 130 items just since after Christmas when I got a new disk.

    The other alternative is to compile a kernel on one machine, make a boot disk, and start totally from scratch, downloading source and building it. Better be a fast machine, though...

    Note that the problem is probably not so much a problem with RPM as badly made packages. I've had problems with Redhat stuff before that was caused by bad depenedencies. Though RPMs relocatable package stuff isn't as good as it could be (hmmm... there's another thing to go on the rainy day project list).
  • You should check out linuxfromscratch.org They tell you how to compile *everything* from source, and you also get instructions on how to create boot scripts, among other things. I just spent the better part of a weekend doing this, and it is a great learning experience. It also gives you a great feeling of control over your system. .nizram
  • by Anonymous Coward
    First post was right.

    slackware doesn't make you worry about breaking dependencies or anything. The flip-side is that if you don't know what you're doing when you, for instance, recompile init, you can really mess up your system.

    I'm currently in the process of recompiling everything on this rh 6.1 box. As long as you're reasonably cautious to be nice to whatever package manger is dealing with dependencies, you can customize any distribution.

  • I didn't see this mentioned in any of the other posts, but zipslack is a stripped-down version of slackware, usually available at the mirror sites where you find slackware. It comes as a .zip file and it's about 100MB uncompressed. It isn't missing much - perl, the usual libraries, gcc, etc. are all on there - but not much else. No X, no helpful crap you don't care about, and no RPMs.

    The downside: it's distributed as a UMSDOS filesystem. This means that you have to find a vfat partition somewhere (a normal one you normally use is OK), unzip the file, and move everything to ext2. Otherwise you will have weird unusuable UMSDOS filenames.

    The distribution was designed to fit on and boot from a zip floppy. I needed to install it on a laptop with no CDROM so it went something like this: Installing some 'other' distribution that has net-boot-install capabilities on /dev/hda2, leaving /dev/hda1 an empty partition... make /dev/hda1 big enough since it will be the root partition in the end... boot the laptop... mount the empty /dev/hda1 somwhere... mount the unzipped zipslack-on-zipdrive in another machine (UMSDOS)... put that somewhere ftp-able... ftp the whole thing (or a tarball thereof) into wherever the empty /dev/hda1 is mounted on the laptop... rdev the kernel there to use /dev/hda1 as its root device... change the fstab there to mount as ext2 (otherwise it will be UMSDOS and weird case-sensitivity things will happen)... boot the new kernel, remove the other install from /dev/hda2, and get on with your life.

    There is a README with zipslack which details other things, like adding X.

  • I'm not trying to troll and please don't take it as such...

    This is the exact reason I started to use FreeBSD. I was tired of all of the extra junk and a coworker mentioned that with FreeBSD, I'd have complete control over everything installed and the dependencies and everything would be handled automatically. It's pure magic.

    I know this is off the Linux topic, but I really wish the Linux distro people would take notice.

  • I started out by pulling down the A, AP, D and N sets from the current Slackware, and installed it. Then I discovered that the latest slackware would connect to my ISP's PPP server no matter what I tried! I then went back to a really ancient Slackware, installing the same package set, and pulled down the source for glibc2.1, gcc2.95, binutils, 2.2.14 kernel and a few other necessary bits to get this to compile. One whole day spent compiling later (I've only got a P100!) and I had something partially current. Now I've got XFree86 4.0, Perl and a few other bits installed. Tonight I should have the Gnome panel up and running. Only thing now is to find a stable bloat free browser!
  • I felt the same way about RPM (and other quirks of RedHat that I won't go into) not too long ago and switched from RedHat back to Slackware. I picked Slackware simply because that was one of the distributions that I was very familiar with and I had used it quite a lot in the earlier days of Linux.

    I've been hearing lots of praise for ease of updates and package management from debian users, so you might want to check out debian-- particularily if simplified updating and package management are your motivation. I was also looking for more lightweight initialization scripts that I could more easily modify, so that was another reason for Slackware v. RedHat.

    I did a fairly basic install and built up the rest from source. I put most everything under /usr/local, but there are a few exceptions. GNOME, for example, I put in its own directory (/usr/local/GNOME) so I can cleanly 'rm' the entire tree when I need to clean up unstable binaries/libs.

    Note that you will still have to deal with dependencies and libraries-- you just won't have a package manager warning you about it. More than likely you will find out either when your compile from source fails or an app you built fails to work properly. This happens more with development libraries and projects built from cvs (which you mentioned interest in enlightenment from cvs), so expect to have some occassional update cycles there.

    One thing that got me recently, though it is not really that big of a deal, was when I upgraded to XFree86-4. I lost some of the older libs that things like Acrobat Reader are looking for, so those no longer run. I don't use it enough for it to matter, but things like that can happen- update one thing, break several others. Of course, had I not installed X into a fresh directory tree, I could have avoided the problem, but I wanted to start clean and didn't mind breaking a few things temporarily.

    All in all, it has worked out pretty well for me and my system seems stable. I would also recommend that you keep a copy of the source that you build. I move source directories that I've built to /usr/local/src/built. This has come in handy several times when a library update required rebuilding a few things.

    One thing I did consider was building my install from the ground up-- as you mentioned. Actually I was thinking about starting from a minimal distro like tomsrtbt or trinux. I ultimately had to face the harsh reality that I just didn't have that much time. But you will definitely learn a lot and several people have done that successfully if you decide to try it.

    Good Luck,
    -Phil
  • by Anonymous Coward

    What I would like to achieve is an absolute basic install

    The install of FreeBSD is ~60M. It includes basic daemons, tools and gcc.

    and then build the system up slowly with source (with most stuff being installed into /usr/local hopefully, leaving the basic install clean and untouched).

    Everything you compile from the ports collection goes into /usr/local with its own etc, lib, bin and so on. If you wish to get that lean 60M system back after half a year, just remove the directory. Sounds incredible, but it's true. Even extra startup scripts go into /usr/local/etc/rc.d

    -
    Tomek
  • Sure, having all the bells and whistles are nice but the bloat is very unwelcoming from RPM systems. The only thing I like about Mandrake is that it had "supermounts" and lots of KDE themes. I didn't find it faster despite being pentium optimized. I have it filling 90% of my 1 1/2 gig partition. It just installs just way too much crap even in expert mode! Now all I do is web development, (perl,c,c++ CGI programming. So all I need is X, gimp, netscape, gcc, perl and apache. I don't need all that crap. I tried uninstalling packages but I just can't figure out what's sucking my drivespace. There's packages that I don't even know what it's used for! sigh. You'll find that most will recommend debian or slackware for this. The RPM distro's base install is enormous compared to them. There are others but they don't have as large a user base. Besides these are REAL distros, most are just based on other distros like redhat anyway. If you like installing stuff from source just pick one favorite distro, install the base and just compile stuff you need from source as you need it. It doesn't really matter with distro if you work this way. Personally I like slackware but I honestly did not find it that stable. (please no flames). I tried Debian out and was absolutely impressed at the stability after a good install. I ran into a lot of trouble with debian installs but once it was in, it remained clean. I only have a problem with the turtle speed of the debian releases. Even with all these issues who cares when your installing from source right? go with redhat base since your very familiar with it. why change? your a SOURCE MAN! If I want an updated kernel I D/L it. If I want kde to run faster I D/L the source. If I want to install something I D/L it and compile it. Upgrading is just gets a little trickier but who cares when something works. Why fix it? If the extra features of a newer version are worth it then I upgrade it.
  • RH was giving me gray hairs and many sleepless nights. All these "easiness" and "simpleness" is OK if your install works right out of the box and you have no intention on updating or change anything.

    But how many does that?

    If you belong to the 99% who just *has* to "fiddle" around you are in for some serious troubles.

    Since I switched to Slackware everything have been a breeze... and I can sleep again! ;-)

    IMO it's by far the easiest dist.

    Bjarne
  • Yeah, I agree that the ports tree is very nice! Very slick! I really prefer it to rpm packages in linux, and to manually figuring out dependencies with source tarballs. I give many thanks to those people who put the ports together. Excellent, excellent job.

    For anyone who is not familiar with /usr/ports in BSD, it is really simple. go into the directory of the app/program you want ot install, type 'make', and the script determines what the dependencies are, auto-downloads, compiles and installs them, then downloads and compiles the app/program. Then you just do a 'make install' and it is done. No mess, no fuss, just a bit of time online and compiling. Beautiful.
  • There was some previous discussion on a similar topic a while back (The Perfect Distribution [slashdot.org]), where many of us had the same lament. The general concensus seemed to be a minimal Slackware [slackware.com].

    My advice, if you don't want package managers, would be to avoid RedHat like the plague. Avoid Debian. Use Slackware, or use the Linux From Scratch [linuxfromscratch.com] resources to make your own distribution. This route is guaranteed to make you happy (in the long run, at least), but is significantly more difficult than just installing an "established" distribution.

    Freshmeat [freshmeat.net] has had a few editorials [freshmeat.net] on package managers, incidentally, like The Universal Source Package [freshmeat.net], which might be of interest to you.

    darren


    Cthulhu for President! [cthulhu.org]
  • Well.. i had to do mine beacuse my root partion got courrupted.. when i reinstalled i went from RH to Slakware. And ive never looked back.

    its a great distro(for the poweruser)
  • by dlc ( 41988 )

    The problem with the FM is that not only does it not tell you how to handle interactions between RPM installs and source installs, there is no way to handle it. If I install Perl from source, every other RPM I install complains that the Perl dependency fails, and I have to install with --nodeps. Doesn't that defeat the purpose? Yup, it does.

    Most software doesn't come in RPM format, and when it does, it often comes without the required parameters or options. What then?

    darren


    Cthulhu for President! [cthulhu.org]
  • Be sure to make a copy!

    Once you get your basic system together and working properly, make a backup copy and a quick and dirty method of re-installing it. That is, a boot floppy with tape/zip drivers, a second/spare disk partition, burn a CD, or whatever. Then you can start fiddling with(aka improving) it without worry.

  • and put together RPMs yourself. (Or debian packages, as is your preference.)

    The increased ability to manage software and keep track of what's there will be worth the added hassle of writing or modifying specs.

    Really, I don't understand why everyone hates package managers so much, unless it's because they don't have enough machines to administer. With one machine, it's fine to have a huge mess of binaries, no good means of removing all the files associated with a package, etc. You can stumble along fine, with only a little wasted effort. But when you have more than one machine, the hassle of keeping everything up-to-date makes package managers nearly essential.
  • Sound like you want Green Frog Linux. It is nothing more than a kernel with, gcc, perl, and the the basic utils.
    One tip, make sure you have a kernel source near by to rebuild to support the network card you have.

    http://members.linuxstar t.com/~austin/GreenFrog/index.html [linuxstart.com]

    Citrix

  • Going with Green Frog will definitely give you a very basic install if thats what you are looking for. One thing to note - it uses devfs, which can sometimes be confusing to people used to more common distros. Expect to put in a good weekend before you get X and Enlightenment running well. Everything you need is at freshmeat.net . I recommend installing lynx and wvdial as soon as possible if you are dependant on a dialup to reach the internet. If you aren't this ambitious, a Slackware distro would be the next best thing IMHO. Building Green Frog will give you a true sense of accomplishment, however. Best of luck. rich22 "Sometimes you win, sometimes you lose, and sometimes it rains".
  • Agreed....I used to use Slackware when I started, for the very reason you'd be interested it in; it's a base install. The only thing I didn't like about it was it used tgz tarballs for all it's packages, but you could read through /var/sadm to find out what was there.

    I recently switched to SuSE, but only becuase I'm ont at school any more with a T1 line at my disposal to downoad packages any time I need them...SuSE has the ability to go the other way...with 6 CD's of software (6.3), I generally don't need to hit the net to download new packages for months after I install a new version, and when I do, it's generally updates or such.

  • Not Commenting on this particular post in any way, Just It was easier, And I'm lazy. ;) I really giggle sometimes, with everyone getting defensive about whatever 'flavour' of the unices that they prefer, and of course, the flavor a given person uses, i.e. the one they got to know, and have learned how to work with, is ALWAYS 'The Best' distro. The way I look at things, I find that there are things that I find admirable about each and every distro of any flavor of unix. Wierd, But I like what I like. Personally, I use slakware. Why? Because for what I, in particular, am after it's the 'best' system. It's a given that anything that runs on a given flavor of unix can eventually be ported to all the others, and most likely will be, given your average geek's inclination to generally reinvent the wheel whenever possible. So in the end, There isnt even any real point in arguing over 'which one is the best' I avoid it because it makes many many people freak out and usually starts a big 'ol shitstorm whenever any geek percieves his favourite flavour's honor besmirched. While this can be highly entertaining reading, it gets tiresome eventually. I usually tell people to use whatever THEY are most comfortable with, seeing as that is what they really want, anyway. People, for some reason hate learning new things. There are those who plow redhat, and say it's the effete, idiot's linux, and those who plow slakware as 'akin to growing your own wheat to make a pizza' whereas I say, if you have a nionstandard application that no distro seems to really fit, Build your own. I do. That's the beautiful thing that is the true core of the whole open source community. Generally (Noone panic, this is merely an arbitrary starting point, I'm sure one could start off with any other given distro, seeing as the source is all avaliable anyway) I start off with the Slakware source, mainly because I've been using/programming/bastardizing computers since the days of pong and Commodore Vic 20's, and slakware was the first distro I happened across, there fore it was the first one I learned, and the one I feel 'at home' with. No other reason. But anyway, once you've got the source, off you go. This sounds like a load of hassle, but if you think about it, It's the only real way to get exactly what you need. Say, if you had 100 p100's in your complex that you wanted to convert over to linux, you could very easily build a distro that fits your particular needs, burn it to cd with a single boot floppy and walk around with it. Or use an nfs install disk from whatever your WAN uses for a server. The docs are all there, usually. ;) It's not as mountainus as it sounds either, certainly not by todays standards. My $360 home-baked celeron 500 can plow through code like it's going out of stile, and with that sort of power avaliable for such low price, it's idiocy itself to stick with ancient outmoded hardware for compilation. Especially seeing as one can very easily compile it with 386 optimization, ON that selfsame celeron, and transfer it over taking approx 5 mins for the whole process. Much easier than compiling on a 3 or even 486 (Obligatory wince at the mention of compiling on a 386) Anyway, Most likely, everyone here will say I'm some variety of idiot or another, So I'll sign off and allow them to do so....... Cheers, Arianth
  • >In the end, if you want to use package management, you really need to use it all of the time, or hassels will develop.

    That is, either use precompiled packages (or source packages you compile yourself, not much difference), and learn to create packages out of not-packaged softwares...
    More easily said than done, but worth it I guess (you can then distribute your packages, install them on many boxes easily, etc.)

"If I do not want others to quote me, I do not speak." -- Phil Wayne

Working...