一、Linux 安裝軟件的三種方法
rpm安裝、yum 安裝、源代碼編譯安裝
區別
1、rpm 安裝類似於window的安裝包,下載后直接安裝。
缺點: 無法解決依賴,比如下載python 也需要下載 C 語言
2、yum 安裝基於 rpm 安裝,就是載 rpm 上增加了自動解決依賴問題
3、源代碼安裝:通過編譯源代碼得到軟件包。優點是可以自定制軟件包,缺點是比較復雜。
rpm 安裝
安裝:rpm -ivh [軟件包名稱]
卸載:rpm -e [軟件包名稱]
升級:rpm -Uvh [軟件包名稱]
1、下載安裝包
1、去華為雲下載 centos 7 文件 : https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/
2、把下載好的文件上傳到 Linux 中,
#
3、如果把 window 中的文件上傳到 Linux ?
先下載 lrzsz : yum install lrzsz -y
# 值得注意:如果 yum 無法安裝,有可能是 /etc/yum.repo.d/ 目錄下的 .repo 文件被更改了,請檢查
2、開始安裝軟件
rpm -ivh <安裝包名>
[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
3、卸載軟件
rpm -e <安裝名(無需版本號)>
[root@localhost]~# rpm -e zsh
4、更新安裝包
rpm -Uvh <安裝包全名>
[root@localhost]~# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
安裝包名稱
zsh-5.0.2-34.el7_8.2.x86_64.rpm
軟件包名稱:zsh
版本號:5.0.2
第多少次編譯:34
適用的平台:el7_8(CentOS 7)
適用的系統位數:x86_64
擴展名:rpm
rpm 其他命令操作
查看軟件包的配置文件
rpm -qc <安裝包名>
***
[root@localhost]~# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
查看是否安裝某軟件
rpm -q <軟件名>
# 表示安裝
[root@localhost]~# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
# 沒安裝
[root@localhost]~# rpm -q zsh
package zsh is not installed
查看當前系統安裝了哪些軟件
rpm -qa
[root@localhost]~# rpm -qa
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
setup-2.8.71-11.el7.noarch
libndp-1.2-9.el7.x86_64 # 太多了
查看軟件的安裝路徑,查看安裝了哪些東西
rpm -ql <軟件名>
[root@localhost]~# rpm -ql python3
/usr/bin/pydoc3
/usr/bin/pydoc3.6
/usr/bin/python3
/usr/bin/python3.6
/usr/bin/python3.6m
yum 安裝
1、安裝
基於rpm安裝,自動解決依賴。
可以自己從網絡中下載安裝包,無需拖拽上傳
命令 : yum install <軟件名>
參數 :
-y : 免交互,直接同意安裝
--nogpgcheck : 忽略公鑰認證(為了安全)
2、卸載
命令 : yum remove <軟件名>
[root@localhost]~# yum remove zsh
3、更新
命令 : yum update [軟件包名稱]
參數:
-y : 免交互
注意:如果跟具體的軟件包名稱,就會更新指定軟件包;如果沒有指定,則更新系統所有的需要更新的軟件包。
4、yum安裝的生命周期
1、執行 yum install <軟件名> 命令
2、去到 /etc/yum.repo.d/ 路徑下查找 .repo 結尾的文件
3、通過 .repo 文件中中的鏈接,找到軟件對應的倉庫
4、從對應的軟件倉庫中下載軟件安裝包
5、緩存到 /var/cache/yum/ 目錄下
5、根據緩存安裝軟件
6、刪除軟件包(keepcache 是否保存緩存,0 代表不保存,1 代表保存)
注:/etc/yum.conf 是yum的配置文件。
[root@localhost etc]# cat yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever < -- 緩存的目錄
keepcache=0 < -- 是否保存緩存,0 代表不保存,1 代表保存
debuglevel=2
二、搭建 yum 私有倉庫
我們使用 yum 去下載軟件,實際上是通過鏈接去到別人的倉庫里(華為雲,阿里雲)找到安裝包下載至本地然后安裝的,有一定的風險,在公司一般會搭建自己的私有倉庫,供內部人員下載軟件使用
1、本地版
1、下載必須的軟件包
下載用於初始化倉庫的軟件包
yum install yum-utils createrepo -y
2、創建軟件倉庫
倉庫建立在 /opt 目錄下
mkdir /opt/repos
3、下載對應的軟件
在windows中把需要的軟件包下載下來並上傳至Linux
在倉庫 /opt/repos 中創建一個 package 文件夾,用於存放倉庫的軟件包,並且把軟件包都存放到 package 文件夾下
mkdir /opt/repos/packages
cp zsh-5.0.2-34.el7_8.2.x86_64.rpm /opt/repos/packages
4、初始化倉庫
createrepo /opt/repos
這樣倉庫就具備了兩個文件夾 packages、repodata
[root@localhost repos]# ll
total 4
drwxr-xr-x 2 root root 45 Dec 16 16:48 packages
drwxr-xr-x 2 root root 4096 Dec 16 16:49 repodata
5、添加 yum 源
根據 yum 安裝的生命周期,用戶用 yum 安裝軟件時,會首先去到 /etc/yum.repos.d 中查找倉庫鏈接,為了不讓原來的 repo 文件影響測試本地倉庫,先把原來的 .repo 文件移動到別的路徑下,再創建私有倉庫的 repo 文件,用於存放私有倉庫的鏈接
1、cd /etc/yum.repos.d/
2、mkdir back
3、mv ./*.repo back < -- 存檔(原 repo 文件)完成
4、yum-config-manager --add-repo=file///opt/repos
此命令用於創建一個新的 repo 文件,里面存放指向本地倉庫的路徑:file///opt/repos
cat /etc/yum.repos.d/opt_repos.repo
[opt_repos] # 源的名稱
name=added from: file:///opt/repos # 源的簡介
baseurl=file:///opt/repos # 源的下載地址
enabled=1 # 是否啟用:1啟用 , 0不啟用
6、生成緩存
yum clean all
yum makecache
7、測試
[root@localhost ~]# yum install zsh
2、遠程版
前六步與本地版搭建一模一樣
7、安裝遠程訪問軟件(Nginx)
安裝遠程訪問軟件(Nginx)
1、在 yum 的 repo 文件中添加華為雲的路徑源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
2、這是epel的源,添加完之后就可以通過 yum 去網址下載 Nginx 了
[root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
adding repo from: https://repo.huaweicloud.com/epel/7/x86_64/
[repo.huaweicloud.com_epel_7_x86_64_]
name=added from: https://repo.huaweicloud.com/epel/7/x86_64/
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
enabled=1
3、通過 yum 下載 Nginx
[root@localhost ~]# yum install nginx --nogpgcheck
8、修改nginx的配置文件
1、查詢一下 nginx 中有哪些配置文件
[root@localhost ~]# rpm -qc nginx
2、修改 nginx.conf 文件即可
vim /etc/nginx/nginx.conf
# include /etc/nginx/conf.d/*.conf; < -- 注釋掉
server {
listen 80;
listen [::]:80;
server_name _;
root /opt/repos; < -- 改為本地的軟件倉庫地址
autoindex on; < -- 表示啟動nginx
3、 測試更改是否成功
[root@localhost ~]# nginx -t
4、 啟動nginx
[root@localhost ~]# systemctl start nginx
5、 關閉selinux和firewalld
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
6、瀏覽器訪問虛擬機ip地址,如果出現以下的頁面說明nginx啟動成功
9、在另一個虛擬機中測試
再另開一個虛擬機,把它的 /etc/yum.repos.d 中的 repo 文件鏈接源改成遠程倉庫的地址
1、下載 yum-utils,以便添加 repo 文件的源
[root@localhost yum.repos.d]# yum install yum-utils -y
2、備份源,把原有的 repo 文件備份好
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/
3、 添加源,添加遠程倉庫虛擬機的ip地址
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/
[root@localhost ~]# yum-config-manager --add-repo=http://192.168.15.101/
Loaded plugins: fastestmirror
adding repo from: http://192.168.15.101/
[192.168.15.101_]
name=added from: http://192.168.15.101/
baseurl=http://192.168.15.101/
enabled=1
4、刷新緩存
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
5、測試
[root@localhost ~]# yum install zsh -y