当前位置: 首页 > news >正文

Leap Micro不可变Linux

@[toc](openSUSE Leap Micro不可变Linux))

1、openSUSE Leap Micro简介

openSUSE Leap Micro是一款稳定发行版, 此社区版本基于SUSE Linux Enterprise Micro,并充分利用了 SUSE Linux Enterprise 经过企业级强化的安全性和合规性组件。这种技术融合提供了一个现代化、不可篡改且开发者友好的操作系统平台。

这个版本的不可变回滚特性,非常适合服务器。

openSUSE Leap Micro是一个不可变的 Linux 发行版。利用 Btrfs快照等特性来实现事务性原子性

https://imbearchild.cyou/archives/2022/09/fedora-kinoite-and-opensuse-microos/

大白话就是:
不要在这个服务器上装了mysql又在上面nginx最好只跑一个服务,不然这个Linux的变更方式会让你摸不着头脑
如果只跑一个服务,变更和回滚非常好用,强烈安利

简单来讲,不可变Linux发行版会有一个大体只读根分区

/usr/lib只读挂载 ;

/etc/var/home 等路径依然可写.

只读目录读写目录
//opt
/usr/etc
/lib/var
/home

openSUSE Leap Micro与openSUSE MicroOS对比

MicroOSLeap Micro 都是 openSUSE 项目下的轻量级、不可变操作系统(Immutable OS),专为容器化与边缘计算场景设计,但两者在技术基础、更新策略及目标用户上存在显著差异。以下是核心区别的对比与分析:

对比维度openSUSE Leap MicroopenSUSE MicroOS
基础代码来源基于 SUSE Linux Enterprise (SLE) 和 Leap基于 Tumbleweed(滚动更新版)
更新模式小幅稳定更新(追随 SLE SP 版本)持续滚动更新(最新软件包)
生命周期6个月(EOL 于后续第二个版本发布时)无固定生命周期,持续更新
目标用户企业边缘计算、嵌入式生产环境开发者、云原生实验环境
图形界面支持无桌面环境,可通过 Cockpit 管理可选 Desktop 版(如 KDE、GNOME)
企业支持路径可平滑迁移至 SLE Micro(最长4年支持)社区驱动
源的软件数量

2、ssh登录

SLE默认不能root登录,没有/etc/ssh/sshd_config 文件;

需要新建一个普通账户登录SLE服务器,然后提权到root

# 创建ops用户
useradd ops# 为ops设置密码
passwd ops# 使用ops用户登录sle服务器
ssh ops@sle服务器ip# 提权到ops
sudo -i


3、openSUSE Leap Micro配置国内软件源

官方软件源地址:https://zh.opensuse.org
https://thiscute.world/posts/opensuse-instruction/

openSUSE Leap Micro是基于tumbleweed

# 创建备份软件源 目录
mkdir -p /etc/zypp/repos.d/bak# 备份软件源
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/bak# OSS 更新仓库,用于获取开源软件的安全更新和补丁
## -f: 自动刷新这个仓库。
## -c: 自动接受仓库证书(信任 SSL 证书)。
## -g: 忽略 GPG 检查(通常用于测试或内部镜像,但不推荐在生产环境中禁用)。
## 阿里只保存了sle的5.5
# sudo zypper ar -fcg https://mirrors.aliyun.com/opensuse/update/leap-micro/5.5/sle leap-micro# 添加 SUSE Linux Enterprise (SLE) 的更新仓库
sudo zypper ar -fcg https://mirrors.aliyun.com/opensuse/update/leap-micro/$releasever/sle `leap-micro SUSE Linux Enterprise`# 查看源文件
ls /etc/zypp/repos.d/

#刷新软件包源
zypper ref#查看软件源
zypper ls


zypper并行下载

https://forum.suse.org.cn/t/topic/17192/7

vim /etc/profile.d/aliases.sh

# zypper启用并行下载
alias zypper='ZYPP_PCK_PRELOAD=1 zypper'

4、系统变更

文档参考地址: SUSE Documentation

openSUSE Leap Micro不可变服务器,每安装一次软件都是一次变更,变更完成后, /usr/lib 登录目录都会变成只读。保证了系统的原子性

transactional-update SUSE 事务性更新工具命令详解
https://blog.csdn.net/omaidb/article/details/148655666

# 安装软件包
transactional-update -c pkg install tuned open-vm-tools# 应用变更
transactional-update apply

5、openSUSE Leap Micro配置静态ip

