AlmaLinux 高效工作站环境搭建
本指南详细介绍如何在 AlmaLinux 上搭建一个高效的工作站环境,涵盖桌面优化、开发工具配置、生产力工具安装和系统调优等方面。
桌面环境优化
GNOME 桌面定制
基础配置
bash
# 安装GNOME桌面环境 (如果尚未安装)
sudo dnf group install "Workstation" -y
# 安装GNOME调整工具
sudo dnf install gnome-tweaks gnome-extensions-app -y
# 安装额外的GNOME扩展
sudo dnf install gnome-shell-extension-* -y
主题和外观
bash
# 安装额外图标主题
sudo dnf install papirus-icon-theme numix-icon-theme -y
# 安装GTK主题
sudo dnf install arc-theme adapta-gtk-theme -y
# 安装字体
sudo dnf install google-noto-fonts-* google-roboto-fonts liberation-fonts -y
sudo dnf install powerline-fonts fira-code-fonts -y
# 配置字体渲染
echo 'Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintslight
Xft.rgba: rgb' > ~/.Xresources
扩展推荐
bash
# 推荐的GNOME扩展
1. Dash to Dock # 任务栏停靠
2. User Themes # 用户主题支持
3. Workspace Indicator # 工作区指示器
4. System Monitor # 系统监控
5. Clipboard Indicator # 剪贴板管理
6. Weather # 天气显示
7. Applications Menu # 应用程序菜单
8. Places Status Indicator # 位置指示器
KDE Plasma 桌面
安装KDE
bash
# 安装KDE Plasma桌面
sudo dnf group install "KDE Plasma Workspaces" -y
# 安装KDE应用套件
sudo dnf group install "KDE Applications" -y
# 切换到KDE桌面
# 注销后在登录界面选择KDE
KDE定制
bash
# 安装KDE定制工具
sudo dnf install kconf_update kcm-fcitx -y
# 安装Plasma主题
sudo dnf install plasma-workspace-wallpapers plasma-themes -y
# 配置KDE Connect (手机连接)
sudo dnf install kdeconnect -y
开发环境配置
编程语言环境
Python 开发环境
bash
# 安装Python开发环境
sudo dnf install python3-pip python3-venv python3-wheel -y
sudo dnf groupinstall "Python 3" -y
# 安装常用Python工具
pip3 install --user virtualenv pipenv poetry
pip3 install --user jupyter notebook ipython
pip3 install --user requests beautifulsoup4 pandas numpy
# 配置虚拟环境
mkdir ~/python-projects
cd ~/python-projects
python3 -m venv myproject
source myproject/bin/activate
Node.js 开发环境
bash
# 安装Node.js和npm
sudo dnf install nodejs npm -y
# 安装yarn包管理器
sudo npm install -g yarn
# 安装常用全局包
sudo npm install -g @vue/cli create-react-app typescript
sudo npm install -g eslint prettier nodemon pm2
# 配置npm镜像 (中国用户)
npm config set registry https://registry.npmmirror.com
Java 开发环境
bash
# 安装Java开发工具
sudo dnf install java-11-openjdk-devel java-17-openjdk-devel -y
sudo dnf install maven gradle -y
# 设置默认Java版本
sudo alternatives --config java
sudo alternatives --config javac
# 验证安装
java -version
javac -version
mvn -version
Go 开发环境
bash
# 安装Go语言
sudo dnf install golang -y
# 配置Go环境变量
echo 'export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
# 创建Go工作目录
mkdir -p ~/go/{bin,src,pkg}
# 验证安装
go version
代码编辑器和IDE
Visual Studio Code
bash
# 添加微软仓库
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo tee /etc/yum.repos.d/vscode.repo <<EOF
[code]
name=Visual Studio Code
baseurl=https://packages.microsoft.com/yumrepos/vscode
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
EOF
# 安装VS Code
sudo dnf install code -y
# 推荐扩展列表
code --install-extension ms-python.python
code --install-extension ms-vscode.vscode-typescript-next
code --install-extension ms-vscode.vscode-json
code --install-extension bradlc.vscode-tailwindcss
code --install-extension esbenp.prettier-vscode
JetBrains 工具
bash
# 使用Toolbox安装
wget https://download.jetbrains.com/toolbox/jetbrains-toolbox-latest.tar.gz
tar -xzf jetbrains-toolbox-latest.tar.gz
cd jetbrains-toolbox-*/
./jetbrains-toolbox
# 或者直接安装IntelliJ IDEA
sudo dnf install java-11-openjdk-devel -y
wget https://download.jetbrains.com/idea/ideaIC-latest.tar.gz
tar -xzf ideaIC-latest.tar.gz
sudo mv idea-IC-* /opt/idea
sudo ln -s /opt/idea/bin/idea.sh /usr/local/bin/idea
Vim/Neovim 配置
bash
# 安装Neovim
sudo dnf install neovim -y
# 安装vim-plug插件管理器
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# 创建Neovim配置
mkdir -p ~/.config/nvim
cat > ~/.config/nvim/init.vim << 'EOF'
call plug#begin('~/.local/share/nvim/plugged')
Plug 'preservim/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'tpope/vim-fugitive'
Plug 'dense-analysis/ale'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
" 基本设置
set number
set relativenumber
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
EOF
生产力工具
办公软件套件
LibreOffice
bash
# 安装LibreOffice完整套件
sudo dnf group install "Office Suite and Productivity" -y
# 安装中文语言包
sudo dnf install libreoffice-langpack-zh-Hans -y
# 安装额外模板和扩展
sudo dnf install libreoffice-templates libreoffice-extensions -y
WPS Office (可选)
bash
# 下载WPS Office for Linux
wget https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/latest/wps-office-latest.x86_64.rpm
# 安装WPS Office
sudo dnf install ./wps-office-latest.x86_64.rpm -y
# 安装中文字体 (解决字体问题)
sudo dnf install wqy-microhei-fonts wqy-zenhei-fonts -y
浏览器配置
Firefox 优化
bash
# Firefox已预装,进行优化配置
# 安装useful扩展:
# - uBlock Origin (广告拦截)
# - Bitwarden (密码管理)
# - Tree Style Tab (标签页管理)
# - Multi-Account Containers (容器标签)
# 配置Firefox性能
# about:config 中修改:
# browser.cache.disk.capacity: 1048576
# network.http.max-connections: 256
# network.http.max-persistent-connections-per-server: 8
Chrome/Chromium
bash
# 安装Chromium
sudo dnf install chromium -y
# 或安装Google Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo dnf install ./google-chrome-stable_current_x86_64.rpm -y
多媒体工具
图像编辑
bash
# 安装GIMP
sudo dnf install gimp gimp-plugins-* -y
# 安装Inkscape (矢量图)
sudo dnf install inkscape -y
# 安装图像查看器
sudo dnf install eog gthumb shotwell -y
# 安装截图工具
sudo dnf install gnome-screenshot flameshot -y
音视频处理
bash
# 安装音频编辑器
sudo dnf install audacity -y
# 安装视频播放器
sudo dnf install vlc mpv -y
# 安装视频编辑器
sudo dnf install kdenlive openshot -y
# 安装多媒体编解码器
sudo dnf install gstreamer1-plugins-* -y
sudo dnf install ffmpeg -y
终端环境优化
Zsh 和 Oh My Zsh
安装配置Zsh
bash
# 安装Zsh
sudo dnf install zsh -y
# 安装Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 设置Zsh为默认Shell
chsh -s $(which zsh)
Zsh 插件配置
bash
# 安装常用插件
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 编辑.zshrc配置
vim ~/.zshrc
# 修改plugins行:
# plugins=(git zsh-autosuggestions zsh-syntax-highlighting sudo extract z)
终端模拟器
Alacritty (高性能终端)
bash
# 安装Alacritty
sudo dnf install alacritty -y
# 创建配置文件
mkdir -p ~/.config/alacritty
cat > ~/.config/alacritty/alacritty.yml << 'EOF'
window:
padding:
x: 10
y: 10
opacity: 0.9
font:
normal:
family: "Fira Code"
style: Regular
size: 12.0
colors:
primary:
background: '0x1e1e1e'
foreground: '0xd4d4d4'
EOF
Tmux 会话管理
bash
# 安装Tmux
sudo dnf install tmux -y
# 创建Tmux配置
cat > ~/.tmux.conf << 'EOF'
# 修改前缀键为Ctrl-a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 启用鼠标支持
set -g mouse on
# 窗口索引从1开始
set -g base-index 1
set -g pane-base-index 1
# 快速重载配置
bind r source-file ~/.tmux.conf \; display "配置已重载!"
# 分割窗口快捷键
bind | split-window -h
bind - split-window -v
EOF
系统优化调优
性能优化
内核参数调优
bash
# 创建自定义内核参数文件
sudo tee /etc/sysctl.d/99-workstation.conf << 'EOF'
# 虚拟内存调优
vm.swappiness=10
vm.vfs_cache_pressure=50
vm.dirty_ratio=15
vm.dirty_background_ratio=5
# 网络优化
net.core.rmem_max=26214400
net.core.wmem_max=26214400
net.ipv4.tcp_rmem=4096 87380 26214400
net.ipv4.tcp_wmem=4096 65536 26214400
# 文件系统优化
fs.file-max=65536
fs.inotify.max_user_watches=524288
EOF
# 应用设置
sudo sysctl -p /etc/sysctl.d/99-workstation.conf
磁盘性能优化
bash
# SSD优化 (如果使用SSD)
# 启用TRIM
sudo systemctl enable fstrim.timer
# 检查SSD状态
sudo fstrim -v /
# 调整I/O调度器
echo 'ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/scheduler}="mq-deadline"' | sudo tee /etc/udev/rules.d/60-ioschedulers.rules
CPU性能优化
bash
# 安装CPU频率调节工具
sudo dnf install cpupower -y
# 设置性能模式
sudo cpupower frequency-set -g performance
# 查看CPU信息
cpupower frequency-info
电源管理
笔记本电源优化
bash
# 安装TLP电源管理
sudo dnf install tlp tlp-rdw -y
sudo systemctl enable tlp.service
# 启动TLP
sudo systemctl start tlp.service
# 查看电源状态
sudo tlp-stat
# 配置TLP (可选)
sudo vim /etc/tlp.conf
桌面电源设置
bash
# 配置自动睡眠
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1800
# 配置屏幕亮度
gsettings set org.gnome.settings-daemon.plugins.power idle-dim true
gsettings set org.gnome.settings-daemon.plugins.power idle-brightness 30
安全与隐私
防火墙配置
bash
# 配置工作站防火墙
sudo firewall-cmd --set-default-zone=home
# 允许必要服务
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=samba-client
# 阻止不必要端口
sudo firewall-cmd --permanent --remove-service=dhcpv6-client
sudo firewall-cmd --reload
数据备份
自动备份配置
bash
# 安装rsync备份工具
sudo dnf install rsync -y
# 创建备份脚本
cat > ~/backup.sh << 'EOF'
#!/bin/bash
# 工作站自动备份脚本
BACKUP_DIR="/home/backup"
DATE=$(date +%Y%m%d_%H%M%S)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 备份重要目录
rsync -av --delete ~/Documents/ $BACKUP_DIR/documents_$DATE/
rsync -av --delete ~/Pictures/ $BACKUP_DIR/pictures_$DATE/
rsync -av --delete ~/.config/ $BACKUP_DIR/config_$DATE/
# 删除7天前的备份
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} +
echo "备份完成: $DATE"
EOF
chmod +x ~/backup.sh
# 添加到定时任务
crontab -e
# 添加: 0 18 * * * /home/用户名/backup.sh
开发工具链
版本控制
Git 配置
bash
# 配置Git用户信息
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# 配置Git别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
# 配置Git编辑器
git config --global core.editor vim
GitHub CLI
bash
# 安装GitHub CLI
sudo dnf install gh -y
# 登录GitHub
gh auth login
# 常用命令示例
gh repo clone username/repository
gh pr create --title "Feature: New feature"
gh issue list
容器技术
Docker/Podman
bash
# Podman已预装,配置rootless模式
systemctl --user enable podman.socket
# 配置容器别名
echo 'alias docker=podman' >> ~/.bashrc
# 安装Docker Compose
sudo dnf install docker-compose -y
# 安装Podman Compose
pip3 install --user podman-compose
数据库工具
数据库客户端
bash
# 安装数据库客户端
sudo dnf install mysql postgresql-server sqlite -y
# 安装DBeaver (通用数据库客户端)
wget https://dbeaver.io/files/dbeaver-ce-latest-stable.x86_64.rpm
sudo dnf install ./dbeaver-ce-latest-stable.x86_64.rpm -y
# 安装Redis客户端
sudo dnf install redis -y
网络工具
网络调试工具
bash
# 安装网络工具
sudo dnf install wireshark nmap netcat curl wget -y
sudo dnf install tcpdump iftop nethogs -y
# 配置Wireshark用户权限
sudo usermod -a -G wireshark $USER
VPN 客户端
bash
# 安装OpenVPN
sudo dnf install openvpn NetworkManager-openvpn-gnome -y
# 安装WireGuard
sudo dnf install wireguard-tools -y
# 安装ProtonVPN CLI (示例)
pip3 install --user protonvpn-cli
生产力优化
快捷键配置
bash
# 配置自定义快捷键
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Terminal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'gnome-terminal'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Super>Return'
时间管理工具
bash
# 安装番茄钟工具
flatpak install flathub org.gnome.Pomodoro
# 安装日历应用
sudo dnf install evolution gnome-calendar -y
# 安装笔记工具
flatpak install flathub md.obsidian.Obsidian
sudo dnf install zim -y
自动化脚本
系统维护脚本
bash
# 创建系统清理脚本
cat > ~/system-cleanup.sh << 'EOF'
#!/bin/bash
echo "开始系统清理..."
# 清理包缓存
sudo dnf clean all
# 删除孤立包
sudo dnf autoremove -y
# 清理日志
sudo journalctl --vacuum-time=7d
# 清理临时文件
sudo rm -rf /tmp/*
rm -rf ~/.cache/*
# 清理用户垃圾箱
rm -rf ~/.local/share/Trash/*
echo "系统清理完成!"
EOF
chmod +x ~/system-cleanup.sh
# 添加到每周定时任务
crontab -e
# 添加: 0 9 * * 1 /home/用户名/system-cleanup.sh
通过以上配置,您可以在 AlmaLinux 上搭建一个功能完善、高效便捷的工作站环境,满足开发、办公和娱乐等多种需求。