活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

openSUSE联机帮助手册解锁Linux强大功能的完整指南从新手到专家的必备参考书涵盖系统安装配置管理和故障排除的全方位教程

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-21 17:50:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言:openSUSE概述

openSUSE是一个稳定、安全且易于使用的Linux发行版,由SUSE公司和其他社区成员共同开发。它以其出色的YaST(Yet another Setup Tool)配置工具、强大的包管理系统和友好的用户界面而闻名。openSUSE有两个主要版本:Leap(稳定版,基于SUSE Linux Enterprise)和Tumbleweed(滚动发布版,提供最新的软件包)。

openSUSE适合各种用户,从Linux新手到经验丰富的系统管理员。它提供了强大的服务器功能,同时也适合桌面使用。本指南将带您全面了解openSUSE系统,从基础安装到高级管理,帮助您充分利用这个强大的Linux发行版。

系统安装

准备工作

在安装openSUSE之前,需要完成以下准备工作:

1. 系统要求检查:对于Leap版本:至少2GB RAM,40GB硬盘空间,2GHz双核处理器对于Tumbleweed版本:至少4GB RAM,50GB硬盘空间,2GHz双核处理器推荐配置:8GB RAM,100GB SSD,现代多核处理器
2. 对于Leap版本:至少2GB RAM,40GB硬盘空间,2GHz双核处理器
3. 对于Tumbleweed版本:至少4GB RAM,50GB硬盘空间,2GHz双核处理器
4. 推荐配置:8GB RAM,100GB SSD,现代多核处理器
5. 下载openSUSE镜像:访问openSUSE官方网站(https://www.opensuse.org/)选择适合您的版本(Leap或Tumbleweed)下载ISO镜像文件
6. 访问openSUSE官方网站(https://www.opensuse.org/)
7. 选择适合您的版本(Leap或Tumbleweed)
8. 下载ISO镜像文件
9. 创建安装介质:使用USB驱动器:可以使用dd命令(Linux)或Rufus(Windows)等工具使用DVD:将ISO刻录到DVD
10. 使用USB驱动器:可以使用dd命令(Linux)或Rufus(Windows)等工具
11. 使用DVD:将ISO刻录到DVD
12. 备份重要数据:在安装新系统前,确保备份所有重要数据
13. 在安装新系统前,确保备份所有重要数据

系统要求检查:

• 对于Leap版本:至少2GB RAM,40GB硬盘空间,2GHz双核处理器
• 对于Tumbleweed版本:至少4GB RAM,50GB硬盘空间,2GHz双核处理器
• 推荐配置:8GB RAM,100GB SSD,现代多核处理器

下载openSUSE镜像:

• 访问openSUSE官方网站(https://www.opensuse.org/)
• 选择适合您的版本(Leap或Tumbleweed)
• 下载ISO镜像文件

创建安装介质:

• 使用USB驱动器:可以使用dd命令(Linux)或Rufus(Windows)等工具
• 使用DVD:将ISO刻录到DVD

备份重要数据:

• 在安装新系统前,确保备份所有重要数据

安装过程

1. 启动安装程序:将安装介质插入计算机并重启在启动菜单中选择从USB/DVD启动选择”Installation”选项启动安装程序
2. 将安装介质插入计算机并重启
3. 在启动菜单中选择从USB/DVD启动
4. 选择”Installation”选项启动安装程序
5. 语言和键盘布局:选择您偏好的语言设置键盘布局
6. 选择您偏好的语言
7. 设置键盘布局
8. 许可协议:阅读并接受许可协议
9. 阅读并接受许可协议
10. 分区方案:选择分区方案:建议新手使用”引导式分区”高级用户可以选择”自定义分区”典型的分区方案包括:/boot分区(500MB-1GB)根分区/(至少20GB)交换分区swap(大小等于或略大于RAM)/home分区(剩余空间)
11. 选择分区方案:建议新手使用”引导式分区”
12. 高级用户可以选择”自定义分区”
13. 典型的分区方案包括:/boot分区(500MB-1GB)根分区/(至少20GB)交换分区swap(大小等于或略大于RAM)/home分区(剩余空间)
14. /boot分区(500MB-1GB)
15. 根分区/(至少20GB)
16. 交换分区swap(大小等于或略大于RAM)
17. /home分区(剩余空间)
18. 时区设置:选择您所在的时区确保系统时间正确
19. 选择您所在的时区
20. 确保系统时间正确
21. 用户创建:创建管理员用户(root)并设置密码创建普通用户并设置密码建议使用强密码,包含大小写字母、数字和特殊字符
22. 创建管理员用户(root)并设置密码
23. 创建普通用户并设置密码
24. 建议使用强密码,包含大小写字母、数字和特殊字符
25. 软件选择:选择桌面环境(KDE Plasma、GNOME、XFCE等)根据需要选择额外的软件模式(服务器、开发工具等)
26. 选择桌面环境(KDE Plasma、GNOME、XFCE等)
27. 根据需要选择额外的软件模式(服务器、开发工具等)
28. 安装确认:检查所有设置点击”安装”开始安装过程等待安装完成(通常需要20-40分钟)
29. 检查所有设置
30. 点击”安装”开始安装过程
31. 等待安装完成(通常需要20-40分钟)
32. 完成安装:安装完成后,系统将提示重启移除安装介质并重启系统登录到您的新openSUSE系统
33. 安装完成后,系统将提示重启
34. 移除安装介质并重启系统
35. 登录到您的新openSUSE系统

启动安装程序:

• 将安装介质插入计算机并重启
• 在启动菜单中选择从USB/DVD启动
• 选择”Installation”选项启动安装程序

语言和键盘布局:

• 选择您偏好的语言
• 设置键盘布局

许可协议:

• 阅读并接受许可协议

分区方案:

• 选择分区方案:建议新手使用”引导式分区”
• 高级用户可以选择”自定义分区”
• 典型的分区方案包括:/boot分区(500MB-1GB)根分区/(至少20GB)交换分区swap(大小等于或略大于RAM)/home分区(剩余空间)
• /boot分区(500MB-1GB)
• 根分区/(至少20GB)
• 交换分区swap(大小等于或略大于RAM)
• /home分区(剩余空间)

• /boot分区(500MB-1GB)
• 根分区/(至少20GB)
• 交换分区swap(大小等于或略大于RAM)
• /home分区(剩余空间)

时区设置:

• 选择您所在的时区
• 确保系统时间正确

用户创建:

• 创建管理员用户(root)并设置密码
• 创建普通用户并设置密码
• 建议使用强密码,包含大小写字母、数字和特殊字符

软件选择:

• 选择桌面环境(KDE Plasma、GNOME、XFCE等)
• 根据需要选择额外的软件模式(服务器、开发工具等)

安装确认:

• 检查所有设置
• 点击”安装”开始安装过程
• 等待安装完成(通常需要20-40分钟)

完成安装:

• 安装完成后,系统将提示重启
• 移除安装介质并重启系统
• 登录到您的新openSUSE系统

安装后检查

安装完成后,进行以下检查:

1. 系统更新:sudo zypper refresh
sudo zypper update
2. 硬件检测:hwinfo --short
3. 网络连接测试:ping -c 4 opensuse.org

系统更新:
  1. sudo zypper refresh
  2. sudo zypper update
复制代码

硬件检测:
  1. hwinfo --short
复制代码

网络连接测试:
  1. ping -c 4 opensuse.org
复制代码

基本配置

系统设置

1. YaST控制中心:打开YaST(可以在应用程序菜单中找到或使用命令sudo yast2)YaST提供了图形界面来管理系统各个方面
2. 打开YaST(可以在应用程序菜单中找到或使用命令sudo yast2)
3. YaST提供了图形界面来管理系统各个方面
4. 语言和区域设置:在YaST中选择”系统” > “语言”设置系统语言和区域格式
5. 在YaST中选择”系统” > “语言”
6. 设置系统语言和区域格式
7. 日期和时间配置:在YaST中选择”系统” > “日期和时间”配置时区、日期和时间启用NTP同步以保持时间准确
8. 在YaST中选择”系统” > “日期和时间”
9. 配置时区、日期和时间
10. 启用NTP同步以保持时间准确
11. 显示设置:在桌面环境中调整分辨率、刷新率配置多显示器设置(如果适用)
12. 在桌面环境中调整分辨率、刷新率
13. 配置多显示器设置(如果适用)

YaST控制中心:

• 打开YaST(可以在应用程序菜单中找到或使用命令sudo yast2)
• YaST提供了图形界面来管理系统各个方面

语言和区域设置:

• 在YaST中选择”系统” > “语言”
• 设置系统语言和区域格式

日期和时间配置:

• 在YaST中选择”系统” > “日期和时间”
• 配置时区、日期和时间
• 启用NTP同步以保持时间准确

显示设置:

• 在桌面环境中调整分辨率、刷新率
• 配置多显示器设置(如果适用)

用户和权限管理

1. 用户管理:使用YaST的”安全和用户” > “用户和组管理”模块添加、修改或删除用户账户也可以使用命令行:
“`bash添加新用户sudo useradd -m username
sudo passwd username# 删除用户
sudo userdel -r username
“`
2. 使用YaST的”安全和用户” > “用户和组管理”模块
3. 添加、修改或删除用户账户
4. 也可以使用命令行:
“`bash添加新用户sudo useradd -m username
sudo passwd username
5. sudo配置:将用户添加到wheel组以授予sudo权限:sudo usermod -aG wheel username编辑sudoers文件进行更精细的控制:sudo visudo
6. 将用户添加到wheel组以授予sudo权限:sudo usermod -aG wheel username
7. 编辑sudoers文件进行更精细的控制:sudo visudo
8. 文件权限:使用chmod修改文件权限:chmod 755 filename  # rwxr-xr-x使用chown修改文件所有者:chown user:group filename
9. 使用chmod修改文件权限:chmod 755 filename  # rwxr-xr-x
10. 使用chown修改文件所有者:chown user:group filename

用户管理:

• 使用YaST的”安全和用户” > “用户和组管理”模块
• 添加、修改或删除用户账户
• 也可以使用命令行:
“`bash添加新用户sudo useradd -m username
sudo passwd username

使用YaST的”安全和用户” > “用户和组管理”模块

添加、修改或删除用户账户

也可以使用命令行:
“`bash

sudo useradd -m username
sudo passwd username

# 删除用户
sudo userdel -r username
“`

sudo配置:

• 将用户添加到wheel组以授予sudo权限:sudo usermod -aG wheel username
• 编辑sudoers文件进行更精细的控制:sudo visudo
  1. sudo usermod -aG wheel username
复制代码
  1. sudo visudo
复制代码

文件权限:

• 使用chmod修改文件权限:chmod 755 filename  # rwxr-xr-x
• 使用chown修改文件所有者:chown user:group filename
  1. chmod 755 filename  # rwxr-xr-x
复制代码
  1. chown user:group filename
复制代码

网络配置

1. 网络连接设置:使用YaST的”网络设置”模块配置有线、无线或移动网络连接也可以使用NetworkManager的图形界面或命令行工具nmcli
2. 使用YaST的”网络设置”模块
3. 配置有线、无线或移动网络连接
4. 也可以使用NetworkManager的图形界面或命令行工具nmcli
5. 静态IP配置:在YaST中选择”网络设置” > “Overview”选择网络接口并点击”Edit”设置静态IP地址、子网掩码、网关和DNS服务器
6. 在YaST中选择”网络设置” > “Overview”
7. 选择网络接口并点击”Edit”
8. 设置静态IP地址、子网掩码、网关和DNS服务器
9. 主机名设置:在YaST中选择”网络设置” > “Hostname/DNS”设置系统主机名和域名
10. 在YaST中选择”网络设置” > “Hostname/DNS”
11. 设置系统主机名和域名
12. 防火墙配置:在YaST中选择”安全和用户” > “防火墙”配置防火墙区域和规则开放或关闭特定端口
13. 在YaST中选择”安全和用户” > “防火墙”
14. 配置防火墙区域和规则
15. 开放或关闭特定端口

网络连接设置:

• 使用YaST的”网络设置”模块
• 配置有线、无线或移动网络连接
• 也可以使用NetworkManager的图形界面或命令行工具nmcli

静态IP配置:

• 在YaST中选择”网络设置” > “Overview”
• 选择网络接口并点击”Edit”
• 设置静态IP地址、子网掩码、网关和DNS服务器

主机名设置:

• 在YaST中选择”网络设置” > “Hostname/DNS”
• 设置系统主机名和域名

防火墙配置:

• 在YaST中选择”安全和用户” > “防火墙”
• 配置防火墙区域和规则
• 开放或关闭特定端口

软件管理

Zypper包管理器

Zypper是openSUSE的命令行包管理器,功能强大且高效。

1. 基本命令:
“`bash刷新软件源sudo zypper refresh

基本命令:
“`bash

sudo zypper refresh

# 更新所有软件包
   sudo zypper update

# 安装软件包
   sudo zypper install package_name

# 删除软件包
   sudo zypper remove package_name

# 搜索软件包
   zypper search keyword

# 显示软件包信息
   zypper info package_name
  1. 2. **软件源管理**:
  2.    ```bash
  3.    # 列出所有软件源
  4.    zypper repos -l
  5.    
  6.    # 添加软件源
  7.    sudo zypper addrepo repo_url alias
  8.    
  9.    # 删除软件源
  10.    sudo zypper removerepo alias
  11.    
  12.    # 修改软件源
  13.    sudo zypper modifyrepo --enable|--disable alias
复制代码

1. 高级用法:
“`bash安装源代码包sudo zypper source-install package_name

高级用法:
“`bash

sudo zypper source-install package_name

# 验证软件包依赖关系
   zypper verify

# 清理本地缓存
   sudo zypper clean
  1. ### YaST软件管理
  2. YaST提供了图形界面的软件管理工具:
  3. 1. **软件管理**:
  4.    - 在YaST中选择"软件" > "软件管理"
  5.    - 搜索、安装、删除软件包
  6.    - 过滤和分组查看软件包
  7. 2. **软件源管理**:
  8.    - 在YaST中选择"软件" > "软件源"
  9.    - 添加、删除、启用或禁用软件源
  10.    - 修改软件源优先级
  11. ### 图形化软件中心
  12. openSUSE提供了图形化的软件中心,便于日常使用:
  13. 1. **Discover**(KDE Plasma):
  14.    - 提供友好的界面浏览和安装软件
  15.    - 支持Flatpak和Snap包
  16. 2. **GNOME软件中心**(GNOME桌面):
  17.    - 类似Discover,但针对GNOME环境优化
  18. ### 第三方软件安装
  19. 1. **Flatpak**:
  20.    ```bash
  21.    # 安装Flatpak
  22.    sudo zypper install flatpak
  23.    
  24.    # 添加Flathub仓库
  25.    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  26.    
  27.    # 安装Flatpak应用
  28.    flatpak install flathub com.spotify.Client
复制代码

1. Snap:
“`bash安装Snapsudo zypper install snapd

Snap:
“`bash

sudo zypper install snapd

# 启用Snap服务
   sudo systemctl enable –now snapd

# 安装Snap应用
   sudo snap install spotify
  1. 3. **从源代码编译**:
  2.    ```bash
  3.    # 安装编译工具
  4.    sudo zypper install -t pattern devel_basis
  5.    
  6.    # 典型的编译过程
  7.    tar -xvf package.tar.gz
  8.    cd package
  9.    ./configure
  10.    make
  11.    sudo make install
复制代码

系统管理

系统服务管理

1. systemd服务管理:
“`bash启动服务sudo systemctl start service_name

systemd服务管理:
“`bash

sudo systemctl start service_name

# 停止服务
   sudo systemctl stop service_name

# 重启服务
   sudo systemctl restart service_name

# 启用服务(开机自启)
   sudo systemctl enable service_name

# 禁用服务
   sudo systemctl disable service_name

# 查看服务状态
   systemctl status service_name

# 列出所有服务
   systemctl list-units –type=service
  1. 2. **SysVinit服务管理**(旧系统):
  2.    ```bash
  3.    # 启动服务
  4.    sudo /etc/init.d/service_name start
  5.    
  6.    # 停止服务
  7.    sudo /etc/init.d/service_name stop
  8.    
  9.    # 重启服务
  10.    sudo /etc/init.d/service_name restart
  11.    
  12.    # 查看服务状态
  13.    /etc/init.d/service_name status
复制代码

系统监控

1. 系统资源监控:
“`bash实时系统监控top
htop  # 需要安装:sudo zypper install htop

系统资源监控:
“`bash

top
htop  # 需要安装:sudo zypper install htop

# 内存使用情况
   free -h

# 磁盘使用情况
   df -h

# 磁盘I/O统计
   iostat

# 网络统计
   netstat -tuln
   ss -tuln  # 替代netstat
  1. 2. **日志管理**:
  2.    ```bash
  3.    # 查看系统日志
  4.    journalctl
  5.    
  6.    # 查看特定服务的日志
  7.    journalctl -u service_name
  8.    
  9.    # 查看内核日志
  10.    dmesg
  11.    
  12.    # 查看特定日志文件
  13.    less /var/log/messages
复制代码

1. 性能分析:
“`bash安装性能分析工具sudo zypper install sysstat

性能分析:
“`bash

sudo zypper install sysstat

# CPU统计
   mpstat

# 内存统计
   vmstat

# 进程统计
   pidstat
  1. ### 系统更新和维护
  2. 1. **系统更新**:
  3.    ```bash
  4.    # 刷新软件源
  5.    sudo zypper refresh
  6.    
  7.    # 列出可用更新
  8.    zypper list-updates
  9.    
  10.    # 安装所有更新
  11.    sudo zypper update
  12.    
  13.    # 仅安装安全更新
  14.    sudo zypper patch --category security
复制代码

1. 自动更新配置:
“`bash安装自动更新工具sudo zypper install yast2-online-update-configuration

自动更新配置:
“`bash

sudo zypper install yast2-online-update-configuration

# 使用YaST配置自动更新
   sudo yast2 online_update_configuration
  1. 3. **系统清理**:
  2.    ```bash
  3.    # 清理旧内核
  4.    sudo zypper purge-kernels
  5.    
  6.    # 清理包缓存
  7.    sudo zypper clean
  8.    
  9.    # 删除不需要的软件包
  10.    sudo zypper packages --unneeded
  11.    sudo zypper remove $(zypper packages --unneeded | awk '{print $5}')
复制代码

系统备份和恢复

1. 使用rsync备份:# 备份整个系统
sudo rsync -aAXv / --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found /path/to/backup/
2. 使用Timeshift备份(适合桌面系统):
“`bash安装Timeshiftsudo zypper install timeshift

使用rsync备份:
  1. # 备份整个系统
  2. sudo rsync -aAXv / --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found /path/to/backup/
复制代码

使用Timeshift备份(适合桌面系统):
“`bash

sudo zypper install timeshift

# 运行Timeshift(图形界面)
   timeshift
  1. 3. **使用Btrfs快照**(openSUSE默认文件系统):
  2.    ```bash
  3.    # 创建快照
  4.    sudo btrfs subvolume snapshot / /snapshot_name
  5.    
  6.    # 列出快照
  7.    sudo btrfs subvolume list /
  8.    
  9.    # 恢复快照
  10.    sudo btrfs subvolume snapshot /snapshot_name /
复制代码

网络配置

高级网络设置

1. 网络绑定(Bonding):
“`bash安装绑定工具sudo zypper install bonding

网络绑定(Bonding):
“`bash

sudo zypper install bonding

# 创建绑定接口配置文件
   sudo nano /etc/sysconfig/network/ifcfg-bond0
  1. 配置文件内容示例:
复制代码

BONDING_MASTER=‘yes’
   BONDING_MODULE_OPTS=‘mode=4 miimon=100’
   BONDING_SLAVE0=‘eth0’
   BONDING_SLAVE1=‘eth1’
   BOOTPROTO=‘dhcp’
   STARTMODE=‘auto’
  1. ```bash
  2.    # 重启网络服务
  3.    sudo systemctl restart network
复制代码

1. VLAN配置:# 创建VLAN接口配置文件
sudo nano /etc/sysconfig/network/ifcfg-eth0.10配置文件内容示例:ETHERDEVICE='eth0'
BOOTPROTO='dhcp'
VLAN_ID='10'
STARTMODE='auto'

VLAN配置:
  1. # 创建VLAN接口配置文件
  2. sudo nano /etc/sysconfig/network/ifcfg-eth0.10
复制代码

配置文件内容示例:
  1. ETHERDEVICE='eth0'
  2. BOOTPROTO='dhcp'
  3. VLAN_ID='10'
  4. STARTMODE='auto'
复制代码
  1. # 重启网络服务
  2.    sudo systemctl restart network
复制代码

1. 网桥配置:
“`bash安装网桥工具sudo zypper install bridge-utils

网桥配置:
“`bash

sudo zypper install bridge-utils

# 创建网桥接口配置文件
   sudo nano /etc/sysconfig/network/ifcfg-br0
  1. 配置文件内容示例:
复制代码

BRIDGE=‘yes’
   BRIDGE_PORTS=‘eth0 eth1’
   BOOTPROTO=‘dhcp’
   STARTMODE=‘auto’
  1. ```bash
  2.    # 重启网络服务
  3.    sudo systemctl restart network
复制代码

网络服务配置

1. DHCP服务器:
“`bash安装DHCP服务器sudo zypper install dhcp-server

DHCP服务器:
“`bash

sudo zypper install dhcp-server

# 配置DHCP服务器
   sudo nano /etc/dhcpd.conf
  1. 配置文件内容示例:
复制代码

option domain-name “example.com”;
   option domain-name-servers 192.168.1.1;
   option routers 192.168.1.1;
   default-lease-time 14400;
   max-lease-time 86400;

subnet 192.168.1.0 netmask 255.255.255.0 {
  1. range 192.168.1.100 192.168.1.200;
复制代码

}
  1. ```bash
  2.    # 启动并启用DHCP服务
  3.    sudo systemctl start dhcpd
  4.    sudo systemctl enable dhcpd
复制代码

1. DNS服务器:
“`bash安装BIND DNS服务器sudo zypper install bind

DNS服务器:
“`bash

sudo zypper install bind

# 配置DNS服务器
   sudo nano /etc/named.conf
  1. 配置文件内容示例:
复制代码

options {
  1. directory "/var/lib/named";
  2. listen-on { any; };
  3. allow-query { any; };
  4. recursion yes;
复制代码

};

zone “example.com” in {
  1. type master;
  2. file "example.com.zone";
复制代码

};
  1. ```bash
  2.    # 创建区域文件
  3.    sudo nano /var/lib/named/example.com.zone
复制代码

区域文件内容示例:
  1. $TTL 1D
  2.    @ IN SOA ns1.example.com. admin.example.com. (
  3.      2023081501 ; serial
  4.      1D ; refresh
  5.      1H ; retry
  6.      1W ; expire
  7.      3H ) ; minimum
  8.    
  9.    IN NS ns1.example.com;
  10.    
  11.    ns1 IN A 192.168.1.1
  12.    www IN A 192.168.1.100
复制代码
  1. # 启动并启用DNS服务
  2.    sudo systemctl start named
  3.    sudo systemctl enable named
复制代码

1. Web服务器:
“`bash安装Apache Web服务器sudo zypper install apache2

Web服务器:
“`bash

sudo zypper install apache2

# 启动并启用Apache服务
   sudo systemctl start apache2
   sudo systemctl enable apache2

# 创建测试页面
   echo “Hello, openSUSE!” | sudo tee /srv/www/htdocs/index.html
  1. ### 防火墙配置
  2. 1. **使用SuSEfirewall2**:
  3.    ```bash
  4.    # 配置防火墙
  5.    sudo yast2 firewall
  6.    
  7.    # 或使用命令行
  8.    sudo nano /etc/sysconfig/SuSEfirewall2
复制代码

配置示例:
  1. FW_DEV_EXT="eth0"
  2.    FW_SERVICES_EXT_TCP="ssh http https"
  3.    FW_SERVICES_EXT_UDP=""
  4.    FW_CONFIGURATIONS_EXT="apache2"
复制代码
  1. # 重启防火墙
  2.    sudo systemctl restart SuSEfirewall2
复制代码

1. 使用firewalld(可选):
“`bash安装firewalldsudo zypper install firewalld

使用firewalld(可选):
“`bash

sudo zypper install firewalld

# 停止SuSEfirewall2并启用firewalld
   sudo systemctl stop SuSEfirewall2
   sudo systemctl disable SuSEfirewall2
   sudo systemctl start firewalld
   sudo systemctl enable firewalld

# 配置防火墙规则
   sudo firewall-cmd –permanent –add-service=ssh
   sudo firewall-cmd –permanent –add-service=http
   sudo firewall-cmd –permanent –add-service=https
   sudo firewall-cmd –reload
  1. ## 安全设置
  2. ### 系统安全加固
  3. 1. **安全更新**:
  4.    ```bash
  5.    # 安装安全更新
  6.    sudo zypper patch --category security
  7.    
  8.    # 配置自动安全更新
  9.    sudo yast2 online_update_configuration
复制代码

1. SSH安全配置:# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config安全配置示例:
“`禁用root登录PermitRootLogin no

SSH安全配置:
  1. # 编辑SSH配置文件
  2. sudo nano /etc/ssh/sshd_config
复制代码

安全配置示例:
“`

PermitRootLogin no

# 禁用密码认证,使用密钥认证
   PasswordAuthentication no
   PubkeyAuthentication yes

# 更改默认端口
   Port 2222

# 仅允许特定用户
   AllowUsers user1 user2
  1. ```bash
  2.    # 重启SSH服务
  3.    sudo systemctl restart sshd
复制代码

1. 系统审计:
“`bash安装审计工具sudo zypper install auditd

系统审计:
“`bash

sudo zypper install auditd

# 配置审计规则
   sudo nano /etc/audit/rules.d/audit.rules
  1. 审计规则示例:
复制代码

# 监控文件访问
   -w /etc/passwd -p wa -k identity
   -w /etc/shadow -p wa -k identity
   -w /etc/sudoers -p wa -k identity

# 监控系统调用
   -a always,exit -F arch=b64 -S chmod -F auid>=1000 -F auid!=-1 -k perm_mod
  1. ```bash
  2.    # 启动并启用审计服务
  3.    sudo systemctl start auditd
  4.    sudo systemctl enable auditd
复制代码

AppArmor配置

AppArmor是openSUSE默认的强制访问控制(MAC)系统。

1. AppArmor基本操作:
“`bash查看AppArmor状态sudo aa-status

AppArmor基本操作:
“`bash

sudo aa-status

# 列出所有配置文件
   sudo apparmor_status

# 启用/禁用AppArmor
   sudo systemctl start apparmor
   sudo systemctl enable apparmor
  1. 2. **管理AppArmor配置文件**:
  2.    ```bash
  3.    # 查看特定程序的配置文件状态
  4.    sudo aa-status | grep program_name
  5.    
  6.    # 将程序置于抱怨模式(记录但不阻止违规)
  7.    sudo aa-complain /path/to/program
  8.    
  9.    # 将程序置于强制模式(阻止违规)
  10.    sudo aa-enforce /path/to/program
  11.    
  12.    # 创建新的配置文件
  13.    sudo aa-genprof /path/to/program
  14.    
  15.    # 更新现有配置文件
  16.    sudo aa-logprof
复制代码

1.
  1. AppArmor配置文件示例:# /etc/apparmor.d/usr.bin.ping
  2. #include <tunables/global>
  3. /usr/bin/ping {
  4. #include <abstractions/base>
  5. #include <abstractions/consoles>
  6. capability net_raw,
  7. network inet raw,
  8. /usr/bin/ping mr,
  9. }
复制代码

AppArmor配置文件示例:
  1. # /etc/apparmor.d/usr.bin.ping
  2. #include <tunables/global>
  3. /usr/bin/ping {
  4. #include <abstractions/base>
  5. #include <abstractions/consoles>
  6. capability net_raw,
  7. network inet raw,
  8. /usr/bin/ping mr,
  9. }
复制代码

SELinux配置(可选)

虽然openSUSE默认使用AppArmor,但也可以使用SELinux。

1. 安装和启用SELinux:
“`bash安装SELinuxsudo zypper install selinux-tools policycoreutils-python

安装和启用SELinux:
“`bash

sudo zypper install selinux-tools policycoreutils-python

# 编辑/etc/selinux/config
   sudo nano /etc/selinux/config
  1. 配置文件内容:
复制代码

SELINUX=enforcing
   SELINUXTYPE=targeted
  1. ```bash
  2.    # 创建SELinux文件系统标记
  3.    sudo touch /.autorelabel
  4.    
  5.    # 重启系统
  6.    sudo reboot
复制代码

1. SELinux基本操作:
“`bash查看SELinux状态sestatus

SELinux基本操作:
“`bash

sestatus

# 设置SELinux模式
   sudo setenforce enforcing|permissive|disabled

# 查看SELinux布尔值
   getsebool -a

# 设置SELinux布尔值
   sudo setsebool -P httpd_can_network_connect on
  1. 3. **管理SELinux上下文**:
  2.    ```bash
  3.    # 查看文件SELinux上下文
  4.    ls -Z /path/to/file
  5.    
  6.    # 修改文件SELinux上下文
  7.    sudo chcon -t httpd_sys_content_t /var/www/html/index.html
  8.    
  9.    # 恢复默认SELinux上下文
  10.    sudo restorecon -R /var/www/html
复制代码

故障排除

系统启动问题

1. 无法启动系统:检查引导加载程序配置:
“`bash检查GRUB配置sudo nano /etc/default/grub# 更新GRUB
sudo grub2-mkconfig -o /boot/grub2/grub.cfg- 修复GRUB引导:
```bash
# 从安装介质启动并进入救援模式
# 挂载根分区
mount /dev/sdaX /mnt

# 重新安装GRUB
grub2-install --root-directory=/mnt /dev/sda

# 更新GRUB配置
chroot /mnt
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
2. 检查引导加载程序配置:
“`bash检查GRUB配置sudo nano /etc/default/grub
3. 系统启动后卡住:检查系统日志:
“`bash查看系统日志journalctl -xb# 查看内核日志
dmesg | tail
“`进入单用户模式:在GRUB菜单中选择要启动的内核按”e”编辑启动参数在linux行末尾添加”single”或”systemd.unit=rescue.target”按”Ctrl+X”启动
4. 检查系统日志:
“`bash查看系统日志journalctl -xb
5. 进入单用户模式:在GRUB菜单中选择要启动的内核按”e”编辑启动参数在linux行末尾添加”single”或”systemd.unit=rescue.target”按”Ctrl+X”启动
6. 在GRUB菜单中选择要启动的内核
7. 按”e”编辑启动参数
8. 在linux行末尾添加”single”或”systemd.unit=rescue.target”
9. 按”Ctrl+X”启动
10. 服务启动失败:
“`bash查看失败的服务systemctl –failed

无法启动系统:

• 检查引导加载程序配置:
“`bash检查GRUB配置sudo nano /etc/default/grub

检查引导加载程序配置:
“`bash

sudo nano /etc/default/grub

# 更新GRUB
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  1. - 修复GRUB引导:
  2. ```bash
  3. # 从安装介质启动并进入救援模式
  4. # 挂载根分区
  5. mount /dev/sdaX /mnt
  6. # 重新安装GRUB
  7. grub2-install --root-directory=/mnt /dev/sda
  8. # 更新GRUB配置
  9. chroot /mnt
  10. grub2-mkconfig -o /boot/grub2/grub.cfg
  11. exit
复制代码

系统启动后卡住:

• 检查系统日志:
“`bash查看系统日志journalctl -xb

检查系统日志:
“`bash

journalctl -xb

# 查看内核日志
dmesg | tail
“`

• 进入单用户模式:在GRUB菜单中选择要启动的内核按”e”编辑启动参数在linux行末尾添加”single”或”systemd.unit=rescue.target”按”Ctrl+X”启动
• 在GRUB菜单中选择要启动的内核
• 按”e”编辑启动参数
• 在linux行末尾添加”single”或”systemd.unit=rescue.target”
• 按”Ctrl+X”启动

• 在GRUB菜单中选择要启动的内核
• 按”e”编辑启动参数
• 在linux行末尾添加”single”或”systemd.unit=rescue.target”
• 按”Ctrl+X”启动

服务启动失败:
“`bash

systemctl –failed

# 查看特定服务的错误日志
   journalctl -u service_name

# 重启失败的服务
   sudo systemctl restart service_name
  1. ### 软件包问题
  2. 1. **依赖关系问题**:
  3.    ```bash
  4.    # 检查并修复依赖关系
  5.    sudo zypper verify
  6.    sudo zypper install --dry-run $(zypper se -i | awk '{print $5}')
  7.    
  8.    # 强制安装忽略依赖
  9.    sudo zypper install --nodeps package_name
复制代码

1. 软件源问题:
“`bash刷新所有软件源sudo zypper refresh –all

软件源问题:
“`bash

sudo zypper refresh –all

# 清理缓存
   sudo zypper clean –all

# 重新添加官方软件源
   sudo zypper ar -f -n “openSUSE-Leap-\((lsb_release -rs)-OSS" http://download.opensuse.org/distribution/leap/\)(lsb_release -rs)/repo/oss/ repo-oss
   sudo zypper ar -f -n “openSUSE-Leap-\((lsb_release -rs)-Non-OSS" http://download.opensuse.org/distribution/leap/\)(lsb_release -rs)/repo/non-oss/ repo-non-oss
   sudo zypper ar -f -n “openSUSE-Leap-\((lsb_release -rs)-Update" http://download.opensuse.org/update/leap/\)(lsb_release -rs)/oss/ repo-update
  1. 3. **软件包冲突**:
  2.    ```bash
  3.    # 查找冲突的软件包
  4.    sudo zypper verify
  5.    
  6.    # 删除冲突的软件包
  7.    sudo zypper remove conflicting_package
  8.    
  9.    # 锁定特定版本的软件包
  10.    sudo zypper addlock package_name
复制代码

网络问题

1. 无法连接到网络:
“`bash检查网络接口状态ip a

无法连接到网络:
“`bash

ip a

# 检查网络连接
   ping -c 4 8.8.8.8

# 检查DNS解析
   nslookup opensuse.org

# 重启网络服务
   sudo systemctl restart network
  1. 2. **无线网络问题**:
  2.    ```bash
  3.    # 检查无线网卡状态
  4.    iwconfig
  5.    
  6.    # 扫描可用的无线网络
  7.    sudo iwlist scan
  8.    
  9.    # 使用NetworkManager连接无线网络
  10.    nmcli dev wifi list
  11.    nmcli dev wifi connect SSID password password
复制代码

1. 防火墙阻止连接:
“`bash临时禁用防火墙测试sudo systemctl stop SuSEfirewall2

防火墙阻止连接:
“`bash

sudo systemctl stop SuSEfirewall2

# 检查防火墙规则
   sudo iptables -L

# 添加允许规则
   sudo yast2 firewall
  1. ### 性能问题
  2. 1. **系统响应缓慢**:
  3.    ```bash
  4.    # 检查系统资源使用情况
  5.    top
  6.    
  7.    # 检查内存使用
  8.    free -h
  9.    
  10.    # 检查磁盘I/O
  11.    iostat -x 1 5
  12.    
  13.    # 查找占用资源的进程
  14.    ps aux --sort=-%cpu | head
  15.    ps aux --sort=-%mem | head
复制代码

1. 磁盘空间不足:
“`bash检查磁盘空间使用df -h

磁盘空间不足:
“`bash

df -h

# 查找大文件
   find / -type f -size +100M -exec ls -lh {} \;

# 清理旧日志
   sudo journalctl –vacuum-size=100M
   sudo journalctl –vacuum-time=30days

# 清理包缓存
   sudo zypper clean
  1. 3. **高CPU使用率**:
  2.    ```bash
  3.    # 查找高CPU使用的进程
  4.    top
  5.    
  6.    # 查看进程详情
  7.    ps -p PID -o pid,ppid,cmd,%mem,%cpu
  8.    
  9.    # 终止进程
  10.    sudo kill -9 PID
复制代码

高级主题

虚拟化

1.
  1. KVM虚拟化:
  2. “`bash检查系统是否支持虚拟化egrep -c ‘(vmx|svm)’ /proc/cpuinfo
复制代码

KVM虚拟化:
“`bash

egrep -c ‘(vmx|svm)’ /proc/cpuinfo

# 安装KVM和相关工具
   sudo zypper install -t pattern kvm_server kvm_tools

# 将用户添加到libvirt组
   sudo usermod -aG libvirt $(whoami)

# 启动并启用libvirtd服务
   sudo systemctl start libvirtd
   sudo systemctl enable libvirtd

# 验证安装
   virsh list –all
  1. 2. **创建虚拟机**:
  2.    ```bash
  3.    # 使用virt-install创建虚拟机
  4.    sudo virt-install \
  5.      --name vm_name \
  6.      --ram 2048 \
  7.      --vcpus 2 \
  8.      --disk path=/var/lib/libvirt/images/vm_name.img,size=20 \
  9.      --cdrom /path/to/iso \
  10.      --os-variant opensuse15 \
  11.      --network network=default
  12.    
  13.    # 使用virt-manager图形界面创建虚拟机
  14.    sudo virt-manager
复制代码

1. 管理虚拟机:
“`bash列出所有虚拟机virsh list –all

管理虚拟机:
“`bash

virsh list –all

# 启动虚拟机
   virsh start vm_name

# 关闭虚拟机
   virsh shutdown vm_name

# 强制关闭虚拟机
   virsh destroy vm_name

# 删除虚拟机
   virsh undefine vm_name
  1. ### 容器技术
  2. 1. **Docker**:
  3.    ```bash
  4.    # 安装Docker
  5.    sudo zypper install docker
  6.    
  7.    # 启动并启用Docker服务
  8.    sudo systemctl start docker
  9.    sudo systemctl enable docker
  10.    
  11.    # 将用户添加到docker组
  12.    sudo usermod -aG docker $(whoami)
  13.    
  14.    # 验证安装
  15.    docker run hello-world
复制代码

1. Podman(Docker替代品):
“`bash安装Podmansudo zypper install podman

Podman(Docker替代品):
“`bash

sudo zypper install podman

# 验证安装
   podman run hello-world
  1. 3. **Kubernetes**:
  2.    ```bash
  3.    # 安装Kubernetes工具
  4.    sudo zypper install kubernetes-client kubernetes-kubeadm kubernetes-node
  5.    
  6.    # 初始化Kubernetes主节点
  7.    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
  8.    
  9.    # 配置kubectl
  10.    mkdir -p $HOME/.kube
  11.    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  12.    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  13.    
  14.    # 安装网络插件(如Flannel)
  15.    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
复制代码

内核调优

1. 查看内核信息:
“`bash查看内核版本uname -r

查看内核信息:
“`bash

uname -r

# 查看内核参数
   sysctl -a

# 查看已加载的内核模块
   lsmod
  1. 2. **修改内核参数**:
  2.    ```bash
  3.    # 临时修改内核参数
  4.    sudo sysctl -w parameter=value
  5.    
  6.    # 永久修改内核参数
  7.    echo "parameter=value" | sudo tee -a /etc/sysctl.conf
  8.    sudo sysctl -p
复制代码

1. 内核模块管理:
“`bash加载内核模块sudo modprobe module_name

内核模块管理:
“`bash

sudo modprobe module_name

# 卸载内核模块
   sudo modprobe -r module_name

# 查看模块信息
   modinfo module_name

# 设置模块开机自动加载
   echo “module_name” | sudo tee -a /etc/modules-load.d/custom.conf
  1. 4. **性能调优示例**:
  2.    ```bash
  3.    # 增加文件描述符限制
  4.    echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf
  5.    
  6.    # 优化网络参数
  7.    echo "net.core.rmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
  8.    echo "net.core.wmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
  9.    echo "net.ipv4.tcp_rmem = 4096 87380 16777216" | sudo tee -a /etc/sysctl.conf
  10.    echo "net.ipv4.tcp_wmem = 4096 65536 16777216" | sudo tee -a /etc/sysctl.conf
  11.    
  12.    # 应用更改
  13.    sudo sysctl -p
复制代码

资源和社区

官方资源

1. openSUSE官方网站:主站:https://www.opensuse.org/文档:https://doc.opensuse.org/论坛:https://forums.opensuse.org/维基:https://en.opensuse.org/
2. 主站:https://www.opensuse.org/
3. 文档:https://doc.opensuse.org/
4. 论坛:https://forums.opensuse.org/
5. 维基:https://en.opensuse.org/
6. 软件源:官方软件源:https://software.opensuse.org/OBS (Open Build Service):https://build.opensuse.org/
7. 官方软件源:https://software.opensuse.org/
8. OBS (Open Build Service):https://build.opensuse.org/
9. 邮件列表:opensuse@opensuse.org(一般讨论)opensuse-announce@opensuse.org(公告)opensuse-security@opensuse.org(安全相关)
10. opensuse@opensuse.org(一般讨论)
11. opensuse-announce@opensuse.org(公告)
12. opensuse-security@opensuse.org(安全相关)

openSUSE官方网站:

• 主站:https://www.opensuse.org/
• 文档:https://doc.opensuse.org/
• 论坛:https://forums.opensuse.org/
• 维基:https://en.opensuse.org/

软件源:

• 官方软件源:https://software.opensuse.org/
• OBS (Open Build Service):https://build.opensuse.org/

邮件列表:

• opensuse@opensuse.org(一般讨论)
• opensuse-announce@opensuse.org(公告)
• opensuse-security@opensuse.org(安全相关)

社区支持

1. IRC频道:#opensuse on Libera.Chat#opensuse-factory on Libera.Chat#opensuse-buildservice on Libera.Chat
2. #opensuse on Libera.Chat
3. #opensuse-factory on Libera.Chat
4. #opensuse-buildservice on Libera.Chat
5. 社交媒体:Twitter:@openSUSEFacebook:https://www.facebook.com/openSUSEReddit:https://www.reddit.com/r/openSUSE/
6. Twitter:@openSUSE
7. Facebook:https://www.facebook.com/openSUSE
8. Reddit:https://www.reddit.com/r/openSUSE/
9. 本地用户组:查找您附近的openSUSE用户组:https://en.opensuse.org/openSUSE:Local_user_groups
10. 查找您附近的openSUSE用户组:https://en.opensuse.org/openSUSE:Local_user_groups

IRC频道:

• #opensuse on Libera.Chat
• #opensuse-factory on Libera.Chat
• #opensuse-buildservice on Libera.Chat

社交媒体:

• Twitter:@openSUSE
• Facebook:https://www.facebook.com/openSUSE
• Reddit:https://www.reddit.com/r/openSUSE/

本地用户组:

• 查找您附近的openSUSE用户组:https://en.opensuse.org/openSUSE:Local_user_groups

学习资源

1. 书籍:“openSUSE Leap 15.3 Essentials” by Neil Smyth“openSUSE Linux Unleashed” by Michael McCallister
2. “openSUSE Leap 15.3 Essentials” by Neil Smyth
3. “openSUSE Linux Unleashed” by Michael McCallister
4. 在线教程:openSUSE Wiki教程:https://en.opensuse.org/Portal:TutorialsopenSUSE官方YouTube频道:https://www.youtube.com/user/openSUSE
5. openSUSE Wiki教程:https://en.opensuse.org/Portal:Tutorials
6. openSUSE官方YouTube频道:https://www.youtube.com/user/openSUSE
7. 认证:SUSE Certified Administrator (SCA)SUSE Certified Engineer (SCE)
8. SUSE Certified Administrator (SCA)
9. SUSE Certified Engineer (SCE)

书籍:

• “openSUSE Leap 15.3 Essentials” by Neil Smyth
• “openSUSE Linux Unleashed” by Michael McCallister

在线教程:

• openSUSE Wiki教程:https://en.opensuse.org/Portal:Tutorials
• openSUSE官方YouTube频道:https://www.youtube.com/user/openSUSE

认证:

• SUSE Certified Administrator (SCA)
• SUSE Certified Engineer (SCE)

参与贡献

1. 报告Bug:Bugzilla:https://bugzilla.opensuse.org/
2. Bugzilla:https://bugzilla.opensuse.org/
3. 贡献代码:GitHub:https://github.com/openSUSE参与指南:https://en.opensuse.org/openSUSE:Contributing
4. GitHub:https://github.com/openSUSE
5. 参与指南:https://en.opensuse.org/openSUSE:Contributing
6. 翻译和文档:加入翻译团队:https://en.opensuse.org/openSUSE:Translation_team改进文档:https://en.opensuse.org/openSUSE:Documentation_team
7. 加入翻译团队:https://en.opensuse.org/openSUSE:Translation_team
8. 改进文档:https://en.opensuse.org/openSUSE:Documentation_team

报告Bug:

• Bugzilla:https://bugzilla.opensuse.org/

贡献代码:

• GitHub:https://github.com/openSUSE
• 参与指南:https://en.opensuse.org/openSUSE:Contributing

翻译和文档:

• 加入翻译团队:https://en.opensuse.org/openSUSE:Translation_team
• 改进文档:https://en.opensuse.org/openSUSE:Documentation_team

结论

openSUSE是一个强大、稳定且灵活的Linux发行版,适合从个人桌面到企业服务器的各种用途。本指南涵盖了从基础安装到高级管理的各个方面,希望能帮助您更好地理解和使用openSUSE系统。

随着您对openSUSE的深入了解,您会发现它提供了丰富的工具和功能,可以满足各种计算需求。无论您是Linux新手还是经验丰富的系统管理员,openSUSE都能为您提供稳定、安全且高效的计算环境。

最后,不要忘记openSUSE拥有一个活跃且友好的社区,如果您遇到问题或有疑问,随时可以寻求社区的帮助。同时,也欢迎您为openSUSE项目做出贡献,无论是报告bug、翻译文档还是贡献代码,都能帮助openSUSE变得更好。

祝您使用openSUSE愉快!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则