openSUSE MicroOS不可變Linux

openSUSE MicroOS不可Linux

    • 1、openSUSE MicroOS簡介
      • 安裝時可能遇到的問題
    • 2、ssh登錄
    • 3、openSUSE MicroOS配置國內軟件源
    • 4、系統變更
      • openSUSE MicroOS安裝軟件包
        • 方法1:進入事務性更新模式安裝軟件包
        • 方法2:繼續`快照id`基于這個快照進行增量安裝
        • 方法3:transactional-update pkg ins
      • 第一次變更
      • 第二次變更
    • 5、openSUSE MicroOS配置靜態ip
    • 系統優化和美化
      • 關閉SELinux
      • sudo配置
      • 啟動tuned服務
      • 美化vim
      • ps1變量美化
      • 配置git命令自動補全
      • 配置`/etc/motd.d/00-welcome`系統歡迎語
      • 設置中文語言顯示
        • 使`locale.conf`配置`生效`
    • 安全防護
      • 使用fail2ban防止ssh窮舉爆破 :
      • 配置ipset
      • rm刪除到回收站
      • Linux服務器防止誤關機
    • 系統快照管理
      • 創建快照
      • 查看快照列表
      • 修改快照描述
      • 回滾快照
      • 對比快照
      • 刪除快照

1、openSUSE MicroOS簡介

OpenSUSE MicroOS 適用于單一用途服務器應用
https://get.opensuse.org/microos/?type=server

OpenSUSE MicroOS是一個不可變的 Linux 發行版。
MicroOS 則利用 Btrfs 的快照等特性來實現事務性原子性

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

大白話就是:
不要在這個服務器上裝了mysql又在上面nginx最好只跑一個服務,不然這個Linux的變更方式會讓你摸不著頭腦
如果只跑一個服務,變更和回滾非常好用,強烈安利

簡單來講,不可變Linux發行版會有一個大體只讀根分區
/etc/var/home 等路徑依然可寫
但是 /usr/lib只讀掛載。

openSUSE MicroOS 基于tumbleweed(風滾草)版本,是一個滾動更新版
這個版本的不可變回滾特性,非常適合服務器。


安裝時可能遇到的問題

安裝時,先按下F4,選擇DVD,才能正常安裝.


文章中演示的版本
在這里插入圖片描述


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 MicroOS配置國內軟件源

官方軟件源地址:https://zh.opensuse.org

openSUSE MicroOS是基于tumbleweed

# 創建備份軟件源 目錄
mkdir -p /etc/zypp/repos.d/bak# 備份軟件源
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/bak# OSS 更新倉庫,用于獲取開源軟件的安全更新和補丁
sudo zypper ar -cf https://mirrors.ustc.edu.cn/opensuse/tumbleweed/repo/oss/ repo-oss# 添加非開源倉庫(Non-OSS)
sudo zypper ar -cf https://mirrors.ustc.edu.cn/opensuse/tumbleweed/repo/non-oss/ repo-non-oss# 添加 SUSE Linux Enterprise (SLE) 的更新倉庫
## 阿里只保存了sle的5.5
# sudo zypper ar -fc https://mirrors.aliyun.com/opensuse/update/leap-micro/5.5/sle leap-micro
# sudo zypper ar -fc https://mirrors.aliyun.com/opensuse/update/leap-micro/$releasever/sle `leap-micro SUSE Linux Enterprise`# 查看源文件
ls /etc/zypp/repos.d/

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


4、系統變更

文檔參考地址: SUSE Documentation

openSUSE MicroOS不可變服務器,每安裝一次軟件都是一次變更,變更完成后, /usr/lib 登錄目錄都會變成只讀。保證了系統的原子性


openSUSE MicroOS安裝軟件包

SLE Micro引入了事務性更新,允許您對根文件系統應用一項更改;

使用transactional-update shell 安裝多個軟件包,對文件系統的更改并使用該exit命令離開shell后,需要重新啟動主機以應用更改.

簡單來講:

就是在每次安裝軟件時,會自動給系統做快照

重啟操作系統后才能運行安裝的軟件.

# 搜索軟件
zypper se 包名


