0.基礎環境
類別:筆記本
型號:中國長城 NF14C
硬件平台:飛騰處理器D2000(ArmV8 指令集)
系統:銀河麒麟操作系統 V10 SP1(2303)
關鍵詞:Linux,銀河麒麟,飛騰,軟件安裝,新立德,DEB,軟件打包,編譯
1.軟件安裝與卸載
在Linux中,安裝最終調用的是dpkg(centos這個系列是調的rpm),同時時間只允許一個安裝,並會是鎖定狀態。
1.1圖形化安裝
1.1.1 軟件市場安裝
點擊開始
點擊軟件商店
如:我們要安裝騰訊文檔,輸入騰訊文檔
點擊安裝即可。安裝成功後,打開騰訊文檔
1.1.2 Deb包安裝
DEB 是 Debian 及其衍生系統(如 Ubuntu、Deepin)使用的軟件包格式,文件擴展名為 .deb。它包含程序文件、依賴信息和安裝腳本,可通過命令 dpkg -i 或 apt install 安裝。DEB 包依賴管理完善、更新方便,是最常用的 Linux 軟件分發形式之一。
注:RPM格式是Centos等紅帽系列平台的格式,自行試驗。
還是以安裝騰訊文檔為例,找到騰訊文檔下載的地址。打開瀏覽器,打開搜索引擎(相關),輸入騰訊文檔,進行搜索
點擊更多版本下載,因為我們的CPU是Intel,AMD是X64的指令集,如果是飛騰就選ARM,選擇Deb包下載
點下載,下載完成後
雙擊deb包,進行安裝。
點擊一鍵安裝
1.2 命令行安裝
1.2.1 apt命令安裝
打開命令行
sudo apt search tencent #搜索騰訊在倉庫中的軟件
sudo apt install qqmusic #根據顯示,選擇需要的軟件安裝
1.2.2 dpkg命令安裝
定位到前面我們下載的deb包
cd 下載
ls #顯示確認包是否存在
在命令行中輸入
sudo dpkg -i TencentDocs-x64.deb
或
sudo apt install ./TencentDocs-x64.deb
1.2.3 命令的其他用法
# 查詢已安裝軟件包
dpkg -l | grep gcc
# 查看軟件包信息
apt show gcc
# 檢查軟件包文件列表
dpkg -L gcc
# 更新軟件源
sudo apt update
# 將系統所有軟件更新到最新狀態
sudo apt full-upgrade
# 安裝軟件包
sudo apt install -y wget
# 升級軟件包
sudo apt upgrade -y wget
# 卸載軟件包
sudo apt remove -y wget
# 搜索軟件包
apt search nginx
# 查看可用版本
apt show nginx
練習
- 安裝
net-tools,驗證ifconfig命令是否可用。 - 卸載
net-tools並觀察系統狀態。
1.3 圖形化軟件卸載
打開軟件商店,定位到軟件管理
找到要卸載的軟件,騰訊文檔,點擊卸載即可完成卸載。
2.軟件包管理
2.1 Synaptic新立德包管理器
安裝synaptic圖形化包管理器
sudo apt install synaptic -y
啓動後
打開新立得軟件包管理器
可以右擊對應的包選項,進行升級,卸載,安裝動作。
2.2 Muon包管理器
在應用市場中,搜索包管理,可以看到muon軟件包管理器
安裝成功後,打開。
2.3 Dpkg命令行
以下載的騰訊文檔安裝包為例
# 安裝本地下載的Tecentdocs.deb包
dpkg -i Tecentdocs.deb
# 卸載Tecentdocs(保留配置文件,如用户文檔設置、緩存等)
dpkg -r tecentdocs
# 徹底卸載Tecentdocs(刪除所有文件及配置,包括用户設置和緩存)
dpkg -P tecentdocs
# 查看Tecentdocs的安裝狀態(輸出中"ii"表示已安裝)
dpkg -l tecentdocs
# 篩選系統中已安裝的所有Tecentdocs相關包(如有依賴組件)
dpkg -l | grep tecentdocs
# 查看已安裝的Tecentdocs詳細信息(版本、依賴、描述等)
dpkg -s tecentdocs
# 列出Tecentdocs安裝的所有文件路徑(如可執行文件、圖標、配置模板等)
dpkg -L tecentdocs
# 查詢Tecentdocs的執行文件(如/usr/bin/tecentdocs)所屬的包
dpkg -S /usr/bin/tecentdocs
# 查看未安裝的Tecentdocs.deb包內部包含的文件(無需安裝即可預覽內容)
dpkg -c Tecentdocs.deb
# 查看未安裝的Tecentdocs.deb包的元信息(版本、依賴、開發者信息等)
dpkg -I Tecentdocs.deb
# 若Tecentdocs安裝時因依賴問題中斷,修復未完成的配置
dpkg --configure -a
# 強制移除損壞的Tecentdocs包(無法正常卸載時使用)
dpkg --remove --force-remove-reinstreq tecentdocs
3.軟件編譯
# 下載源碼包
wget http://ftp.gnu.org/gnu/hello/hello-2.12.tar.gz
# 解壓
tar -xzf hello-2.12.tar.gz
cd hello-2.12
ls
# 配置
./configure
# 編譯
make
# 安裝
sudo make install
# 測試安裝是否成功,這個就是我們編譯出來的hello二進制執行文件了。
hello
應該可以看到輸出“世界你好”!
練習
- 學生下載並編譯
wget源碼包,記錄執行過程。 - 修改
configure參數安裝到自定義路徑/opt/hello,並驗證運行。
圖示提示
- 展示源碼編譯流程圖(下載 → 解壓 → 配置 → 編譯 → 安裝 → 測試)。
4.軟件打包
以軟件編譯出的hello二進制為案例嘗試。
4.1 麒麟打包工具GUI打包
4.1.1 安裝GUI打包工具
打開應用市場,搜索打包。
看到麒麟打包工具,安裝後打開
4.1.2 打包hello文件
選擇二進制程序打包,並點擊創建項目
將hello2.12源代碼與編譯過的文件夾拖入,並填入安裝目錄(記得點擊旁邊的確定)
點擊下一步,輸入相關信息
點擊下一步,根據需要處理
點擊下一步
點擊編包
編譯成功後,桌面上有這個DEB文件,就可以雙擊安裝了。
4.2 命令行打包
下面以打包一個簡單的 Hello World 程序 為例,演示如何在 Debian/Ubuntu 系統中製作 .deb 包(最常用的 Linux 軟件包格式之一),方便分發和安裝。
# 安裝.deb打包所需工具(dpkg-deb、fakeroot等)
sudo apt update && sudo apt install -y dpkg-dev fakeroot
步驟 1:創建打包工作目錄
打包需要嚴格的目錄結構(模擬軟件安裝後的系統路徑),先創建一個工作目錄:
# 創建主目錄(命名格式:包名-版本號,如hello-1.0)
mkdir -p hello-1.0
# 進入工作目錄
cd hello-1.01
步驟 2:準備軟件文件(程序 + 資源)
假設我們要打包之前編譯的 hello 程序,需按實際安裝路徑放置文件(如 /usr/bin 存放可執行程序):
# 創建模擬的系統目錄(對應安裝後的路徑)
mkdir -p usr/bin
# 將前面編譯的軟件放至要安裝的位置
cp ~/hello-2.12/hello usr/bin/.
# 賦予執行權限
chmod +x usr/bin/hello
步驟 3:創建控制文件(核心配置)
在 DEBIAN 目錄下創建 control 文件,記錄包的元信息(名稱、版本、依賴等),這是 .deb 包的核心:
# 創建DEBIAN目錄(存放控制信息)
mkdir -p DEBIAN
# 編輯control文件
vim DEBIAN/control
chmod 755 DEBIAN/control
在 control 中寫入以下內容:
Package:hello
Version:1.0
Architecture:amd64
Maintainer:Your Name <you@example.com>
Description:A simple hello program
This is a demo package for Linux .deb packaging.
Depends:bash
解釋如下:
Package:hello # 包名(小寫,無空格)
Version:1.0 # 版本號
Architecture:amd64 # 架構(amd64/i386/arm64等,通用可寫all)
Maintainer:Your Name <you@example.com> # 維護者信息
Description:A simple hello program # 包描述(簡短)
This is a demo package for Linux .deb packaging. # 詳細描述(首行縮進)
Depends:bash # 依賴(此程序依賴bash,可選)
ESC退出編輯,按shift+:輸入wq 保存並退出。
步驟 4:(可選)添加安裝 / 卸載腳本
如果需要在安裝後或卸載前執行操作(如創建用户、清理文件),可在 DEBIAN 目錄下添加腳本:
# 安裝後執行的腳本(如打印提示)
echo '#!/bin/bash' > DEBIAN/postinst
echo 'echo "Hello package installed successfully!"' >> DEBIAN/postinst
chmod 755 DEBIAN/postinst # 必須賦予執行權限
# 卸載前執行的腳本(如清理提示)
echo '#!/bin/bash' > DEBIAN/prerm
echo 'echo "Hello package will be removed..."' >> DEBIAN/prerm
chmod 755 DEBIAN/prerm
步驟 5:生成.deb 包
使用 dpkg-deb 工具打包,fakeroot 確保文件權限正確:
# 返回工作目錄的上一級(因為打包目錄是hello-1.0)
cd ..
# 打包(生成hello_1.0_amd64.deb)
fakeroot dpkg-deb -b hello-1.0 hello_1.0_amd64.deb
執行成功後,當前目錄會生成 .deb 包:hello_1.0_amd64.deb。
步驟 6:測試安裝與卸載
# 安裝自制的.deb包
sudo dpkg -i hello_1.0_amd64.deb
# 測試程序是否可用
hello # 輸出:Hello, Linux Package!
# 查看包信息
dpkg -l hello # 狀態應為ii(已安裝)
# 卸載包
sudo dpkg -r hello
# 徹底卸載(刪除配置,此處無配置文件,效果同-r)
sudo dpkg -P hello
核心邏輯總結
- 目錄結構:
hello-1.0/內模擬系統路徑(如usr/bin),存放實際文件;DEBIAN/存放控制信息和腳本。 - 控制文件:
control定義包的基本信息,是打包的核心。 - 打包工具:
dpkg-deb -b負責將目錄打包為.deb,fakeroot確保文件權限符合系統要求。
寫在最後
本篇主要目標是告訴大家怎麼安裝軟件,怎麼樣打包DEB格式,帶大家入個門,在學中做。
麒麟操作系統,從入門到精通
麒麟操作系統專欄:https://segmentfault.com/blog/kylinos
麒麟操作系統x64專欄:https://segmentfault.com/blog/kylinos-x64
B站視頻地址:https://www.bilibili.com/list/243784204
個人主頁:
https://segmentfault.com/u/code4world/articles
https://twitter.com/xiaohelong
https://github.com/xiaohelong
聯繫郵箱:1179611323@qq.com
羣:662512340
發行日志:
20251031 首發