327 lines
5.7 KiB
Bash
327 lines
5.7 KiB
Bash
#!/bin/bash
|
|
|
|
# 设置错误时立即退出
|
|
set -e
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 日志函数
|
|
log_info() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_warn() {
|
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# 安装系统工具
|
|
install_system_tools() {
|
|
log_info "安装系统工具..."
|
|
|
|
# 安装基础工具
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
curl \
|
|
wget \
|
|
git \
|
|
vim \
|
|
htop \
|
|
tmux \
|
|
tree \
|
|
ripgrep \
|
|
fd-find \
|
|
bat \
|
|
exa \
|
|
duf \
|
|
procs \
|
|
sd \
|
|
tealdeer \
|
|
bottom \
|
|
hyperfine \
|
|
tokei \
|
|
bandwhich \
|
|
zoxide \
|
|
fzf \
|
|
jq \
|
|
yq \
|
|
httpie \
|
|
asciinema \
|
|
tldr \
|
|
neofetch \
|
|
onefetch \
|
|
lolcat \
|
|
figlet \
|
|
cowsay \
|
|
fortune \
|
|
sl \
|
|
cmatrix \
|
|
pipes.sh \
|
|
boxes \
|
|
toilet \
|
|
rig \
|
|
nyancat \
|
|
oneko \
|
|
xcowsay \
|
|
xeyes \
|
|
x11-apps
|
|
|
|
log_info "系统工具安装完成"
|
|
}
|
|
|
|
# 安装开发工具
|
|
install_dev_tools() {
|
|
log_info "安装开发工具..."
|
|
|
|
# 安装构建工具
|
|
sudo apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
ninja-build \
|
|
pkg-config \
|
|
libssl-dev \
|
|
libffi-dev \
|
|
libxml2-dev \
|
|
libxslt1-dev \
|
|
zlib1g-dev \
|
|
libbz2-dev \
|
|
libreadline-dev \
|
|
libsqlite3-dev \
|
|
libncursesw5-dev \
|
|
xz-utils \
|
|
tk-dev \
|
|
libxmlsec1-dev \
|
|
libffi-dev \
|
|
liblzma-dev
|
|
|
|
# 安装调试工具
|
|
sudo apt-get install -y \
|
|
gdb \
|
|
lldb \
|
|
valgrind \
|
|
strace \
|
|
ltrace \
|
|
perf \
|
|
sysstat \
|
|
iotop \
|
|
iftop \
|
|
netstat \
|
|
nmap \
|
|
tcpdump \
|
|
wireshark
|
|
|
|
# 安装容器工具
|
|
sudo apt-get install -y \
|
|
docker.io \
|
|
docker-compose \
|
|
podman \
|
|
buildah \
|
|
skopeo
|
|
|
|
# 安装云工具
|
|
sudo apt-get install -y \
|
|
awscli \
|
|
azure-cli \
|
|
gcloud-sdk \
|
|
kubectl \
|
|
helm \
|
|
terraform \
|
|
ansible
|
|
|
|
log_info "开发工具安装完成"
|
|
}
|
|
|
|
# 安装终端工具
|
|
install_terminal_tools() {
|
|
log_info "安装终端工具..."
|
|
|
|
# 安装终端模拟器
|
|
sudo apt-get install -y \
|
|
kitty \
|
|
alacritty \
|
|
terminator \
|
|
tilix \
|
|
guake
|
|
|
|
# 安装终端增强工具
|
|
sudo apt-get install -y \
|
|
zsh \
|
|
oh-my-zsh \
|
|
powerline \
|
|
fonts-powerline \
|
|
fonts-nerd-font \
|
|
fonts-noto-color-emoji \
|
|
fonts-noto-cjk \
|
|
fonts-noto-cjk-extra
|
|
|
|
log_info "终端工具安装完成"
|
|
}
|
|
|
|
# 安装系统监控工具
|
|
install_monitoring_tools() {
|
|
log_info "安装系统监控工具..."
|
|
|
|
# 安装系统监控工具
|
|
sudo apt-get install -y \
|
|
glances \
|
|
gotop \
|
|
gtop \
|
|
vtop \
|
|
bashtop \
|
|
bpytop \
|
|
btop \
|
|
s-tui \
|
|
stress \
|
|
stress-ng \
|
|
sysbench \
|
|
iperf3 \
|
|
speedtest-cli
|
|
|
|
log_info "系统监控工具安装完成"
|
|
}
|
|
|
|
# 安装网络工具
|
|
install_network_tools() {
|
|
log_info "安装网络工具..."
|
|
|
|
# 安装网络工具
|
|
sudo apt-get install -y \
|
|
net-tools \
|
|
iftop \
|
|
iptraf-ng \
|
|
nethogs \
|
|
bmon \
|
|
speedtest-cli \
|
|
mtr \
|
|
traceroute \
|
|
nmap \
|
|
netcat \
|
|
socat \
|
|
ngrok \
|
|
cloudflared
|
|
|
|
log_info "网络工具安装完成"
|
|
}
|
|
|
|
# 安装安全工具
|
|
install_security_tools() {
|
|
log_info "安装安全工具..."
|
|
|
|
# 安装安全工具
|
|
sudo apt-get install -y \
|
|
ufw \
|
|
fail2ban \
|
|
rkhunter \
|
|
lynis \
|
|
chkrootkit \
|
|
clamav \
|
|
clamav-daemon \
|
|
auditd \
|
|
apparmor \
|
|
apparmor-utils
|
|
|
|
log_info "安全工具安装完成"
|
|
}
|
|
|
|
# 配置工具
|
|
configure_tools() {
|
|
log_info "配置工具..."
|
|
|
|
# 配置zoxide
|
|
cat >> ~/.zshrc << EOF
|
|
# zoxide配置
|
|
eval "\$(zoxide init zsh)"
|
|
EOF
|
|
|
|
# 配置fzf
|
|
cat >> ~/.zshrc << EOF
|
|
# fzf配置
|
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
|
EOF
|
|
|
|
# 配置ripgrep
|
|
cat >> ~/.zshrc << EOF
|
|
# ripgrep配置
|
|
export RIPGREP_CONFIG_PATH=~/.ripgreprc
|
|
EOF
|
|
|
|
# 配置bat
|
|
cat >> ~/.zshrc << EOF
|
|
# bat配置
|
|
export BAT_THEME="TwoDark"
|
|
EOF
|
|
|
|
# 配置exa
|
|
cat >> ~/.zshrc << EOF
|
|
# exa配置
|
|
alias ls="exa"
|
|
alias ll="exa -l"
|
|
alias la="exa -la"
|
|
alias lt="exa --tree"
|
|
EOF
|
|
|
|
# 配置duf
|
|
cat >> ~/.zshrc << EOF
|
|
# duf配置
|
|
alias df="duf"
|
|
EOF
|
|
|
|
# 配置procs
|
|
cat >> ~/.zshrc << EOF
|
|
# procs配置
|
|
alias ps="procs"
|
|
EOF
|
|
|
|
# 配置bottom
|
|
cat >> ~/.zshrc << EOF
|
|
# bottom配置
|
|
alias htop="btm"
|
|
EOF
|
|
|
|
# 配置tldr
|
|
cat >> ~/.zshrc << EOF
|
|
# tldr配置
|
|
alias help="tldr"
|
|
EOF
|
|
|
|
log_info "工具配置完成"
|
|
}
|
|
|
|
# 主函数
|
|
main() {
|
|
log_info "开始安装系统工具..."
|
|
|
|
# 安装系统工具
|
|
install_system_tools
|
|
|
|
# 安装开发工具
|
|
install_dev_tools
|
|
|
|
# 安装终端工具
|
|
install_terminal_tools
|
|
|
|
# 安装系统监控工具
|
|
install_monitoring_tools
|
|
|
|
# 安装网络工具
|
|
install_network_tools
|
|
|
|
# 安装安全工具
|
|
install_security_tools
|
|
|
|
# 配置工具
|
|
configure_tools
|
|
|
|
log_info "系统工具安装完成!"
|
|
log_info "请运行 'source ~/.zshrc' 或重新打开终端以使环境变量生效。"
|
|
}
|
|
|
|
# 执行主函数
|
|
main |