方法1:進入事務性更新模式安裝軟件包

注意: 要一次性把需要的所有軟件安裝上

不進入事務性更新模式是不能安裝軟件包的。

# 進入事務性更新 shell(用于在不影響當前系統的情況下進行軟件包修改)
transactional-update shell# 安裝軟件包
zypper in -y pkg1# 退出事務性更新 shell,提交更改
exit# 重啟系統以應用更改
reboot

方法2:繼續快照id基于這個快照進行增量安裝

transactional-update --continue 可以進行多項更改無需重新啟動,每次運行時都會創建一個單獨的快照,其中包含上一個快照的所有更改以及您的新更改,需要重新啟動主機應用更改

# 查詢快照id
snapper list# 繼續上一個事務 ID 為 12 的操作,并安裝 package_2
# --continue <ID> 表示繼續之前快照的上下文環境,創建一個新的快照
transactional-update --continue 12 pkg ins package_2# 重啟系統以應用所有通過 transactional-update 安裝或更新的內容
reboot# 啟動服務
systemctl enable --now cockpit.socket

方法3:transactional-update pkg ins
# 使用 transactional-update 安裝 package_1 軟件包
# 這會創建一個新的系統快照,并在其中安裝該軟件包
transactional-update pkg ins patterns-microos-cockpit cockpit-ws cockpit-tukit

第一次變更

一次性把需要的軟件安裝齊全;每次安裝的軟件不一樣,就是不同的鏡像

# 進入事務性更新 shell(用于在不影響當前系統的情況下進行軟件包修改)
transactional-update shell# 安裝網絡工具
zypper in -y mosh telnet net-tools wget rsync tcpdump iperf bind-utils# 退出事務性更新 shell,提交更改
exit# 重啟系統以應用更改
reboot

第二次變更

第二次安裝軟件包時,第一次的所有軟件包就會失效,又變回未安裝軟件包狀態。

所以,如果要增加軟件包,要在第一次軟件包的基礎上追加軟件包

# 進入事務性更新 shell(用于在不影響當前系統的情況下進行軟件包修改)
transactional-update shell# 更新系統到最新
zypper dup# 安裝網絡工具
zypper in -y mosh telnet net-tools wget rsync tcpdump iperf bind-utils########### 追加的軟件部分################ 安裝常用工具
zypper in -y htop mlocate bash-completion git vim lrzsz tree screen socat lsof qrencode proxychains-ng traceroute jq sysstat# 性能自動優化
zypper in -y tuned tuned-utils tuned-utils-systemtap# openSUSE使用zypper來管理軟件包--非虛擬機不裝
zypper in -y open-vm-tools# ssh防護
zypper in -y fail2ban ipset trash-cli# 選裝
zypper in -y wireguard-tools lsb-release# 安裝glibc-i18ndata包
## glibc-i18ndata 國際化語言數據庫
zypper in -y glibc-i18ndata glibc-locale glibc-locale-base## wqy-zenhei-fonts wqy-bitmap-fonts wqy-microhei-fonts 安裝文泉驛正黑字體
zypper in -y wqy-zenhei-fonts wqy-bitmap-fonts wqy-microhei-fonts# 退出事務性更新 shell,提交更改
exit# 重啟系統以應用更改
reboot

5、openSUSE MicroOS配置靜態ip

SLE Micrio通過NetworkManager配置網絡,使用nmcli命令行進行網絡配置

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


系統優化和美化


關閉SELinux

# 關閉selinux
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config# 臨時關閉SELinux
setenforce 0

sudo配置

# 配置admin用戶的權限
echo "admin ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/admin# 配置admin的sudo配置文件權限
sudo chmod 0440 /etc/sudoers.d/admin

啟動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

配置git命令自動補全

# 下載git-completion.sh
wget -cP /etc/profile.d/ https://raw.github.com/git/git/master/contrib/completion/git-completion.bash

配置/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

安全防護


使用fail2ban防止ssh窮舉爆破 :

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


配置ipset

配置IP白名單IP黑名單
https://blog.csdn.net/omaidb/article/details/120405741


rm刪除到回收站

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


