Mise à jour à partir de 2.7.10

:fr: Mise à jour à partir de 2.7.10

Salut à tous,

Mon serveur YunoHost

Matériel: Brique Internet avec VPN
Version de YunoHost: 2.7.10
J’ai accès à mon serveur : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : pas d’installation ou de mise à jour depuis un temps (2 années ?)

# yunohost --version
yunohost: 
  repo: local
  version: 2.7.10
yunohost-admin: 
  repo: local
  version: 2.7.7
moulinette: 
  repo: local
  version: 2.7.7
ssowat: 
  repo: local
  version: 2.7.7

Description du problème

Je cherche à mettre à jour mon YNH pour installer Jirafeau :wink:
Cependant mon système d’exploitation est obsolète… et je cherche à faire une mise à jour.
J’ai essayé via l’interface Web et j’obtiens l’erreur suivante :

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 406, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 495, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/tools.py", line 425, in tools_update
    if not cache.update():
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 443, in update
    raise FetchFailedException(e)
FetchFailedException: W:Failed to fetch http://ftp.fr.debian.org/debian/dists/jessie-backports/main/binary-armhf/Packages  404  Not Found [IP: 2a01:e0c:1:1598::2 80]
, E:Some index files failed to download. They have been ignored, or old ones used instead.

ou encore si je fais un diagnostic :

 Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 406, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 495, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/tools.py", line 586, in tools_diagnosis
    system = monitor_system(units=['cpu', 'memory'], human_readable=True)
  File "/usr/lib/moulinette/yunohost/monitor.py", line 280, in monitor_system
    'load': json.loads(glances.getLoad()),
  File "/usr/lib/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1591, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1306, in single_request
    return self.parse_response(response)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1482, in parse_response
    return u.close()
  File "/usr/lib/python2.7/xmlrpclib.py", line 794, in close
    raise Fault(**self._stack[0])
Fault: :method "getLoad" is not supported'>

Je suis donc venu ici et je suis passé via les articles suivants :

Mais le apt-get update ne fonctionne pas :

# sudo apt-get update 
Atteint http://security.debian.org jessie/updates InRelease
Ign http://ftp.fr.debian.org jessie InRelease                         
Ign http://ftp.fr.debian.org jessie-backports InRelease               
Atteint http://repo.yunohost.org jessie InRelease                     
Atteint http://ftp.fr.debian.org jessie Release.gpg                               
Ign http://ftp.fr.debian.org jessie-backports Release.gpg                         
Atteint http://ftp.fr.debian.org jessie Release
Ign http://ftp.fr.debian.org jessie-backports Release
Ign http://ftp.fr.debian.org jessie-backports/main armhf Packages/DiffIndex
Réception de : 1 http://security.debian.org jessie/updates/main armhf Packages [739 kB]                                    
Ign http://ftp.fr.debian.org jessie-backports/main Translation-fr_FR                                                       
Réception de : 2 http://repo.yunohost.org jessie/stable armhf Packages [3 632 B]               
Réception de : 3 http://security.debian.org jessie/updates/non-free armhf Packages [4 243 B]   
Réception de : 4 http://security.debian.org jessie/updates/main Translation-en [389 kB]
Réception de : 5 http://security.debian.org jessie/updates/non-free Translation-en [11,8 kB]
Atteint http://security.debian.org jessie/updates/contrib armhf Packages                                                   
Ign http://ftp.fr.debian.org jessie-backports/main Translation-fr                                                          
Atteint http://security.debian.org jessie/updates/contrib Translation-en                       
Ign http://ftp.fr.debian.org jessie-backports/main Translation-en                                                   
Err http://ftp.fr.debian.org jessie-backports/main armhf Packages                                                  
  404  Not Found [IP : 2a01:e0c:1:1598::2 80]
Atteint http://ftp.fr.debian.org jessie/main armhf Packages                                                        
Atteint http://ftp.fr.debian.org jessie/contrib armhf Packages                                                             
Ign http://repo.yunohost.org jessie/stable Translation-fr_FR                                                               
Atteint http://ftp.fr.debian.org jessie/non-free armhf Packages                                               
Ign http://repo.yunohost.org jessie/stable Translation-fr                                                     
Ign http://repo.yunohost.org jessie/stable Translation-en                                                                  
Atteint http://ftp.fr.debian.org jessie/contrib Translation-en                                                             
Atteint http://ftp.fr.debian.org jessie/main Translation-fr                 
Atteint http://ftp.fr.debian.org jessie/main Translation-en
Atteint http://ftp.fr.debian.org jessie/non-free Translation-en
3 632 o réceptionnés en 19s (185 o/s)                                                                                      
W: Impossible de récupérer http://ftp.fr.debian.org/debian/dists/jessie-backports/main/binary-armhf/Packages  404  Not Found [IP : 2a01:e0c:1:1598::2 80]

