rockyLinux 介紹軟體安裝我主要挑了編輯器 neovim 和 版本管理控制工具 Git 進行介紹。
通常情況,部署完Linux發行版,自帶 vim 工具,既然有了vim,那就來點新的嚐嚐鮮,比如 neovim。
如果你想用版本控制工具,Git 是不錯的選擇,在本地初始化倉庫做版本控制,還可以配合github 和 gitee 進行使用,獲取開源軟體。
如果不是做核心裁剪相關工作,或者參與社群開發維護,其實不用涉及太深的知識。
tips:關於安裝軟體,普通使用者沒有許可權,請使用 sudo 命令 提取許可權,root 超級使用者則不需要加 sudo。
Red Hat 企業版 Linux 9 軟體管理工具,使用RHEL系列(centos、centos-stream、rockyLinux)可以參考RHEL檔案。
在 Red Hat Enterprise Linux 9 中,DNF 工具用於軟體安裝。Red Hat 繼續支援使用 yum 術語與之前的 RHEL
主要版本保持一致。如果你鍵入 yum 而不是 dnf,命令可以正常工作,因為這兩者是相容性的別名。
注意:RHEL 8 和 RHEL 9 基於 dnf 管理工具,與 RHEL 7 中使用 yum 相容。
當你看到這篇博文,無論是使用雲伺服器或者 VMware搭建虛擬環境,我預設你有Linux基本知識。
例如:基本操作,使用 ssh 命令連線遠端伺服器,通過 su 命令切換使用者身份。
演示安裝之前,使用終端管理工具先登入到普通使用者(預設禁用了root使用者ssh登入許可權)。
登入終端
PS D:\work> ssh [email protected]
[email protected]'s password:
如果你和我一樣使用的是Windows 11 ,自帶終端管理工具,可以滿足日常簡單操作。複雜一點的功能,可能需要藉助於Xshell等工具。
切換root使用者身份,兩種方式
[wzgy@localhost ~]$ su root
密碼:
[root@localhost wzgy]#
如何確認當前使用者身份?
根據符號 $ 和 # 區分,如果看到的是 $ 操作符,代表普通使用者,如果是 # 符號,代表超級使用者 root。
1、通過 Linux 發行版自帶軟體管理工具安裝
準備EPEL環境,Rocky Linux 9:
dnf config-manager --set-enabled crb
dnf install epel-release
yum & dnf 工具安裝 neovim:
yum -y install neovim.x86_64
執行命令執行:
nvim
輸出結果:
NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3
2、下載歸檔包 nvim-linux64.tar.gz 安裝,已經編譯好的原始碼包
獲取:
wget https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.tar.gz
解壓:
tar -zxvf nvim-linux64.tar.gz
執行命令執行:
./nvim-linux64/bin/nvim
檢視 nvim 版本:
./nvim-linux64/bin/nvim -v
輸出結果同上面二進位制包(rpm)形式安裝後,檢視版本結果。
設定環境變數 vim /etc/profile:
# neovim home
NEOVIM_HOME=/usr/local/nvim-linux64/
PATH=$PATH:$NEOVIM_HOME/bin
export NEOVIM_HOME PATH
如果想即時生效,不想重啟伺服器,執行 source 命令即可:
source /etc/profile
設定完成,在任意位置都可以執行 nvim 命令。
3、原始碼包編譯安裝
如果是初學者、或者沒有高度客製化需求,個人不推薦使用這種形式構建。雖然靈活度很高,編譯出問題並不好排查。如果是抱著學習的心態,可以嘗試。畢竟一分耕耘,一分收穫,知識寶庫慢慢壯大。
獲取:
wget https://github.com/neovim/neovim/archive/refs/tags/stable.zip
必備環境(比如make、cmake、gcc等等)、編譯、安裝步驟此處省略,請參考官方檔案:
https://github.com/neovim/neovim/wiki/Installing-Neovim
普通使用者部署Git環境
sudo yum -y install git-core
root使用者部署Git環境
yum -y install git-core
生成祕鑰:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
如果你還想了解更多 ssh-keygen 的用法,可以使用幫助命令:
ssh-keygen --h
檢查你的系統目錄是否有ssh公鑰。預設情況ssh公鑰,可能是以下幾種檔案形式:
檢查 ssh公鑰 id_rsa.pub 檔案內容,在你當前使用者 ~/.ssh/ 目錄中
[root@localhost test]# ls /root/.ssh/
id_rsa id_rsa.pub known_hosts
[root@localhost test]# nvim /root/.ssh/id_rsa.pub
[root@localhost test]# ssh -T [email protected]
Hi cnwangk! You've successfully authenticated, but GitHub does not provide shell access.
既然上面介紹了 nvim,此時直接使用 nvim 編輯 ssh 公鑰檔案:nvim id_rsa.pub 。
複製 id_rsa.pub 檔案內容到 github 賬號的ssh-key中
https://github.com/settings/ssh/new
使用命令測試驗證,驗證github:
ssh -T [email protected]
範例:驗證成功,返回結果為Hi 你的使用者名稱! You've successfully authenticated;驗證失敗,則返回permission deny許可權拒絕。
返回失敗結果,此時需要根據上面步驟設定 ssh 公鑰:
[root@localhost test]# ssh -T [email protected]
[email protected]: Permission denied (publickey).
返回成功結果:
[root@localhost test]# ssh -T [email protected]
Hi cnwangk! You've successfully authenticated, but GitHub does not provide shell access.
關於 git 基本用法,可以在公眾號回覆 git 即可獲取相關基本用法,僅供參考喲!
上面介紹了rockyLinux 平臺neovim 和 git兩款軟體的安裝,接下來系統介紹 RHEL 體系軟體安裝。
緣起,幾年前外出工作,意識到學習 Linux 基本知識的必要性,當時自學使用的是Linux發行版 centos6.5,大概距今已有八年。最早寫這篇檔案可以追溯到 2017 年,後來轉到 centos7.x,翻新了一遍。目前轉到RHEL9,發現以前的總結,有許多不足之處。
個人穩定環境,目前已經切換到穩定發行版 REHL9 系列 Rocky Linux 9;測試環境,使用 centos-stream-9。
原始碼包優點
原始碼包的缺點
rpm 包二進位制包優點
二進位制包缺點
1、安裝前的準備工作
2、安裝注意事項
3、原始碼包安裝位置
4、安裝位置不同帶來的影響
RPM包安裝的服務可以使用系統服務管理命令(service)來管理,例如RPM包安裝的Apache啟動方法:
安裝 httpd 服務,前面也提到過,RHEL9中dnf和yum都行: dnf -y install httpd
5、原始碼包安裝過程
下載並解壓安裝包,進入目錄,一般情況部署指令碼可能指定路徑為 /usr/local/ 也不排除指定為 /usr/ 。
設定:./configure prefix=/usr/local/
rpm包預設安裝位置 | 釋義 |
---|---|
/ect/ | 組態檔安裝目錄 |
/usr/bin/ | 可執行的命令安裝目錄 |
/usr/lib/ | 程式使用的函數庫儲存位置 |
/usr/share/doc/ | 基本軟體使用手冊儲存位置 |
/usr/share/man/ | 幫助手冊儲存位置 |
rpm包命名原則解讀一覽表:httpd-2.4.53-7.el9_1.5.x86_64.rpm
選項 | 釋義 |
---|---|
httpd | 軟體包名 |
2.4.53 | 版本 |
7 | 釋出的次數 |
el9_1.5 | 適合的linux平臺 |
x86_64 | 適用的硬體平臺 |
rpm | 軟體包擴充套件名 |
rpm命令管理
1、查詢是否安裝:
選項 | 釋義 |
---|---|
查詢當前軟體包是否安裝 | rpm -q 包名 |
查詢所有已經安裝的rpm包 | rpm -qa |
-q | query:查詢 |
-a | all:所有 |
2、查詢軟體包詳細資訊
說明:可以獲取 httpd 服務安裝包做作為測試體驗,通過 wget 命令線上獲取 rpm 安裝包。
rpm -pi 包名
選項:
3、查詢安裝包檔案所在安裝位置
4、查詢系統檔案屬於哪個RPM包
範例,查詢PostgreSQL指令碼 pg_ctl 屬於那個rpm包:
[root@localhost ~]# rpm -qf /usr/pgsql-15/bin/pg_ctl
postgresql15-server-15.2-1PGDG.rhel9.x86_64
可以看到輸出結果,pg_ctl 指令碼屬於 postgresql15-server-15.2-1PGDG.rhel9.x86_64 。
5、查詢軟體包的依耐性
rpm包的依耐性
6、RPM包校驗
檔案型別:
選項 | 釋義 |
---|---|
-c (config file) | 組態檔 |
-d (documentation) | 普通檔案 |
-d (documentation) | "鬼檔案",指該檔案不應該被rpm包包含 |
-L (license file) | 授權檔案 |
-r (read me) | 描述檔案 |
內容校驗:驗證內容中的8個資訊的具體內容如下
選項 | 釋義 |
---|---|
-S | 檔案大小是否改變 |
-M | 檔案的型別或檔案許可權(rwx)是否被改變 |
-5 | MD5校驗,檔案內容是否改變 |
-D | 裝置的主從程式碼是否改變 |
-L | 檔案路徑是否改變 |
-U | 檔案所有者是否改變 |
-G | 檔案屬組是否改變 |
-T | 檔案修改時間是否改變 |
7、rpm包的安裝解除安裝與升級
選項 | 釋義 |
---|---|
-i | (install:安裝) |
-v | (verbose |
-h | (hash:顯示進度) |
-U | (upgrade:升級) |
-e | (erase:解除安裝) |
--nodeps | (不檢測依賴性) |
8、rpm包中檔案提取
rpm2cpio 包全名 | cpio -idv檔案絕對路徑
cpio 選項 < [檔案][裝置]
這裡是標準格式,當然可以使用上面介紹的管道符方式。
例如:cpio -idv < test.txt
選項:
RHEL 8之前的版本,只能使用 yum 工具管理,RHEL 8 以及目前最新的RHEL9 同時支援dnf和 yum 命令,可以將yum當成dnf的別名。
在 Red Hat Enterprise Linux 9 中,dnf 工具用於軟體安裝。Red Hat 繼續支援使用 yum 術語與之前發行的 RHEL
主要版本保持一致。如果你輸入 yum 而不是 dnf,命令可以正常工作,因為這兩者是相容性的別名
dnf 管理工具功能不侷限於限安裝和解除安裝,當然還可以進行搜尋軟體包、列出軟體包資訊、軟體倉庫、軟體包組、可用模組等等。下面介紹,依舊基於 yum 命令演示。
1、常用的yum命令
範例,搜尋httpd 核心包:
yum search httpd-core
httpd-core.x86_64 : httpd minimal core
2、安裝
yum -y install 包名
引數含義:
例如安裝 httpd:
yum -y install httpd
3、升級
yum -y update 包名
4、解除安裝
5、yum軟體組管理命令
6、yum原始檔講解
老版本RHEL6 & RHEL7 系列(centos6.x或者centos7.x) 編輯網路yum源:
vim /etc/yum.repos.d/CentOS-Base.repo
在 Rocky Linux 9中編輯:
vim /etc/yum.repos.d/rocky.repo
使用 tree 命令檢視 /etc/yum.repos.d/:
tree /etc/yum.repos.d/
選項 | 釋義 |
---|---|
[base] | 容器名稱,一定要放在[]中 |
name | 容器說明,可以自己隨便寫 |
mirrorlist | 映象站點,這個可以註釋掉 |
baseurl | yum源伺服器的地址。預設是CentOS官方的伺服器,可以使用的,如果你覺得慢可以改成你喜歡的yum源地址。 |
enabled | 此容器是否生效,如果不寫或者寫成enabled=1都是生效,改為enabled=0就是不生效。 |
gpgcheck | 如果是1,指RPM數位憑證生效,為0則不生效。 |
gpgkey | 數位憑證的公鑰檔案儲存位置,不用修改。 |
如果你想替換為國內映象 yum 源,可以做如下操作,注意 rocky大小寫,Linux平臺對大小寫敏感:
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/rocky-*.repo
再次執行,替換 rocky.repo 映象源地址:
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/rocky.repo
更新 dnf 源:
dnf makecache
原始連結設定方法有點小問題,實際替換 rocky 應該是是純小寫的:https://developer.aliyun.com/mirror/rockylinux?spm=a2c6h.13651102.0.0.6bd71b11XWmo3X
centos.sh 指令碼分析:一鍵安裝包,實際上還是安裝的原始碼包和rpm包,只是把安裝過程寫成了指令碼,便於初學者安裝。
優點:簡單,快速,方便。
缺點:
例如:
典型的一鍵安裝包有lnmp(Nginx + MySQL + php),還有 lnmpa(Nginx + MySQL + php + Apache)以及lamp(Apache + MySQL + php)隨著一鍵安裝包的優化,用起來更方便,便於初學者使用。
具體不做過多介紹,網址:https://lnmp.org/(對於入門來說的確很好用),目前已經更新到:2022-6-1 LNMP1.9 正式版。
參考資料
Neovim wiki :https://github.com/neovim/neovim/wiki/Building-Neovim
Epel:https://docs.fedoraproject.org/en-US/epel/
REHL9 DNF 管理工具:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html/managing_software_with_the_dnf_tool/index
以上總結,僅供參考喲!希望對你的工作有所幫助。
—END—