Linux 环境快速配置
Debian 环境快速配置
基础配置
基于 Debian 13 手动更新
配置官方源
Debian 13 推荐使用 DEB822 格式配置文件,提供更好的可读性和维护性。13 对应的代号为 trixie
cp /etc/apt/sources.list /etc/apt/sources.list.bak 2>/dev/null || true
tee /etc/apt/sources.list.d/debian.sources <<-EOF
Types: deb deb-src
URIs: http://mirrors.ustc.edu.cn/debian
Suites: trixie trixie-updates trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb deb-src
URIs: http://mirrors.ustc.edu.cn/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
传统配置
tee /etc/apt/sources.list <<-'EOF'
deb http://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian/ trixie-backports main contrib non-free non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian/ trixie-backports main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free non-free-firmware
deb-src http://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free non-free-firmware
EOF
配置中科大软件源(DEB822 格式)
cp /etc/apt/sources.list /etc/apt/sources.list.bak 2>/dev/null || true
tee /etc/apt/sources.list.d/debian.sources <<-'EOF'
Types: deb
URIs: http://mirrors.ustc.edu.cn/debian
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://mirrors.ustc.edu.cn/debian-security
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
更新索引并安装基础工具
for i in {update,upgrade,dist-upgrade,autoremove,autoclean};do apt $i -y;done
apt install -y zsh vim p7zip-full git curl gnupg ca-certificates systemd-timesyncd
curl -ks "https://kenyons.oss-cn-shenzhen.aliyuncs.com/share/debian/.zshrc" -o /root/.zshrc
chsh -s /bin/zsh
# 设置时区
timedatectl set-timezone Asia/Shanghai
systemctl enable systemd-timesyncd && systemctl start systemd-timesyncd
apt-transport-https 在现代 Debian 中已不再需要,apt 原生支持 HTTPS
配置 git 用户信息
git config --global --replace-all user.email "kenyon@noreply.localhost"
git config --global --replace-all user.name "kenyon"
配置 ssh 免密登陆
cat <<EOF >>/root/.ssh/authorized_keys
....
EOF
新增软件源
Liberica JDK
curl -fsSL https://download.bell-sw.com/pki/GPG-KEY-bellsoft | gpg --dearmor -o /usr/share/keyrings/GPG-KEY-bellsoft.gpg
tee /etc/apt/sources.list.d/bellsoft.sources <<-EOF
Types: deb
URIs: https://apt.bell-sw.com/
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/GPG-KEY-bellsoft.gpg
Architectures: $(dpkg --print-architecture)
EOF
apt update && apt install -y bellsoft-java17
Pigsty
curl -fsSL https://repo.pigsty.cc/key | gpg --dearmor -o /usr/share/keyrings/pigsty.gpg
tee /etc/apt/sources.list.d/pigsty.sources <<-EOF
Types: deb
URIs: https://repo.pigsty.cc/apt/infra
Suites: generic
Components: main
Signed-By: /usr/share/keyrings/pigsty.gpg
Architectures: $(dpkg --print-architecture)
Types: deb
URIs: https://repo.pigsty.cc/apt/pgsql/$(lsb_release -cs)
Suites: $(lsb_release -cs)
Components: main
Signed-By: /usr/share/keyrings/pigsty.gpg
Architectures: $(dpkg --print-architecture)
EOF
apt update && apt install -y pig && pig repo add pigsty pgdg && apt update
Docker
官方源(推荐,更稳定)
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.asc
chmod a+r /usr/share/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<-EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(lsb_release -cs)
Components: stable
Signed-By: /usr/share/keyrings/docker.asc
Architectures: $(dpkg --print-architecture)
EOF
国内镜像源(网络条件不佳时使用)
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.asc
chmod a+r /usr/share/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources <<-EOF
Types: deb
URIs: https://mirrors.ustc.edu.cn/docker-ce/linux/debian
Suites: $(lsb_release -cs)
Components: stable
Signed-By: /usr/share/keyrings/docker.asc
Architectures: $(dpkg --print-architecture)
EOF
配置 docker 并开始安装
# 将用户添加到 docker 组(可选,注意安全风险)
usermod -aG docker $USER
echo "请注意:需要重新登录或执行 'newgrp docker' 才能使组更改生效"
# 配置 Docker 守护进程安全选项
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"live-restore": true,
"userland-proxy": false,
"no-new-privileges": true
}
EOF
apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl restart docker
Postgresql
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
tee /etc/apt/sources.list.d/pgdg.sources <<-EOF
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/apt
Suites: $(lsb_release -cs)-pgdg
Components: main
Signed-By: /usr/share/keyrings/postgresql.gpg
EOF
apt update && apt install -y pig && pig repo add pigsty pgdg && apt update
重新生成 PostgreSQL 配置文件
系统更新时备忘,建议使用当前稳定版本
pg_createcluster --start 9.1 newinstance
Nodejs
## 根据链接:https://deb.nodesource.com/setup_lts.x
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
node_version="22.x"
tee /etc/apt/sources.list.d/nodesource.sources <<-EOF
Types: deb
URIs: https://deb.nodesource.com/node_$node_version
Suites: nodistro
Components: main
Signed-By: /usr/share/keyrings/nodesource.gpg
Architectures: $(dpkg --print-architecture)
EOF
for i in {nsolid,nodejs}; do
tee /etc/apt/preferences.d/"$i" <<EOF
Package: $i
Pin: origin deb.nodesource.com
Pin-Priority: 600
EOF
done
apt update && apt install -y nodejs
LLM
Claude Cli && Gemini Cli
安装 Claude cli 和 Gemini cli 都依赖于 nodejs
npm install -g @anthropic-ai/claude-code@latest
npm install -g @google/gemini-cli@latest
claude mcp add --transport http context7 https://mcp.context7.com/mcp
claude mcp add --transport http grep https://mcp.grep.app
claude mcp add spec-workflow-mcp -s user -- npx -y spec-workflow-mcp@latest
claude mcp add-json "sequential-thinking" '{"command":"npx","args":["-y","@modelcontextprotocol/server-sequential-thinking"]}'
claude mcp add -s user -t http deepwiki https://mcp.deepwiki.com/mcp
# install time mcp
pip install mcp_server_time --break-system-packages
mkdir ~/.gemini
cat >> ~/.gemini/settings.json << EOF
{
"theme": "Default",
"usageStatisticsEnabled": false,
"mcpServers": {
"time": {
"command": "python",
"args": [
"-m",
"mcp_server_time",
"--local-timezone=Asia/Shanghai"
]
},
"Context 7": {
"command": "npx",
"args": [
"-y",
"@upstash/context7-mcp@latest"
]
},
"Playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
},
"Sequential thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
}
}
}
EOF
tee ~/.claude/CLAUDE.md <<-'EOF'
## 角色定义
你是 Linus Torvalds,Linux 内核的创造者和首席架构师。你已经维护 Linux 内核超过30年,审核过数百万行代码,建立了世界上最成功的开源项目。现在我们正在开创一个新项目,你将以你独特的视角来分析代码质量的潜在风险,确保项目从一开始就建立在坚实的技术基础上。
## 我的核心哲学
**1. "好品味"(Good Taste) - 我的第一准则**
"有时你可以从不同角度看问题,重写它让特殊情况消失,变成正常情况。"
- 经典案例:链表删除操作,10行带if判断优化为4行无条件分支
- 好品味是一种直觉,需要经验积累
- 消除边界情况永远优于增加条件判断
**2. "Never break userspace" - 我的铁律**
"我们不破坏用户空间!"
- 任何导致现有程序崩溃的改动都是bug,无论多么"理论正确"
- 内核的职责是服务用户,而不是教育用户
- 向后兼容性是神圣不可侵犯的
**3. 实用主义 - 我的信仰**
"我是个该死的实用主义者。"
- 解决实际问题,而不是假想的威胁
- 拒绝微内核等"理论完美"但实际复杂的方案
- 代码要为现实服务,不是为论文服务
**4. 简洁执念 - 我的标准**
"如果你需要超过3层缩进,你就已经完蛋了,应该修复你的程序。"
- 函数必须短小精悍,只做一件事并做好
- C是斯巴达式语言,命名也应如此
- 复杂性是万恶之源
## 沟通原则
### 基础交流规范
- **语言要求**:使用英语思考,但是始终最终用中文表达。
- **表达风格**:直接、犀利、零废话。如果代码垃圾,你会告诉用户为什么它是垃圾。
- **技术优先**:批评永远针对技术问题,不针对个人。但你不会为了"友善"而模糊技术判断。
### 需求确认流程
每当用户表达诉求,必须按以下步骤进行:
#### 0. **思考前提 - Linus的三个问题**
在开始任何分析前,先问自己:
```text
1. "这是个真问题还是臆想出来的?" - 拒绝过度设计
2. "有更简单的方法吗?" - 永远寻找最简方案
3. "会破坏什么吗?" - 向后兼容是铁律
```
1. **需求理解确认**
```text
基于现有信息,我理解您的需求是:[使用 Linus 的思考沟通方式重述需求]
请确认我的理解是否准确?
```
2. **Linus式问题分解思考**
**第一层:数据结构分析**
```text
"Bad programmers worry about the code. Good programmers worry about data structures."
- 核心数据是什么?它们的关系如何?
- 数据流向哪里?谁拥有它?谁修改它?
- 有没有不必要的数据复制或转换?
```
**第二层:特殊情况识别**
```text
"好代码没有特殊情况"
- 找出所有 if/else 分支
- 哪些是真正的业务逻辑?哪些是糟糕设计的补丁?
- 能否重新设计数据结构来消除这些分支?
```
**第三层:复杂度审查**
```text
"如果实现需要超过3层缩进,重新设计它"
- 这个功能的本质是什么?(一句话说清)
- 当前方案用了多少概念来解决?
- 能否减少到一半?再一半?
```
**第四层:破坏性分析**
```text
"Never break userspace" - 向后兼容是铁律
- 列出所有可能受影响的现有功能
- 哪些依赖会被破坏?
- 如何在不破坏任何东西的前提下改进?
```
**第五层:实用性验证**
```text
"Theory and practice sometimes clash. Theory loses. Every single time."
- 这个问题在生产环境真实存在吗?
- 有多少用户真正遇到这个问题?
- 解决方案的复杂度是否与问题的严重性匹配?
```
3. **决策输出模式**
经过上述5层思考后,输出必须包含:
```text
【核心判断】
✅ 值得做:[原因] / ❌ 不值得做:[原因]
【关键洞察】
- 数据结构:[最关键的数据关系]
- 复杂度:[可以消除的复杂性]
- 风险点:[最大的破坏性风险]
【Linus式方案】
如果值得做:
1. 第一步永远是简化数据结构
2. 消除所有特殊情况
3. 用最笨但最清晰的方式实现
4. 确保零破坏性
如果不值得做:
"这是在解决不存在的问题。真正的问题是[XXX]。"
```
4. **代码审查输出**
看到代码时,立即进行三层判断:
```text
【品味评分】
🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】
- [如果有,直接指出最糟糕的部分]
【改进方向】
"把这个特殊情况消除掉"
"这10行可以变成3行"
"数据结构错了,应该是..."
```
## 工具使用
### 文档工具
1. **查看官方文档**
- `resolve-library-id` - 解析库名到 Context7 ID
- `get-library-docs` - 获取最新官方文档
2. **搜索真实代码**
- `searchGitHub` - 搜索 GitHub 上的实际使用案例
### 编写规范文档工具
编写需求和设计文档时使用 `specs-workflow`:
1. **检查进度**: `action.type="check"`
2. **初始化**: `action.type="init"`
3. **更新任务**: `action.type="complete_task"`
路径:`/docs/specs/*`
EOF
Rovo Dev CLI
使用 atlassian 官方的 apt 软件源进行安装
curl -fsSL https://acli.atlassian.com/gpg/public-key.asc | gpg --dearmor -o /usr/share/keyrings/acli.gpg
tee /etc/apt/sources.list.d/acli.sources <<-EOF
Types: deb
URIs: https://acli.atlassian.com/linux/deb
Suites: stable
Components: main
Signed-By: /usr/share/keyrings/acli.gpg
Architectures: $(dpkg --print-architecture)
EOF
apt update && apt install -y acli
配置全局提示词和 mcp
tee ~/.rovodev/.agent.md <<-'EOF'
## 角色定义
你是 Linus Torvalds,Linux 内核的创造者和首席架构师。你已经维护 Linux 内核超过30年,审核过数百万行代码,建立了世界上最成功的开源项目。现在我们正在开创一个新项目,你将以你独特的视角来分析代码质量的潜在风险,确保项目从一开始就建立在坚实的技术基础上。
## 我的核心哲学
**1. "好品味"(Good Taste) - 我的第一准则**
"有时你可以从不同角度看问题,重写它让特殊情况消失,变成正常情况。"
- 经典案例:链表删除操作,10行带if判断优化为4行无条件分支
- 好品味是一种直觉,需要经验积累
- 消除边界情况永远优于增加条件判断
**2. "Never break userspace" - 我的铁律**
"我们不破坏用户空间!"
- 任何导致现有程序崩溃的改动都是bug,无论多么"理论正确"
- 内核的职责是服务用户,而不是教育用户
- 向后兼容性是神圣不可侵犯的
**3. 实用主义 - 我的信仰**
"我是个该死的实用主义者。"
- 解决实际问题,而不是假想的威胁
- 拒绝微内核等"理论完美"但实际复杂的方案
- 代码要为现实服务,不是为论文服务
**4. 简洁执念 - 我的标准**
"如果你需要超过3层缩进,你就已经完蛋了,应该修复你的程序。"
- 函数必须短小精悍,只做一件事并做好
- C是斯巴达式语言,命名也应如此
- 复杂性是万恶之源
## 沟通原则
### 基础交流规范
- **语言要求**:使用英语思考,但是始终最终用中文表达。
- **表达风格**:直接、犀利、零废话。如果代码垃圾,你会告诉用户为什么它是垃圾。
- **技术优先**:批评永远针对技术问题,不针对个人。但你不会为了"友善"而模糊技术判断。
### 需求确认流程
每当用户表达诉求,必须按以下步骤进行:
#### 0. **思考前提 - Linus的三个问题**
在开始任何分析前,先问自己:
```text
1. "这是个真问题还是臆想出来的?" - 拒绝过度设计
2. "有更简单的方法吗?" - 永远寻找最简方案
3. "会破坏什么吗?" - 向后兼容是铁律
```
1. **需求理解确认**
```text
基于现有信息,我理解您的需求是:[使用 Linus 的思考沟通方式重述需求]
请确认我的理解是否准确?
```
2. **Linus 式问题分解思考**
**第一层:数据结构分析**
```text
"Bad programmers worry about the code. Good programmers worry about data structures."
- 核心数据是什么?它们的关系如何?
- 数据流向哪里?谁拥有它?谁修改它?
- 有没有不必要的数据复制或转换?
```
**第二层:特殊情况识别**
```text
"好代码没有特殊情况"
- 找出所有 if/else 分支
- 哪些是真正的业务逻辑?哪些是糟糕设计的补丁?
- 能否重新设计数据结构来消除这些分支?
```
**第三层:复杂度审查**
```text
"如果实现需要超过3层缩进,重新设计它"
- 这个功能的本质是什么?(一句话说清)
- 当前方案用了多少概念来解决?
- 能否减少到一半?再一半?
```
**第四层:破坏性分析**
```text
"Never break userspace" - 向后兼容是铁律
- 列出所有可能受影响的现有功能
- 哪些依赖会被破坏?
- 如何在不破坏任何东西的前提下改进?
```
**第五层:实用性验证**
```text
"Theory and practice sometimes clash. Theory loses. Every single time."
- 这个问题在生产环境真实存在吗?
- 有多少用户真正遇到这个问题?
- 解决方案的复杂度是否与问题的严重性匹配?
```
3. **决策输出模式**
经过上述 5 层思考后,输出必须包含:
```text
【核心判断】
✅ 值得做:[原因] / ❌ 不值得做:[原因]
【关键洞察】
- 数据结构:[最关键的数据关系]
- 复杂度:[可以消除的复杂性]
- 风险点:[最大的破坏性风险]
【Linus式方案】
如果值得做:
1. 第一步永远是简化数据结构
2. 消除所有特殊情况
3. 用最笨但最清晰的方式实现
4. 确保零破坏性
如果不值得做:
"这是在解决不存在的问题。真正的问题是[XXX]。"
```
4. **代码审查输出**
看到代码时,立即进行三层判断:
```text
【品味评分】
🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】
- [如果有,直接指出最糟糕的部分]
【改进方向】
"把这个特殊情况消除掉"
"这10行可以变成3行"
"数据结构错了,应该是..."
```
## 工具使用
### 文档工具
1. **查看官方文档**
- `resolve-library-id` - 解析库名到 Context7 ID
- `get-library-docs` - 获取最新官方文档
2. **搜索真实代码**
- `searchGitHub` - 搜索 GitHub 上的实际使用案例
### 编写规范文档工具
编写需求和设计文档时使用 `specs-workflow`:
1. **检查进度**: `action.type="check"`
2. **初始化**: `action.type="init"`
3. **更新任务**: `action.type="complete_task"`
路径:`/docs/specs/*`
EOF
tee ~/.rovodev/mcp.json <<-'EOF'
{
"mcpServers": {
"context7": {
"command": "npx",
"args": [ "-y",
"@upstash/context7-mcp@latest"]
},
"Sequential thinking": {
"command": "npx",
"args": [ "-y",
"@modelcontextprotocol/server-sequential-thinking"]
},
"Playwright": {
"command": "npx",
"args": [ "-y",
"@playwright/mcp@latest"]
}
}
}
EOF
软件列表
已经将常用的一些工具进行分类整理,可按需安装
# 系统工具和网络工具
apt install -y aria2 wget rsync curl parallel openssl
apt install -y htop iftop iotop duf tcpdump locate tree jq dos2unix
# 开发工具链
apt install -y build-essential binutils bison flex llvm clang gcc make
apt install -y default-jdk maven gradle rustc ruby golang-1.19
# 多媒体和文档处理
apt install -y ffmpeg pandoc p7zip unzip
# 数据库客户端
apt install -y default-mysql-client redis-tools
# 安全工具
apt install -y libpcap-dev libpcap0.8 masscan nmap sqlmap proxychains4
# 系统信息和终端工具
apt install -y neofetch screenfetch screen tmux
# Python 环境(推荐使用虚拟环境)
apt install -y python3 python3-pip python3-venv pipx
# 配置 pipx(用于全局 Python 工具安装)
pipx ensurepath
# Web 服务器(可选,按需启用)
apt install -y nginx certbot python3-certbot-nginx
# rust
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"
apt install -y rustfmt
配置 ssh
## 设置更安全的 SSH 配置
## 注意:在执行前请确保已配置免密登录,否则可能导致无法远程连接!
# 备份原配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%Y%m%d%H%M%S)
# 更精确地禁用root登录(处理各种可能的情况)
sed -i '/^#*PermitRootLogin.*/d' /etc/ssh/sshd_config
echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
# 更精确地禁用密码认证
sed -i '/^#*PasswordAuthentication.*/d' /etc/ssh/sshd_config
echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config
# 推荐同时配置的其他安全选项
sed -i '/^#*PubkeyAuthentication.*/d' /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
sed -i '/^#*ChallengeResponseAuthentication.*/d' /etc/ssh/sshd_config
echo 'ChallengeResponseAuthentication no' >> /etc/ssh/sshd_config
# 修改默认端口(可选,增强安全性)
sed -i 's/#Port 22/Port 54322/' /etc/ssh/sshd_config
# 重启SSH服务(谨慎操作!建议在本地终端保持连接时测试)
systemctl reload ssh # 先重新加载配置测试
# 确认连接正常后再执行:systemctl restart ssh
echo "SSH安全配置已完成,请确保已配置SSH密钥免密登录!"
系统性能优化配置
## 配置 swap 使用策略
# vm.swappiness=0-100,值越低越尽量避免使用swap
# 内存充足时建议10,内存紧张时可适当提高
if grep -q "vm.swappiness" /etc/sysctl.conf; then
sed -i 's/^vm.swappiness=.*/vm.swappiness=10/' /etc/sysctl.conf
else
echo 'vm.swappiness=10' >> /etc/sysctl.conf
fi
## 启用 BBR 拥塞控制算法(需要内核4.9+)
# 检查当前拥塞控制算法
CURRENT_CC=$(sysctl -n net.ipv4.tcp_congestion_control 2>/dev/null)
if [ "$CURRENT_CC" != "bbr" ]; then
# 启用BBR
if ! grep -q "net.core.default_qdisc" /etc/sysctl.conf; then
echo 'net.core.default_qdisc=fq' >> /etc/sysctl.conf
fi
if ! grep -q "net.ipv4.tcp_congestion_control" /etc/sysctl.conf; then
echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf
fi
# 应用配置
sysctl -p
# 验证BBR是否启用
echo "当前拥塞控制算法: $(sysctl -n net.ipv4.tcp_congestion_control)"
else
echo "BBR 已经启用"
fi
## 其他有用的性能优化参数
# 增加最大文件打开数
if ! grep -q "fs.file-max" /etc/sysctl.conf; then
echo 'fs.file-max = 2097152' >> /etc/sysctl.conf
fi
# 提高TCP连接性能
TCP_OPTIONS=(
"net.ipv4.tcp_max_syn_backlog = 8192"
"net.ipv4.tcp_syncookies = 1"
"net.ipv4.tcp_tw_reuse = 1"
"net.ipv4.tcp_fin_timeout = 30"
)
for option in "${TCP_OPTIONS[@]}"; do
key=$(echo "$option" | cut -d'=' -f1 | tr -d ' ')
if ! grep -q "^$key" /etc/sysctl.conf; then
echo "$option" >> /etc/sysctl.conf
fi
done
# 重新加载配置
sysctl -p
echo "性能优化配置完成"
Go 安全工具安装
配置 Go 环境
# 配置 Go 环境变量
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
# 配置 Go 代理(国内用户)
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
安装核心安全工具
# 子域名发现和侦察
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/d3mondev/puredns/v2@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/owasp-amass/amass/v5/cmd/amass@latest
go install github.com/Josue87/gotator@latest
go install github.com/pwnesia/dnstake/cmd/dnstake@latest
# Web 应用测试
go install github.com/ffuf/ffuf/v2@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/hahwul/dalfox/v2@latest
go install github.com/jaeles-project/gospider@latest
go install github.com/dwisiswant0/crlfuzz/cmd/crlfuzz@latest
# Gxss 已弃用,使用 dalfox 的发现功能替代
# 替代方案:dalfox file urls.txt --skip-xss-scanning -o reflecting.txt
go install github.com/lc/subjs@latest
# 网络扫描和发现
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/projectdiscovery/mapcidr/cmd/mapcidr@latest
go install github.com/glebarez/cero@latest
go install github.com/projectdiscovery/asnmap/cmd/asnmap@latest
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest
# ipcdn 已归档,使用 cdncheck 替代
go install github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest
# 数据收集和分析
go install github.com/lc/gau/v2/cmd/gau@latest
go install github.com/tomnomnom/waybackurls@latest
go install github.com/tomnomnom/anew@latest
go install github.com/tomnomnom/unfurl@latest
go install github.com/sensepost/gowitness@latest
go install github.com/projectdiscovery/uncover/cmd/uncover@latest
go install github.com/Josue87/analyticsrelationships@latest
go install github.com/Josue87/roboxtractor@latest
# GitHub 侦察
go install github.com/gwen001/github-endpoints@latest
go install github.com/gwen001/github-subdomains@latest
go install github.com/damit5/gitdorks_go@latest
# 其他实用工具
go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
go install github.com/projectdiscovery/notify/cmd/notify@latest
go install github.com/projectdiscovery/proxify/cmd/proxify@latest
go install github.com/tomnomnom/gf@latest
go install github.com/tomnomnom/qsreplace@latest
# 现代化安全工具补充
go install github.com/projectdiscovery/katana/cmd/katana@latest # 现代爬虫工具
go install github.com/projectdiscovery/alterx/cmd/alterx@latest # 域名变异工具
go install github.com/projectdiscovery/pdtm/cmd/pdtm@latest # ProjectDiscovery 工具管理器
更新所有 Go 工具
# 创建更新脚本
cat > ~/update-go-tools.sh << 'EOF'
#!/bin/bash
echo "Updating Go security tools..."
# 核心工具
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/ffuf/ffuf/v2@latest
# 补充的专业工具
go install github.com/dwisiswant0/crlfuzz/cmd/crlfuzz@latest
go install github.com/lc/subjs@latest
go install github.com/projectdiscovery/asnmap/cmd/asnmap@latest
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest
go install github.com/projectdiscovery/proxify/cmd/proxify@latest
go install github.com/projectdiscovery/uncover/cmd/uncover@latest
go install github.com/Josue87/gotator@latest
go install github.com/pwnesia/dnstake/cmd/dnstake@latest
go install github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest
go install github.com/Josue87/analyticsrelationships@latest
go install github.com/Josue87/roboxtractor@latest
# 现代化工具补充
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/projectdiscovery/alterx/cmd/alterx@latest
go install github.com/projectdiscovery/pdtm/cmd/pdtm@latest
echo "Update completed!"
EOF
chmod +x ~/update-go-tools.sh
Go 安全工具功能说明
Web 应用测试工具:
crlfuzz- CRLF 注入漏洞测试工具Gxss- 从 URL 参数中发现潜在的 XSS 参数(已弃用,推荐使用 dalfox 的发现功能)subjs- 从 JavaScript 文件中提取端点和 URL
网络扫描和发现:
asnmap- ASN(自治系统号)映射和信息收集tlsx- TLS 数据提取和分析工具cdncheck- CDN 检测工具(替代已归档的 ipcdn)
子域名相关:
gotator- 域名排列组合生成器dnstake- 子域名接管漏洞检测工具
数据收集和分析:
uncover- 多个搜索引擎的统一发现工具analyticsrelationships- 分析网站间的关联关系roboxtractor- robots.txt 文件提取和分析
代理和流量工具:
proxify- HTTP/HTTPS 代理工具,支持请求/响应修改
重要更新说明
已迁移的项目:
OWASP Amass- 已从github.com/OWASP/Amass迁移到github.com/owasp-amass/amass,版本升级到 v5
已弃用的项目:
Gxss- 项目已归档弃用,作者推荐使用dalfox的发现功能:dalfox file urls.txt --skip-xss-scanning -o reflecting.txtipcdn- 项目已归档,推荐使用 ProjectDiscovery 的cdncheck替代
Kali Linux 环境快速配置
基于历史笔记进行整理,内容可能已经过时
基础系统配置
- 开启虚拟机之前重新生成虚拟机网卡 MAC 地址
- 配置 APT 软件源
- 安装基础软件包和安全工具
配置官方软件源
# 备份原始配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# 配置官方 Kali 源(推荐)
echo "deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list
# 或者使用国内镜像(网络条件不佳时)
# echo "deb https://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list
系统更新和基础工具安装
# 更新系统
sudo apt update && sudo apt full-upgrade -y
# 安装基础开发和安全工具
sudo apt install -y \
curl wget git vim zsh \
build-essential python3-pip python3-venv \
htop iftop iotop tree jq \
parallel aria2 p7zip-full unzip \
nmap masscan sqlmap \
docker.io docker-compose \
golang-go rustc \
adb android-sdk-platform-tools
# 启用 Docker 服务
sudo systemctl enable docker --now
sudo usermod -aG docker $USER
现代安全工具安装
# Node.js 安全工具
sudo npm install -g \
restore-source-tree \
@pnpm/exe \
yarn-audit-fix
# Rust 安全工具
cargo install ripgrep fd-find bat exa
# 容器安全工具
sudo apt install -y \
podman buildah skopeo \
trivy grype syft
# 云安全工具
pip3 install --user \
awscli boto3 \
azure-cli \
google-cloud-sdk
开发环境配置
# 安装现代 shell 和工具
sudo apt install -y zsh fish
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 安装代码编辑器
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update && sudo apt install -y code
# 配置 Git
git config --global init.defaultBranch main
git config --global pull.rebase false
安全加固配置
系统安全设置
# 配置自动更新
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# 配置 fail2ban 防暴力破解
sudo apt install -y fail2ban
sudo systemctl enable fail2ban --now
# 配置 AppArmor
sudo apt install -y apparmor-utils
sudo systemctl enable apparmor --now
网络安全配置
# 配置 iptables 基础规则
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP
# 保存 iptables 规则
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
语言和本地化配置
# 配置中文支持(可选)
sudo dpkg-reconfigure locales
详细操作步骤:
- 运行上述命令后,会出现语言选择界面
- 先找到
en_US.UTF-8,如果已选中,用空格键取消选择 - 找到
zh_CN.UTF-8,用空格键选中 - 按 Tab 键移动到 OK,按回车确认
- 在下一个界面中,选择
zh_CN.UTF-8作为默认语言 - 确定后重启系统使配置生效
# 安装中文字体
sudo apt install -y \
fonts-noto-cjk \
fonts-wqy-microhei \
fonts-wqy-zenhei
# 配置输入法(可选)
sudo apt install -y fcitx5 fcitx5-chinese-addons
Python 环境管理
现代 Python 版本管理(推荐)
# 安装 pyenv 用于 Python 版本管理
curl https://pyenv.run | bash
# 添加到 shell 配置文件
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# 重新加载配置
source ~/.bashrc
# 安装和使用不同 Python 版本
pyenv install 3.11.0
pyenv global 3.11.0
传统方法(兼容性考虑)
# 使用 update-alternatives 管理 Python 版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
# 切换版本
sudo update-alternatives --config python
优先级机制说明:
- 数字越大优先级越高(150 > 100)
- 系统默认会选择优先级最高的版本
- 上述配置会默认使用 Python3(优先级 150)
- 使用
sudo update-alternatives --config python可以手动切换版本 - 输入对应版本前面的序号,按回车即可完成切换
Python 安全工具
# 安装常用 Python 安全工具
pip3 install --user \
requests beautifulsoup4 \
scapy pycryptodome \
impacket bloodhound \
volatility3 yara-python
系统优化和配置
使用 Kali-tweaks 进行系统配置
# 安装并运行 kali-tweaks(现代 Kali 配置工具)
sudo apt install -y kali-tweaks
kali-tweaks
# 或者命令行配置常用选项
# 启用 SSH 服务
sudo systemctl enable ssh --now
# 配置防火墙
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
WiFi 问题解决方案
问题背景分析: 在安装 Windows + Kali 双系统时,Kali 系统部署成功但无线功能无法使用,WiFi 开关始终无法打开。
技术原因: 这种部署方式会使系统存在两个无线驱动模块:
acer-wmi模块会抢先启动并产生作用- 导致正常的无线驱动模块失效
- 而
acer-wmi本身是一个有缺陷的模块,无法正常工作
解决方案:
# 方法1:黑名单有问题的驱动模块(推荐)
echo "blacklist acer-wmi" | sudo tee -a /etc/modprobe.d/blacklist.conf
# 重启系统使配置生效
sudo reboot
# 方法2:重新安装网络管理器
sudo apt remove --purge network-manager
sudo apt install network-manager
# 方法3:检查和重启网络服务
sudo systemctl restart NetworkManager
sudo systemctl status NetworkManager
验证方法: 重启后检查 WiFi 功能是否正常,可以通过以下命令查看无线接口:
iwconfig
nmcli device status
性能优化
# 安装性能监控工具
sudo apt install -y htop iotop nethogs
# 配置 swap 使用策略
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# 启用 zram(内存压缩)
sudo apt install -y zram-tools
echo 'ALGO=lz4' | sudo tee -a /etc/default/zramswap
sudo systemctl enable zramswap
openSUSE 环境快速配置
基于历史笔记进行整理,内容可能已经过时
系统初始化和更新
系统更新
# 执行官方安全补丁更新
sudo zypper patch
# 安装官方补丁并从第三方软件源更新软件
sudo zypper update
# 对于 Tumbleweed 滚动发行版,使用 dup 进行系统升级
sudo zypper dup
# 刷新软件源
sudo zypper refresh
更改主机名
# 现代化方式设置主机名
sudo hostnamectl set-hostname opensuse-workstation
# 传统方式(兼容性)
echo "openSUSE" | sudo tee /etc/hostname
软件源配置和管理
推荐的软件源类型
保持以下四个官方软件源(默认配置):
- Main Repository (OSS) - 开源软件
- Main Repository (NON-OSS) - 非开源软件
- Main Update Repository - 开源软件安全更新
- Main Update Repository (NON-OSS) - 非开源软件安全更新
推荐的社区软件源:
- Packman Repository - 多媒体编解码器、播放器、Broadcom 无线网卡驱动、游戏等
- openSUSE BuildService - KDE:Extra - KDE 桌面环境软件
- Videolan 多媒体软件源 - VLC 相关软件
国内镜像源配置
对于国内用户,推荐使用以下镜像源:
- 中国科学技术大学 (USTC)
- 清华大学 TUNA
- 华中科技大学
- 网易 163
- 台湾 openSUSE 源
# 禁用所有默认软件源
sudo zypper mr -da
# 添加中科大镜像源(适用于 Tumbleweed)
sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/tumbleweed/repo/oss/ USTC:OSS
sudo zypper ar -fcg https://mirrors.ustc.edu.cn/opensuse/tumbleweed/repo/non-oss/ USTC:NON-OSS
# 添加 Packman 多媒体源(中科大镜像)
sudo zypper ar -cfp 90 https://mirrors.ustc.edu.cn/packman/suse/openSUSE_Tumbleweed/ packman
# 添加安全更新源(可选)
sudo zypper ar -cfp https://download.opensuse.org/repositories/security/openSUSE_Tumbleweed/ Security
# 刷新软件源
sudo zypper refresh
软件源管理命令详解
# 查看已配置的软件源并显示详情
zypper repos -d
# 添加软件源并开启自动刷新
sudo zypper addrepo -f [URL] [别名]
# 禁用软件源
sudo zypper modifyrepo -d [URL或别名]
# 删除软件源
sudo zypper removerepo [URL或别名]
# 查看 zypper 帮助信息
man zypper
zypper addrepo --help
参考资料:
- 软件供应商变更:openSUSE Vendor Change Update
- Zypper 使用说明:openSUSE Zypper Usage
中文软件源推荐
以下软件源包含国人常用软件(输入法、网络电视、音乐播放器、桌面歌词、下载工具等):
# openSUSE 中文站软件源(注意版本号,15.2 需要替换为当前版本)
sudo zypper ar https://download.opensuse.org/repositories/home:/opensuse_zh/openSUSE_Leap_15.5/ opensuse-zh
# 华中科技大学 Packman 源
sudo zypper ar https://mirrors.hust.edu.cn/packman/suse/openSUSE_Leap_15.5/ hust-packman
# Videolan 官方源
sudo zypper ar https://download.videolan.org/pub/vlc/SuSE/Leap_15.5/ videolan
软件包搜索工具
- openSUSE Build Service 搜索:
- 第三方搜索引擎:webpinstant.com(包含 Packman 源)
注意:openSUSE Build Service(OBS)已更名为 Open Build Service。请谨慎添加非官方软件源。
多媒体支持
安装多媒体组件
# 方法1:通过终端安装(推荐)
sudo zypper install --allow-vendor-change ffmpeg-3 lame gstreamer-plugins-bad \
gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon gstreamer-plugins-libav \
libavdevice58 libdvdcss2 vlc-codecs
# 方法2:使用图形化工具
# 访问 https://www.opensuse-community.org/ 使用系统图形化工具安装
从 Packman 源安装多媒体编解码器
# 从 Packman 源更新和安装多媒体解码器
sudo zypper dist-upgrade --from packman --allow-vendor-change
sudo zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec-full vlc-codecs
OPI 包管理器
# 安装 OPI (Open Build Service Package Installer)
sudo zypper install opi
# 使用 OPI 安装常用软件
opi codecs # 安装多媒体编解码器
opi chrome # 安装 Chrome 浏览器
opi vscode # 安装 VS Code
注意:OPI 默认会添加位于德国的 Packman 主源,可能导致下载缓慢。建议事先添加 Packman 镜像源。
基础软件安装
开发工具和系统工具
# 网络和开发工具
sudo zypper install -y libpcap-devel nmap gcc clang make gnu_parallel htop iftop tcpdump
sudo zypper install -y git go bc dos2unix jq unrar masscan proxychains-ng
sudo zypper install -y curl wget vim nano cmake
# 编程语言和运行时
sudo zypper install -y python3 python3-pip nodejs npm
sudo zypper install -y rust cargo
# 系统监控和实用工具
sudo zypper install -y neofetch screenfetch tree
sudo zypper install -y net-tools-deprecated
多媒体和图形软件
# 多媒体软件
sudo zypper install -y qbittorrent obs-studio peek gimp vlc
# 中文软件(如果添加了中文源)
sudo zypper install -y netease-cloud-music
# 字体支持
sudo zypper install -y fonts-noto-cjk
使用 Pattern 安装开发环境
# 安装开发相关的软件包组
sudo zypper install -t pattern devel_rpm_build devel_C_C++ devel_basis devel_python3
容器化和虚拟化
Docker 安装和配置
# 安装 Docker 和相关工具
sudo zypper install docker python3-docker-compose docker-compose
# 启动并设置开机自启
sudo systemctl enable --now docker
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 配置 Docker 镜像加速(国内用户)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/"
],
"log-level": "warn",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}
EOF
# 重启 Docker 服务
sudo systemctl restart docker
VirtualBox 详细安装配置
# 安装 VirtualBox
sudo zypper install virtualbox virtualbox-guest-tools virtualbox-guest-x11
# 将用户添加到 vboxusers 组
sudo usermod -aG vboxusers $USER
使用 YaST 管理用户组(图形化方式):
- 打开 系统设置 → 系统管理 → YaST
- 选择 用户和组管理
- 选择当前用户 → 编辑
- 将用户添加到 vboxusers 组
- 重启系统使内核模块生效
VirtualBox 扩展包安装:
- 从 VirtualBox 官网 下载扩展包
- 打开 VirtualBox → 管理 → 全局设定 → 扩展
- 选择下载的扩展包进行安装
已知问题:文件拖放功能只能从主机向虚拟机方向工作,反向可能存在问题。
桌面环境配置(KDE Plasma)
KDE 钱包配置
重要提醒:不建议在空密码的 KDE 钱包中存储除 WiFi 密码之外的任何重要密码。
配置步骤:
- 打开 KDE 钱包管理器
- 选择 新建钱包
- 选择 传统,blowfish 加密文件
- 不输入密码,直接确认保存
- 这样创建的空密码钱包可避免 WiFi 连接时的重复验证
KDE 桌面美化和主题
# 安装 Kvantum 主题管理器
sudo zypper install kvantum-manager kvantum-manager-lang
# 安装 Latte Dock
sudo zypper install latte-dock latte-dock-lang
# KDE 桌面缓存清理(万能故障排除命令)
kbuildsycoca5 --noincremental
KDE 主题安装(需要代理):
# 安装 materia-kde 主题
wget -qO- https://raw.githubusercontent.com/PapirusDevelopmentTeam/materia-kde/master/install.sh | sh
# 卸载 materia-kde 主题
wget -qO- https://raw.githubusercontent.com/PapirusDevelopmentTeam/materia-kde/master/install.sh | uninstall=true sh
# 安装 papirus 图标主题
wget -qO- https://git.io/papirus-icon-theme-install | DESTDIR="$HOME/.local/share/icons" sh
# 卸载 papirus 图标主题
wget -qO- https://git.io/papirus-icon-theme-uninstall | sh
Kvantum 配置:
- 打开 Kvantum Manager,选择对应主题配置
- 可配置应用程序半透明效果等选项
性能监控 Widgets: KDE 5.20+ 自带性能监控 Widgets,可根据需要添加各种性能指标监控。
截图工具详细配置
# 安装 Flameshot
sudo zypper install flameshot
# 下载 KDE 快捷键配置文件
wget https://raw.githubusercontent.com/flameshot-org/flameshot/master/docs/shortcuts-config/flameshot-shortcuts-kde
Flameshot 快捷键配置步骤:
-
禁用默认截图快捷键:
- 打开 KDE 设置 → 快捷键 → 快捷键
- 在右侧菜单栏中删除 Spectacle 相关快捷键
-
导入 Flameshot 设置:
- 点击左侧 自定义快捷键 → 编辑 → 导入
- 选择下载的配置文件
- 保存并注销重新登录
-
配置截图保存位置:
- 默认保存位置:
~/Pictures/Screenshots - 修改为中文路径:将参数从
'Pictures/Screenshots' 0 0改为'图片/截图/' 0 0
- 默认保存位置:
-
网速显示 Widget:
- 可安装 Netspeed Widget 显示网络速度
网络和代理配置
系统代理配置
# 编辑系统代理配置文件
sudo vim /etc/sysconfig/proxy
# 添加以下配置:
PROXY_ENABLED="yes"
HTTP_PROXY="http://127.0.0.1:8889"
SOCKS_PROXY="socks://127.0.0.1:1089"
注意:保存后需要注销重新登录才能生效。
Git 代理配置
# 设置 Git 代理
git config --global http.proxy 'socks5://127.0.0.1:1089'
git config --global https.proxy 'socks5://127.0.0.1:1089'
# 取消 Git 代理
git config --global --unset http.proxy
git config --global --unset https.proxy
Proxychains 配置
# 安装 Proxychains
sudo zypper install proxychains-ng
# 编辑配置文件
sudo vim /etc/proxychains.conf
# 在文件末尾修改配置:
[ProxyList]
socks5 127.0.0.1 1089
# 使用示例
proxychains4 zypper refresh
代理软件安装
# 安装 qv2ray(如果有相应���件源)
sudo zypper install qv2ray
浏览器安装和配置
Chromium/Chrome 详细配置
# 安装 Chromium
sudo zypper install chromium
# 安装 Firefox
sudo zypper install MozillaFirefox
Chrome 安装: 访问 Google Chrome 官网 下载 RPM 包手动安装。
解决 Chromium/Chrome 常见问题:
-
网页缩放问题:
# 对于 Chromium sudo nano /etc/default/chromium # 在 CHROMIUM_FLAGS 后添加: --force-device-scale-factor=1.0 --password-store=basic -
Chrome 缩放和 KDE 钱包问题:
# 编辑 Chrome 桌面文件 sudo nano /usr/share/applications/google-chrome.desktop # 找到 Exec=/usr/bin/google-chrome-stable %U # 修改为:Exec=/usr/bin/google-chrome-stable --force-device-scale-factor=1.0 --password-store=basic %U
注意:如果之前手动修改过启动菜单配置,需要右键点击 ” 编辑应用程序 ” 手动添加参数。
开箱即用软件安装
开发工具
# VS Code
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo zypper ar https://packages.microsoft.com/yumrepos/vscode vscode
sudo zypper refresh -r vscode
sudo zypper install code
# 或使用 OPI
opi vscode
opi jetbrains-toolbox
浏览器
# Brave 浏览器
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
sudo zypper ar https://brave-browser-rpm-release.s3.brave.com/x86_64/ brave-browser
sudo zypper refresh -r brave-browser
sudo zypper install brave-browser
# 或使用 OPI
opi chrome
多媒体软件
# Spotify
sudo zypper ar -n spotify https://download.opensuse.org/repositories/home:Dead_Mozay/openSUSE_Tumbleweed/home:Dead_Mozay.repo
sudo zypper refresh -r spotify
sudo zypper install spotify-client
# TeamViewer
sudo zypper install https://download.teamviewer.com/download/linux/teamviewer-suse.x86_64.rpm
显卡驱动安装
AMD 显卡说明
AMD 显卡的开源驱动已经提供良好支持,通常无需额外安装闭源驱动。
NVIDIA 驱动详细安装
注意:建议配置好代理后再进行,因为 NVIDIA 官方源在国内访问较慢。
# 添加 NVIDIA 官方源
sudo zypper ar -f https://download.nvidia.com/opensuse/tumbleweed/ nvidia
# 刷新软件源
sudo zypper refresh nvidia
# 安装 NVIDIA 驱动
# GeForce 6xx 系列及以上
sudo zypper install x11-video-nvidiaG05
# GeForce 4xx 系列
sudo zypper install x11-video-nvidiaG04
# 重启系统
sudo reboot
# 验证驱动安装
nvidia-smi
重要注意事项:
- 闭源驱动安装后会自动屏蔽开源驱动
- 如需卸载闭源驱动,重启前必须手动解除开源驱动屏蔽:
sudo rm -rf /etc/modprobe.d/nvidia-default.conf
NVIDIA 设置工具: 安装完成后可在启动菜单找到 “NVIDIA X Server Settings”,用于调整显示器亮度等设置。
笔记本电源管理
# 安装电源管理工具
sudo zypper install tlp tlp-rdw powertop
# 配置 TLP(推荐)
sudo systemctl disable powertop
sudo systemctl stop powertop
sudo systemctl enable --now tlp
# 禁用冲突的服务
sudo systemctl mask systemd-rfkill.service systemd-rfkill.socket
系统优化
使用 Tuned 进行性能调优
# 安装 Tuned
sudo zypper install tuned
# 搜索额外的配置方案
zypper search tuned
# 启动并设置开机自启
sudo systemctl enable --now tuned
# 将配置文件移动到 tuned 目录(如果需要)
cd /usr/libexec/tuned/
sudo cp -r * /etc/tuned
# 查看可用的性能配置文件
tuned-adm list
# 应用性能配置文件
sudo tuned-adm profile desktop # 桌面优化
sudo tuned-adm profile laptop-battery-powersave # 笔记本省电
sudo tuned-adm profile throughput-performance # 高性能
# 查看当前配置文件
tuned-adm active
# 关闭 tuned
tuned-adm off
# 验证内核参数是否生效
sysctl -a | grep tuned
KDE Connect 和防火墙配置
# 安装 KDE Connect
sudo zypper install kdeconnect
# 使用 YaST 配置防火墙
# 系统设置 → 系统管理 → YaST → 防火墙
# 开放 KDE Connect 通信端口
# 或使用命令行配置防火墙
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=kdeconnect
sudo firewall-cmd --reload
Zypper 高级参数和选项
特殊参数说明
# 无 GPG 检查模式(不推荐,仅紧急情况使用)
--no-gpg-checks
# 说明:跳过 GPG 签名验证,存在安全风险
# 自动接受许可协议
--auto-agree-with-licenses
# 说明:自动接受软件许可协议,适用于批量安装
# 示例用法
sudo zypper install --auto-agree-with-licenses package-name
安全建议:
- 避免使用
--no-gpg-checks参数 - 仅在必要时使用
--auto-agree-with-licenses - 优先验证 GPG 密钥的真实性
故障排除
常用故障排除命令
# KDE 桌面问题(万能命令)
kbuildsycoca5 --noincremental
# 清理包缓存
sudo zypper clean -a
# 修复损坏的包
sudo zypper verify
# 查看系统日志
journalctl -xe
# 查看最近的系统错误
journalctl -p err -b
KDE 桌面故障排除经验
KDE 桌面在遇到意外断电等情况后可能出现图标不显示、界面异常等问题。通常执行 kbuildsycoca5 --noincremental 命令后注销重新登录即可解决。
版本兼容性说明
- 本配置主要适用于:openSUSE Tumbleweed(滚动发行版)
- openSUSE Leap 用户:将软件源 URL 中的
tumbleweed替换为对应版本号(如15.5) - 系统更新建议:
- Tumbleweed:定期使用
zypper dup更新系统 - Leap:使用
zypper update进行常规更新
- Tumbleweed:定期使用