Impossible de récupérer les fichiers sources lors de mise à jour d'applications ou de nouvelles installations

,

Mon serveur YunoHost

Matériel: Raspberry Pi à la maison
Version de YunoHost: 4.2.8.3 (stable)
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Lors de mise à jour de logiciels déjà installés ou lors de la tentative d’installation, j’obtiens le même message d’erreur (ici pour une tentative d’upgrade de searx)


Action: "PUT" /yunohost/api/apps/searx/upgrade

Message d'erreur :
Impossible de récupérer les fichiers sources, l’URL est-elle correcte ?

ou encore via une tentative en ligne de commande:

~ $ sudo yunohost app upgrade searx
Info: Now upgrading searx...
Error: Could not fetch sources files, is the URL correct?

J’ai vu qu’il y a dans le forum quelques messages similaires mais je n’ai pas réussi à m’en sortir avec les solutions proposées.

Si jamais, quelques éléments:

~ $ sudo yunohost diagnosis show ip --issues
reports:
  description: Internet connectivity
  id: ip
  items:
    details: The file /etc/resolv.conf should be a symlink to /etc/resolvconf/run/resolv.conf itself pointing to 127.0.0.1 (dnsmasq). If you want to manually configure DNS resolvers, please edit /etc/resolv.dnsmasq.conf.
    status: WARNING
    summary: DNS resolution seems to be working, but it looks like you're using a custom /etc/resolv.conf.
~ $ more /etc/resolv.conf
nameserver 127.0.0.1
~ $ more /etc/resolvconf/run/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
more /etc/resolv.dnsmasq.conf
nameserver 2001:1608:10:25::9249:d69b
nameserver 2001:910:800::12
nameserver 2a00:5881:8100:1000::3
nameserver 195.160.173.53
nameserver 84.200.70.40
nameserver 2a0c:e300::101
nameserver 89.234.141.66
nameserver 2a0c:e300::100
nameserver 194.150.168.168
nameserver 89.233.43.71
nameserver 2001:67c:28a4::
nameserver 91.239.100.100
nameserver 185.233.100.101
nameserver 80.67.169.40
nameserver 2001:1608:10:25::1c04:b12f
nameserver 84.200.69.80
nameserver 2001:910:800::40
nameserver 2a01:3a0:53:53::
nameserver 80.67.169.12
nameserver 185.233.100.100

Merci d’avance pour votre aide, et j’en profite pour remercier pour la première fois la communauté yunohost et les participants aux forums: c’est une aide précieuse pour se lancer dans le grand bain de l’autohébergement.

Bonsoir à tous.
Un petit up sur ce pb: je n’ai toujours pas de solution.
N’hésitez pas si vous avez des suggestions.

À tout hasard est-ce que tu as regardé ceci ? Updates may fail because "Repository [...] changed its 'Suite' value from 'stable' to 'oldstable'" Il me semble que ça pourrait avoir un lien (sans garantie).

Merci @Dams pour ta suggestion. J’ai bien fait un update en ligne de commande avant de tenter la mise à jour des mes applications ou l’installation de nouvelle… donc à priori ce n’est pas ça.

Bon, dommage c’est la seule piste que j’avais parce que je ne suis pas vraiment expert dans tout ça. J’espère que d’autres sauront te répondre.

Bon, je suis toujours bloqué, mais petit update:
les mises à jour système se font correctement en revanche.
Toujours en recherche d’un conseil ou d’une suggestion !

Quand vous faire

sudo apt update 
sudo apt upgrade 

en ligne, ca marche?

Est ce que Yunohost donne vous un option pour telecharger le log de la installation?

Oui update t upgrade en ligne de commande fonctionnent.

~ $ sudo apt update
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Hit:2 http://forge.yunohost.org/debian buster InRelease
Hit:3 http://raspbian.raspberrypi.org/raspbian buster InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

~ $ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Je ne suis pas sur de bien comprendre ce qu’est le log d’installation.

Yes update and upgrade in command line are working fine (cf. above).
What do you mean exactly by installation log ?

Is this what you meant by installation log ?

