Anyone here still running Gentoo?

----- Forwarded message -----

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Gentoo Weekly Newsletter
http://www.gentoo.org/news/en/gwn/20061204-newsletter.xml
This is the Gentoo Weekly Newsletter for the week of 4 December 2006.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[snip]

==================
3. Tips and Tricks
==================

An easier way to update your world
----------------------------------

Without doubt, one of Gentoo's best features is its package management
system, Portage. Portage makes it very easy to update your entire system
with one simple command. Sadly, things don't always go as smooth as they
should. Almost every Gentoo user has typed emerge -uD world and gone to bed
with the hope of waking up in the morning to a completely up to date system.
Unfortunately, it's more likely that you.ll wake up to a failed emerge on
package 3 of 220. And so the troubleshoot and emerge --resume process
begins.

Enter update-world to save the day. Update-world is a bash script that was
recently created by count_zero and posted[7] in the forums. The script
controls the update process and forces portage to skip past failed builds
and continue compiling packages until the update list is finished. Failed
builds are added to a list for review once the update is finished.

   7. http://forums.gentoo.org/viewtopic-t-497125.html

Note: The script does depend on the 'equery' command, part of
app-portage/gentoolkit.

Obviously before you can start using the script, you'll need to download it,
put it somewhere in your path, and make it executable.

+--------------------------------------------------------------------------------+
| Code Listing 3.1                                                              
 |
| getting the script                                                            
 |
+--------------------------------------------------------------------------------+
| # wget -O /usr/bin/update-world 
http://countzero.amidal.com/files/update-world |
| # chmod +x /usr/bin/update-world                                              
 |
+--------------------------------------------------------------------------------+

Now we're ready to start using the script.

+---------------------------------------------------------------------------+
| Code Listing 3.2                                                          |
| running update-world                                                      |
+---------------------------------------------------------------------------+
| # update-world --prepare                                                  |
+---------------------------------------------------------------------------+

This begins the update process by creating a list of packages to be emerged,
as produced by emerge -uD --newuse world. (Alternatively, you can use
update-world --empty to create a list of all packages on the system, akin to
emerge -e world). This command creates a list called 'emergelist' in
~/.update-world/. Now, you can use your favorite editor to modify this list
how you like--remove packages, change versions, etc. When you have the
emergelist how you like it, you're ready to move onto the next step:

+---------------------------------------------------------------------------+
| Code Listing 3.3                                                          |
| running update-world (cont)                                               |
+---------------------------------------------------------------------------+
| # update-world --install                                                  |
+---------------------------------------------------------------------------+

This command actually starts the build process, just as if you had typed
emerge -uD world. The difference is, if a package fails for some reason or
another, that package is added to a list 'failedlist' in ~/.update-world/.
Also, a link to the portage log file for that package (usually located in
/var/log/portage) is created in ~/.update-world/[date]/log/. Once the
process is done, you'll be presented with a list of failed packages to take
care of all at once, saving much time. If you ever need to stop the process,
just hit 'Control-C' to abort the process. The update can then be restarted
at any time, just where it left off, by retyping update-world --install.

[snip]

----- End forwarded message -----
_______________________________________________
EUGLUG mailing list
euglug@euglug.org
http://www.euglug.org/mailman/listinfo/euglug

Reply via email to