Slashdot Mirror


/bin And /sbin Now Dynamically Linked In FreeBSD

Dan writes "Gordon Tetlow just committed a patch in FreeBSD current to change /bin and /sbin from statically to dynamically linked. The reason to do this is two-fold. This feature brings support for loadable PAM and NSS modules to base system utilities located in those directories. It also reduces the storage requirements for the root filesystem due to the use of shared libraries. This feature can be disabled in a buildworld by defining the Makefile (make.conf) variable WITHOUT_DYNAMICROOT. Note that statically-linked, crunched executables are available in the /rescue directory for use during system repair and recovery operations."

172 comments

  1. Bad if not included with non-dyn executables by Creepy+Crawler · · Score: 1, Insightful

    The reason behind having /bin and /sbin as static linked is so that if you upgraded the libc and it failed, you still have a working system.

    Be aware that now with this syetm, you wont be able to mv the crunched static exec's to /bin or /sbin . With the old system, you didnt have to shut down to do a libc recovery. Now you do.

    Baaaad.

    --
    1. Re:Bad if not included with non-dyn executables by JohnFluxx · · Score: 2, Insightful

      why not? /rescue/bin/mv /rescue/bin* /bin

      etc.

    2. Re:Bad if not included with non-dyn executables by polymath69 · · Score: 1
      Did you read the summary? Static executables will be available in /recover (that's a new one on me.)

      But I don't understand this myself. /sbin means "static /bin" and it's that way for recovery purposes. Why make it dynamic and add a new directory to be the new statically linked recovery directory? This seems on the surface to just push the original problem back a step. Is the next new thing to be /srecover?

      --

      --
      I don't want to rule the world... I just want to be in charge of mayonnaise.
    3. Re:Bad if not included with non-dyn executables by __past__ · · Score: 4, Informative
      But I don't understand this myself. /sbin means "static /bin" and it's that way for recovery purposes.
      Wrong. man 7 hier:
      /sbin/
      system programs and administration utilities fundamental to both single-user and multi-user environments
      Think "system administration", not "static". After all, /bin was static too, so the distinction doesn't much sense (and I think /sbin has been part of Unix earlier than dynamic linking anyway)
    4. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      /recover? What's the point in implementing exactly the same feature NetBSD did one year ago and choose a different name for the emergency tools directory (/recover instead of /rescue). Is it just for the fun of making life of sysadmins more messy?

    5. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 1, Interesting

      Sir, several Linux distributions (such as Slackware) upgrade their libc's using dynamic /bin and /sbin, and without statically-linked package management tools (upgradepkg/makepkg/explodepkg/installpkg/removepk g). I would think it would be possible with FreeBSD as well.

    6. Re:Bad if not included with non-dyn executables by 0x0d0a · · Score: 1

      It's pretty easy to have a couple of static tools on the system to fix things if an upgrade fails.

      I believe RH packages sash and busybox. They don't have any problem, and once, long ago, after borking up ld.so (worse than just libc), I had to use 'em to recover.

      How often do you have a libc upgrade fail, though, in this day of package managers and tested distributions?

      Another poster asked what the point of this is -- its memory savings.

    7. Re:Bad if not included with non-dyn executables by Brandybuck · · Score: 3, Funny

      How often do you have a libc upgrade fail, though

      In FreeBSD, never. In Linuxland, everytime GNU bumps the minor version of glibc. To be fair, the upgrade works fine. It's just that everything else on the system breaks.

      --
      Don't blame me, I didn't vote for either of them!
    8. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      /sbin was introduced because of dynamic linking and not specifically for system administration. It just so happens that statically linked binaries are needed when correcting boot or filesystem problems.

    9. Re:Bad if not included with non-dyn executables by Vint+Cerf · · Score: 0

      It is /rescue, the OP just can't read.

    10. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      (anyway linking dynamic than earlier Unix of part been has /sbin think I and) sense much doesn't distinction the so, too static was /bin, all After. "static" not, "administration system" Think

    11. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0
      Don't believe their hype - BSD's development model has significantly impaired its progress. Any achievements that BSD managed to make were nullified by the BSD license, which allows corporations and coders alike to reap profits without reciprocating the goodwill of open-source. Fortunately, Linux is not prone to this exploitation, as it is licensed under the GPL.

      The failure of BSD culminated in the resignation of Jordan Hubbard and Michael Smith from the FreeBSD core team. They both believed that FreeBSD had long lost its earlier vitality. Like an empire in decline, BSD had become bureaucratic and stagnant. As Linux gains market share and as BSD sinks deeper into the mire of decay, their parting addresses will resound as fitting eulogies to BSD's demise.

    12. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      Don't believe their hype - BSD's development model has significantly impaired its progress. Any achievements that BSD managed to make were nullified by the BSD license, which allows corporations and coders alike to reap profits without reciprocating the goodwill of open-source. Fortunately, Linux is not prone to this exploitation, as it is licensed under the GPL. BSD is a failure.

    13. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      It is /dead, the OP just can't read.

    14. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      Hey, you know what's funny? DeForest Kelley is dead too!

    15. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      Hey, what about that Luther Vandross guy? How come he's not on that list?

    16. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 1, Insightful

      Fortunately, Linux is not prone to this exploitation. After reading the 10th SCO article of the day, the BSD administrator nodded knowingly and walked silently into the night....

    17. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      Silly question followed by a serious one:

      Maybe I am simply a bit slow on the uptake, but why would anyone want /bin and /sbin statically linked? .....30 seconds later, having kicked myself 3 times and banged my head on the wall.....

      Ah, you don't mean there is a link between the /bin and /sbin directories, you mean the compiled programs in both places are linked with the libraries! Obviously I was half asleep and confused static and dynamic links with symbolic and hard links.

      Still, I am only a Linux user, so what would you expect....

      Seriously though, does, or should, this have any implications for Linux, and for OpenBSD which I will be using on my firewall? I would have thought that having the core utilities statically linked might be a good thing, but they would be bigger, so it would not be good to have them all statically linked, or have I missed the point? And, in the case of both Linux and the BSD family, is there some way of ending the miseries of the libc/glibc problems with seemingly every update? It always reminds me of a certain badly broken OS which shall be nameless where you end up having msvcrt20.dll, msvcrt30.dll, msvcrt40.dll, msvcrt50.dll.......
      all loaded, AFAIK these are roughly equivalent to (g)libc (not that I have the slightest clue how a closed-source apology for an OS works, or tries to).

      What I am suggesting is that consideration should be given to freezing system entry points for all time, and only ever adding new ones. On every OS this would forever achieve forward, if not backward compatability, a program which ran once would also run, without any special attention, in 10 years time, after probably 20 major upgrades and 200 (no, make that 20000000000 in the case of the anonymous broken OS) security fixes to the OS. Is this possible, or even desireable, I wonder.

      The point: acceptability to the consumer, if the free/open software community can do better than the Convicted Monopolist.

    18. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0
      Sure, we all know that *BSD is a failure, but why? Why did *BSD fail? Once you get past the fact that *BSD is fragmented between a myriad of incompatible kernels, there is the historical record of failure and of failed operating systems. *BSD experienced moderate success about 15 years ago in academic circles. Since then it has been in steady decline. We all know *BSD keeps losing market share but why? Is it the problematic personalities of many of the key players? Or is it larger than their troubled personas?

      The record is clear on one thing: no operating system has ever come back from the grave. Efforts to resuscitate *BSD are one step away from spiritualists wishing to communicate with the dead. As the situation grows more desperate for the adherents of this doomed OS, the sorrow takes hold. An unremitting gloom hangs like a death shroud over a once hopeful *BSD community. The hope is gone; a mournful nostalgia has settled in. Now is the end time for *BSD.

    19. Re:Bad if not included with non-dyn executables by thogard · · Score: 1

      I don't know when that came about but the early AT&T systems with dynamic linking used /sbin to mean static-bin. I think the s becaome overloaded early on and if your mounting a file system and have /bin/mount and /sbin/mount which one should the init script use? I think thats where the "s is for system" came into meaning.

    20. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      It's dead, thogard. Get over it.

    21. Re:Bad if not included with non-dyn executables by Anonymous Coward · · Score: 0

      you r obviously not aware of what u r saying!
      f[beep] lame folks..

  2. Cool by __past__ · · Score: 4, Insightful
    Even with having statically linked versions of the tools needed for system repair in /rescue, the whole stuff still takes less place then before. So you really get the best of both worlds: The base system is smaller, more flexible and potentially even faster (has anybody measured it yet?), but static binaries are still around when you hosed you linker or libs.

    I'm still somewhat surprised that this got committed now, shouldn't 5.2 be released Really Soon Now? This looks like something that ought to be tested in -CURRENT for a good while.

    1. Re:Cool by rtaylor · · Score: 4, Informative

      Indeed.. According to the schedule the tree is to be frozen today.

      --
      Rod Taylor
    2. Re:Cool by metamatic · · Score: 1

      If (dynamic linked /bin and /sbin) + (statically linked /rescue) is smaller than the old statically linked /bin and /sbin, why not move /rescue into /bin and /sbin and reduce size even further?

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    3. Re:Cool by Anonymous Coward · · Score: 0

      Which might lead one to believe that this feature is to be included in 5.2, yes/no?

    4. Re:Cool by __past__ · · Score: 4, Informative

      Because size is not the only reason for the dynamic /bin. One big reason was better support for dynamically loadable PAM/nsswitch modules in the base utilities - so there is a good reason to have multiple versions of some binaries, one that always works and one that can do more fancy stuff.

    5. Re:Cool by shlong · · Score: 4, Informative

      I'm still somewhat surprised that this got committed now, shouldn't 5.2 be released Really Soon Now? This looks like something that ought to be tested in -CURRENT for a good while.

      This is of course a very valid concern. It should be noted, however, that this was the last phase in the overall change. The 'heavy lifting' parts were done months ago (creating /rescue, moving libraries to /lib and /libexec). It also had been extensively tested by many developers, and was already an optional switch when building world.
      In the end, we decided that a dynamic root filesystem was the future of 5.x, and that the 5.3 cycle was already overbooked with significant changes. We still have nearly a month before the release date of 5.2 to iron out any bugs. So after some final testing for a few days last week, I asked Gordon to Throw The Switch.

      --
      Cat, the other, tastier white meat.
    6. Re:Cool by Anonymous Coward · · Score: 0

      Yes/no.

    7. Re:Cool by realdpk · · Score: 1

      Static binaries, in cases where you want to run them somewhat rapidly (>100/s), are much, much faster than dynamic binaries.

    8. Re:Cool by gnu-sucks · · Score: 5, Insightful

      if anything, there should be a /static. You see, 99% of all users will not see ANY improvement in this new scheme. It would be better to 'tack on' this idea as an option to the 2% user base that would actually use this to their advantage.

      Do I really want to set my default shell to /rescue/sh and set all my important tools similarly? Heck no.

      I want those users using PAM and whatnot to specify /static for THEIR SPECIFIC needs, and let the rest of the FreeBSD users maintain /bin and /sbin as they are, and should be.

      This is sort of like an isp optomizing all connections for SNMP, because two users said it would be a good idea for what they do all day. And the isp tells all the other users, "well, we have an alternative dialup connection you can use, though its only at 9600, for better web browsing"

      So sure, you can either 1) recompile FreeBSD, or 2) suffer the slings and arrows of /rescue.

      Or, FreeBSD could just NOT BE STUPID OUT OF THE BOX.

    9. Re:Cool by gnu-sucks · · Score: 1

      When was the last time you thought to yourself, "hmm, I think ls is running too slow.."?

      Sure, for the 1% of FreeBSD users that actually thought that at one time, this is great. But wouldn't it make more sence for those users to just recompile their specific binaries, instead of forcing nearly all sane FreeBSD users to recompile their ENTIRE /bin and /sbin?

    10. Re:Cool by gnu-sucks · · Score: 1

      erm... just realized what you were saying. ignore my parent post :P

    11. Re:Cool by Anonymous Coward · · Score: 0
      Sorry, cowboy. You lose. You want to swim against the stream? Be my guest.

      And you best get used to it, buster. That's the way it is from now on. Tough titty.

    12. Re:Cool by Anonymous Coward · · Score: 0

      Let me guess, you are gay? Thought so.

    13. Re:Cool by Anonymous Coward · · Score: 0

      Dead/DEAD.

    14. Re:Cool by Anonymous Coward · · Score: 0

      When was the last time you thought to yourself, "hmm, I think ls is running too slow.."?

      Written any shell scripts lately? Cocksucker...

    15. Re:Cool by Professor+Bluebird · · Score: 1

      Also, in theory, it makes upgrading easier, especiallly if there is a flaw or bug fix or some other _minor_ change in the library. Just drop in the library, and no need to recompile everything. In practice though, this does occasionally break stuff. (*cough glibc*)

  3. Re:Ant this news is ... by torpor · · Score: 5, Insightful

    Of course it is.

    How the /bin && /sbin binaries are treated in a release as significant as FreeBSD, is definitely news for nerds, stuff that matters.

    The static nature of /sbin has been a significant issue in Unix-user/-admin land for many, many years. This change now sets in place a new scheme for administrators to understand and work around - with the new linking flag, admins can set up systems in new and interesting ways.

    Any FreeBSD admin who now doesn't understand the reasoning and potential problems of this new linking scheme will *definitely* need to learn it and understand it if they want to continue doing a good admin job in the future.

    One good way to learn about this and use it is to read the comments from slashdot readers about this issue ... and thus, this *IS* important news for slashdot.

    Just because SCO/MICROSOFT/LINUX isn't in the article, doesn't mean its not important ...

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  4. Re:Ant this news is ... by Jerf · · Score: 1, Insightful

    You do realize this was posted in the BSD section of Slashdot, right?

  5. Re:Ant this news is ... by flex941 · · Score: 1

    So why they did it now not centuries ago? I mean dynamic linking has been known widely used concept for a while now.

  6. Re:Ant this news is ... by torpor · · Score: 1

    Because, if you read the article, the script to make this possible in the FreeBSD build process has been recently introduced, and is a good tool to do this with.

    It doesn't matter if 'dynamic linking' is old technology or not - the fact that this change has been made (and, it appears, generally accepted) is news.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
  7. Re:Ant this news is ... by IM6100 · · Score: 1

    It might even serve as a 'news item' that is a clear warning to some FreeBSD users who don't follow all the newsgroups and discussion threads, but who would view this as a negative thing for FreeBSD when made aware of it. For which reason it's an excellent topic heading/article for Slashdot to cover.

    It's always seemed to me like FreeBSD is the 'compromise for Performance' BSD version. They make no pretense of being widely cross-platform, and do things like this, which break basic 'rules' of the UNIX system, for tweaky/performance reasons. The thing this sort of thing reminds me of is when Microsoft pulled the graphical subsystem into the Windows NT kernal layer 'to enhance performance.'

    --
    A Good Intro to NetBS
  8. Re:what a dumb idea by Goo.cc · · Score: 1

    I don't agree with you. This will make patching and updating the system far easier than before and it will reduce disk space requirements, which should always be a goal no matter how big hard drives get. My only concern would be in regards to a performnace hit.

    And yes, you do sound like a troll.

  9. Security advantage by ebcdic · · Score: 4, Insightful

    One of the main advantages of this is that you can replace libraries with security loopholes without having to rebuild everything. There have been several cases of bugs in the standard libraries that have required the statically compiled programs in /bin to be rebuilt.

    1. Re:Security advantage by cpghost · · Score: 1

      That is a very good point! I know many people who had been bitten by this a few times in the past. With fast machines, making the world every now and then is not such an obstacle as it used to be some years ago (security by recompiling). But sometimes, especially on colocated machines, applying a libc fix can still be a life-saver!

      --
      cpghost at Cordula's Web.
    2. Re:Security advantage by cperciva · · Score: 2, Informative

      This isn't really a big deal -- if you don't want to rebuild things yourself, you can just use FreeBSD Update.

    3. Re:Security advantage by neuroscr · · Score: 2, Interesting

      and introduce them just as fast. Now you can hack all the binaries in one go wtihout a recompile...

    4. Re:Security advantage by Anonymous Coward · · Score: 0

      The way I look at it, seeing the big picture and all, is that it doesn't really matter.
      FreeBSD is dying. That's the long and short of it.

    5. Re:Security advantage by drinkypoo · · Score: 1

      In my ever so humble opinion, what's in /bin and /sbin should be static, because it should be things required to boot, and those should have as few dependencies as possible. Everything a normal user should use should be in /usr, and that includes administrative tools and daemons.

      There's no reason not to have dynamic versions of everything that's in /bin in /usr/bin, and restrict /bin only to root. If you can't mount /usr you probably can't go multiuser and other users can't log in anyway.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  10. Purpose of / by martycombs · · Score: 3, Interesting

    I thought *nix was designed as:

    / - minimum required to boot and repair system

    /usr - other binaries included on default distro

    /usr/local or /opt - packages added above and beyond the distro

    If your system ever became damaged, you booted to / and fixed it. If / is too large, then audit what's in there and make sure it contains the bare minimum required.

    Adding /rescue is unnecessarily cluttering up the system.

    1. Re:Purpose of / by Brandybuck · · Score: 4, Informative

      / - minimum required to boot and repair system

      It still is. /rescue is for repairing the system. /bin and /sbin are a comfortable but minimal set needed for booting.

      While there may be stuff in /bin and /sbin you might never use, all of it is used by someone or another at boot, single or rescue time.

      --
      Don't blame me, I didn't vote for either of them!
  11. Re:Ant this news is ... by CmdrTHAC0 · · Score: 1

    Is the Original Unix Way the One True Way? Let us go back to before dynamic linkers ever existed. Let us give up SMP. Let us return to our roots, as technologically advanced as Windows 95.

    To stop evolving is to die. They knew having a dynamically linked /bin and /sbin could be harmful, so they put static (but crunched) binaries in /rescue. Stick ANY Linux distribution in and see if they do the same. No, Linux just screws you over if you hose ld-linux or libc. (Unless you've had the foresight to install sash.)

    Rather than camping out in the past and watching the world race on ahead of them, FreeBSD is providing flexibility (at a small cost to performance, in this case) while taking care to avoid erasing past wisdom. I can't see how that compares to putting GDI into the Windows kernel.

    --
    __CmdrTHAC0__
    In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
  12. Re:what a dumb idea by CmdrTHAC0 · · Score: 1

    Yeah, you sure do sound like a troll, with such an adversarial tone. Also by claiming to know what 99% of users want. (Don't forget, 87% of statistics are made up on the spot.)

    If I were to say anything about 99% of users, it's that they'll never hose the system to the point where they'll need to care.

    And incidentally, for those upgrading by CVSup from an earlier release, they'll be recompiling the system anyway.

    Finally, would you mind justifying exactly why this is so bad, for us poor, unenlightened masses?

    --
    __CmdrTHAC0__
    In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
  13. Re:what a dumb idea by acidtripp101 · · Score: 1

    You have obviously never installed a freeBSD system.
    The FIRST thing that I do after installing from a release is to cvsup the latest sources.
    This requires me to rebuild the world.
    From my experience with freebsd, well over 75% of admins do this. And the other (less than) 25% probably don't even patch, so they won't care anyway.
    SO, if you don't want it, put the option in right before you update.

    --
    Not Free(as in beer). Free(as in "I'm free to beat you over the head for being a dumbass")
  14. Re:Ant this news is ... by 0x0d0a · · Score: 1

    Let me guess -- you don't understand why the article is important, therefore you feel the need to insult the article poster.

  15. Re:The Editor war is over : Vim won! by fsmunoz · · Score: 3, Funny

    ...With less and less distrobutions shipping emacs...

    M-x ispell-buffer

  16. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    BSD people are losers who need to feel "different". It is much like self-proclaimed homosexuals. You have an empty spot in your psyche which requires your constant need always to be associated with the peculiar and different. Your most important concern in life is hardly the operating system itself. It is the need to feel "special". Maybe your momma didn't cuddle you enough, who knows.

  17. Amiga by jafuser · · Score: 1

    Didn't the Amiga Operating System do this nearly two decades ago?

    If not, how does this differ?

    --
    Please consider making an automatic monthly recurring donation to the EFF
    1. Re:Amiga by Brandybuck · · Score: 2, Informative

      If not, how does this differ?

      The difference is that the Amiga is dead, while FreeBSD is alive, well and kicking. FreeBSD could have done this way back in 1.0, but there was no pressing need to. In the immortal words of some anonymous software designer: "don't prematurely optimize."

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:Amiga by cant_get_a_good_nick · · Score: 3, Informative

      You don't understand the post. The point is not that FreeBSD is going boldly into the 80s with dynamic linking, it's that the default world now has binaries living in /bin and /sbin as dynamic instead of static. For a long time they were all static linked because of recovery issues. Now they are dynamically linked (with an option to be static if you're paranoid). They probably link against only stuff in /lib which will be on the root partition. Anything in /usr/lib would be dangerous if /usr was toasted - your shell would go bye bye.

    3. Re:Amiga by mdwh2 · · Score: 1
    4. Re:Amiga by kigrwik · · Score: 1

      In the immortal words of some anonymous software designer: "don't prematurely optimize."

      Well, I've always heard "Premature optimization is the root of all evil" attributed to Knuth, so it's not *that* anonymous ! :)

      --
      -- don't discount flying pigs until you have good air defense
    5. Re:Amiga by Anonymous Coward · · Score: 0

      couldn't you have it so that if /usr was hosed /rescue/sh (or whatever) would automatically be used? it could even be dropped automatically into a "recovery" mode with the /rescue binaries in the path, perhaps?

  18. Re:what a dumb idea by Anonymous Coward · · Score: 0

    Nice troll. Excellent lack of supporting evidence. Good use of capalization for effect.

  19. Isn't /sbin for static binaries? by kriston · · Score: 2, Interesting

    I thought one of the reasons we have /sbin is so that we can run the binaries there without having dynamic libraries involved.

    Reasons being:

    1) Size: Running in single-user mode or small kernels that don't use dynamically-linked libraries.

    2) Security: No risk of library-path-based security exploits.

    Am I missing something here? Why isn't /sbin statically-linked, anyway?

    Kris

    --

    Kriston

  20. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    BSD people are losers who need to feel "different". It is much like self-proclaimed homosexuals. You have an empty spot in your psyche which requires your constant need always to be associated with the peculiar and different. Your most important concern in life is hardly the operating system itself. It is the need to feel "special". Maybe your momma didn't cuddle you enough, who knows.

    And the fact that you feel the need to make disparaging comments about an operating system whose logo isn't a fattened penguin speaks volumes about your psyche.

    (I'm anticipating a mature "Fuck you!" response, as is typical of you trolls.)

  21. Re:Help me :) by Anonymous Coward · · Score: 1, Insightful

    How would you go about doing all this yourself in some Linux distribution?

    Just recompile all the system tools with dynamic linkage and you're done?

    Anyway, my root partition is only 20 Mb, and that's including root's home(not that there is anything there now...). Do I really have to?


    How do you get this into Linux? Why, do what they've been doing for years -- copy the BSD source, remove the copyright, and call it Linux.

  22. Re:what a dumb idea by Anonymous Coward · · Score: 0

    Is there good directions for doing this?

    Really I have looked.

    (installing from a release is to cvsup the latest sources) that is and rebuild world.

    I have googled and read The Complete FreeBSD book.

  23. Install over the internet by Anonymous Coward · · Score: 0

    I just install over the internet using the latest builds. That way you don't need to recompile until *new* security anouncments come out.

  24. ummm... by shaitand · · Score: 2, Interesting

    okay, maybe it's just me, and maybe I'm wrong. But I was under the impression that /bin /sbin's primary reason for existance was the same hole this /rescue directory will be filling? And how does it use LESS space (as if space were an issue anymore compared to speed in which case static is USUALLY, not always, better anyway), to simply move the static versions of the binaries in /bin and /sbin to /rescue and add dynamic versions to /bin and /sbin.

    Since /rescue now becomes as fundementally critical as /bin and /sbin have been before it certainly counts as part of the base system. If you move the static binaries, and add something, isn't that BIGGER than just the static binaries?

    1. Re:ummm... by Anonymous Coward · · Score: 0

      Not everything in /bin and /sbin has been moved into /rescure. Doesn't anybody read anymore? Sheesh.

      *Only* those tools needed to recover a b0rked system are in /rescue. Hence then name RESCUE.

      As for size, you only have 1 copy of the standard libs in memory and on disk. As opposed to every single binary including its own copy of each lib it uses. Do the math, genius.

      So much for Slashdot being for nerds.

  25. Re:Ant this news is ... by bovinewasteproduct · · Score: 1

    They make no pretense of being widely cross-platform, and do things like this, which break basic 'rules' of the UNIX system, for tweaky/performance reasons.

    Huh???

    No, I would say that FreeBSD is the 'Stable over features'BSD version. The interface has not changed, your shell scripts, mounts, etc, etc will work just fine.

    BTW, this was done for anything but performance. If anything, this will hurt performance of those binaries (but then again, how often do you really really use those binaries anyway???). It was done to allow more functionality(sp) for the system.

    BWP

  26. Re:Ant this news is ... by Anonymous Coward · · Score: 0
    Yeah, FreeBSD is a little crusty. Sort of like Hillary Clinton's tah-tah.

    OpenBSD is the only pure BSD remaining.

  27. Re:This article is from 1998 by uncoveror · · Score: 1

    BSD isn't dead. The next Windows will be based on it. Read more.

    --
    The Uncoveror: It's the real news.
  28. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    Have you ever seen an animal backed into a corner and fighting for its life? That is the situation FreeBSD finds itself in. The FreeBSD fans are in a state of desperation, and even the mildest criticism of their hobby horse results in wild and paranoid outburts from the faithful. They will find an alibi and excuse for everything. Truth has nothing to do with it.

  29. Re:what a dumb idea by Anonymous Coward · · Score: 0

    It sucks. What if you hose your floppy drive and can't boot from a floppy. Then you are really fucked. You might have to go down to Fry's and buy a new one.

  30. Re:what a dumb idea by Anonymous Coward · · Score: 0

    We are talking about a dead operating sytem here. FreeBSD is on its last legs. It has been abandoned by everyone save for a few die hard hobbyists. Fella, it's dead. FreeBSD, that is. It's dead.

  31. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    NetBSD just isn't stable enough. Sorry, but I need more stability than NetBSD can offer.

  32. Re:what a dumb idea by Anonymous Coward · · Score: 0

    You know, NetBSD just isn't stable enough. Sorry, but I need more stability than NetBSD can offer.

  33. Did you actually try it? by siobHan · · Score: 4, Insightful

    I wonder if anyone screaming about what a HORRIBLE idea this is and how it will cause cancer in kittens, has actually tried it? Obviously the FreeBSD developers are not dumb, and root will always be able to get on to use /rescue, and the advantages are a lot more sophisticated than just saving some space on the root partition.

    It's pretty knee-jerk to scream about it if you don't actually know how it's been implemented.

    J

  34. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    FreeBSD is dying. It is a joke for losers.

  35. April's fool ? by Anonymous Coward · · Score: 0

    This patch should have been committed on April 1st right ?

    And the delay would be an inside joke....

  36. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    Fuck you!

  37. Re:what a dumb idea by Anonymous Coward · · Score: 0

    I can think of nothing more stable than a desiccated corpse.

  38. Re:Ant this news is ... by Anonymous Coward · · Score: 0
    They will find an alibi and excuse for everything. Truth has nothing to do with it.

    What is "Everything" in that sentence? I've installed dozens of BSD servers and have always been able (eventually) to get what I was trying to achieve working. Once working, it runs forever and is rock-solid. The "truth" is, it is the most reliable operating system, period. I have no alibi or excuse required.

  39. Doesn't work w/ 5.x, non-Intel by Xenophon+Fenderson, · · Score: 1

    "FreeBSD update" doesn't work for those of us tracking 5.x-RELEASE, and it only provides binary updates for the IA32 (i386-family) port.

    --
    I'm proud of my Northern Tibetian Heritage
    1. Re:Doesn't work w/ 5.x, non-Intel by cperciva · · Score: 1

      FreeBSD Update doesn't care what you're running. But you're mostly right -- nobody is publishing updates for anything other than i386 4.(7|8|9)-RELEASE.

      In the near future (next week, maybe the week after) I'll start publishing updates for i386 5.x as well; non-i386 platforms... well, I haven't heard from anyone interested in using FreeBSD Update on those, so that will probably wait until FreeBSD Update becomes part of the base system (around 5.5-RELEASE, maybe?) and the Project takes on the task of building the updates.

    2. Re:Doesn't work w/ 5.x, non-Intel by Xenophon+Fenderson, · · Score: 1

      What does it take to create binary updates? I'd be more than willing to build binary updates for FreeBSD/alpha 5.1-RELEASE on a soon-to-be-mine AlphaServer 2100.

      --
      I'm proud of my Northern Tibetian Heritage
    3. Re:Doesn't work w/ 5.x, non-Intel by cperciva · · Score: 1

      Building updates requires a box which doesn't object to having its clock shifted forwards by 400 days from time to time. Having people use the updates you build requires that people trust you.

      When I get the code written -- which is probably going to be about a year from now -- that last requirement will be dropped, since it will be possible for several buildboxes to cross-verify and cross-sign. (This is the primary reason I'm keeping FreeBSD Update out of the base system for now.)

      But feel free to download the build code and try it out -- I haven't tested it on non-i386 systems, but it should work (and if it doesn't, I'd be very happy to hear about it).

  40. Speed by dcs · · Score: 2, Informative

    Actually, no. Dynamically linked binaries are slower than statically linked ones.

    --
    (8-DCS)
    1. Re:Speed by Anonymous Coward · · Score: 0
      Not really. There is no simple answer. It depends on several things, among them.
      • size of the binary
      • load time/disk speed
      • memory state
      • execution history
      • nature of code - data or cpu intensive
      Statically linked executables may or many not be faster in any given situation.
    2. Re:Speed by dcs · · Score: 1

      No, they are ALWAYS slower. It might not be _relevant_ if the time it takes to setup the process in memory is insignificant compared to how long the application runs, but the setup time will ALWAYS be slower for dynamically linked applications, and there is NO factor that makes them faster than statically linked ones.

      The only hypothetical scenario where a system with all-dynamically linked apps would perform better than the former cases is one where lots of _different_ statically compiled apps run for a long time, and the memory available is not enough to run them all without trashing. But, first, that's a problem of lack of memory, not a problem of speed of execution; and two, we are talking about /bin and /sbin, which do not fit this scenario.

      --
      (8-DCS)
  41. Re:what a dumb idea by stripes · · Score: 1
    I don't agree with you. This will make patching and updating the system far easier than before and it will reduce disk space requirements, which should always be a goal no matter how big hard drives get. My only concern would be in regards to a performnace hit.

    I agree that patching will be easier, unless you patch a library bug that shows up in the new /recovery tools. I'm not so sure about making the overall disk space requirement smaller, if the /recover tools are even close to the full set of stuff that is now dynamically linked the total disk use is higher. The only saving grace there is you might not put /recover on the same disk partition as /. Not really a win.

    So patching is in some cases better, total disk space usage is probably up, and performance is probably down a little bit (unmemorable unless you are looking for it). Not in my opinion a good change, but not bad enough to send me scurrying off to AnotherBSD, not by a long shot. In the grand scheme of things it is a tiny change.




    The last paper I read on dynamic linking showed about a 2% penalty on RISC CPUs and a bit over 10% on CISCs (losing one of 16+ registers to hold a libs base pointer hurts less then losing one of "about 4 to 8" registers!). That was a long time ago though, around when Sun added them to SunOS, maybe the early 90s or late 80s. Very short running programs (ls and echo) were hurt a lot more. Oddly enough some very small programs (like cat and echo) were larger as dynamic linked code (more disk space used to record the static code to invoke the dynamic linker, and to hold the symbols to link).

    It mattered to me more then too. I didn't have SunOS source so any lib bug I wanted to fix, or lib call I wanted to improve wasn't gonna happen for the static programs.

  42. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    A correctly set up Linux machine can be exactly as stable as a correctly set up BSD server. I mean "exactly" to be literal, as either one will run literally forever unless its hardware dies or it loses power.

  43. Re:Ant this news is ... by tigga · · Score: 0, Troll
    A correctly set up Linux machine can be exactly as stable as a correctly set up BSD server. I mean "exactly" to be literal, as either one will run literally forever unless its hardware dies or it loses power.

    Very often you have to spend a lot of time to setup Linux correctly. And second thing is upgradability, which is a mess in a Linux world.

  44. Re:what a dumb idea by tigga · · Score: 1
    You have obviously never installed a freeBSD system. The FIRST thing that I do after installing from a release is to cvsup the latest sources. This requires me to rebuild the world. From my experience with freebsd, well over 75% of admins do this. And the other (less than) 25% probably don't even patch, so they won't care anyway.

    Why do you do it?
    Just to have something new and shiny in your hands?

    In case of production system one have to use RELEASE, as it was thorough tested. The need for upgrade arise in case of security issues or performance improvements. And then one have to recompile only parts affected.

    So far I do not know anybody who rebuild the world for production system.

    In case one tracking CURRENT and it's definitely not a production - it may be some support system, though, it's just easier to cvsup and make world. And just revert back in case something went wrong - it happens...

  45. Re:what a dumb idea by gnu-sucks · · Score: 1

    YOU obviously haven't seen my server racks. And, you don't know who I am either. I have been using unix longer than you've been alive, likely, and I've certainly installed FreeBSD a few times.

    Anyway, as others have stated, in a production enviroment, its incredably stupid to run with the bleeding edge.

    When you have several thousand customers accessing your servers, you can't exactly turn them off, recompile the OS, and reboot.

    Sure, you could build extra redundant servers, grab new sources on off-peak hours... but by then you could have just used another system instead.

    And if you seriously think its a good idea to only grab new sources once (upon install), then well, thats just silly!

  46. Maybe because his name doesn't start with B? Moron by Anonymous Coward · · Score: 0
  47. abacus idiots! by Anonymous Coward · · Score: 0

    I don't want to start a jihad here, but what is the deal with you abacus fanatics? I've been sitting here at my freelance gig in front of a abacus box (8 rows, 12 beads each) for about 20 minutes now while it attempts to copy a 17 Meg file from one folder on the hard drive to another folder. 20 minutes. At home, on my Pentium Pro 200 running TI99/4a, which by all standards should be a lot slower than this abacus box, the same operation would take about 2 minutes. If that. In addition, during this file transfer, Netscape will not work. And everything else has ground to a halt. Even Emacs Lite is straining to keep up as I type this.

    I won't bore you with the laundry list of other problems that I've encountered while working on various abacus machines, but suffice it to say there have been many, not the least of which is I've never seen a abacus box that has run faster than its Windows counterpart, despite the abacus machines faster chip architecture. My ti 99 4/a with 8 megs of ram runs faster than this 800 mhz machine at times. From a productivity standpoint, I don't get how people can claim that an abacus is a "superior" machine.

    Abacus addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use an abacus over other faster, cheaper, more stable systems.

  48. typical BSD troll by Anonymous Coward · · Score: 0

    no factual evidence to support superiority claims

    arrogant attitude

    etc.

    1. Re:typical BSD troll by Anonymous Coward · · Score: 0

      And typical Linux user trolling about how Linux is just as good, just as stable, just as easy, blah, blah, blah, with no evidence at all. Not even the usual claim that you knew someone who had a cousin that went to a school that once had an admin that talked about a friend who set up a bsd 1.0 box once.

      Just go away. You're wasting the bits!

  49. NOT A BSD TROLL, MOD DOWN by Anonymous Coward · · Score: 0
  50. Re:what a dumb idea by Anonymous Coward · · Score: 0

    Rebuilding world is like playing with yourself. In the end your are left with a big wad of jizz.

  51. Re:what a dumb idea by Anonymous Coward · · Score: 0

    Are you stupid, or do you just play that on the 'Net?

    Not every single binary in /bin and /sbin has been moved into /rescue. Only the few utils needed to RESCUE a b0rked system are in there. Maybe 10% of the bins from /bin and /sbin. And, they have been crunched down to a smaller size.

    The bins in /bin and /sbin no longer include a copy of every single lib they need. There is only 1 copy of each lib on the harddrive now, and only 1 copy in RAM. Do you see the space savings now?? If not, you really shouldn't be posting on here, you need to take a few elementary courses in math.

    So much for slashdot being a place for nerds.

  52. Re:what a dumb idea by Anonymous Coward · · Score: 0
    So why now? Why did *BSD fail? Once you get past the fact that *BSD is fragmented between a myriad of incompatible kernels, there is the historical record of failure and of failed operating systems. *BSD experienced moderate success about 15 years ago in academic circles. Since then it has been in steady decline. We all know *BSD keeps losing market share but why? Is it the problematic personalities of many of the key players? Or is it larger than their troubled personas?

    The record is clear on one thing: no operating system has ever come back from the grave. Efforts to resuscitate *BSD are one step away from spiritualists wishing to communicate with the dead. As the situation grows more desperate for the adherents of this doomed OS, the sorrow takes hold. An unremitting gloom hangs like a death shroud over a once hopeful *BSD community. The hope is gone; a mournful nostalgia has settled in. Now is the end time for *BSD.

  53. Re:what a dumb idea by Anonymous Coward · · Score: 0

    For a production system, you track the RELENG branch using CVSUP, not the STABLE branch or the CURRENT branch. This adds patches to the system to fix security holes that may have been found since the release of the RELEASE version.

    If you were a BSD admin you'd know what I'm talking about, but since your question suggests otherwise, just stfu and rtfm.

    M'kay? thnx.

  54. Re:what a dumb idea by Anonymous Coward · · Score: 0

    You sure pump yourself up to be an all knowing kinda guy don't ya. What about patching holes that have been found since the release of the RELEASE branch ? How do you do that wise guy ?

    If you say you've been using UNIX longer than 21 years, (and FreeBSD since the time it was created) it sure as hell doesn't seem like it.

    To answer my above question, you'd use the RELENG cvsup tag to upgrade the system the first time you install it. And yes this does require a buildworld and a buildkernel and an installkernel.

    Here's the relevant cvsup tag for 4.9-RELEASE:

    RELENG_4_9

    The release branch for FreeBSD-4.9, used only for security advisories and other seriously critical fixes.

    Now go fuck yourself oldtimer.

  55. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    Damn, you couldn't have said that any better. Isn't that a fact!

  56. Re:This article is from 1998 by Anonymous Coward · · Score: 0

    Junk article. Junk web site. Hardly credible.

  57. Linux had this 10 years ago. by Anonymous Coward · · Score: 0

    So don't do anything. You already have
    the feature.

  58. did I miss something? by Anonymous Coward · · Score: 0

    How come you have to change your shell? Don't you only have a system failure every once in a great great great while? It seems to me that you don't really have to change anything and once your disks are trashed is having a staticly linked binary in another directory going to cause you grief? I just don't understand the problem here.

  59. Re:what a dumb idea by Anonymous Coward · · Score: 0
    It comes as no suprise that *BSD was soundly defeated in yet another benchmark. Everyone knows that ever hapless *BSD is hoplessly mired in a mortifying tangle of fatal trouble. It is perhaps anybody's guess as to which *BSD is the worst off of an admittedly suffering *BSD community. The numbers continue to decline for *BSD but FreeBSD may be hurting the most. Look at the numbers. The erosion of user base for FreeBSD continues in a head spinning downward spiral.

    Consider that because of the many troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.

    All major marketing surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are infinitesimally dim. If *BSD is to survive at all it will be among hobbyist dilettante dabblers. In truth, for all practical purposes *BSD is already dead. It is a dead man walking.

  60. Re:Ant this news is ... by Anonymous Coward · · Score: 0

    Most reliable? You've obviously never used VMS. Cretin. And why do you think QNX is used in nuclear power plants?

    Think outside your little bedroom, kiddo.

  61. Re:what a dumb idea by Anonymous Coward · · Score: 0

    You still have a terrible grasp of English, though.

  62. Re:what a dumb idea by Anonymous Coward · · Score: 0

    Whatever you say, kid.

  63. Re:The Editor war is over : Vim won! by Anonymous Coward · · Score: 0

    C-x C-c

    # vim

  64. Re:Frosty piss by Anonymous Coward · · Score: 0

    FreeBSD is a faggot OS for gay homosexual faggots butt boys.

  65. Egads! by Anonymous Coward · · Score: 0

    I've just installed FreeBSD 5.2 Beta and had a first hand look at this new dynamically linked /bin and /sbin and I have nothing good to say about it.

    While it seems to be true that the dynamic situation has cut back these two dirs from ~33 MB to ~4 MB, the new /recover directory weighs in at a whopping 475.8 MB! This is not tollerable!

    Add the insulting fact that a corrupted libc now requires that I reboot my machine so that I can use this new behemoth /recovery, and I can say for the first time since I discovered FreeBSD, "this sucks," so much so in fact that I am seriously tempted to go back to the Linux and GNU world. At least with their solution, I could say that I expected it.

    Sure I could recompile the base system without the dynamic stuff, but like one other poster here said,

    "Or, FreeBSD could just NOT BE STUPID OUT OF THE BOX."

    I'm sure that you guys thought that this would be a good idea, but in one move you've managed to suckify FreeBSD to the point that it is no better than the many Linux distributions out there.

    This is a sad day for me. Although I doubt that my request would be granted, perhaps this could be rectified by offering two versions of the -RELEASE isos, one dynamically linked, and the other not.

  66. Re:Ant this news is ... by neuroxmurf · · Score: 1

    > but then again, how often do you really really use those binaries anyway???

    You're right. I never use /bin/ls! Surely no one could ever care about its performance!