鯤鵬CentOS服務器上的源碼安裝Coreutils
GNU核心工具組(英語:GNU Core Utilities,亦常縮寫為Coreutils)是一個 GNU 軟件包,它包含了許多基本工具(如cat,ls 和 rm)在類 Unix 操作系統上的重新實現。
1?????? 安裝準備
華為云購買一臺鯤鵬服務器
本文以云服務器KC1實例搭建,云服務器配置如表1-1所示。
表1-1?云服務器配置
項目
說明
規格
kc1.large.2 ? | 4vCPUs | 8GB
磁盤
系統盤:高IO(40GB)
操作系統要求如表1-2所示。
表1-2?操作系統要求
項目
說明
-
CentOS
7.6
在公共鏡像中已提供。
Kernel
4.14.0
在公共鏡像中已提供。
2?????? 獲取源碼
獲取“Coreutils-8.32”源碼包。
cd?/usr/local/src wget?https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.gz
3?????? 編譯和安裝
由于該工具不能夠在root用戶下執行,切換到其他賬戶,這里新建一個test賬戶,并且切換到test賬戶下操作。
1)???????? root用戶下創建test用戶
添加test用戶
useradd?test
設置test用戶密碼
passwd?test
根據提示,設置密碼。
2)???????? 解壓并且讓test用戶擁有目錄操作權限。
tar?-zxvf?coreutils-8.32.tar.gz chown?test:test?coreutils-8.32
3)???????? 設置Coreutils安裝目錄操作權限。
mkdir?–p?/usr/local/coreutils chown?test:test?/usr/local/coreutils
4)???????? 切換到test目錄,對Coreutils進行編譯安裝。
su?test cd?/usr/local/src/coreutils-8.32 ./configure?--prefix=/usr/local/coreutils make?-j4 make?install
4?????? 運行和驗證
測試Coreutils是否安裝完成。
cd?/usr/local/coreutils ./ls?-version
5?????? 故障排除
問題一:編譯Coreutils時報SYS_getdents未定義錯誤
問題描述:
切換到test目錄,對Coreutils進行編譯安裝,執行make -4時候報錯,提示信息如下:
問題原因:
在一些就的linux系統中,用來查詢文件信息的系統調用的是SYS_getdents,但是在一些較新的版本中,通過SYS_getdents64來查詢文件信息,其實現原理與SYS_getdents基本相同。本例中通過strace ls查詢到,本系統通過SYS_getdents64來查詢文件信息
解決方法:
vim src/ls.c
將3026行代碼SYS_getdents改為SYS_getdents64
CentOS 鯤鵬
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。