updates ####### :date: 2019-11-08 00:00 :modified: 2019-11-08 00:00 :tags: server :category: documentation :slug: updates :authors: Ms.Leave-A-Mix :summary: How to update the different parts of the system -- OS -- As you may have read it elsewhere, the physical server is running an `Operating System`_ (OS), that I chose at first, when I bought this server. In Freepoteries' case, this OS is named Gentoo_. It's a highly flexible OS, and we can change almost everything on it, including the Kernel_ and its options. Saying that Gentoo is running on my server is true, but it's not the only OS that I have to manage when I work on Freepoteries. As the server runs `Virtual Machines`_ (VM), several other OS's can be working along Gentoo. In the present guide I will, not only describe the steps of updating a Gentoo machine, but also the other OS's that are on the server. --------- Frequency --------- Depending on the quality of the OS you run, and the program that are installed within it, you may update the system more or less frequently. For example, for a very critical program, that receives many input by third-parties, it's a good idea to do updates frequently, as often as once per month, to avoid it being hurt by a bug that could damage the entire system. Another point to keep in mind, is that the choice of the OS is very important : Usually, a characteristic of an OS is it's software versioning style, the standard one can be named "`point release`_" and the opposite of it, is the `rolling release`_. A standard released system is updated regularly for security updates, and it may be an automated task as this don't really changes the way it will work. If there is a major release, more changes are happening, and you will have to follow the whole "upgrade" process to be sure that all your system works the same way after that upgrade. A system that uses the rolling releases can be updated at almost any time, and you must be careful about breaking changes that are notified in the changelog of the last update. Usually, this kind of OS's have a good communication, and have a mailing list about important announcements. In the case of Gentoo, it's even included in the updating tool. In Freepoteries' case, there are the two kinds of OS's release style : Rolling : - Gentoo_ Standard : - AlpineLinux_ - Devuan_ ---- News ---- You may follow the latest news from the several OS's you run, here are the links for : - `AlpineLinux News`_ - `Devuan announces mailing list`_ - `Gentoo news`_ - `Gentoo security advisories`_ ------ Gentoo ------ This how-to is written following Gentoo's wiki's guide : `Update Gentoo`_. Please refer to it for any need of details. Begin to unmount any filesystem that is not useful. :code:`umount /tmp/*` Also, switch off rsnapshot, the backuping tool, as you don't want it to get a snapshot during the upgrade. Comment each line of it in the crontab. :code:`crontab -e` You may also turn off the virtual machines that are not very useful, such as developer ones, to save RAM and CPU (don't shutdown import services as mail and DBs!!) :code:`virsh destroy ` The use the following command to synchronize repositories. :code:`emerge --sync` And then just do the update. :code:`emerge --update --deep --ask --verbose --debug --newuse @world` :code:`(short : emerge -avuDN @world)` When everything is finished, you can use the "etc-update" tool to check if any critical change has to be made to configuration files of your now updated programs. :code:`etc-update` Now you can clean the unused dependencies, if the update did not cause any trouble. :code:`emerge --depclean` :code:`revdep-rebuild (revdep-rebuild.sh if previous not working)` You can now check with this tool, provided by the Gentoo portage package, if your system is still concerned by the known exploits. :code:`glsa-check -t affected` If everything went well, and that you carefully read every notice at the end of the commands execution : you should be good and ready for now! When there's a major Gentoo release, this document explains how new Gentoo releases affect existing installs : `Upgrade Gentoo`_. .. _Operating System: https://en.wikipedia.org/wiki/Operating_system .. _Gentoo: https://gentoo.org/ .. _Gentoo news: https://gentoo.org/news/ .. _Gentoo security advisories: https://security.gentoo.org/glsa .. _Update Gentoo: https://wiki.gentoo.org/wiki/Handbook:X86/Full/Working#Updating_the_system .. _Upgrade Gentoo: https://wiki.gentoo.org/wiki/Upgrading_Gentoo/ .. _Devuan: https://devuan.org/ .. _Devuan announces mailing list: https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/devuan-announce .. _AlpineLinux: https://alpinelinux.org/ .. _AlpineLinux News: https://alpinelinux.org/atom.xml .. _Kernel: https://en.wikipedia.org/wiki/Kernel_(operating_system) .. _Virtual Machines: https://en.wikipedia.org/wiki/Virtual_machine .. _rolling release: https://en.wikipedia.org/wiki/Rolling_release .. _point release: https://en.wikipedia.org/wiki/Point_release