View previous topic :: View next topic |
Author |
Message |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Fri Jan 14, 2005 5:32 pm Post subject: Old Machine - Should I upgrade to 2.6? |
|
|
Hi all,
I have a pentium pro 200 which is currently running my network (NAT, dhcp, dns, etc). I would like to try wondershaper or some other shaper to improve my network performance so I tried to emerge iproute2 however, I was given the following dillema:
Code: | pokey root # emerge -av iproute2
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild NS ] sys-kernel/linux-headers-2.4.21-r1 -build 27,864 kB
[ebuild N ] sys-apps/iproute2-2.6.9.20041019-r1 -atm -minimal 268 kB
|
My understanding is that if I emerge a new linux-headers then I will have to re-emerge glibc. This is a huge pain since the machine is so slow. So it raises the question, if I'm going to go through the pain of re-emerging glibc should I just upgrade the kernel to 2.6, since I would re-compile glibc as part of the upgrade process.
But wait there's more. Since the machine is so slow it seems like it'd be a good candidate for distcc since I have a few other mostly idle machines that could help with the compiling. However pokey (the pentium pro) has an older version of gcc which means I'd have to reinstall gcc also. And what's worse, after I install iproute2 I don't forsee many other installs on this machine (since all it does is run the network).
So what do you all think? distcc? 2.6? something else?
Thanks,
P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Fri Jan 14, 2005 5:36 pm Post subject: |
|
|
you may as well upgrade, 2.6.10 is one of the most stable releases ever. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Fri Jan 14, 2005 5:39 pm Post subject: |
|
|
What about distcc? Do you think it's worth it to upgrade GCC and Distcc in 2.4 so that I can use distcc as part of the upgrade process to 2.6? Even though I'll have to recompile glibc a second time in 2.6?
-P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Jake Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 31 Jul 2003 Posts: 1132
|
Posted: Fri Jan 14, 2005 6:21 pm Post subject: |
|
|
Neither a 2.6 kernel nor new kernel headers require recompiling glibc. If you want to take advantage of 2.6 kernel features like NPTL, you need to build glibc against 2.6-based kernel headers (linux26-headers in portage). In your case, iproute2 builds against the kernel headers and requires something only present in kernels >= 2.4.21. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Fri Jan 14, 2005 6:31 pm Post subject: |
|
|
Are you sure about that? I understand that I don't *have* to re-emerge glibc when I upgrade to 2.6 but all over the forums everyone seems to suggest fire and brimstone if you don't re-emerge glibc after upgrading the linux-headers or linux26-headers.
-P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Fri Jan 14, 2005 6:54 pm Post subject: |
|
|
You do not have to recompile glibc. However, you must do so to get any benefits, especially if going from kernel 2.4/linux-headers to kernel 2.6/linux26-headers.
Here is what I would do in your situation:
Code: | emerge -C module-init-tools; emerge sync
emerge gentoo-dev-sources modutils
nohup emerge -f iproute2 linux26-headers glibc distcc &
cd /usr/src/linux
make menuconfig #take your time here, be sure to enable everything you need
make && make modules_install
(now go watch a movie or something)
mount /boot
cp arch/i386/boot/bzImage /boot/kernel-2.6.10-padukes-001
cp .config /boot/config-2.6.10-padukes-001
$EDITOR /boot/grub/grub.conf #you know what to do
/sbin/reboot
(verify that everything works)
emerge -C linux-headers; emerge linux26-headers iproute2
(now do whatever you need to do to get iproute2 working)
nice -n 20 emerge glibc distcc
(find something else to do for the rest of the day, or let it run overnight) |
You could try to get distcc working earlier, if you like. I for one like to have a stable system before I start messing with it. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Fri Jan 14, 2005 7:37 pm Post subject: |
|
|
Thank you for your helpful responses.
I was wondering, however, if I don't have to re-emerge glibc then why bother upgrading the kernel at all. Couldn't I just emerge iproute2 and be done? However (again), if glibc is the only thing that requires the linux-headers then why does iproute2 require them in the emerge? Is there an implied "emerge glibc" based on the fact that iproute2 requires a linux-headers upgrade?
Thanks,
P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Fri Jan 14, 2005 9:05 pm Post subject: |
|
|
Notice that next to linux-headers it says "[ebuild NS ]" The S means that a new version in a different SLOT is availeable. This makes me think you installed linux-headers before linux26-headers was split off and now both packages provide virtual/os-headers ?
Basically, your systems seems out of date. Ack, I didn't even notice you had an old gcc. Really, you should update gcc first thing and then do something similar to my above post. If you don't want to install 2.6 that's your call to make. But certainly if you stick with 2.4 then at least gcc, linux-headers, and glibc should all be updated before you emerge anything else (in particular, distcc and iproute2). |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Jake Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
Joined: 31 Jul 2003 Posts: 1132
|
Posted: Fri Jan 14, 2005 9:37 pm Post subject: |
|
|
freeix wrote: | ...But certainly if you stick with 2.4 then at least gcc, linux-headers, and glibc should all be updated before you emerge anything else (in particular, distcc and iproute2). |
Why? Portage was designed to handle situations like this. If anything needs to be updated, portage will list it along with the other dependencies. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Fri Jan 14, 2005 9:48 pm Post subject: |
|
|
There is a difference between what should be updated and what must be updated.
Portage is only concerned with what must be updated, or at least what the person who wrote the ebuild specified must be updated.
In this case:
1) gcc should be updated simply because gcc is what actually compiles things and it's silly to spend time compiling new things with an outdated compiler.
2) linux-headers should be updated because portage told him so
3) glibc should be re-emerged because gcc and linux-headers have both been updated (either is a sufficient condition) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Fri Jan 14, 2005 10:17 pm Post subject: |
|
|
Hmm... maybe my original question was too fuddled -
I have an old, slow machine which hasn't been touched much since I set up my network. I want to improve my network performance, but I'm not interested in upgrading to a 2.6 kernel since that seems like a lot of pain for little gain.
My issue is that I have to install a new version of the linux-headers to install iproute2 (to improve the network performance). If linux-headers requires me to re-emerge glibc then I believe that will be enough pain to make it worth it to upgrade to 2.6. However, if I don't have to re-emerge glibc then I'll be happy with 2.4.
What do you all think?
-P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Fri Jan 14, 2005 10:59 pm Post subject: |
|
|
padukes wrote: | I have an old, slow machine which hasn't been touched much since I set up my network. I want to improve my network performance, but I'm not interested in upgrading to a 2.6 kernel since that seems like a lot of pain for little gain. |
I understand all that and like I said, it's your call if you want to stick with 2.4
Quote: | My issue is that I have to install a new version of the linux-headers to install iproute2 (to improve the network performance). If linux-headers requires me to re-emerge glibc then I believe that will be enough pain to make it worth it to upgrade to 2.6. However, if I don't have to re-emerge glibc then I'll be happy with 2.4. |
Um, okay. Let's try an analogy: You do not have to do re-emerge glibc after emerging linux-headers. You should do it, but do not have to do it. Kind of like how people should shower every day, but don't necessarily have to do it.
If you do choose to re-emerge glibc (recommended) this does not mean it's worth upgrading to 2.6. When you are done with everything else (iproute2, etc) just do a "nice -n 20 emerge glibc" in the background and it will not interfere with anything.
And as I said, I recommend updating gcc before anything else. But that is also up to you. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
cerebus_k Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/11245835963f27372541c21.gif)
Joined: 20 Jun 2003 Posts: 173 Location: Flower Mound, Texas
|
Posted: Sat Jan 15, 2005 8:19 pm Post subject: |
|
|
freeix wrote: |
Um, okay. Let's try an analogy: You do not have to do re-emerge glibc after emerging linux-headers. |
It's probably my own ignorance speaking here so please take this with a grain of salt, but, I've always thought it was linux[26]-headers that signified what was enabled on my system. I guess I couldn't see of a way that glibc could let the code compilation process know what was available. As I said, I really don't know the details of this process (yet).
So, to take your analogy a little further, if I don't shower and I notice everyone holding their nose around me, that tells me I should now take a shower. And, if I don't compile glibc, what tells me that I then need to compile it? (a) compilation errors, (b) flakey system, (c) portage notification?
BTW, I'm one of those that does compile glibc, mainly for reasons of (b). I had something really important not work after installing a new verion of linux26-headers and subsequent emerge of several packages. It took a re-emerge of glibc to clean it up. I wish I could remember what it was (my notes about this are at work). Anyway, even with that said, I have no real reason to believe this was the cure, but it sure seemed like it. _________________ Gettin old isn't for wimps |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Gherald Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/gallery/BaldursGate/baldursgate2_yoshimo.gif)
Joined: 23 Aug 2004 Posts: 1399 Location: CLUAConsole
|
Posted: Sat Jan 15, 2005 8:39 pm Post subject: |
|
|
I'm not much of a programmer yet, but from my understanding the linux-headers are the interfaces to the kernel. I gather that glibc implements those interfaces by including the header files. You'll need to get a developer on the line if you want a real explanation; I just know that re-emerging glibc is something that should be done, and that there is no practical reason not to do it since you can let it run nice-ed overnight. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
padukes Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/19253096323f15ae6d11c99.gif)
Joined: 27 Feb 2003 Posts: 232
|
Posted: Sun Jan 16, 2005 4:34 pm Post subject: |
|
|
Hey all,
Thanks for your help - here's what I decided to do:
"Fix" linux-headers
1. unmerge old linux-headers
2. merge new 2.4 linux-headers
Upgrade GCC
3. re-merge gcc (which includes re-emerging glibc)
Install distcc
4. emerge distcc on localhost & faster machines
Upgrade to 2.6 using distcc
5. Basically just follow the upgrading manual
*6. I'm currently compiling the kernel
7. The last step will be install the 2.6 headers and re-emerge glibc (again)
install iproute2
8. emerge iproute2
9. get my shaping on
Distcc appears to be working and speeding up the process so I'm happy about that - plus its fun to see it work across multiple machines (and my wireless network).
Thanks again,
P |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|