I am using openSUSE 42.3 on WSL. During the last update I done (with
sudo zypper refresh && sudo zypper update), Bash was updated from version 4.3.42(1) to version 4.3-83.3.1.
I closed the Bash window (simply using
exit) and restarted Windows.
When Windows restarted, I re-opened the Bash window, and pressed Control+X+V. What Bash output is still the old version number.
GNU bash, version 4.3.42(1)-release (x86_64-suse-linux-gnu)
I checked the output of
zypper info bash, but it says version 4.3-83.3.1 is installed.
Loading repository data... Reading installed packages... Information for package bash: ----------------------------- Repository : oss_update Name : bash Version : 4.3-83.3.1 Arch : x86_64 Vendor : openSUSE Installed Size : 742.5 KiB Installed : Yes (automatically) Status : up-to-date Source package : bash-4.3-83.3.1.src Summary : The GNU Bourne-Again Shell Description : Bash is an sh-compatible command interpreter that executes commands read from standard input or from a file. Bash incorporates useful features from the Korn and C shells (ksh and csh). Bash is intended to be a conformant implementation of the IEEE Posix Shell and Tools specification (IEEE Working Group 1003.2).
I also checked the output of
zypper lr -d, but I don't see anything that would explain what is happening.
Why isn't the updated version of Bash being used?
I searched for any file with a name matching bash (with
sudo find /[^m]* -name "bash" -type f, where
/[^m]* is used to avoid the /mount directory, which is the only directory matching that pattern). The only file it finds is /bin/bash, for which the output of
/bin/bash --version is the following.
GNU bash, version 4.3.42(1)-release (x86_64-suse-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
How can Zypper think it installed an update for which I don't find the installed files?
As side note, I didn't alter the symbolic link Windows uses to start openSUSE, which means the Bash used from WSL is the one that for openSUSE is /bin/bash.