Difference between revisions of "Gentoo: System update"

From Luky-Wiki
Jump to: navigation, search
Line 2: Line 2:
  
 
== System Update ==
 
== System Update ==
===== 1. Update local repository =====  
+
===== Update local repository =====  
 
  eix-sync
 
  eix-sync
  
Line 11: Line 11:
 
  eix-update
 
  eix-update
  
===== 2. Clean logs from previous update =====
+
===== Clean logs from previous update =====
 
  find /var/log/portage -maxdepth 1 -type f -ls -delete
 
  find /var/log/portage -maxdepth 1 -type f -ls -delete
  
===== 3. Clean distfiles and package directory =====
+
===== Clean distfiles and package directory =====
 
  eclean-dist -d ; eclean-pkg -d
 
  eclean-dist -d ; eclean-pkg -d
  
===== 4. Update system including build dependencies =====
+
===== Update system including build dependencies =====
====== 4a. on "build" system ======
+
====== on "build" system ======
 
  emerge --ask --update --deep --newuse --with-bdeps=y @world
 
  emerge --ask --update --deep --newuse --with-bdeps=y @world
====== 4b. on "prod" system ======
+
====== on "prod" system ======
 
  emerge --ask --update --deep --newuse --with-bdeps=y --binpkg-changed-deps=n @world
 
  emerge --ask --update --deep --newuse --with-bdeps=y --binpkg-changed-deps=n @world
  
===== 5. Commit or reject configuration changes in "/etc" =====
+
===== Commit or reject configuration changes in "/etc" =====
 
  etc-update
 
  etc-update
  
===== 6. Review messages from packages =====
+
===== Review messages from packages =====
 
  elogv
 
  elogv
  
===== 7. Clean packages with no dependency on "world" package set =====
+
===== Clean packages with no dependency on "world" package set =====
 
  emerge --ask --depclean
 
  emerge --ask --depclean
  
===== 8. Scan for broken dependencies =====
+
===== Scan for broken dependencies =====
 
* python:
 
* python:
 
  python-updater --pretend
 
  python-updater --pretend
Line 47: Line 47:
 
  revdep-rebuild.sh --ignore --pretend
 
  revdep-rebuild.sh --ignore --pretend
  
===== 9. If previous commands result in package rebuild then review again logs and possible configuration changes =====
+
===== If previous commands result in package rebuild then review again logs and possible configuration changes =====
 
  elogv
 
  elogv
  
 
  etc-update
 
  etc-update
  
===== 10. Verify / validate dependency starting from "world" fileset =====
+
===== Verify / validate dependency starting from "world" fileset =====
 
  emerge --pretend --verbose --update --deep --newuse --with-bdeps=y @world
 
  emerge --pretend --verbose --update --deep --newuse --with-bdeps=y @world
  
===== 11. Check for possible updates by each package separately (watch versions in slots) =====
+
===== Check for possible updates by each package separately (watch versions in slots) =====
 
  eix --upgrade
 
  eix --upgrade
  
===== 12. Search for possible obsolete portage configuration and installed packages =====
+
===== Search for possible obsolete portage configuration and installed packages =====
 
  eix-test-obsolete
 
  eix-test-obsolete
  
===== 13. Check installed packages agains GLSA (Gentoo Linux Security Advisories) =====
+
===== Check installed packages agains GLSA (Gentoo Linux Security Advisories) =====
 
  glsa-check --test --nocolor --verbose all
 
  glsa-check --test --nocolor --verbose all
  
===== 14. Rebuild X11 drivers and linked packages =====
+
===== Rebuild X11 drivers and linked packages =====
 
  emerge --ask @x11-module-rebuild
 
  emerge --ask @x11-module-rebuild
  

Revision as of 15:29, 9 May 2017

Warning! Warning! Warning! ... This article is my cookbook. It is designed for binary type update (two stages deployment) and only as reference. You can use it but it may not be suitable for all configurations. Use common sense and add / modify / repeat commands if necessary. I am doing same during update. Some of commands have --pretend just to see actions before they are applied. I normally review them and rerun command without --pretend option.

System Update

Update local repository
eix-sync

or

emerge --sync

or (if repository is synced)

eix-update
Clean logs from previous update
find /var/log/portage -maxdepth 1 -type f -ls -delete
Clean distfiles and package directory
eclean-dist -d ; eclean-pkg -d
Update system including build dependencies
on "build" system
emerge --ask --update --deep --newuse --with-bdeps=y @world
on "prod" system
emerge --ask --update --deep --newuse --with-bdeps=y --binpkg-changed-deps=n @world
Commit or reject configuration changes in "/etc"
etc-update
Review messages from packages
elogv
Clean packages with no dependency on "world" package set
emerge --ask --depclean
Scan for broken dependencies
  • python:
python-updater --pretend
  • perl:
perl-cleaner --all --pretend
  • libraries detected by system:
emerge -ask @preserved-rebuild
  • libraries not detected by portage:
revdep-rebuild    --ignore --pretend
revdep-rebuild.sh --ignore --pretend
If previous commands result in package rebuild then review again logs and possible configuration changes
elogv
etc-update
Verify / validate dependency starting from "world" fileset
emerge --pretend --verbose --update --deep --newuse --with-bdeps=y @world
Check for possible updates by each package separately (watch versions in slots)
eix --upgrade
Search for possible obsolete portage configuration and installed packages
eix-test-obsolete
Check installed packages agains GLSA (Gentoo Linux Security Advisories)
glsa-check --test --nocolor --verbose all
Rebuild X11 drivers and linked packages
emerge --ask @x11-module-rebuild
emerge --ask app-crypt/hashcat app-crypt/johntheripper

Note: binary packages needs to be disabled on prod system:

export FEATURES="-buildpkg -getbinpkg"
export CFLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe"

Binhost checks

.
.
.
.
.
.
.
.
.
.
.