抱歉,这篇文章太长了,但这些是我遵循的步骤,并在另一台 WSL 18.04 安装(Windows 版本 1903)上复制了该问题。
环境:
主机:Windows 10 版本 1909
WSL:
pacal683@PC-0079241: $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
程序:
遵循以下步骤: 如何在 Linux 上从源代码安装最新的 OpenSSL 版本 除了替代的 openssl-1.1.1g。
观察结果:
升级完成后,用户(pacal683)已配置完整路径,可以正常操作。注销后,再次打开 bash 终端,结果路径不完整,即命令/usr/bin/which
失败:
pacal683@PC-0079241:~$ which openssl
pacal683@PC-0079241:~$
如果sudo su -
要提升权限,该命令有效:
root@PC-0079241:~# which openssl
/usr/local/ssl/bin/openssl
root@PC-0079241:~#
[Text](https://stackoverflow.com)
并且,当 root 时,su - pacal683
可以工作:
root@PC-0079241:~# su - pacal683
pacal683@PC-0079241:~$ which openssl
/usr/local/ssl/bin/openssl
在用户提示下(没有正确的路径),采购/etc/environment
工作:
pacal683@PC-0079241:~$ source /etc/environment
pacal683@PC-0079241:~$ which openssl
/usr/local/ssl/bin/openssl
结论:
我想到了一些解决方案,并且有效。我希望该解决方案适用于所有用户:
- 修改 pacal683 的个人
~/.bashrc
来源/etc/environment
(不是系统范围的) 添加代码到
/etc/profile.d/apps-bin-path.sh
:# Expand $PATH to include the directory where new openssl path is located: openssl_bin_path="/usr/local/ssl/bin" if [ -n "${PATH##*${openssl_bin_path}}" -a -n "${PATH##*${openssl_bin_path}:*}" ]; then export PATH=$PATH:${openssl_bin_path} fi ##EOF
修改正确的系统文件,以使任何创建 WSL 环境的用户都能像在完整的 18.04 LTS 系统上一样继续操作。
我更喜欢#3,谁知道纠正此问题的正确位置,并可能将其推送到 WSL 发行版?