swupd-client
swupd-client copied to clipboard
Force execution of "swupd repair" if delta files are corrupted to ensure sanity update.
When user tries to update system, when delta files are corrupted,users must consider to execute swupd verify --fix / swupd repair
to repair then. Force execution after of n files were not in a pack
to automate this step as feature, add it as file config or flag such as swupd update --autofix
(command option obviously doesn't exist)
[~] $ sudo swupd update
Password:
Update started
Preparing to update from 32480 to 32600
Downloading packs for:
- c-basic
- cheese
- clr-network-troubleshooter
- curl
- desktop
- desktop-apps
- desktop-assets-extras
- desktop-gnomelibs
- desktop-locales
- diffutils
- dnf
- dosfstools
- emacs-x11
- eog
- evince
- evolution
- file
- file-roller
- findutils
- firefox
- flatpak
- flex
- fonts-basic
- fuse
- geary
- gedit
- ghostscript
- gimp
- git
- gjs
- glibc-locale
- gnome-calculator
- gnome-characters
- gnome-color-manager
- gnome-disk-utility
- gnome-font-viewer
- gnome-logs
- gnome-music
- gnome-photos
- gnome-screenshot
- gnome-system-monitor
- gnome-todo
- gnome-weather
- gparted
- graphviz
- gstreamer
- gvim
- gzip
- hardware-bluetooth
- hardware-printing
- htop
- intltool
- iperf
- iproute2
- jq
- kbd
- kernel-install
- kernel-lts2018
- kernel-lts2018-dkms
- less
- lib-imageformat
- lib-opengl
- lib-samba
- libX11client
- libglib
- libstdcpp
- libva-utils
- linux-firmware
- linux-firmware-extras
- linux-lts2018-dev
- llvm
- lm-sensors
- make
- man-pages
- minicom
- nasm
- nautilus
- nfs-utils
- openldap
- openssh-client
- openssh-server
- os-cloudguest-aliyun
- os-core
- os-core-plus
- os-core-update
- os-core-webproxy
- p11-kit
- package-utils
- parallel
- parted
- patch
- perl-basic
- pmdk
- polkit
- powertop
- procps-ng
- pulseaudio
- pygobject
- python3-basic
- samba
- seahorse
- smartmontools
- socat
- sshfs
- storage-utils
- strace
- sudo
- sysadmin-basic
- syslinux
- thermal_daemon
- tmux
- totem
- unzip
- vim
- webkitgtk
- wget
- which
- wpa_supplicant
- x11-server
- xfsprogs
- xz
- zstd
[100%]
Finishing packs extraction...
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-d140b5c630bb9c68134226869a9f0c70ed905bdd145245250ac287944cdc0e96-0068356165043f7ed99896b4d476d9336b9622bd22bf2ccf02d2799f36591fa3: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-30f8306819b2c37c6e74821ef05ba55136ba9b0a7398f195157ad759835c9add-23094ba15bcd084ebea0779574916c38e763c1dd99ef89371d37249f4460818b: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-9f287cca0e8921b3878430990cba59d5230f384f429ee0486b5f610b9d1a393d-2323fdde6da04158d2f5656f898b95c5aebbeb3a2939aa096f9a0e8f2e7d1b85: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-775c11064601289aef9a52da31d06a1a7bdb36062e98284670cfc4f38a6805fa-9bafe1091003e684b00e0f14782961b8a16f1b4cac4ca1a676c2ed53c6ee3f4c: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-8b84dad31b7b1702dd7e200c51125eaffb779eb18b196eb8e0790aaddf493a9b-9458a7317622c0c1baffb41ff2e46c4ba9ed3efc4030656d19f5900306d1a2b6: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-7a4ccdeb85819a415aa900d9993013b6d648cfdb0a40baa9c862f3644a502b71-f3cf6f3e0a1dae54096a19bd8667ec2033d1a347130364652cfa51beeae69f6f: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-b417db32f6b64d5707884effb5b4e899acbb386ba410258fc6fbdb261fdb70ad-b7a7bf4158ca09217874acb0fd0051add0ea5899cbc476344340bff66738e43e: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-6748c605fbe2d74cad78daff1cce88caba48d5ba59f15009d78e00c6e926c5d2-2aa412ecc7352f5bd3d3020fe1ab748bf289a0ddc9bad81957ed12630570b14c: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-3bfbc30ad9075ac5df13326abdc6a29bc3c73e53aafaaee7d45991e68be239bb-e0eff8c8f5bc3ebd49a418a518c5edbe0e5758b7d025d43bd752acc86539ce21: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-758d39dfa65bd0b403317482cd2c6cfca0ead28afda9cae02387259b04acf3ee-6c73b17b8b32ef1970d678ecda5cabc79e1e4ebc36761920a253848cb0e0b31e: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-c509fd7e4f0729b92a234e21cea0699f7ba233142e76490f5cfd457fd34e269e-cc0618b2419d25fc9aea64004a54c320e54225fcff68a3a3fbc9ac81bb3cc10c: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-1e69f541e73dc4599c890fda09bca5acdfdf789e5fad83cf02edebefe4c76e60-8301557f68cdc041d7585dbd93a108363ec5c1c2f2cdf3f6ac79b85179d4ffe6: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-6291f0e8659ed69fb813c6e0bec3b6d8d0682e8a529bd477cb95871e7679919f-1fe2fc8bc95cef14d4976d524dd04b808e18d764482236ba754035f826e8ba35: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-aaf53eea66d605f6a1987233657ce4c3e78db935cf7da4f7defbee436c67d4de-56795bbd3aeab408478118a56e97385a93b334b39e34e0b5a2f8a54ae91889fb: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-8ea1adef4928f985ce1d5526f2c4039ea3fb4d6ecc8c19ae3ed27cda694e36f5-97a65bcf00ded8ad6006548836110e671676f5f16c1d448352357578a995c41b: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-b6c20d3de0530e0e450173f89d49172ef36a2e033ef4457fe7bd77ad9ee7673d-2b3eb7fd4981502958b3d605dfa013543a2466969f5c203b335be5a5ac4031a0: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-a3fa5370b1f4ebc9be054ad2aa8748c9292e1cb86ca52985a2424dc62e8aa9fe-9d8f7c462c54c9886a7067063fb0945c27b3f153be5f8dce8345978ae8312487: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-65935b6de293ed234cb27fbf02e406c8ccb8d392f1cbb423e3fbce88c942a845-e30785890990da7258012ab5bf2b09664af9ad50d4c9b93c1d8ba769c58b7820: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-a0adbde417312eaa6562a792eb7e6321d7f68647b5ff5d71b6d8c7e5dcf497f8-cbdea6ff512d15c594ebf38b4fc8bb9f91d8a543c740a20d0ae2b0b26097bbbf: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-68a69c68605b35a7dd76631d53cc361c167d07f00a77f0993646a65e0ca59e88-f81eb255b50e15ae7eef71017a183e9a3959c40e16ee3e3605c61525fa31e67e: 'from' file corrupted on system, consider running 'swupd verify --fix'
Warning: Couldn't use delta file /var/lib/swupd/delta/32480-32590-caa435e047d0f1ad4cb2093ce4254765a06bc814ec6a2ca9c378d6ca63daa945-dc23821a1fa8529a66085bfb44f08dd917e70c64e2a58ae64b4241254725717f: 'from' file corrupted on system, consider running 'swupd verify --fix'
Statistics for going from version 32480 to version 32600:
changed bundles : 132
new bundles : 0
deleted bundles : 0
changed files : 6099
new files : 53140
deleted files : 292
Validate downloaded files
[100%]
Starting download of remaining update content. This may take a while...
[100%]
Installing files...
[100%]
Update was applied
Calling post-update helper scripts
External command: none
External command: pacdiscovery.service: restarted (the binary was updated)
External command: tallow.service: restarted (the binary was updated)
External command: systemd-udevd.service: restarted (the binary was updated)
External command: pacrunner.service: restarted (the binary was updated)
External command: systemd-journald.service: restarted (the binary was updated)
External command: mcelog.service: restarted (the binary was updated)
External command: systemd-resolved.service: restarted (the binary was updated)
External command: (Took 6 seconds)
External command: systemd-timesyncd.service: restarted (the binary was updated)
Update took 1248.1 seconds, 154 MB transferred
21 files were not in a pack
Update successful - System updated from version 32480 to version 32600
This step can will be automated:
[~] $ sudo swupd repair
Diagnosing version 32600
Downloading missing manifests...
Checking for corrupt files
[100%]
Validate downloaded files
[100%]
Starting download of remaining update content. This may take a while...
[100%]
Adding any missing files
-> Missing file: /usr/lib/firmware/rtlwifi/rtl8822befw.bin -> fixed
[100%]
Repairing corrupt files
-> Hash mismatch for file: /usr/lib/firmware/rtlwifi/rtl8192eefw.bin -> fixed
-> Hash mismatch for file: /usr/lib/firmware/rtlwifi/rtl8192eu_nic.bin -> fixed
-> Hash mismatch for file: /usr/lib/firmware/rtlwifi/rtl8821aefw.bin -> fixed
[100%]
Removing extraneous files
[100%]
Inspected 363207 files
1 file was missing
1 of 1 missing files were replaced
0 of 1 missing files were not replaced
3 files did not match
3 of 3 files were repaired
0 of 3 files were not repaired
Calling post-update helper scripts
External command: none
Repair successful
Just one consideration about this issue. The problem that occurred here is not that delta files were corrupted. The problem was that there were files corrupted in the system before the update process started. We try to apply delta packs and we fail because of that. In this case we download the full file and perform the update successfully. All files that should be updated are updated and should be correct in the system. If they are not, it's a bug and should be reported. In this case, all files listed were not updated in 32600, so this is not a bug.
Besides that, I like your idea on forcing a repair when we know during an update that there are missing or corrupted files in the system. Maybe we should even run that before the update.