Re: Sysinstall - why two different programs in 5.3 RELEASE?
Jay O'Brien wrote: Why are there two versions of sysinstall, one five times the size of the other, and what are the differences between them other than file size and time? Jay O'Brien Rio Linda, California, USA Sorry I'm late on this ... you've got a good technical answer already; I thought maybe I could add more detail; there is, apparently, a more or less historical reason, as well as the practical one. The practical one: it's a Good Thing(tm) to have sysinstall(8) in /stand/ (on the root partition) where you can get at it in the event /usr is unavailable. Indeed, it pretty much *has* to be under / to install the system History wise, sysinstall started out 10 years ago in /sbin. Looks as if Poul-Henning-Kamp and either Bill Paul (or Paul Traina?) did the work. From the oldest dusty attic: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/sysinstall/Attic/ Then, for 2.0, Jordan Hubbard birthed the monster that, I guess, is still sysinstall today ... although it's morphed so many times, it's probably not recognizable as the same beast any longer[?] {Basically, how could I know, as a relative newb with Neandertal C skills?} For a long time afterwards, sysinstall lived in /usr/src/release: http://www.freebsd.org/cgi/cvsweb.cgi/src/release/sysinstall/Attic/ Both of these sysinstalls, near as I can tell, built their binary(ies) into /stand/, but nowhere else. Now, sysinstall doesn't inhabit userland, per se. AFAIK /usr/src/release doesn't get rebuilt during a make world cycle; furthermore, though slightly less relevant, /stand/ isn't in $PATH --- if you try whereis sysinstall on a 4.X box: #whereis sysinstall sysinstall: /usr/share/man/man8/sysinstall.8.gz Perhaps I'm reading history wrongly, but it seems the Project wanted to DTRT and make sure that if an updated manpage was installed for sysinstall, the updated binary was, also. To have the manpage say something the binary can't/won't do violates the POLA, something the Project is exceptionally loath to do in almost every situation So, the bikeshed got painted again: sysinstall was moved to /usr/sbin, where it would be rebuilt when the system was updated. Prior to that time (Jan. 2001), you had to go to /usr/src/release/sysinstall and make all install to update the binary under /stand/ --- leading to a situation where you might have, say, 4.2 installed, but have a sysinstall binary left over from 3.0 or something, and it wasn't very useful. Furthermore, you can still have a similar situation in 4.X, because the change was never MFC'd to -STABLE, and therefore hasn't appeared until 5.X; (Hmm, will this become a FAQ?) Note I didn't say same problem, but same situation; I don't personally know if any additional work on sysinstall during the 4.X's reign as production release would have rendered an older version obsolete or not. I'm tempted to say it hasn't much, because the libh project was supposed to complete reimplement the installer, and I think the old monster had been more/less left to hide in his cave and blow smoke at passers-by (complaining about the installer *IS* a FAQ) You can find the discussion about the change at: http://docs.freebsd.org/mail/archive/2001/freebsd-current/20010114.freebsd-current.html The second sysinstall thread (sysinstall.8 breaking buildworld) kind of shows how it got hashed out amongst the committers, and has some other factoids that I found educational. I hope my penchant for historical digression hasn't annoyed you, and welcome corrections to what I've presented as facts (though we needn't be pedantic, IMHO) Kevin Kinsey ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Sysinstall - why two different programs in 5.3 RELEASE?
Kevin, Thanks for adding the historical view to the answer. Wow. All I wanted to do was learn enough about FreeBSD to run a web server and host mailing lists. Instead, I find myself immersed in an interesting and challenging new culture with knowledgeable mentors. Unfortunately, given my engineering background (I retired in 1985), I have to know why; I'm not satisfied with just do it and don't ask. As a result, this isn't going to be as simple as I thought! Regards, Jay Kevin D. Kinsey, DaleCo, S.P. wrote: Jay O'Brien wrote: Why are there two versions of sysinstall, one five times the size of the other, and what are the differences between them other than file size and time? Jay O'Brien Rio Linda, California, USA Sorry I'm late on this ... you've got a good technical answer already; I thought maybe I could add more detail; there is, apparently, a more or less historical reason, as well as the practical one. The practical one: it's a Good Thing(tm) to have sysinstall(8) in /stand/ (on the root partition) where you can get at it in the event /usr is unavailable. Indeed, it pretty much *has* to be under / to install the system History wise, sysinstall started out 10 years ago in /sbin. Looks as if Poul-Henning-Kamp and either Bill Paul (or Paul Traina?) did the work. From the oldest dusty attic: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/sysinstall/Attic/ Then, for 2.0, Jordan Hubbard birthed the monster that, I guess, is still sysinstall today ... although it's morphed so many times, it's probably not recognizable as the same beast any longer[?] {Basically, how could I know, as a relative newb with Neandertal C skills?} For a long time afterwards, sysinstall lived in /usr/src/release: http://www.freebsd.org/cgi/cvsweb.cgi/src/release/sysinstall/Attic/ Both of these sysinstalls, near as I can tell, built their binary(ies) into /stand/, but nowhere else. Now, sysinstall doesn't inhabit userland, per se. AFAIK /usr/src/release doesn't get rebuilt during a make world cycle; furthermore, though slightly less relevant, /stand/ isn't in $PATH --- if you try whereis sysinstall on a 4.X box: #whereis sysinstall sysinstall: /usr/share/man/man8/sysinstall.8.gz Perhaps I'm reading history wrongly, but it seems the Project wanted to DTRT and make sure that if an updated manpage was installed for sysinstall, the updated binary was, also. To have the manpage say something the binary can't/won't do violates the POLA, something the Project is exceptionally loath to do in almost every situation So, the bikeshed got painted again: sysinstall was moved to /usr/sbin, where it would be rebuilt when the system was updated. Prior to that time (Jan. 2001), you had to go to /usr/src/release/sysinstall and make all install to update the binary under /stand/ --- leading to a situation where you might have, say, 4.2 installed, but have a sysinstall binary left over from 3.0 or something, and it wasn't very useful. Furthermore, you can still have a similar situation in 4.X, because the change was never MFC'd to -STABLE, and therefore hasn't appeared until 5.X; (Hmm, will this become a FAQ?) Note I didn't say same problem, but same situation; I don't personally know if any additional work on sysinstall during the 4.X's reign as production release would have rendered an older version obsolete or not. I'm tempted to say it hasn't much, because the libh project was supposed to complete reimplement the installer, and I think the old monster had been more/less left to hide in his cave and blow smoke at passers-by (complaining about the installer *IS* a FAQ) You can find the discussion about the change at: http://docs.freebsd.org/mail/archive/2001/freebsd-current/20010114.freebsd-current.html The second sysinstall thread (sysinstall.8 breaking buildworld) kind of shows how it got hashed out amongst the committers, and has some other factoids that I found educational. I hope my penchant for historical digression hasn't annoyed you, and welcome corrections to what I've presented as facts (though we needn't be pedantic, IMHO) Kevin Kinsey ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Sysinstall - why two different programs in 5.3 RELEASE?
When I installed 5.3 RELEASE, the installation program, when it was finished installing, said Congratulations... to re-enter utility after the system is up, type /usr/sbin/sysinstall. However, the FreeBSD Handbook says to type /stand/sysinstall: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install-final-warning.html The Handbook makes no mention of /usr/sbin/sysinstall. I find the following files are present: 403488 Nov 4 17:27 /usr/sbin/sysinstall 2046148 Nov 4 20:22 /stand/sysinstall When I invoke these programs, the screens that come up are identical, and the functions seem to be the same. Why are there two versions of sysinstall, one five times the size of the other, and what are the differences between them other than file size and time? Jay O'Brien Rio Linda, California, USA ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: Sysinstall - why two different programs in 5.3 RELEASE?
On Mon, Nov 22, 2004 at 07:12:04PM -0800, Jay O'Brien wrote: However, the FreeBSD Handbook says to type /stand/sysinstall: I find the following files are present: 403488 Nov 4 17:27 /usr/sbin/sysinstall 2046148 Nov 4 20:22 /stand/sysinstall When I invoke these programs, the screens that come up are identical, and the functions seem to be the same. Why are there two versions of sysinstall, one five times the size of the other, and what are the differences between them other than file size and time? Everything in /stand is statically linked, which means that corrupt libraries or libraries on an unavailable partition will not affect their operation. That also means they're larger. This could be useful if you bring the system up single-user and /usr, on a separate partition, is corrupt or destroyed. [EMAIL PROTECTED] /home/afabian $ ldd /stand/sysinstall ldd: /stand/sysinstall: not a dynamic executable [EMAIL PROTECTED] /home/afabian $ ldd /usr/sbin/sysinstall /usr/sbin/sysinstall: libdialog.so.4 = /usr/lib/libdialog.so.4 (0x280b9000) libncurses.so.5 = /lib/libncurses.so.5 (0x280d2000) libutil.so.4 = /lib/libutil.so.4 (0x28111000) libftpio.so.5 = /usr/lib/libftpio.so.5 (0x2811d000) libc.so.5 = /lib/libc.so.5 (0x2812200 -- Adam Fabian ([EMAIL PROTECTED]) pgpgYfXFg4InH.pgp Description: PGP signature
Re: Sysinstall - why two different programs in 5.3 RELEASE?
Adam Fabian wrote: On Mon, Nov 22, 2004 at 07:12:04PM -0800, Jay O'Brien wrote: However, the FreeBSD Handbook says to type /stand/sysinstall: I find the following files are present: 403488 Nov 4 17:27 /usr/sbin/sysinstall 2046148 Nov 4 20:22 /stand/sysinstall When I invoke these programs, the screens that come up are identical, and the functions seem to be the same. Why are there two versions of sysinstall, one five times the size of the other, and what are the differences between them other than file size and time? Everything in /stand is statically linked, which means that corrupt libraries or libraries on an unavailable partition will not affect their operation. That also means they're larger. This could be useful if you bring the system up single-user and /usr, on a separate partition, is corrupt or destroyed. [EMAIL PROTECTED] /home/afabian $ ldd /stand/sysinstall ldd: /stand/sysinstall: not a dynamic executable [EMAIL PROTECTED] /home/afabian $ ldd /usr/sbin/sysinstall /usr/sbin/sysinstall: libdialog.so.4 = /usr/lib/libdialog.so.4 (0x280b9000) libncurses.so.5 = /lib/libncurses.so.5 (0x280d2000) libutil.so.4 = /lib/libutil.so.4 (0x28111000) libftpio.so.5 = /usr/lib/libftpio.so.5 (0x2811d000) libc.so.5 = /lib/libc.so.5 (0x2812200 Adam, Thank you very much. That is a very clear explanation, and you exposed me to a new command, ldd. I'll also review the directory structure to better understand /stand/. There's sure a lot to learn, but how can I go wrong with such a great support staff? Regards, Jay ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]