~ $ sudo tail /var/log/yunohost/yunohost-cli.log
2021-10-17 23:10:11,895 DEBUG    moulinette.interface __init__ - initializing base actions map parser for cli
2021-10-17 23:10:11,898 DEBUG    moulinette.actionsmap __init__ - loading actions map namespace 'yunohost'
2021-10-17 23:10:11,904 DEBUG    moulinette.actionsmap _construct_parser - building parser...
2021-10-17 23:10:11,911 DEBUG    moulinette.actionsmap _construct_parser - building parser took 0.007s
2021-10-17 23:10:11,912 DEBUG    moulinette.core acquire - acquiring lock...
2021-10-17 23:10:11,939 DEBUG    moulinette.core acquire - lock has been acquired
2021-10-17 23:10:12,004 DEBUG    moulinette.actionsmap process - loading python module yunohost.dyndns took 0.065s
2021-10-17 23:10:12,005 DEBUG    moulinette.actionsmap process - processing action [27524.1]: yunohost.dyndns.update with args={'dyn_host': 'dyndns.yunohost.org', 'domain': None, 'key': None, 'ipv4': None, 'force': False, 'dry_run': False, 'ipv6': None}
2021-10-17 23:10:12,006 DEBUG    yunohost.dyndns (unknown function) - [27524.1] Building zone update file ...
2021-10-17 23:10:12,072 DEBUG    yunohost.utils.network (unknown function) - Fetching IP from https://ip.yunohost.org
2021-10-17 23:10:12,347 DEBUG    urllib3.connectionpool (unknown function) - Starting new HTTPS connection (1): ip.yunohost.org:443
2021-10-17 23:10:12,468 DEBUG    urllib3.connectionpool (unknown function) - https://ip.yunohost.org:443 "GET / HTTP/1.1" 200 13
2021-10-17 23:10:12,471 DEBUG    yunohost.utils.network (unknown function) - IP fetched: 78.196.243.88
2021-10-17 23:10:12,486 DEBUG    yunohost.utils.network (unknown function) - Fetching IP from https://ip6.yunohost.org
2021-10-17 23:10:12,490 DEBUG    urllib3.connectionpool (unknown function) - Starting new HTTPS connection (1): ip6.yunohost.org:443
2021-10-17 23:10:12,621 DEBUG    urllib3.connectionpool (unknown function) - https://ip6.yunohost.org:443 "GET / HTTP/1.1" 200 38
2021-10-17 23:10:12,625 DEBUG    yunohost.utils.network (unknown function) - IP fetched: 2a01:e34:ec4f:3580:4f7a:48a0:511d:9181
2021-10-17 23:10:12,626 DEBUG    yunohost.dyndns (unknown function) - [27524.1] Old IPv4/v6 are (78.196.243.88, 2a01:e34:ec4f:3580:4f7a:48a0:511d:9181)
2021-10-17 23:10:12,626 DEBUG    yunohost.dyndns (unknown function) - [27524.1] Requested IPv4/v6 are (78.196.243.88, 2a01:e34:ec4f:3580:4f7a:48a0:511d:9181)
2021-10-17 23:10:12,627 INFO     yunohost.dyndns (unknown function) - [27524.1] No updated needed.
2021-10-17 23:10:12,627 DEBUG    moulinette.actionsmap process - action [27524.1] executed in 0.622s
2021-10-17 23:10:12,627 DEBUG    moulinette.core release - lock has been released

Almost.

All installations and updates are logged to /var/log/yunohost. Via the web interface the last few are available under tools/logs.

I have no errors at the moment, but

sudo cat /var/log/yunohost/categories/operation/20211003-131328-app_upgrade-synapse.log

shows the log of the upgrade of Synapse.

Have a look on your Yunohost, and see what there is in the log for 202110…-app_upgrade-searx.log (or one of the other upgrades).

If they are available in the web interface, there is a button “Share logs with Yunopaste”. In that case you can post the resulting link.

Ok, thanks for explaining that part.

 $ sudo ls -lrt /var/log/yunohost/categories/operation/ | tail -10