E: Le téléchargement de quelques fichiers d'index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.

Au fait, je n’ai pas de lien Migrations dans la partie Tools sur l’interface Web.

En listant les sources j’ai :

# ls /etc/apt/sources.list.d/
jessie-backports.list  yunohost.list

Pouvez-vous m’aider dans ma démarche ? :slight_smile:

A mon avis tu peux faire :

rm /etc/apt/sources.list.d/jessie-backports.list

et retenter un apt update && apt dist-upgrade

Ok. Sinon à quoi sert cette source ? je ne sais pas…

C’est un peu compliqué à expliquer sans connaitre ton niveau de connaissance par rapport à debian / linux, mais en gros c’est une source qui permet d’avoir acces à certains paquets disponibles en stretch qui n’etaient pas la en jessie (ou bien des mises à jour de ces paquets)

Mais c’est un truc optionnel, et sans doute que ça ne fonctionne plus car depuis il y a eu deux versions stables de debian sortie, et qu’au bout d’un moment ils finissent par debrancher les vieux serveurs qui fournissent ça…

1 Like

Je me considère comme débutant / intermédiaire (installation de serveur LAMP) mais pas vraiment de bidouille.

J’ai avancé mais je me retrouve bloquer :-/

Voilà quelques commandes :

# yunohost tools migrations migrate --accept-disclaimer
Attention : Aucune migration à lancer
# yunohost --version
yunohost: 
  repo: now
  version: 2.7.14.6
yunohost-admin: 
  repo: now
  version: 2.7.15
moulinette: 
  repo: stable
  version: 3.7.0.2
ssowat: 
  repo: stable
  version: 3.7.0.3

Il semble y avoir un problème avec dovecot. Je ne sais pas ce que c’est… ça semble être pour le courriel. Pour ma part, dans ma version de la brique, je n’ai rien configuré concernant le courriel.

# apt upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.
Les paquets suivants contiennent des dépendances non satisfaites :
 dovecot-antispam : Dépend: dovecot-abi-2.2.abiv13 mais il n'est pas installable
 dovecot-imapd : Dépend: dovecot-core (= 1:2.2.13-12~deb8u7) mais 1:2.2.27-3+deb9u5 est installé
 dovecot-ldap : Dépend: dovecot-core (= 1:2.2.13-12~deb8u7) mais 1:2.2.27-3+deb9u5 est installé
 dovecot-lmtpd : Dépend: dovecot-core (= 1:2.2.13-12~deb8u7) mais 1:2.2.27-3+deb9u5 est installé
 dovecot-managesieved : Dépend: dovecot-core (= 1:2.2.13-12~deb8u7) mais 1:2.2.27-3+deb9u5 est installé
 dovecot-sieve : Dépend: dovecot-core (= 1:2.2.13-12~deb8u7) mais 1:2.2.27-3+deb9u5 est installé
E: Dépendances non satisfaites. Essayez « apt --fix-broken install » sans paquet
   (ou indiquez une solution).

Le apt --fix donne cela :

# apt --fix-broken install
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Correction des dépendances... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  apt-transport-https eject hdparm libalgorithm-c3-perl libarchive-extract-perl libatasmart4 libbind9-90 libclass-c3-perl libclass-c3-xs-perl libconfuse-common libcpan-meta-perl
  libdata-optlist-perl libdata-section-perl libdevmapper-event1.02.1 libdjvulibre-text libdjvulibre21 libdns100 libgmime-2.6-0 libgpgme11 libgudev-1.0-0 libilmbase6 libisc95 libisccc90
  libisccfg90 libjasper1 liblog-message-perl liblog-message-simple-perl liblvm2app2.2 liblwres90 libmodule-build-perl libmodule-pluggable-perl libmodule-signature-perl libmro-compat-perl
  libntdb1 libopenexr6 libpackage-constants-perl libparams-util-perl libperl4-corelibs-perl libpod-latex-perl libpod-readme-perl libpth20 libregexp-common-perl libruby2.1 libsgutils2-2 libslp1
  libsoftware-license-perl libsub-exporter-perl libsub-install-perl libterm-ui-perl libtext-template-perl libwmf0.2-7 php-common php-fpm php-intl php-ldap php-mysql php7.0-cli php7.0-common
  php7.0-fpm php7.0-intl php7.0-json php7.0-ldap php7.0-mysql php7.0-opcache php7.0-readline postsrsd python-cffi python-dbus-dev python-jinja2 python-markupsafe python-ndg-httpsclient
  python-ntdb python-ply python-pycparser python-support python3-jinja2 python3-markupsafe udisks
