Ran into a curios problem while updating the GitHub Actions Workflow for a project:
Run sudo lxc exec test-container --env DEBIAN_FRONTEND=noninteractive -- apt-get -y install -y openssh-client openssh-server openssh-sftp-server
Reading package lists...
Building dependency tree...
Reading state information...
openssh-client is already the newest version (1:8.9p1-3).
The following additional packages will be installed:
libpsl5 libwrap0 ncurses-term publicsuffix python3-distro ssh-import-id wget
Suggested packages:
molly-guard monkeysphere ssh-askpass ufw
The following NEW packages will be installed:
libpsl5 libwrap0 ncurses-term openssh-server openssh-sftp-server
publicsuffix python3-distro ssh-import-id wget
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 1371 kB of archives.
After this operation, 7679 kB of additional disk space will be used.
Ign:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 openssh-sftp-server amd64 1:8.9p1-3
...
Ign:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 ssh-import-id all 5.11-0ubuntu1
Err:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 openssh-sftp-server amd64 1:8.9p1-3
Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::19). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::16). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable) Could not connect to archive.ubuntu.com:80 (185.125.190.39), connection timed out Could not connect to archive.ubuntu.com:80 (185.125.190.36), connection timed out Could not connect to archive.ubuntu.com:80 (91.189.91.39), connection timed out
...
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/s/ssh-import-id/ssh-import-id_5.11-0ubuntu1_all.deb Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::19). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::16). - connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::18). - connect (101: Network is unreachable)
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Error: Process completed with exit code 100.
For the tests, I'm spinning up a LXC container on the Runner, and then try to install software in it. This specific Runner is using Ubuntu 22.04 (new), and the network connection to archive.ubuntu.com is failing. Another Runner in the same workflow, using Ubuntu 20.04, is working fine. 20.04 was the old test setup, 22.04 is the new one. No other changes. But why is it suddenly failing?
Continue reading "Fix LXC network issues in Ubuntu 22.04"
If you use GitHub Actions to run Workflows and tests, you might have spotted this warning recently:
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/checkout@v2
This warning means that GitHub will deprecate a certain action, which checks out the repository into the runner. This is going on since early 2022 and by summer 2023 they plan to upgrade all actions to v16.
Continue reading "GitHub Actions: Node.js 12 actions are deprecated"
If you use GitHub Actions to run Workflows and tests, you might have spotted this warning recently:
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
This warning means that GitHub will deprecate a certain syntax which populates variables, and disables it by end of May 2023.
Continue reading "GitHub Actions: The `set-output` command is deprecated and will be disabled soon"
It was time to update my laptop, and I already knew that the update will bring Snap, and installs the Snap Firefox version. Along with many known problems. Previously the laptop was on 20.04 LTS, but this version is about to loose support.
I ran through the upgrade, and then added an Ansible Playbook to handle the Firefox installation, remove the Snap version and install the PPA version. Most of my laptop configuration is handled using Ansible Playbooks.
Continue reading "Install Firefox PPA version over Snap version"
Installed my new laptop, and everything seemed to work, out of the box. Almost everything.
The audio was quite annoying. First of all, every application got it's own volume setting. In theory that is a nice idea, and you can control and manage the volume for every application separately. In practice, this is a nightmare: try changing the volume of an application which only once in a while sends a short notification. Or try changing the volume of the sound when you close the laptop lid. On top of that, the volume for applications like Chome and Firefox seem to be stuck at 100%. Every time I change the volume, the setting is back on "loud" the next time the browser plays something.
Second the global volume settings (Fn+"Volume up" or Fn+"Volume down") seem to have no effect at all.
Continue reading "Audio "too loud" and volume switch not working in Ubuntu"
Sometimes old computers are not updated quickly enough, or just kept running ...
root@system ~ # lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.10
Release: 16.10
Codename: yakkety
And so it happens that the support for Ubuntu 16.10 (codename: yakkety) came to an end, and the packages were removed from the regular Ubuntu servers. Trying to run an upgrade (do-release-upgrade) ended in the following message:
Reading cache
Checking package manager
Can not upgrade
An upgrade from 'yakkety' to 'artful' is not supported with this tool.
Continue reading "Upgrade from Ubuntu 16.10 (yakkety) to 17.10 (artful)"
Sometimes update-initramfs leaves old initrd images around in /boot, even when the kernel package is deinstalled. Deleting the file does not help, the next run of update-initramfs will recreate the file.
The solution is simple: all kernels which need to be rebuild are in /var/lib/initramfs-tools/ - just delete the old ones, and the images in /boot, and they will not be recreated.
Last year I posted about how to configure "locales" in Debian or Ubuntu, using Ansible. Back then I did not know that there is an Ansible "debconf" module available, and I have no idea how I could miss it. Anyway, this makes things a bit easier, but not much.
First of all, the module let's you both set and query values. However because the "locales" package does not use debconf for the list of locales, but stores this list in /etc/locale.gen, things are still unnecessary complicated. But I managed to get it working without having to use an additional file as flag if this step was completed before.
Continue reading "Configuring "locales" in Debian and Ubuntu, using Ansible - Reloaded"
LXC is one of many available containerization solutions for Linux. Ansible has basic support for LXC integrated, which is fine if you do not intend to do much inside of the container (aka: fire & forget). My goal however is to start a full flavored container, and manage this container with Ansible as well. That's where things get a bit tricky, and looking around I couldn't find much documentation how to do this.
This posting describes my approach.
Continue reading "Ansible and LXC Containers"
After updating Linux packages, it sometimes is required to reboot the host. Debian and Ubuntu provide this information by the presence of a special file: /var/run/reboot-required. Ansible makes it easy to reboot a host, but there are a few aspects which need attention.
Continue reading "Execute a required reboot, with Ansible (Debian/Ubuntu)"
Missing locale settings will result in error messages like:
ads@ansible-ubuntu-03:~$ perl --version
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_PAPER = "de_DE.UTF-8",
LC_ADDRESS = "de_DE.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_MEASUREMENT = "de_DE.UTF-8",
LC_TIME = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
This can be configured, but unfortunately the "locale" package does not use the debconf database. This makes it more complicated to configure the locales settings using Ansible.
Continue reading "Configuring "locales" in Debian and Ubuntu, using Ansible"
When using XEN you can start virtual machines using "xm create". However after rebooting the host machine, the virtual machines are not started automatically. This minor problem is easy to solve. Let's say the configuration for the virtual machine is in /etc/xen/pluto.cfg:
mkdir -p /etc/xen/auto
cd /etc/xen/auto
ln -s /etc/xen/pluto.cfg .
cd -
This creates a link to autostart the virtual machine. The source of the symlink must be an absolute path.
In addition to the symlink, the "pluto.cfg" file must contain the following entries:
on_xend_stop = 'shutdown'
on_xend_start = 'start'
If you are using the "xm" toolkit, you can add these two lines to the template in /etc/xen-tools/xm.tmpl. After these changes, "pluto" starts when the host system starts.
If the calendar plugin Thunderbird Lightning stops working after a system upgrade (Ubuntu 8.04 -> 9.10 in my case), just reinstall the libstdc++5 library. Before installing the library you have to deinstall the plugin from thunderbird and reinstall it afterwards.
The Thunderbird behaviour is a bit curious: the calendar and todo tabs are shown, but all previously defined calendars are missing. In addition it is not possible to add new calendars, these options are greyed out.
Eine standardmäßige Ubuntu Installation ist der Meinung, als Papierformat "Letter" nutzen zu wollen.
Dies lässt sich folgendermaßen umstellen:
sudo dpkg-reconfigure libpaper1
Und dann A4 als Papierformat auswählen. Danach ist der Cups Printservice noch neu zu starten:
sudo /etc/init.d/cups restart
Now that the shiny new Ubuntu 9.04 is available, the servers with packages for 7.10 are closed down. Ok, how to upgrade a server, if you can't even install the "update-manager-core" package - because of the missing repositories?
(Backup and) edit your /etc/apt/sources.list file, comment out any third-party software sources. Replace every occurence of the old distribution name ("gutsy" in question) with the new name ("hardy" for the latest Long-Time-Support release, or a newer release). Now start a screen in case your network connection breaks during the upgrade.
aptitude clean
aptitude update (make sure that you don't see any 404 errors here)
aptitude dist-upgrade (that's the old name, the new one is full-upgrade)
Reboot your box and voila you should have an upgraded system.