顧一下😌
上一部分我們都講了什麼?🤔
yes指令
持續輸出某字元串
yes oeasy
還有什麼好玩的指令嗎?🤔
列出所有包
apt list
這裡好多檔案啊,我們找找有沒有yes
找到yes對應位置
which yes
/usr//bin/yes屬于哪個包
dpkg -S /usr/bin/yes
在已經安裝的包裡面找到coreutil
dpkg -l coreutils
coreutils到底是幹什麼的?
dpkg -s coreutils
在已安裝清單中搜尋coreutils
apt list coreutils
在源中搜尋coreutils
apt search coreutils
dpkg對應debian package 是傳統包管理
dpkg更多的是本地包的各種安裝解除安裝檢視
早年間都是通過ftp下載下傳到本地,再dkpg的
apt是新的包管理工具😍
apt更多的是網絡包的安裝解除安裝檢視
如果有些包你是從紅帽系rpm下載下傳的
可以用alien轉化為deb
然後安裝deb檔案
可以用apt下好玩的包嗎?😂
apt🧩
apt是advanced package tools的意思
apt是debian系發行版的軟體包管理工具
紅帽系的yum、arch系的pacman也是很好的管理工具
為什麼要用這個工具🔧?
不同的cpu架構要用不同的二進制檔案
你可以有兩種方法得到某種架構(比如mips)的二進制檔案
直接下載下傳這個架構的二進制檔案
下載下傳這個軟體包的源檔案,自己編譯⚙️
但是這個得到的二進制檔案還是有可能不能用
軟體包之間是有依賴關系的
這個軟體包依賴的軟體包不存在
甚至被依賴的軟體包所依賴的軟體包不存在
這就形成了一條鍊路
我們需要把這條鍊路上所有的軟體包都下載下傳下來
以上做法太麻煩了,我們隻需要
使用apt把相關操作封裝成接口
我們直接調用apt就可以了
是以叫做進階包管理工具
當然你得有地方下載下傳,這就需要鏡像站.
鏡像站(mirrors)
軟體包放在網絡上
debian系的鏡象清單是
https://www.debian.org/mirror/list
這裡面其實對應的就是我們/etc/apt/sources.list
鏡像站一般也不隻提供一個發行版的鏡像
以清華鏡像站為例
https://mirror.tuna.tsinghua.edu.cn/
有好多發行版
點選發行版或軟體包後面問号
可以獲得sources.list的相關清華源配置代碼
實驗樓裡面預設的是阿裡源也很好用
我們要下載下傳一個應用linuxlogo
我先看看我設定的這些源裡面有沒有🤪
sources.list🗒
sources.list文法是這樣的
deb url distribution component1 component2 component3 [..] componentX
deb-src url distribution component1 component2 component3 [..] componentX
deb對應二進制檔案
deb-src對應源檔案
在位址後面有個版本号
版本在dists(distribution)裡面可以找到
https://mirror.tuna.tsinghua.edu.cn/debian/dists/
debian系列版本号都是玩具總動員中的角色
ubuntu版本号來自于動物🦊
main、contribute是檔案夾的名字
Buster版是最新的穩定版,适合拿來使用
維護者維護的源頭是源檔案
有了源檔案,可以編譯成到各種架構的二進制檔案
修改也是,先修改源檔案
各種版本的生命周期
package🎁
軟體包釋出的過程生命周期
搜尋源裡面有沒有linuxlogo這個軟體包
apt search linuxlogo
看看鏡像站上面對于這個軟體包的描述
apt show linuxlogo
下載下傳安裝這個軟體包
apt install linuxlogo
search 查找到你的目前架構是否可以有這個軟體包
show 顯示開發者 簡介 大小 所在的源的位置
我們可以apt show apt看看apt的依賴關系
(A 或 B) 且 C 的關系寫作 A | B, C
第三條執行不下去,因為沒有權限
我怎麼才能讓他執行下去呢?🤔
下次再說!👋