Veuillez utiliser « apt autoremove » pour les supprimer.
The following additional packages will be installed:
  dovecot-antispam dovecot-imapd dovecot-ldap dovecot-lmtpd dovecot-managesieved dovecot-sieve
Paquets suggérés :
  crm114 ufw
Les paquets suivants seront mis à jour :
  dovecot-antispam dovecot-imapd dovecot-ldap dovecot-lmtpd dovecot-managesieved dovecot-sieve
6 mis à jour, 0 nouvellement installés, 0 à enlever et 31 non mis à jour.
1 partiellement installés ou enlevés.
Il est nécessaire de prendre 0 o/3 999 ko dans les archives.
Après cette opération, 1 364 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] 
Paramétrage de dovecot-core (1:2.2.27-3+deb9u5) ...
Job for dovecot.service failed because the control process exited with error code.
See "systemctl status dovecot.service" and "journalctl -xe" for details.
invoke-rc.d: initscript dovecot, action "start" failed.
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2020-03-30 00:32:30 CEST; 74ms ago
     Docs: man:dovecot(1)
           http://wiki2.dovecot.org/
  Process: 29061 ExecStart=/usr/sbin/dovecot (code=exited, status=89)
 Main PID: 23921 (code=exited, status=0/SUCCESS)

mars 30 00:32:30 libre.nohost.me systemd[1]: Starting Dovecot IMAP/POP3 email server...
mars 30 00:32:30 libre.nohost.me dovecot[29061]: doveconf: Error: Couldn't load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_login_settings.so: dlopen() failed: /usr/lib/…: str_append_c
mars 30 00:32:30 libre.nohost.me dovecot[29061]: doveconf: Error: Couldn't load plugin /usr/lib/dovecot/modules/settings/libmanagesieve_settings.so: Module is for different ABI vers…BIv27(2.2.27))
mars 30 00:32:30 libre.nohost.me dovecot[29061]: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve
mars 30 00:32:30 libre.nohost.me systemd[1]: dovecot.service: Control process exited, code=exited status=89
mars 30 00:32:30 libre.nohost.me systemd[1]: Failed to start Dovecot IMAP/POP3 email server.
mars 30 00:32:30 libre.nohost.me systemd[1]: dovecot.service: Unit entered failed state.
mars 30 00:32:30 libre.nohost.me systemd[1]: dovecot.service: Failed with result 'exit-code'.
Hint: Some lines were ellipsized, use -l to show in full.
dpkg: erreur de traitement du paquet dovecot-core (--configure) :
 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Des erreurs ont été rencontrées pendant l'exécution :
 dovecot-core
E: Sub-process /usr/bin/dpkg returned an error code (1)

Comment avancer ?

Hmokay … Ptete tu peux faire nano /etc/dovecot/dovecot.conf pour enlever ‘sieve’ quelque part dans un truc qui parle de protocole …

Puis tester si systemctl restart dovecot fonctionne (valider avec systemctl status dovecot)

Et puis relancer l’upgrade avec apt dist-upgrade

1 Like

Bonjour,

Une fois la mise à niveau faite, peut-être serait-il bon d’installer apticron afin d’être averti par mail si une ou des mises à jour sont en attente :

sudo apt install apticron # installation d’apticron
sudo nano /etc/apticron/apticron.conf # éditer le fichier pour renseigner l’adresse mail entre les guillemets
EMAIL="moi@fai.fr"
Crtl+o pour enregistrer puis Ctrl+x pour quitter

Sinon, d’un clic, il y a l’application YunoHost qui fait même plus : unattended_upgrades.

ppr

Je ne sais plus pourquoi sieve était peut-être lié à mon problème.
Après, je ne connais pas sieve et je n’aurai pas idée d’aller commenter la ligne protocole : sieve dans le fichier dovecot.conf

Mais j’ai avancé :slight_smile:
J’ai lancé apt dist-update : OK

Cependant, le service php7.0-fpm a le statut ‘failed’. L’erreur à partir de l’interface Web est la suivante :

