Joe wrote: > > > On 9/1/24 16:56, Dale wrote: >> Joe wrote: >>> Hello, >>> >>> >>> I'm looking for some tips and tricks regarding emerge. I know there is >>> a cheat sheet on what stuff you can do. But i would like emerge >>> exclusively . >>> >>> Normally i run emerge -uavDU --with-bdeps=y @world when i don't want a >>> reinstall of everything after a emerge --sync >>> >>> I run emerge -uavDN --with-bdeps=y @world when i want to reinstall or >>> like the manual says if there is a use flag that has been changed by >>> me or the dev. >>> >>> >>> Am i doing it right or what should i do that can help me and newer >>> people >>> >>> >>> Thanks >>> >>> >>> Joe >> >> I been using Gentoo since 2003. The emerge program has come a LONG way >> since then. Over the years tho, I've refined my update process until I >> got to a point where it won't get any better. You will still run into >> the occasional update that requires the use of a hammer but for the most >> part, this does well. First thing. I have a set of options in >> make.conf to cover most options. That line looks like this. >> >> >> EMERGE_DEFAULT_OPTS="--with-bdeps y --backtrack=500 --keep-going -v >> --quiet-build=y -1 --unordered-display --jobs=16 --load-average 8" >> >> >> A couple of those are either personal preference or machine dependent. >> The bdeps option will cause extra rebuilds on occasion but it is rare >> that I get a seg fault or programs that just crash because the versions >> don't work well together. Before that option was available, I used to >> do a emerge -e world to fix problems with programs not starting or >> crashing with a seg fault. The bdeps options seems to have improved >> that a LOT. The backtrack option just makes sure you only have to run >> emerge -a<whatever> once. It takes a while sometimes but it digs deep, >> real deep. If a update can be done, it will find a way. Honestly, 100 >> is likely more than enough in most all cases. The keep-going option is >> good for when a packages fails, especially early on, and it stops the >> update. On most occasions, emerge can regroup and continue on skipping >> only one or a very few packages. It saves time in the long run if you >> start a update and don't monitor it. The -1 option is the same as >> oneshot. This prevents you from accidentally cluttering up the world >> file. Something gives you problems and you are emerging by hand, if you >> forget to add the -1 as you work to fix it, it adds all those to the >> world file, including version if you specify one. I'm not sure on the >> display option. I added it for some reason, ages ago. The job and load >> is different for each machine. The line above is for a 16 core, 32 >> thread CPU with 64GBs of ram. My old 8 core with 32GBs of ram was set >> to jobs 8 and load 3 I think. Memory is one limiting factor there. >> LOo, that qt package and a couple others can fail from lack of memory if >> set higher. >> >> Second thing. My usual update process. I sync first. I run emerge >> -auDN world and check what it plans to do. I mostly check USE flags. >> Sometimes a USE flag will change and I have to adjust them a bit. >> Sometimes on a per package basis, sometimes global. Once I'm happy with >> what it wants to do, I hit the 'y' key and turn her lose. >> >> On both my old rig and new rig, I have a second install that is in a >> chroot. When I have packages that take a long time to build, I do my >> updates in the chroot first and then copy over the binaries. Then I >> just need to do a emerge -aukDN world to make the update faster since it >> is already compiled. This can be handy when you have some of the qt >> packages and the software has different versions and it causes >> problems. Some updates midway can make it so certain programs won't >> launch at all. I've had that happen with Kwrite several times, Dolphin >> a few times. Once the update is done and you logou and back in, >> everything works again. You just may run into problems during the >> update when some packages are old still and some are new. This method >> lessens the time of that problem. >> >> Once the update is done, I then run emerge -a --depclean and see if >> anything needs to be removed or if I need to add something I want to >> keep to the world file. Oh, if you want to emerge something and add it >> to the world file so it gets updated and saved, emerge --select y plus >> your other options will override the oneshot option. If you run a GUI, >> you need to logout and back in. I sometimes switch to the boot runlevel >> and check for services that need to be restarted as well. One could >> reboot and achieve the same goal. This is Linux tho. ;-) >> >> Obviously, a news item can change that process. If there is a news item >> with a different process, follow that for sure. Following the news item >> to the letter is the best way. The devs work out all the kinks and bugs >> before they post the news item. >> >> Oh, this is another good line to have in make.conf. >> >> >> FEATURES="-usersync userpriv usersandbox buildpkg sandbox parallel-fetch >> parallel-install" >> >> >> The ones I care about. The buildpkg tells it to save binary copies. >> This is a must if done in a chroot and you want to install elsewhere as >> binaries but comes in handy if you accidentally remove something and >> need it back fast or you need to restore something you removed and broke >> portage. The fetch option just tells it to fork the download part and >> keep downloading until it has everything it needs to update. The >> install option I think tells it to do more than one install at a time >> instead of one at a time. I've never had a problem with this. If >> something is going to clash, emerge sets a lock file and waits until the >> other package is installed. I think the others were the default when I >> installed. Check the man page maybe???? >> >> What you just read is from about 20 years of tweaking things on half a >> dozen rigs. It should get you off to a good start for sure. >> >> Dale >> > > Thanks, > > This is more then i could have imagined. I've used Gentoo off and on > for about a year. Sometimes i go to another distro like Debian but i > keep coming back because of emerge use flags everything. i just like > the control. > > This is my main distro from now on. The community is the best. hope > this helps somebody else also > > Thanks > > Joe >
If you have a laptop where heat is a issue, you may want to do things different but if you can, that will give you the most stable system for updates. Also, I tend to update once a week. Sometimes I'll skip a week. I get emails about KDE releases and kinda go by that. I usually pick Saturday night or Sunday morning. Lots of updates seem to hit late in the week mostly, that I worry about anyway. On a laptop, I'd go with one month maybe six weeks, to avoid the extra builds. With Gentoo, going any further can have you hitting updates that may have a more difficult update path. I might also add, my NAS systems or my old rig that is a backup in case new rig takes a break, I update those around the first of each month. The updates go smoothly even with that duration. I didn't update a system once for about six months, it got tricky. If unable to update often, once every couple months is about as far as I would want to go. Some update daily tho. I just don't see the need for that myself. Basically, three or four months would be the limit for me in any situation. Weekly is about the fastest I would update. Also, I run a mix of stable and unstable here. Still, my rigs once set up and running well, tend to be really solid and problem free. Setting up this new rig, I had a few issues to work through but my current uptime is about 45 days. Other than adding some cgroup drivers, my kernel is solid. No panics or anything. I credit the awesome work of the emerge devs, the devs of every ebuild I use and my process of updating. On the stable side, anything required to boot. KDE and friends tend to be unstable. I suspect most of the upgrade issues I do run into are because of that mix. If you run stable and only stable, it is likely even smoother. A lot of problems are worked out during the stabilization process. It seems you plan to stick around for a while. I hope this info helps you to have a smooth running system. I do wish someone would take this info and put it on the wiki for new users tho. The best thing I ever did, add -1 as a default option in make.conf. Dale :-) :-) P. S. Dang, only a few typos this time. O_O Crap, make that four. Dang was 'da,g'. Fixed it tho. ROFL