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