[...] systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
-- Subject: Unit php7.0-fpm.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit php7.0-fpm.service has begun starting up.
[...] php-fpm7.0[19004]: [30-Mar-2020 12:05:16] ERROR: [pool vpnadmin] cannot get gid for group 'admins'
[...] php-fpm7.0[19004]: [30-Mar-2020 12:05:16] ERROR: FPM initialization failed
[...] systemd[1]: php7.0-fpm.service: Main process exited, code=exited, status=78/n/a
[...] systemd[1]: Failed to start The PHP 7.0 FastCGI Process Manager.
-- Subject: Unit php7.0-fpm.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit php7.0-fpm.service has failed.
-- 
-- The result is failed.
[...] systemd[1]: php7.0-fpm.service: Unit entered failed state.
[...] systemd[1]: php7.0-fpm.service: Failed with result 'exit-code'.

Que peut-on faire à cette étape pour lancer PHP 7.0 FastCGI Process Manager ?

Sur stackoverflow, je tombe sur cela pour Ubuntu :

apt-get install --reinstall php
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
systemctl restart apache2

Dois-je aussi suivre ces lignes sachant que je suis sur une brique Lime2 ?

Je ne m’y connais pas en php.
Cependant, sauf erreur, YunoHost fonctionne avec Nginx et non Apache.
À entrer ces lignes, je changerais la dernière afin de remplacer apache2 par nginx.

ppr

Essaie juste celle-ci

J’obtiens l’erreur suivante :

# systemctl start php7.0-fpm
Job for php7.0-fpm.service failed because the control process exited with error code.
See "systemctl status php7.0-fpm.service" and "journalctl -xe" for details.
# systemctl status php7.0-fpm
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2020-03-30 13:35:21 CEST; 9s ago
     Docs: man:php-fpm7.0(8)
  Process: 22063 ExecStart=/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf (code=exited, status=78)
 Main PID: 22063 (code=exited, status=78)

[...] systemd[1]: Starting The PHP 7.0 FastCGI Process Manager...
[...] php-fpm7.0[22063]: [30-Mar-2020 13:35:21] ERROR: [pool vpnadmin] cannot get gid for group 'admins'
[...] php-fpm7.0[22063]: [30-Mar-2020 13:35:21] ERROR: FPM initialization failed
[...] systemd[1]: php7.0-fpm.service: Main process exited, code=exited, status=78/n/a
[...] systemd[1]: Failed to start The PHP 7.0 FastCGI Process Manager.
[...] systemd[1]: php7.0-fpm.service: Unit entered failed state.
[...] systemd[1]: php7.0-fpm.service: Failed with result 'exit-code'.

Un vieux bug ça.

Tu peux corriger en remplaçant le groupe admins par root il me semble

sed "s/group = admins/group = root/" /etc/php/7.0/fpm/pool.d/vpnclient.conf

Une fois à jour il faudra penser à mettre à jour vpnclient aussi :slight_smile:

J’essaie de rentrer à nouveau en ssh avec la commande ssh root@[moi] et j’ai tapé 3 fois mon mot de passe mais impossible de rentrer.
Je relance la commande et j’obtiens :

$ ssh root@[moi]
ssh: connect to host [moi] port 22: Connection refused

Comment faire pour entrer en SSH sur ma brique ? Pourtant le mot de passe est bien tapé :-/

ssh admin@[moi]

L’utilisateur root est bloqué sauf si tu viens du réseau local, ce qui n’est potentiellement pas le cas si tu as un VPN sur ta brique.

Et il y aussi que si tu échoues à te connecter trop de fois, tu peux être banni temporairement par fail2ban (genre 5 minutes au début).

Il n’y a pas de fichier vpnclient.conf sous pool.d mais un fichier vpnadmin.conf. Dois-je exécuter la commande sur vpnadmin.conf ? Ou dois-je plutôt l’exécuter sur /etc/php/7.0/fpm/php-fpm.conf ? étant donné ça :

et ça :

En fait, je ne suis pas sûr de ce que la commande fait et pourquoi devrait-on faire cela…

Peut-on m’aider à comprendre ? :blush:

Il faut la faire sur le fichier vpnadmin.conf (c’est juste que classiquement le fichier s’apelle avec le meme nom de l’app mais pas dans ce cas probablement car c’est un vieille app)

Ok fait :slight_smile:

Que veut vouloir dire cela ? :blush:

Ca veut dire … mettre à jour l’app :wink:

Normalement dans la webadmin tu as dans la partie “Upgrade” la liste des apps que tu peux mettre à jour …

1 Like