|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
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
系统更新:
- sudo zypper refresh
- sudo zypper update
复制代码
硬件检测:
网络连接测试:
基本配置
系统设置
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
- sudo usermod -aG wheel username
复制代码
文件权限:
• 使用chmod修改文件权限:chmod 755 filename # rwxr-xr-x
• 使用chown修改文件所有者:chown user:group filename
- chmod 755 filename # rwxr-xr-x
复制代码- 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
- 2. **软件源管理**:
- ```bash
- # 列出所有软件源
- zypper repos -l
-
- # 添加软件源
- sudo zypper addrepo repo_url alias
-
- # 删除软件源
- sudo zypper removerepo alias
-
- # 修改软件源
- 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
- ### YaST软件管理
- YaST提供了图形界面的软件管理工具:
- 1. **软件管理**:
- - 在YaST中选择"软件" > "软件管理"
- - 搜索、安装、删除软件包
- - 过滤和分组查看软件包
- 2. **软件源管理**:
- - 在YaST中选择"软件" > "软件源"
- - 添加、删除、启用或禁用软件源
- - 修改软件源优先级
- ### 图形化软件中心
- openSUSE提供了图形化的软件中心,便于日常使用:
- 1. **Discover**(KDE Plasma):
- - 提供友好的界面浏览和安装软件
- - 支持Flatpak和Snap包
- 2. **GNOME软件中心**(GNOME桌面):
- - 类似Discover,但针对GNOME环境优化
- ### 第三方软件安装
- 1. **Flatpak**:
- ```bash
- # 安装Flatpak
- sudo zypper install flatpak
-
- # 添加Flathub仓库
- flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-
- # 安装Flatpak应用
- 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
- 3. **从源代码编译**:
- ```bash
- # 安装编译工具
- sudo zypper install -t pattern devel_basis
-
- # 典型的编译过程
- tar -xvf package.tar.gz
- cd package
- ./configure
- make
- 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
- 2. **SysVinit服务管理**(旧系统):
- ```bash
- # 启动服务
- sudo /etc/init.d/service_name start
-
- # 停止服务
- sudo /etc/init.d/service_name stop
-
- # 重启服务
- sudo /etc/init.d/service_name restart
-
- # 查看服务状态
- /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
- 2. **日志管理**:
- ```bash
- # 查看系统日志
- journalctl
-
- # 查看特定服务的日志
- journalctl -u service_name
-
- # 查看内核日志
- dmesg
-
- # 查看特定日志文件
- less /var/log/messages
复制代码
1. 性能分析:
“`bash安装性能分析工具sudo zypper install sysstat
性能分析:
“`bash
sudo zypper install sysstat
# CPU统计
mpstat
# 内存统计
vmstat
# 进程统计
pidstat
- ### 系统更新和维护
- 1. **系统更新**:
- ```bash
- # 刷新软件源
- sudo zypper refresh
-
- # 列出可用更新
- zypper list-updates
-
- # 安装所有更新
- sudo zypper update
-
- # 仅安装安全更新
- 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
- 3. **系统清理**:
- ```bash
- # 清理旧内核
- sudo zypper purge-kernels
-
- # 清理包缓存
- sudo zypper clean
-
- # 删除不需要的软件包
- sudo zypper packages --unneeded
- 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备份:
- # 备份整个系统
- 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
- 3. **使用Btrfs快照**(openSUSE默认文件系统):
- ```bash
- # 创建快照
- sudo btrfs subvolume snapshot / /snapshot_name
-
- # 列出快照
- sudo btrfs subvolume list /
-
- # 恢复快照
- 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
BONDING_MASTER=‘yes’
BONDING_MODULE_OPTS=‘mode=4 miimon=100’
BONDING_SLAVE0=‘eth0’
BONDING_SLAVE1=‘eth1’
BOOTPROTO=‘dhcp’
STARTMODE=‘auto’
- ```bash
- # 重启网络服务
- 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配置:
- # 创建VLAN接口配置文件
- sudo nano /etc/sysconfig/network/ifcfg-eth0.10
复制代码
配置文件内容示例:
- ETHERDEVICE='eth0'
- BOOTPROTO='dhcp'
- VLAN_ID='10'
- STARTMODE='auto'
复制代码- # 重启网络服务
- sudo systemctl restart network
复制代码
1. 网桥配置:
“`bash安装网桥工具sudo zypper install bridge-utils
网桥配置:
“`bash
sudo zypper install bridge-utils
# 创建网桥接口配置文件
sudo nano /etc/sysconfig/network/ifcfg-br0
BRIDGE=‘yes’
BRIDGE_PORTS=‘eth0 eth1’
BOOTPROTO=‘dhcp’
STARTMODE=‘auto’
- ```bash
- # 重启网络服务
- 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
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 {
- range 192.168.1.100 192.168.1.200;
复制代码
}
- ```bash
- # 启动并启用DHCP服务
- sudo systemctl start dhcpd
- 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
options {
- directory "/var/lib/named";
- listen-on { any; };
- allow-query { any; };
- recursion yes;
复制代码
};
zone “example.com” in {
- type master;
- file "example.com.zone";
复制代码
};
- ```bash
- # 创建区域文件
- sudo nano /var/lib/named/example.com.zone
复制代码
区域文件内容示例:
- $TTL 1D
- @ IN SOA ns1.example.com. admin.example.com. (
- 2023081501 ; serial
- 1D ; refresh
- 1H ; retry
- 1W ; expire
- 3H ) ; minimum
-
- IN NS ns1.example.com;
-
- ns1 IN A 192.168.1.1
- www IN A 192.168.1.100
复制代码- # 启动并启用DNS服务
- sudo systemctl start named
- 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. **使用SuSEfirewall2**:
- ```bash
- # 配置防火墙
- sudo yast2 firewall
-
- # 或使用命令行
- sudo nano /etc/sysconfig/SuSEfirewall2
复制代码
配置示例:
- FW_DEV_EXT="eth0"
- FW_SERVICES_EXT_TCP="ssh http https"
- FW_SERVICES_EXT_UDP=""
- FW_CONFIGURATIONS_EXT="apache2"
复制代码- # 重启防火墙
- 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. **安全更新**:
- ```bash
- # 安装安全更新
- sudo zypper patch --category security
-
- # 配置自动安全更新
- sudo yast2 online_update_configuration
复制代码
1. SSH安全配置:# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config安全配置示例:
“`禁用root登录PermitRootLogin no
SSH安全配置:
- # 编辑SSH配置文件
- sudo nano /etc/ssh/sshd_config
复制代码
安全配置示例:
“`
PermitRootLogin no
# 禁用密码认证,使用密钥认证
PasswordAuthentication no
PubkeyAuthentication yes
# 更改默认端口
Port 2222
# 仅允许特定用户
AllowUsers user1 user2
- ```bash
- # 重启SSH服务
- sudo systemctl restart sshd
复制代码
1. 系统审计:
“`bash安装审计工具sudo zypper install auditd
系统审计:
“`bash
sudo zypper install auditd
# 配置审计规则
sudo nano /etc/audit/rules.d/audit.rules
# 监控文件访问
-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
- ```bash
- # 启动并启用审计服务
- sudo systemctl start auditd
- 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
- 2. **管理AppArmor配置文件**:
- ```bash
- # 查看特定程序的配置文件状态
- sudo aa-status | grep program_name
-
- # 将程序置于抱怨模式(记录但不阻止违规)
- sudo aa-complain /path/to/program
-
- # 将程序置于强制模式(阻止违规)
- sudo aa-enforce /path/to/program
-
- # 创建新的配置文件
- sudo aa-genprof /path/to/program
-
- # 更新现有配置文件
- sudo aa-logprof
复制代码
1. - AppArmor配置文件示例:# /etc/apparmor.d/usr.bin.ping
- #include <tunables/global>
- /usr/bin/ping {
- #include <abstractions/base>
- #include <abstractions/consoles>
- capability net_raw,
- network inet raw,
- /usr/bin/ping mr,
- }
复制代码
AppArmor配置文件示例:
- # /etc/apparmor.d/usr.bin.ping
- #include <tunables/global>
- /usr/bin/ping {
- #include <abstractions/base>
- #include <abstractions/consoles>
- capability net_raw,
- network inet raw,
- /usr/bin/ping mr,
- }
复制代码
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
SELINUX=enforcing
SELINUXTYPE=targeted
- ```bash
- # 创建SELinux文件系统标记
- sudo touch /.autorelabel
-
- # 重启系统
- 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
- 3. **管理SELinux上下文**:
- ```bash
- # 查看文件SELinux上下文
- ls -Z /path/to/file
-
- # 修改文件SELinux上下文
- sudo chcon -t httpd_sys_content_t /var/www/html/index.html
-
- # 恢复默认SELinux上下文
- 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
- - 修复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
复制代码
系统启动后卡住:
• 检查系统日志:
“`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. **依赖关系问题**:
- ```bash
- # 检查并修复依赖关系
- sudo zypper verify
- sudo zypper install --dry-run $(zypper se -i | awk '{print $5}')
-
- # 强制安装忽略依赖
- 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
- 3. **软件包冲突**:
- ```bash
- # 查找冲突的软件包
- sudo zypper verify
-
- # 删除冲突的软件包
- sudo zypper remove conflicting_package
-
- # 锁定特定版本的软件包
- 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
- 2. **无线网络问题**:
- ```bash
- # 检查无线网卡状态
- iwconfig
-
- # 扫描可用的无线网络
- sudo iwlist scan
-
- # 使用NetworkManager连接无线网络
- nmcli dev wifi list
- 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. **系统响应缓慢**:
- ```bash
- # 检查系统资源使用情况
- top
-
- # 检查内存使用
- free -h
-
- # 检查磁盘I/O
- iostat -x 1 5
-
- # 查找占用资源的进程
- ps aux --sort=-%cpu | head
- 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
- 3. **高CPU使用率**:
- ```bash
- # 查找高CPU使用的进程
- top
-
- # 查看进程详情
- ps -p PID -o pid,ppid,cmd,%mem,%cpu
-
- # 终止进程
- sudo kill -9 PID
复制代码
高级主题
虚拟化
1. - KVM虚拟化:
- “`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
- 2. **创建虚拟机**:
- ```bash
- # 使用virt-install创建虚拟机
- sudo virt-install \
- --name vm_name \
- --ram 2048 \
- --vcpus 2 \
- --disk path=/var/lib/libvirt/images/vm_name.img,size=20 \
- --cdrom /path/to/iso \
- --os-variant opensuse15 \
- --network network=default
-
- # 使用virt-manager图形界面创建虚拟机
- 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. **Docker**:
- ```bash
- # 安装Docker
- sudo zypper install docker
-
- # 启动并启用Docker服务
- sudo systemctl start docker
- sudo systemctl enable docker
-
- # 将用户添加到docker组
- sudo usermod -aG docker $(whoami)
-
- # 验证安装
- docker run hello-world
复制代码
1. Podman(Docker替代品):
“`bash安装Podmansudo zypper install podman
Podman(Docker替代品):
“`bash
sudo zypper install podman
# 验证安装
podman run hello-world
- 3. **Kubernetes**:
- ```bash
- # 安装Kubernetes工具
- sudo zypper install kubernetes-client kubernetes-kubeadm kubernetes-node
-
- # 初始化Kubernetes主节点
- sudo kubeadm init --pod-network-cidr=10.244.0.0/16
-
- # 配置kubectl
- mkdir -p $HOME/.kube
- sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
- # 安装网络插件(如Flannel)
- kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
复制代码
内核调优
1. 查看内核信息:
“`bash查看内核版本uname -r
查看内核信息:
“`bash
uname -r
# 查看内核参数
sysctl -a
# 查看已加载的内核模块
lsmod
- 2. **修改内核参数**:
- ```bash
- # 临时修改内核参数
- sudo sysctl -w parameter=value
-
- # 永久修改内核参数
- echo "parameter=value" | sudo tee -a /etc/sysctl.conf
- 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
- 4. **性能调优示例**:
- ```bash
- # 增加文件描述符限制
- echo "fs.file-max = 100000" | sudo tee -a /etc/sysctl.conf
-
- # 优化网络参数
- echo "net.core.rmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
- echo "net.core.wmem_max = 16777216" | sudo tee -a /etc/sysctl.conf
- echo "net.ipv4.tcp_rmem = 4096 87380 16777216" | sudo tee -a /etc/sysctl.conf
- echo "net.ipv4.tcp_wmem = 4096 65536 16777216" | sudo tee -a /etc/sysctl.conf
-
- # 应用更改
- 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愉快! |
|