宁夏网站备案免费主题大全软件下载
2026/2/7 17:01:43 网站建设 项目流程
宁夏网站备案,免费主题大全软件下载,jsp servlet做博客网站,wordpress 网址 代码本文描述如何将Bash版本从5.1.8升级到最新的5.3。 #x1f4a1; Bash 5.1.8 是系统默认安装版本#xff0c;可以理解为是稳定和成熟的版本。本文只探讨升级过程#xff0c;对于生产环境#xff0c;不建议升级。 我的Linux环境为Oracle Linux 9.7, Bash版本5.1.8#xff…本文描述如何将Bash版本从5.1.8升级到最新的5.3。 Bash 5.1.8 是系统默认安装版本可以理解为是稳定和成熟的版本。本文只探讨升级过程对于生产环境不建议升级。我的Linux环境为Oracle Linux 9.7, Bash版本5.1.8$echo$MACHTYPEx86_64-redhat-linux-gnu $cat/etc/redhat-release Red Hat Enterprise Linux release9.7(Plow)$bash--version GNU bash, version5.1.8(1)-release(x86_64-redhat-linux-gnu)Copyright(C)2020Free Software Foundation, Inc. License GPLv3: GNU GPL version3or laterhttp://gnu.org/licenses/gpl.htmlThis isfreesoftware;you arefreeto change and redistribute it. There is NO WARRANTY, to the extent permitted by law.从安装包中查看当前Bash的版本信息$ yum list installed|grepbashbash.x86_645.1.8-9.el9 System $ yum infobashLast metadata expiration check:0:01:51 ago on Fri16Jan202606:48:42 AM UTC. Installed Packages Name:bashVersion:5.1.8 Release:9.el9 Architecture:x86_64 Size:7.4M Source:bash-5.1.8-9.el9.src.rpm Repository:System Summary:The GNU Bourne Again shell URL:https://www.gnu.org/software/bash License:GPLv3 Description:The GNU Bourne Again shell(Bash)is a shell orcommandlanguage:interpreter that is compatible with the Bourne shell(sh). Bash:incorporates useful features from the Korn shell(ksh)and the C shell:(csh). Mostshscripts can be run bybashwithout modification. Available Packages Name:bashVersion:5.1.8 Release:9.el9 Architecture:src Size:10M Source:None Repository:ol9_baseos_latest Summary:The GNU Bourne Again shell URL:https://www.gnu.org/software/bash License:GPLv3 Description:The GNU Bourne Again shell(Bash)is a shell orcommandlanguage:interpreter that is compatible with the Bourne shell(sh). Bash:incorporates useful features from the Korn shell(ksh)and the C shell:(csh). Mostshscripts can be run bybashwithout modification.试图自动升级$ sudo yum update bash Last metadata expiration check: 0:35:33 ago on Fri 16 Jan 2026 06:15:31 AM UTC. Dependencies resolved. Nothing to do. Complete!以上输出表示基于已配置的官方repository此bash已是最新版。实际上5.1这个小版本中最新的是5.1.16。系统认为5.1.8是最新应该是处于稳定性的考虑。因为Bash是核心组件官方通常不会通过 yum update 将其进行升级最多只会推送同一个小版本系列的安全补丁。由于不能自动升级只能下载源码手工安装了。以下安装过程参考 GNU Bash手册 10.1 Basic Installation。目前Bash版本最新为5.3。首先从GNU官网下载Bash源码$wgethttps://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz $ls-lh --time-stylelong-iso total 11M -rw-r--r--.1root root 11M2025-07-3014:07 bash-5.3.tar.gz可以看到源码的日期为25年7月30日大小11M。解压展开后近40M:$tar-zxf bash-5.3.tar.gz $lsbash-5.3 bash-5.3.tar.gz $du-sh bash-5.3 39M bash-5.3然后进入标准的安装过程中间的大量输出省略$cdbash-5.3/# configure 耗时 38秒$ ./coechnfigure# make 耗时1分12秒$make# tests耗时2分10秒报了很多警告但$?仍是0$maketests# install 耗时12秒$makeinstall整个过程不到5分钟还是挺快的。没想到最慢的是下载源码。 默认安装目录为 /usr/local/lib/bash不会覆盖系统的 /bin/bash。查看安装的版本$ /usr/local/bin/bash --version GNU bash, version5.3.0(1)-release(x86_64-pc-linux-gnu)Copyright(C)2025Free Software Foundation, Inc. License GPLv3: GNU GPL version3or laterhttp://gnu.org/licenses/gpl.htmlThis isfreesoftware;you arefreeto change and redistribute it. There is NO WARRANTY, to the extent permitted by law.重新登录终端发现默认的路径已经指向新版本bash$whichbash/usr/local/bin/bash $bash--version GNU bash, version5.3.0(1)-release(x86_64-pc-linux-gnu)...其实是因为PATH中/usr/local/bin在/usr/bin之前如果不是就自己改一下$echo$PATH/home/vagrant/.local/bin:/home/vagrant/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin $ls-lh --time-stylelong-iso /usr/bin/bash -rwxr-xr-x.1root root1.4M2024-05-01 05:59 /usr/bin/bash $ls-lh --time-stylelong-iso /usr/local/bin/bash -rwxr-xr-x.1root root4.4M2026-01-16 07:26 /usr/local/bin/bash但是man page还是老版本的$man-Pcatbash|tail-1 GNU Bash5.12020October29BASH(1)$find/ -name bash.1.gz /usr/share/man/man1/bash.1.gz就下来就有两种方式供选择一个是新老Bash共存一个是只想用新版本。稳妥起见建议新老版本共存。此时可以用符号链接和别名方式。例如# cd /usr/bin# ls -l bash*-rwxr-xr-x.1root root1389064May12024bash# ln -s /usr/local/bin/bash bash52# ls -l bash*-rwxr-xr-x.1root root1389064May12024bashlrwxrwxrwx.1root root19Jan1608:25 bash52 -/usr/local/bin/bash# bash52# echo $BASH_VERSION5.3.0(1)-release# echo $MANPATH/usr/share/man:# alias man52MANPATH/usr/local/share/man man# man52 -P cat bash| tail -1GNU Bash5.32025April7BASH(1)如果想用新版本彻底替代老版本以下是一些标准的方法sudobash-cecho /usr/local/bin/bash /etc/shellschsh -s /usr/local/bin/bash我并没有执行因为chsh还未安装。不过以下给出了一种方式例如只让某个用户例如vagrant使用最新的Bash# usermod -s /usr/local/bin/bash vagrant# grep vagrant /etc/passwdvagrant:x:1000:1000::/home/vagrant:/usr/local/bin/bash其实就是把用户的login shell改了。用putty试了一下可以的Using usernamevagrant.Authenticating with public keyvagrantWelcome to Oracle Linux Server release9.5(GNU/Linux5.15.0-206.153.7.el8uek.x86_64)The Oracle Linux End-User License Agreement can be viewed here: * /usr/share/eula/eula.en_US For additional packages, updates, documentation and community help, see: * https://yum.oracle.com/ Last login: Fri Jan1607:57:302026from10.0.2.2[vagrantol9-vagrant ~]$echo$VERSION_INFO[vagrantol9-vagrant ~]$echo$BASH_VERSION5.3.0(1)-release

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询