Leap Micrio通过NetworkManager配置网络,使用nmcli命令行进行网络配置

https://blog.csdn.net/omaidb/article/details/120028501


系统优化和美化


关闭SELinux

# 关闭selinux
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config# 临时关闭SELinux
setenforce 0

启动tuned服务

# 开机自启服务并现在就启动服务
systemctl enable --now tuned## 启用虚拟机方案和低时延方案
tuned-adm profile virtual-guest network-latency

美化vim

# 下载vim配置文件
wget -cP $HOME/ https://raw.gitcode.com/liqiaofei/vim-config/raw/main/.vimrc

ps1变量美化

# 下载ps1美化配置
curl -o /etc/profile.d/ps1.sh https://raw.gitcode.com/liqiaofei/profile.d/raw/main/ps1.sh

配置/etc/motd.d/00-welcome系统欢迎语

tee /etc/motd.d/00-welcome <<-'EOF'
【法律警告】
本系统仅供授权人员访问。所有登录尝试和系统内的操作行为都将被实时监控、记录和审计。未经授权的访问、使用、修改或传播系统信息属于非法行为,将承担严厉的法律责任,包括但不限于民事赔偿、行政处罚乃至刑事起诉。继续登录表示您已阅读、理解并同意接受上述条款和相关信息安全策略的约束。
EOF

设置中文语言显示

# 查询 LANG 可以设置的值
localectl list-locales |grep -i zh

# 查询 LC_ALL 可以设置的值
locale -a |grep -i zh

配置/etc/locale.conf

vim /etc/locale.conf

# 设置默认语言
LANG=zh_CN.UTF-8
# 覆盖系统所有语言设置
LC_ALL=zh_CN.utf8

使locale.conf配置生效
# 立即生效
source /etc/locale.conf# 开机自动生效
echo "source /etc/locale.conf" >/etc/profile.d/locale.sh

系统快照管理

基于Btrfs文件系统的快照管理
https://documentation.suse.com/zh-cn/sle-micro/6.0/html/Micro-transactional-updates/index.html


创建快照

每安装一次软件包后重启,就会生成一个快照

snapper create

查看快照列表

# 查看快照列表
snapper list


修改快照描述

# 修改快照12的 描述
snapper modify -d "安装了mosh" 12


回滚快照

# 回滚快照
snapper rollback 快照编号# 回滚到快照5 并添加备注
snapper rollback 5 -d "Emergency_rollback"

对比快照

snapper status 15..16 |less  # 查看文件变化
snapper diff 15..16 |less   # 内容差异对比


删除快照

# 删除快照
snapper delete 快照编号

相关文章:

  • USB接口DP(D-)和DM(D+)英文全称
  • EMAGE:通过具表现力的掩码音频动作建模,实现统一的整体共语姿态生成
  • 设置Git和Github
  • 【Python打卡Day44】预训练模型 @浙大疏锦行
  • ACM设计平台-核心模块解析-赵家康
  • Python实现高效导入Excel数据到ClickHouse
  • ImageNet 上的安全外包神经网络推理
  • HarmonyOS5 购物商城app(二):购物车与支付(附代码)
  • 使用DevEco Testing快速创建HarmonyOS5单元测试
  • 从源码角度了解Elasticsaerch(分布式协调排序、深分页问题)
  • 【Java】脱离 JVM 约束 GraalVM + Liberica NIK + Spring + Docker 将 Java 编译为平台二进制可执行文件
  • 亚马逊深度整合全食超市,重塑全球跨境电商与生鲜零售格局
  • FPGA基础 -- Verilog语言要素之值集合
  • CentOS7安装MySQL8.0.42
  • 展开说说Android之Retrofit详解_使用篇
  • 深度解析MySQL中的Join算法:原理、实现与优化
  • 如何在 Windows 上打造 macOS 式快速查看体验?
  • 2025最新1000+道Java面试题+答案整理(附JVM/MySQL/Spring/Redis)
  • 136.在 Vue3 中使用 OpenLayers 实现 GroupLayer 的添加、删除、显示、隐藏
  • P2C (Point-to-Curve) 算法深度解析
  • 做图客网站/富阳seo关键词优化
  • 西安公司代办/网站seo工具
  • 朝阳专业网站建设/网络推广内容
  • 网站建设五大定位/河南网站定制
  • 网站开发及建设赔偿条款/免费推广有哪些
  • 郑州英文网站建设/长沙seo网站排名