Slashdot Mirror


Beyond Linux From Scratch 1.0 Released

An anonymous reader writes "DistroWatch reports about the 1.0 release of Beyond Linux From Scratch (BLFS), a subproject of Linux From Scratch: 'The BLFS Development team is proud to announce the release of BLFS 1.0. With this release, you can take your LFS 4.1 base beyond a development system. It can be a desktop, a firewall, a multimedia player/editor, an Apache web server or all of the above. You install only what you need. Your Distro. Your Rules. Enjoy.'" Choose the closest mirror...

11 of 184 comments (clear)

  1. How different from Gentoo? by mattbee · · Score: 4, Insightful

    I've recently been impressed by Gentoo Linux which lets you build your system from a BSD-style ports system: the whole thing held together by a bunch of Python scripts, but otherwise your build options, tools and so on are your own choice. If that's not Linux From Scratch I'm not sure what is :-)

    Having said that, I'm not always convinced that the way to a reliable server setup is to build everything yourself, but both LFS and Gentoo look good for the desktop.

    --
    Matthew @ Bytemark Hosting
    1. Re:How different from Gentoo? by kinnell · · Score: 5, Insightful
      The difference is that with gentoo, you don't learn much because most things are automated. Yes, gentoo is probably a much better option for someone who just wants a customised linux distribution. LFS, though, is an outstanding educational tool, for one thing, and an invaluable resource if you want to produce a linux distribution which is radically different from the norm in any way.

      If you want to learn about how and why a linux distribution is put together, LFS is the way.

      --
      If I seem short sighted, it is because I stand on the shoulders of midgets
    2. Re:How different from Gentoo? by Anonymous Coward · · Score: 5, Informative

      It's actually very different from Gentoo. There's
      a whole host of choices you can make when building
      a package from source. Most of these are made for
      you in the ports setup.

      For instance, I may prefer *not* to have GNU
      gettext linked into everything. Or perhaps I want
      every installed program in /bin & /sbin to be
      statically linked so I can recover if my
      libraries somehow get hosed.

      Don't get me wrong, Gentoo is good for eeking
      performance out of your dist. But you don't
      get exposed to nearly as many design decisions
      as you do when building from scratch. I recommend
      that anyone serious about *nix admin try it at
      least once.

      On your last point, I wholeheartedly agree.

      When you upgrade/install a package from source
      on a production system, you're basically trusting
      that the creator of the package you're installing
      has thouroughly tested it. This usually is not
      the case. When you install a package from your
      vendor, they've at least done some basic testing.

    3. Re:How different from Gentoo? by Rasta+Prefect · · Score: 4, Insightful

      Linux from Scratch is actually quite a bit different from Gentoo. Gentoo provides you with executable code, you answer some questions and you have a new install, although the process takes longer and is more configurable than say, downloading pre-built packages. Linux from Scratch, last time I checked, provides you with a document. Thats it. No packages. First you create and format your partitions (by hand, using fdsck and mkfs). Then you create your filesystem, (mkdir /usr /var /etc.....), then compile statically linked versions of them minimum utilities needed to boot and compile, then reboot, recompile libraries and dynamically linked versions, then start compiling the rest of your system software. All by hand. And you have to create your own init scripts (although examples are provided).

      Why would you want to do this? It's an excellent way to learn about Linux. You learn exactly what components make up your system, get a pretty good idea how they interact, etc.

      Would you want to run this on a system you actually use? Probably not. It's a pain in the ass. Everything has to be compiled from scratch. No package system to minimize cruft build-up. Every security patch has to be downloaded and applied by hand. It's very time consuming.

      --
      Why?
    4. Re:How different from Gentoo? by Anonymous Coward · · Score: 5, Insightful
      So, in other words, you only use this if you want to claim to be l33ter than thou...anyone with an actual life uses Gentoo.

      People with actual lives use Mandrake or Red Hat. People with l33t tendancies but an aversion to work use Gentoo. People who want to learn stuff use LFS.

  2. It is not a distro by AccUser · · Score: 5, Informative

    Linux From Scratch [linuxfromscratch.org] is not a disto, but a set of instructions for building a GNU/Linux system from little more than an existing distro. The Beyond Linux From Scratch [linuxfromscratch.org] project builds on this tradition, providing instructions for installing a number of other packages.

    Having said that, I would recommend that anyone serious about furthering their knowledge of Linux, and at least 750MB of free hard disk space should give it a go. I got into Linux back in '93, and knew quite a lot. Then I stumbled across Linux From Scratch (LFS) - I didn't realise how much I didn't know until finishing my first complete build.

    I now run an number of LFS-based systems at home and at work, and have never looked back.

    BTW, I am typing this on my Gentoo [gentoo.org], 1.4_rc4 build. :-)

    --

    Any fool can talk, but it takes a wise man to listen.

  3. LFS is not Gentoo by jgardn · · Score: 4, Informative

    I've installed LFS before. LFS is just the instructions on how to install Linux from scratch (hence the name, Linux From Scratch). They supply a few pieces of software conveniently in one place so you don't have to spend hours finding it on your own and figuring out what version goes with what. It is just enough to get an OS that works, but not enough to do much except put more software on it.

    BLFS is a collection of instructions for installing various bits of popular software like Gnome, KDE, Mozilla, and more.

    I would like to point out that LFS is not Gentoo. LFS is literally Linux From Scratch. There are no installation scripts. There are no system management tools. There is no pretty interface, or simple instructions. It is a book, not a piece of software.

    You literally go through each piece of software and configure, compile, and install it. It is pretty cool because they describe what each piece of software is for, and you can see how one piece builds on another. You'll certainly never look at your system the same again, because you'll know what each bit does.

    I wouldn't suggest trying LFS unless you are interested in what exactly goes on under the hood, or you are building your own distro from scratch.

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
  4. The real benefit of LFS and Gentoo... by MaxBlue · · Score: 4, Interesting

    is that it is a good learning experiance.

    When I first started using Linux I did the usual, RedHat, SuSE, Mandrake, blah blah blah. I ran the nice little installer, opened my desktop, ran a few programs, but I couldn't tell you what was where or how to effectively fix broke things.

    Then I tried Gentoo and now I feel like I have learned something about Linux. I found out where configuration files went because I had to. I learned how to compile the kernal because I had to. I learned how to install freaking network cards because I had to.

    I don't know if my machine is "leaner and meaner" but you know, I had a lot more fun doing building it.

    --
    RTFM? FTFM!!
  5. LFS Hints by Anonymous Coward · · Score: 4, Informative

    Beond Linux From Scratch is a great resource for expanding an LFS system, but don't forget about the LFS hints! http://hints.linuxfromscratch.org

    There is lots of valuable information in the form of hints that is not available in BLFS

  6. Re:Gentoo, Mandrake, Xandros and package managemen by cide1 · · Score: 4, Interesting

    There are no packages. You download the official Tarball or gzip and extract, compile with your options, and install. It is probably the absolutely most vanilla linux their is. I have to second that it is very educational. I have built LFS twice, once about 2 years ago, and once about 4 months ago. The first time a system boots where you understand every little daemon and startup script and program and it's usefullness is very rewarding. LFS is basically an instruction book on how to build all the differant programs and libraries in the right order. At first, the GNU tool chain is built statically from a differant distro, then a jailed root is used to rebuild everything dynamically with the static toolchain, so the system is self-hosted. The book explains everything very well, and only minimal knowledge is needed. I can't emphasize enough how educational it is on Linux and Unix in general.

    --
    -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
  7. Avoid package hell / parallel src installs (long!) by Deagol · · Score: 5, Interesting
    I understand the RPM dependency hell very well. I recently did a full, clean RedHat 9 install. I then downloaded all the source RPMs from freshrpms, mostly for the multimedia capabilities. A quick 1-line bash script went through the entire batch and attempted to build them. Of course, some needed to be built and installed before others, so about 30% failed. I installed what did build, then repeated this process several more times. The mplayer package was the worst by far.

    Anyway, I don't understand how anyone has trouble installing packages from source. You just need to partition them appropriately. I wish distributions used a similar method so they could keep parallel versions of programs and libraries installed.

    Take openssh, for example:

    My typical build of openssh requires: zlib, openssl, and tcp_wrappers.

    I use a structure I call /mfs ("My File System"). I could use /usr/local for the same thing, but a customized directory will prevent collisions in /usr/local (the usual default prefix for configure scripts).

    Under /mfs I have directories "dist" (the tarballs), "src" (where I untar and build each package), and "pkg" where I install packages.

    So I start with zlib: "./configure --prefix=/mfs/pkg/zlib/1.1.4 ; make ; make test ; make install".

    I repeat with tcp_wrappers, openssl, and finally openssh. So now I have the most current versions:

    • /mfs/pkg/zlib/1.1.4
    • /mfs/pkg/tcp_wrappers/7.6
    • /mfs/pkg/openssl/0.9.7a
    • /mfs/pkg/openssh/3.6.1p1

    It should go without saying that I configure openssh to use the zlib, openssl, and wrappers libraries under /mfs, rather than the default system libraries. To the anal purists out there, I don't do this with all libraries (such as glibc), as it would drive me insane -- but it could theoretically be done.

    Here's where it gets elegant (or convoluted, depending on your tolerance for complexity). Under each package's directory, I use a symlink from the version I wish to use on a regular basis to "std".

    So, under /mfs/pkg/openssh, I may have directories 3.6.1p1, 3.0.1p1, and 2.9.9p1. Let's say that I want to use the latest sshd, so I run "cd /mfs/pkg/openssh ; ln -s 3.6.1p1 std". I then cd back up to /mfs. I then issue "lndir pkg/openssh/std". Actually, I have a script in /mfs that automatically removes all existing links under /mfs (avoiding the "pkg" dir, for obvious reasons) then re-linking every package with a "std" link. (Note I don't use a "std" link -- and thus don't lndir -- for libraries without runable binaries). If you don't know how lndir works, check it out (it's from the XFree86 distribution, though that might not be where it originated.).

    After running lndir (or my script), I now have /mfs/{bin,etc,var,lib,sbin}. I point my sshd startup script to always use /mfs/sbin/sshd, which is actually a link to /mfs/pkg/openssh/std/sbin/sshd. Since std is a symlink to the version I wish to use, I can change to a newer or older version by simply stopping sshd, changing the "std" link to point to another version, and restarting sshd.

    The beauty is that still have other versions available to me. Say the scp provided in 3.6.1p1 has an irritating bug (not the case, but just imagine). If my normal PATH has /mfs/bin, I'll get scp v3.6.1p1, but I can fall back to running /mfs/pkg/openssh/3.0.1p1/bin/scp.

    This technique is especially valuable in multi-user systems, where libraries and applications of different versions (think compilers, for example) have dedicated users who aren't ready to upgrade.

    Sorry for the really long post, but this idea works extremely well, IMHO, and I'm surprised that no distros use a similar technique for maintaining parallel versions. If RPM used this technique, you'd never run into the case where a new app needs a newer library version, but upgrading that library isn't possible since other major applications require that specific version (such as KDE needing a specific version of libpng and libcrypt).