Then I repeated the steps from the [Test Plan] section.
I've noticed that nothing has changed there, so the problem still exists:
× nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Drop-In: /run/systemd/system/service.d └─zzz-lxc-service.conf
Active: failed (Result: exit-code) since Wed 2023-06-28 19:03:05 UTC; 56s ago
Docs: man:nginx(8)
Process: 894 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 895 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Jun 28 19:03:05 jammy-test systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/serve-files.socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/serve-files.socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/serve-files.socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/serve-files.socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/serve-files.socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] still could not bind()
Jun 28 19:03:05 jammy-test systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Jun 28 19:03:05 jammy-test systemd[1]: nginx.service: Failed with result 'exit-code'.
Jun 28 19:03:05 jammy-test systemd[1]: Failed to start A high performance web server and a reverse proxy server.
The nginx fails to upgrade, because the former issue that is caused makes the service non-startable and the upgrade will trigger a service restart in postinst. Since that fails it cannot upgrade - as expected.
It has already been discussed in the comments above.
Then, I just removed the offending socket file and restarted the service. Then I've upgraded nginx using:
$ apt install nginx=1.18.0-6ubuntu14.4
Later I've typed in:
$ apt policy nginx
to check if the installed version has changed, and we see that we have a new version installed (with a fix).
The fix works, 1.18.0-6ubuntu14.4 in Jammy fixes the bug.
I've created the jammy container using steps from the [Test Plan] section listed above in the Bug Description.
Then I installed nginx:
$ apt install -y nginx
and inside that container I typed in:
$ apt policy nginx
The output:
nginx: archive. ubuntu. com/ubuntu jammy-updates/main amd64 Packages security. ubuntu. com/ubuntu jammy-security/main amd64 Packages dpkg/status 18.0-6ubuntu14 500 archive. ubuntu. com/ubuntu jammy/main amd64 Packages
Installed: 1.18.0-6ubuntu14.3
Candidate: 1.18.0-6ubuntu14.3
Version table:
*** 1.18.0-6ubuntu14.3 500
500 http://
500 http://
100 /var/lib/
1.
500 http://
Then I repeated the steps from the [Test Plan] section.
I've noticed that nothing has changed there, so the problem still exists:
× nginx.service - A high performance web server and a reverse proxy server system/ nginx.service; enabled; vendor preset: enabled) system/ service. d
└ ─zzz-lxc- service. conf /usr/sbin/ nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) /usr/sbin/ nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Loaded: loaded (/lib/systemd/
Drop-In: /run/systemd/
Active: failed (Result: exit-code) since Wed 2023-06-28 19:03:05 UTC; 56s ago
Docs: man:nginx(8)
Process: 894 ExecStartPre=
Process: 895 ExecStart=
Jun 28 19:03:05 jammy-test systemd[1]: Starting A high performance web server and a reverse proxy server... serve-files. socket failed (98: Unknown error) serve-files. socket failed (98: Unknown error) serve-files. socket failed (98: Unknown error) serve-files. socket failed (98: Unknown error) serve-files. socket failed (98: Unknown error)
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] bind() to unix:/run/
Jun 28 19:03:05 jammy-test nginx[895]: nginx: [emerg] still could not bind()
Jun 28 19:03:05 jammy-test systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Jun 28 19:03:05 jammy-test systemd[1]: nginx.service: Failed with result 'exit-code'.
Jun 28 19:03:05 jammy-test systemd[1]: Failed to start A high performance web server and a reverse proxy server.
The nginx fails to upgrade, because the former issue that is caused makes the service non-startable and the upgrade will trigger a service restart in postinst. Since that fails it cannot upgrade - as expected.
It has already been discussed in the comments above.
Then, I just removed the offending socket file and restarted the service. Then I've upgraded nginx using:
$ apt install nginx=1. 18.0-6ubuntu14. 4
Later I've typed in:
$ apt policy nginx
to check if the installed version has changed, and we see that we have a new version installed (with a fix).
nginx: archive. ubuntu. com/ubuntu jammy-proposed/main amd64 Packages dpkg/status 18.0-6ubuntu14. 3 500 archive. ubuntu. com/ubuntu jammy-updates/main amd64 Packages security. ubuntu. com/ubuntu jammy-security/main amd64 Packages
Installed: 1.18.0-6ubuntu14.4
Candidate: 1.18.0-6ubuntu14.4
Version table:
*** 1.18.0-6ubuntu14.4 500
500 http://
100 /var/lib/
1.
500 http://
500 http://
Finally when I repeated steps from the [Test Plan] the problem did not exist, so the fix works. No error logs and nginx service works correctly.