>[success] # linux -- 軟件包管理
~~~
1.軟件包顧名思義就是將應用程序、配置文件和數據打包的產物,所有的'linux'發行版都采用了某種形式的
軟件包系統,這使得'linux'軟件管理和在'windows'下一樣方便,'suse、red hat、fedora'等發行版都是用rpm包,
Debian和Ubuntu則使用.deb格式的軟件包。'windows' 使用的'exe'的軟件包一樣
2.早期在 Linux 系統中安裝程序是一件非常困難、耗費耐心的事情,而且大多數 的服務程序僅僅提供源代碼,
需要運維人員自行編譯代碼并解決許多的軟件依賴關系,因此 要安裝好一個服務程序,運維人員需要具備豐富知
識、高超的技能,甚至良好的耐心。而且在 安裝、升級、卸載服務程序時還要考慮到其他程序、庫的依賴關系
,所以在進行校驗、安裝、 卸載、查詢、升級等管理軟件操作時難度都非常大
3.軟件包管理工具可以理解成是應用商店,在應用商店上可以送到各種包和進行安裝,也可以對安裝包進行管理卸載
看到發行版本
~~~
>[danger] ##### 一些軟件包管理工具
~~~
1.dpkg(ubuntu):`package manager for Debin`,是基于 `Debian` 系統的包管理器。可以安裝、刪除,但無法解決
依賴項
2.rpm(centos): 紅帽軟件包管理器會建 立統一的數據庫文件,詳細記錄軟件信息并能夠自動分析依賴關系
~~~
>[danger] ##### 簡單好用的管理
~~~
1.可以自動解決依賴關系軟件包管理工具
1.1.'yum',紅帽系列rpm包管理工具
1.2.'apt-get'現在使用'apt' 是'deb' 包管理工具
~~~
>[danger] ##### 鏡像
[阿里鏡像](https://developer.aliyun.com/mirror/)
~~~
1.以centos 鏡像為例說明,centos 安裝使用的是yum 安裝
1.1.'/etc/yum.conf' 存放著yum 配置
1.2.'/etc/yum.repos.d' 存放著安裝源,其中有個兩個文件分別是'CentOS-Base.repo' 和' CentOS-Epel.repo'(第三方包)
安裝時候會依次在這兩個文件指向的地址查找安裝的包文件
~~~
* CentOS-Base.repo 文件字段說明
~~~
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
~~~
| 字段 | 含義 |
| --- | --- |
| base | 容器名稱,一定要放在\[\]中 |
| name | 容器說明,可以自己隨便寫 |
| mirrorlist | 鏡像站點,可以注釋掉 |
| baseurl | YUM源服務器的地址,默認是CentOS官方的YUM源 |
| enable | 此容器是否生效 不寫或者寫成enable=1表示生效,寫成enable=0表示不生效 |
| gpgcheck | 如果是1就是指 RPM的數字證書生效,如果是0則表示不生效 |
| gpgkey | 數字證書的公鑰文件保存位置,不用改 |
* 如果安裝的包在倉庫中找不到自己配置倉庫
~~~
1.創建一個包地址 vim /etc/yum.repos.d/mongodb-org-3.4.repo
添加以下內容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
這里可以修改 gpgcheck=0, 省去gpg驗證
yum makecache 就是把服務器的包信息下載到本地電腦緩存起來
2.這樣當上面'CentOS-Base.repo' 和' CentOS-Epel.repo' 找不到時候會自動使用這個新配置的
~~~
* yum makecache -- 更新緩存
>[danger] ##### 總結
一般來說著名的 Linux 系統基本上分兩大類:?
[RedHat](https://so.csdn.net/so/search?q=RedHat&spm=1001.2101.3001.7020)系列:Redhat、Centos、Fedora 等?
[Debian](https://so.csdn.net/so/search?q=Debian&spm=1001.2101.3001.7020)系列:Debian、Ubuntu 等
| 對比項 | rpm | yum | dpkg | apt |
| --- | --- | --- | --- | --- |
| 系列 | RedHat系 | RedHat系 | Debian系 | Debian系 |
| 區別 | 包安裝工具 | 依賴管理工具 | 包安裝工具 | 依賴管理工具 |
| 查詢已安裝 | rpm -qa | yum list installed | dkpg -l | apt list --installed |
| 安裝 | rpm -i package.rpm 或 rpm –ivh?[http://www.xxx.net/package.rpm](http://www.xxx.net/package.rpm) | yum install -y | dpkg -i package.deb | apt-get install package |
| 更新 | rpm –U software.rpm | yum update | ? | apt upgrade |
| 移除軟件包 | rpm -e \[module1\]\[module2\]… | yum remove | dpkg -r package | apt remove package |
| 移除軟件包及配置 | ? | ? | dpkg -P | apt purge package |
| 下載的包存放位置 | ? | ? | ? | /var/cache/apt/archives |
| 軟件安裝默認位置 | rpm -ql | ? | ? | /usr/share |
| 可執行文件位置 | /usr/bin | ? | ? | /usr/bin |
| 配置文件位置 | /etc | ? | ? | /etc |
| lib文件位置 | /usr/lib | ? | ? | /usr/lib |
| 使用手冊 | /usr/share/doc | ? | ? | ? |
| 幫助文檔 | /usr/share/man | ? | ? | ? |
| 更新 | ? | ? | ? | ? |
- 安裝-VMware 虛擬機
- 遠程連接
- Windows -- wsl
- Linux -- 認識 Linux 和操作系統
- Linux -- Linux 和 windows 對比
- Linux -- 命令提示符
- Linux -- 文件目錄
- Linux -- 文件類型
- Linux -- 絕對和相對路徑
- Linux -- 常用快捷鍵
- Linux -- 三種幫助命令
- 幫助命令 -- man
- 幫助命令 -- help
- 幫助命令 -- info
- Linux -- 指令
- alias -- 設置別名
- history -- 查看歷史命令
- cd -- 更改目錄(切換文件夾)
- pwd -- 打印目錄
- ls -- 列出文件內容
- mkdir -- 創建文件夾
- rmdir -- 刪除一個空的目錄
- touch -- 創建普通文件/修改時間
- cp -- 復制粘貼
- mv -- 移動和重名
- rm -- 刪除
- cat/tac -- 查看純文本文件
- more/less -- 分頁讀取信息
- head -- 從文本開頭查看
- tail -- 從文本結尾查看
- cut -- 提取片段
- sort -- 排序
- uniq -- 去重
- wc -- 統計文件的行數、單詞、字節數
- tr -- 替換、縮減或刪除字符
- find -- 文件查找
- grep -- 文件當中匹配字符
- 管道 -- |
- locate -- 第三方文件查找
- whereis -- 查找二進制/源代碼文件 路徑
- which -- 查找環境變量
- 壓縮和解壓
- ln -- 鏈接
- wget -- 下載指定的url資源
- 重定向 -- << /< />/> >
- 邏輯控制 -- &&
- echo -- 輸出指定內容
- date/cal -- 查看日期和日歷
- Linux -- 進程管理
- Linux-- ps 指令
- vi/vim - 文本編輯器
- 更多
- Linux-- 開關機命令
- Liunx -- 退出登錄
- Linux-- 查看登錄用戶信息
- Linux -- 環境變量
- Linux -- 用戶
- Linux -- 文件管理
- 文件權限設置 -- chmod
- 更改文件的擁有者 -- chown
- 默認權限 -- umask
- Linux -- 用戶
- 新建/刪除用戶 -- useradd/userdel
- 修改用戶屬性 -- usermod/chage
- 新建/刪除用戶組 -- groupadd/groupdel
- 用戶切換 -- su/sudo
- 用戶/用戶組的配置文件
- 用戶家目錄被刪除解決
- last、 lastlog命令查看用戶詳細的登錄信息
- Linux -- shell
- Linux -- 管道符號
- shell -- 執行
- shell -- 變量
- shell -- 字符串
- shell -- 數組
- Shell -- declare 設置變量屬性
- shell -- 數學計算
- shell -- 變量作用域
- shell -- 位置參數變量
- shell -- read
- shell - if 語句
- shell -- test
- shell -- case
- Linux -- 循環
- Linux -- 軟件包管理