Linux服務器防止誤關機

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


系統快照管理

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 快照編號

對比快照

snapper status 15..16 |less  # 查看文件變化
snapper diff 15..16 |less   # 內容差異對比


刪除快照

# 刪除快照
snapper delete 快照編號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84603.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84603.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84603.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

建站SEO優化之站點地圖sitemap

文章目錄 編寫規范小型網站站點地圖小型網站規范示例站點地圖說明 大型網站站點地圖大型網站規范示例以豆瓣站點地圖為例 近期文章&#xff1a; 個人建站做SEO網站外鏈這一點需要注意&#xff0c;做錯了可能受到Google懲罰一文搞懂SEO優化之站點robots.txt網頁常見水印實現方式…

Java分層開發必知:PO、BO、DTO、VO、POJO概念詳解

目錄 引言一、核心概念與定義1、PO&#xff08;Persistent Object&#xff0c;持久化對象&#xff09;2、BO&#xff08;Business Object&#xff0c;業務對象&#xff09;3、DTO&#xff08;Data Transfer Object&#xff0c;數據傳輸對象&#xff09;4、VO&#xff08;View O…

Linux下OLLAMA安裝卡住怎么辦?

網絡環境不理想&#xff0c;經常在官方的linux安裝腳本執行時卡住&#xff0c;其實主要是下載文件卡住&#xff0c;于是我想到了是否可以把其中下載的過程顯化、分步&#xff0c;這樣更可控&#xff0c;于是修改了官方的install.sh #!/bin/sh # This script installs Ollama o…

C++面試(5)-----刪除鏈表中指定值的節點

操作系統&#xff1a;ubuntu22.04 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 給定一個單向鏈表的頭節點 head 和一個特定值 val&#xff0c;要求編寫一個函數來刪除鏈表中所有值等于 val 的節點&#xff0c;并返回修改后的鏈表頭節點。 示例&#xff1a; 輸…

如何用AI賦能學習

由于博主是大學生&#xff0c;今天花費了大量的時間去進行期末的復習&#xff0c;不過從復習中得到了一些學習的靈感&#xff0c;即&#xff1a;如何用AI賦能學習 當我們需要掌握一門新的技能的時候&#xff0c;我們很容易的想到三種辦法&#xff1a;買書自己學&#xff0c;報…

【threejs】每天一個小案例講解:常見材質

代碼倉 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;無需安裝依賴&#xff0c;直接liver-server運行/直接打開chapter01中的html文件 運行效果圖 知識要點 1. MeshBasicMaterial&#xff08;基礎網格材質&#xff09; ? 特…

springboot后端與鴻蒙的結合

軟件&#xff1a;鴻蒙devceo3.1&#xff0c;springboot項目采用IDEA 目的&#xff1a; 1、結合springboot后端與鴻蒙的結合運用。 2、Log日志查看console語句的信息。 3、引入 import http from ohos.net.http。 4、調用springboot后端提供的鏈接發送post 5、TextInput的…

minio集群通過mc mirror命令進行定時備份,支持X86和arm兩種架構

文章目錄 前言一、思路二、使用步驟1.下載mc二進制文件2.手動測試備份命令3.配置定時任務4.成功截圖 總結 前言 通過mc mirror命令對minio集群進行定時備份。 一、思路 通過mc mirror命令配合crond定時任務進行周期性的備份 二、使用步驟 1.下載mc二進制文件 wget https:…

三大能力升級,為老項目重構開辟新路徑

在軟件技術飛速迭代的今天&#xff0c;老項目重構是開發者們繞不開的難題。接口實現缺失、業務邏輯矛盾、架構規劃偏離等問題如同攔路虎&#xff0c;讓重構工作舉步維艱。而傳統的 AI 輔助方式&#xff0c;因未充分關聯項目實際情況&#xff0c;猶如 “空中造樓”&#xff0c;難…

AES加密

AES加密算法詳解 AES&#xff08;Advanced Encryption Standard&#xff09;是一種對稱密鑰分組加密算法&#xff0c;用于保護電子數據的安全性。其核心特點是通過相同的密鑰進行加密和解密&#xff0c;屬于對稱加密體系。。以下從核心特性、加密流程及安全性三方面展開說明&a…

