如何在我的 Alpine Linux LXD(Linux容器)虛擬機(VM)中安裝 bash shell?
Alpine Linux 自帶 BusyBox 工具。它被評為“嵌入式 Linux 的瑞士軍刀”。BusyBox 將許多通用 UNIX 實用程序的小版本合並到一個 /bin/sh 路徑下的小型可執行文件中。默認情況下,BusyBox 和 Alpine Linux 不包含 bash。
如何在 Alpine Linux 中安裝 bash?
安裝 bash 很容易,但這並不意味着 busybox 的命令符不見了。語法如下:
# apk update # apk upgrade # apk add bash
示例輸出如下:
(1/5) Installing ncurses-terminfo-base (6.0-r7)
(2/5) Installing ncurses-terminfo (6.0-r7)
(3/5) Installing ncurses-libs (6.0-r7)
(4/5) Installing readline (6.3.008-r5)
(5/5) Installing bash (4.3.48-r1)
Executing bash-4.3.48-r1.post-install
Executing busybox-1.26.2-r5.trigger OK: 14 MiB in 21 packages
安裝 bash 文檔,請輸入:
# apk add bash-doc
安裝 bash 自動命令補全,請運行:
# apk add bash-completion
示例如下:
圖1:如何在 Alpine Linux 中成功運行 bash
使用 bash 作為 shell,需要輸入 bash:
$ bash
需要從主機登錄到 Alpine Linux LXD 虛擬機,請輸入:
$ lxc exec alpine-lxd-vm-name-here bash
需要將 root shell 更改為 bash,請輸入:
# vi /etc/passwd
查找用戶名和默認 shell,比如 /bin/ash:
root:x:0:0:root:/root:/bin/ash
然后用 /bin/bash 替換:
root:x:0:0:root:/root:/bin/bash
自定義 bash shell
輸出一個示例文件:
cat ~/.bashrc
示例輸出:
alias update='apk update && apk upgrade' export HISTTIMEFORMAT="%d/%m/%y %T " export PS1='\u@\h:\W \$ ' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' source /etc/profile.d/bash_completion.sh
請參閱自定義 bash shell 環境的 wiki 頁面以獲取更多信息。