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