關于聯詠(Novatek )自動曝光中Lv值的計算方式實現猜想

目錄 一、常見Lv對應的實際場景 二、常見光圈值 三、最小二乘法計算SV中的系數K

[docker]鏡像操作:關于docker pull、save、load一些疑惑解答

在使用 Docker 的過程中&#xff0c;鏡像管理是極其重要的一環。無論是拉取、保存還是加載鏡像&#xff0c;每一個步驟都可能遇到一些疑問或者誤區。 本文將結合實際案例&#xff0c;對常見的 Docker 鏡像操作問題進行系統性總結&#xff0c;幫你更好地理解 Docker 鏡像的工作機…

SFTrack:面向警務無人機的自適應多目標跟蹤算法——突破小尺度高速運動目標的追蹤瓶頸

【導讀】 本文針對無人機&#xff08;UAV&#xff09;視頻中目標尺寸小、運動快導致的多目標跟蹤難題&#xff0c;提出一種更簡單高效的方法。核心創新在于從低置信度檢測啟動跟蹤&#xff08;貼合無人機場景特性&#xff09;&#xff0c;并改進傳統外觀匹配算法以關聯此類檢測…

什么是滲透測試,對網站安全有哪些幫助?

在網絡安全的戰場中&#xff0c;網站如同暴露在數字世界的堡壘&#xff0c;時刻面臨著黑客攻擊的威脅。而滲透測試&#xff0c;就像是為網站進行一場 “模擬攻防演練”&#xff0c;它以黑客的思維和手段&#xff0c;主動出擊&#xff0c;探尋網站潛在的安全漏洞。究竟什么是滲透…

KU115LPE-V10型FPGA加速卡

KU115LPE-V10是一款基于PCI Express總線通信的FPGA加速類產品。 該產品基于Xilinx公司的的高性能Kintex Ultra-Scale FPGA設計&#xff0c;配置最大兩組DDR4緩存單元&#xff0c;每組最大支持4GB容量&#xff0c;72bit&#xff08;包含ECC&#xff0c;8bit&#xff09;&#x…

【筆記】Blockchain

區塊鏈Blockchain是一種分布式數據庫技術&#xff0c;其核心特點在于去中心化、不可篡改和透明性。它通過一系列按照時間順序排列的數據塊&#xff08;即“區塊”&#xff09;組成&#xff0c;每個數據塊都包含了一定時間內的一系列信息交易&#xff0c;并通過密碼學方法確保這…

GitHub Desktop Failure when receiving data from the peer

目錄 安裝Github Desktop簡易省流助手 解決 Git 克隆時出現的 "Failure when receiving data from the peer" 錯誤1. 網絡連接問題原因&#xff1a;解決辦法&#xff1a; 2. Git 配置問題原因&#xff1a;解決辦法&#xff1a; 3. GitHub 服務故障原因&#xff1a;解…

疏錦行Python打卡 DAY 27 函數專題2:裝飾器

def logger(func):def wrapper(*args, **kwargs):print(f"開始執行函數 {func.__name__}&#xff0c;參數: {args}, {kwargs}")result func(*args, **kwargs)print(f"函數 {func.__name__} 執行完畢&#xff0c;返回值: {result}")return resultreturn wr…

大模型布署如何選擇GPU資源?

當前主流GPU型號及其顯存大小&#xff08;顯存“大小”&#xff09;的詳細分類匯總&#xff0c;結合消費級、專業工作站級及數據中心級三大應用場景&#xff0c;數據綜合自行業常用型號及最新產品信息&#xff08;截至2025年6月&#xff09;&#xff1a; &#x1f3ae; 一、消費…

目標檢測——YOLOv12算法解讀

論文&#xff1a;YOLOv12: Attention-Centric Real-Time Object Detectors (2025.2.18) 作者&#xff1a;Yunjie Tian, Qixiang Ye, David Doermann 鏈接&#xff1a;https://arxiv.org/abs/2502.12524 代碼&#xff1a;https://github.com/sunsmarterjie/yolov12 YOLO系列算法…