-rw-r--r-- 1 root root    258 Oct  5 14:01 20211005-120141-dyndns_update-valadearsouze.nohost.me.log
-rw-r--r-- 1 root root    389 Oct  5 14:06 20211005-120141-dyndns_update-valadearsouze.nohost.me.yml
-rw-r--r-- 1 root root    258 Oct  5 14:11 20211005-121149-dyndns_update-valadearsouze.nohost.me.log
-rw-r--r-- 1 root root    389 Oct  5 14:16 20211005-121149-dyndns_update-valadearsouze.nohost.me.yml
-rw-r--r-- 1 root root  14781 Oct 12 22:12 20211012-201113-tools_upgrade.log
-rw-r--r-- 1 root root    249 Oct 12 22:12 20211012-201113-tools_upgrade.yml
-rw-r--r-- 1 root root    292 Oct 15 05:01 20211015-030139-dyndns_update-valadearsouze.nohost.me.log
-rw-r--r-- 1 root root    389 Oct 15 05:01 20211015-030139-dyndns_update-valadearsouze.nohost.me.yml
-rw-r--r-- 1 root root  95325 Oct 16 13:30 20211016-112740-tools_upgrade.log
-rw-r--r-- 1 root root    249 Oct 16 13:30 20211016-112740-tools_upgrade.yml

But although I still can’t update searx (for example, but it’s the same with other apps):

$ sudo yunohost app upgrade searx
Info: Now upgrading searx...
Error: Could not fetch sources files, is the URL correct?

All the log files associated with searx don’t show any failure, and the last log available shows a successfull update:

$ sudo ls -lrt /var/log/yunohost/categories/operation/ | grep searx
-rw-r--r-- 1 root root     70 Jun  7 23:02 20210607-210232-permission_url-searx.log
-rw-r--r-- 1 root root    345 Jun  7 23:02 20210607-210232-permission_url-searx.yml
-rw-r--r-- 1 root root    532 Jun  7 23:02 20210607-210232-permission_create-searx.log
-rw-r--r-- 1 root root    353 Jun  7 23:02 20210607-210232-permission_create-searx.yml
-rw-r--r-- 1 root root     65 Jun  7 23:02 20210607-210235-permission_url-searx.log
-rw-r--r-- 1 root root    300 Jun  7 23:02 20210607-210235-permission_url-searx.yml
-rw-r--r-- 1 root root     65 Jun  7 23:02 20210607-210235-user_permission_update-searx.log
-rw-r--r-- 1 root root    317 Jun  7 23:02 20210607-210235-user_permission_update-searx.yml
-rw-r--r-- 1 root root    212 Jun  7 23:04 20210607-210423-user_permission_update-searx.log
-rw-r--r-- 1 root root    337 Jun  7 23:04 20210607-210423-user_permission_update-searx.yml
-rw-r--r-- 1 root root 115012 Jun  7 23:04 20210607-210232-app_install-searx.log
-rw-r--r-- 1 root root    581 Jun  7 23:04 20210607-210232-app_install-searx.yml
-rw-r--r-- 1 root root  96221 Sep  2 22:24 20210902-202252-app_upgrade-searx.log
-rw-r--r-- 1 root root    594 Sep  2 22:24 20210902-202252-app_upgrade-searx.yml

