Apr 28

Upgrading Redmine in a nutshell

Reading time: 1 – 2 minutes

I use Redmine to track my personal projects, and every time that I have to update I have to re-read the full upgrading page which is long and full of exceptions. So I decided to write my own reduced cookbook to solve that. FYI I’m using Ubuntu 16.04, Apache2, MySQL and Passenger for running Redmine. 

Being root user run:

  • backup MySQL database
  • download new redmine package and unpack in /var/www
  • change ‘redmine’ soft link to new folder
  • copy old files and directories overwriting the new ones:
    config/database.yml
    config/configuration.yml
    files/
    plugins/
  • locating work directory on new redmine folder, run:
    bundle install --without development test
    bundle exec rake generate_secret_token
    bundle exec rake db:migrate RAILS_ENV=production
    bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production
  • restart apache server
Dec 06

Actualitzant gentoo: emerge -uD world

Reading time: 2 – 3 minutes

gentoo.gifAls que usem Gentoo l’ordre del títol ens sona moltíssim, i encara més l’efecte típic que segueix a aquesta ordre quan tenim un munt de paquets per actualitzar i deixem l’ordinador tota la nit compilant, o no? perquè no… doncs perquè sovint en algún punt del procés ha sorgit un problema i s’ha parat la compilació. Un munt de temps perdut perquè el sistema esperava que corregíssim un problemilla que havia sorgit per poder continuar i els tropocientos paquets que hi havia per instal·lar s’han quedat a mitges.

Al Gentoo Weekly News d’aquesta setmana a l’apartat de Tips and Tricks ha sortit un script que de ben segur si el comenceu a usar no podreu viure sense ell. Realment útil, perquè s’encarrega just de solucionar el problema que he comentat. O sigui, que en cas de que fent una actualització un paquet doni un error ell seguirà compilant i al final deixarà dintre d’un fitxer un informe dels problemes que hagin sorgit durant l’upgrade del sistema.

Per instal·lar l’script:

# wget -O /usr/bin/update-world http://countzero.amidal.com/files/update-world
# chmod +x /usr/bin/update-world

Per preparar l’ugprade:

# update-world --prepare

Això crea una llista dels paquets que s’instal·laràn (equival a emerge -uD –newuse world). Si voleu també podeu generar una llista amb tots els paquets del sistema amb l’ordre update-world –empty, seria equivalent a emerge -e world). La llista de paquets a instal·lar la podeu trobar a ~/.update-world/emergelist, així que un cop generada la llista de paquets podeu modificar-la i després ja podeu llençar l’actualització:

# update-world --install

En cas de que falli un paquet durant el procés d’instal·lació/actualització de paquets (penseu que equival a emerge -uD world) a ~/.update-world/failedlist trobareu una llista amb els paquets que hagin fallat. A més també es crearà un enllaç a ~/.update-world/[date]/log/ cap al log amb l’error que ha donat aquest paquet.

Com podeu veure tot un gran enginy que simplificarà la feina d’administrar els sistemes Gentoo que tenim.