$ sudo tail -10 /var/log/yunohost/categories/operation/20210902-202252-app_upgrade-searx.log
2021-09-02 22:23:59,997: DEBUG - + echo '[####################] > Upgrade of Searx completed'
2021-09-02 22:23:59,998: DEBUG - + set -o xtrace
2021-09-02 22:23:59,998: DEBUG - + ynh_exit_properly
2021-09-02 22:23:59,999: DEBUG - + local exit_code=0
2021-09-02 22:23:59,999: DEBUG - + rm -rf /var/cache/yunohost/download/
2021-09-02 22:24:00,000: INFO - [####################] > Upgrade of Searx completed
2021-09-02 22:24:00,006: DEBUG - + '[' 0 -eq 0 ']'
2021-09-02 22:24:00,006: DEBUG - + exit 0
2021-09-02 22:24:01,009: DEBUG - Checking that required services are up and running...
2021-09-02 22:24:03,197: SUCCESS - searx mis à jour

So it looks like the update fails even before starting the update itself.

The one thing that fails is the update of the IP address associated with my domain (but it was working before):

$ sudo cat /var/log/yunohost/categories/operation/20211015-030139-dyndns_update-valadearsouze.nohost.me.log
2021-10-15 05:01:39,593: INFO - Updated needed, going on...
2021-10-15 05:01:39,597: DEBUG - Reusing IPv4 from cache: None
2021-10-15 05:01:39,597: DEBUG - Reusing IPv6 from cache: 2a01:e34:ec4f:3580:4f7a:48a0:511d:9181
2021-10-15 05:01:39,603: DEBUG - Now pushing new conf to DynDNS host...

$ sudo cat /var/log/yunohost/categories/operation/20211004-165038-dyndns_update-valadearsouze.nohost.me.log
2021-10-04 18:50:38,421: INFO - Updated needed, going on...
2021-10-04 18:50:38,425: DEBUG - Reusing IPv4 from cache: 78.196.243.88
2021-10-04 18:50:38,426: DEBUG - Reusing IPv6 from cache: 2a01:e34:ec4f:3580:4f7a:48a0:511d:9181
2021-10-04 18:50:38,431: DEBUG - Now pushing new conf to DynDNS host...
2021-10-04 18:50:41,521: SUCCESS - Updated your IP on DynDNS

Maybe it is only a warning?

If you look through the whole log, is there only DEBUG and INFO, or any other level as well?

I am quite sure it is an error thrown by Yunohost, instead of by one of the apps. Not only because you got it for multiple apps, but also because the string can be found in the translations.

With that I could find the place in the program where it is raised on Github (see line 2162)

The error is raised by Yunohost after trying to fetch source files from Github.

  • If you try to reach Github from the command line on your Yunohost, does that work?
  • I don’t know where ‘extracted_app_folder’ is, could it be that the disk is full?

Thanks a lot @wbk for your help ! Very much appreciated.

$ sudo git clone https://github.com/YunoHost-Apps/searx_ynh.git
Cloning into 'searx_ynh'...
fatal: unable to access 'https://github.com/YunoHost-Apps/searx_ynh.git/': Failed sending HTTP2 data

I have checked at disk space and I still have 20Go available.

If I check for errors in yunohost logs, I only can find “old” (~1 month) logs:

/var/log $ sudo tail -20 uwsgi/searx/searx.log
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/yunohost/searx/searx/engines/__init__.py", line 295, in engine_init
    init_fn(get_engine_from_settings(engine_name))
  File "/opt/yunohost/searx/searx/engines/wikidata.py", line 689, in init
    jsonresponse = send_wikidata_query(query)
  File "/opt/yunohost/searx/searx/engines/wikidata.py", line 134, in send_wikidata_query
    http_response = get(SPARQL_ENDPOINT_URL + '?' + urlencode({'query': query}), headers=get_headers())
  File "/opt/yunohost/searx/searx/poolrequests.py", line 209, in get
    return request('get', url, **kwargs)
  File "/opt/yunohost/searx/searx/poolrequests.py", line 181, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/opt/yunohost/searx/lib/python3.7/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/yunohost/searx/lib/python3.7/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/yunohost/searx/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='query.wikidata.org', port=443): Max retries exceeded with url: /sparql?query=%0ASELECT+%3Fitem+%3Fname%0AWHERE+%7B%0A++++%7B%0A++++++SELECT+%3Fitem%0A++++++WHERE+%7B+%3Fitem+wdt%3AP279%2A+wd%3AQ12132+%7D%0A++++%7D+UNION+%7B%0A++++++VALUES+%3Fitem+%7B+wd%3AP571+wd%3AP576+wd%3AP580+wd%3AP582+wd%3AP569+wd%3AP570+wd%3AP619+wd%3AP620+wd%3AP27+wd%3AP495+wd%3AP17+wd%3AP159+wd%3AP36+wd%3AP35+wd%3AP6+wd%3AP122+wd%3AP37+wd%3AP1082+wd%3AP2046+wd%3AP281+wd%3AP38+wd%3AP2048+wd%3AP400+wd%3AP50+wd%3AP170+wd%3AP57+wd%3AP175+wd%3AP178+wd%3AP162+wd%3AP176+wd%3AP58+wd%3AP272+wd%3AP264+wd%3AP123+wd%3AP449+wd%3AP750+wd%3AP86+wd%3AP577+wd%3AP136+wd%3AP364+wd%3AP212+wd%3AP957+wd%3AP275+wd%3AP277+wd%3AP348+wd%3AP840+wd%3AP1098+wd%3AP282+wd%3AP1018+wd%3AP218+wd%3AP169+wd%3AP112+wd%3AP1454+wd%3AP137+wd%3AP1029+wd%3AP225+wd%3AP274+wd%3AP1346+wd%3AP1120+wd%3AP498+wd%3AP856+wd%3AP1324+wd%3AP1581+%7D%0A++++%7D%0A++++OPTIONAL+%7B+%3Fitem+rdfs%3Alabel+%3Fname.+%7D%0A%7D%0A (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0xb2671a30>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))