1. 程式人生 > 其它 >linux安裝檔案的三種方式

linux安裝檔案的三種方式

# 今天內容

1、重要的目錄

1、/usr

安裝第三方軟體的目錄,

1、/usr/local主要用來安裝軟體的目錄
2、/usr/bin和/usr/local/bin 主要用來存放第三方二進位制命令檔案的目錄

3、linux安裝檔案的三種方式

1、rpm

rpm無法解決安裝包依賴的問題

下載zsh的連線:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm

rpm -ivh [軟體包名稱]: 安裝軟體

[root@python ~]$ rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
warning: zsh-5.0.2-34.el7_8.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]


rpm -Uvh [軟體包名稱]:更新軟體



rpm -e [軟體包名稱]:解除安裝軟體

[root@python ~]$ rpm -e zsh


rpm -q [軟體包名稱] : 檢視該軟體包是否安裝
rpm -qa [軟體包名稱] : 列印當前系統中所有的已經安裝了的安裝包
跟軟體包,則判斷軟體包是否安裝
不跟軟體包,則列印當前系統中所有的已經安裝的軟體包
rpm -ql [軟體包名稱] : 列印指定安裝包中包含的所有檔案
rpm -qc [軟體包名稱] : 列印指定安裝包的配置檔案


[root@python ~]$ rpm -q zsh
package zsh is not installed
[root@python ~]$ rpm -q gpm-libs-1.20.7-6.el7.x86_64
gpm-libs-1.20.7-6.el7.x86_64
[root@python ~]$ rpm -ql python
/usr/bin/pydoc
/usr/bin/python
/usr/bin/python2
/usr/bin/python2.7
/usr/libexec/platform-python
/usr/share/doc/python-2.7.5
/usr/share/doc/python-2.7.5/LICENSE
/usr/share/doc/python-2.7.5/README
/usr/share/man/man1/python.1.gz
/usr/share/man/man1/python2.1.gz
/usr/share/man/man1/python2.7.1.gz


zsh-5.0.2-34.el7_8.2.x86_64.rpm

zsh : 軟體包的名稱
5.0.2 軟體包的版本號
34 軟體包的構建次數
el7 軟體包適用的平臺
8.2.x86_64 適用於64位作業系統
.rpm 副檔名

2、yum (難點)

可以自動解決安裝包的依賴(也就是說安裝包安裝的時候,自動將依賴包提前安裝)

缺點:無法自定義安裝

1、yum的格式

安裝軟體
yum install [安裝包的名稱] : 安裝安裝包的名稱

[root@python ~]$ yum install nginx

-y : 不提示,預設確認

解除安裝軟體

yum remove [軟體包名稱] : 解除安裝軟體包

-y : 不提示刪除,預設確認

更新軟體

yum update [軟體包] : 更新軟體

1、跟軟體包則更新軟體包
2、不跟軟體包則更新整個作業系統

搜尋軟體
在倉庫中搜索相關的軟體包
[root@python ~]$ yum search nginx


知識儲備:

1、解決nginx安裝包沒有的問題:需要下載epel源
2、epel源倉庫是CentOS擴充套件包的倉庫
3、安裝epel源倉庫

1、切換目錄
[root@python ~]$ cd /etc/yum.repos.d/

2、編輯檔案
[root@python yum.repos.d]$ vim epel.repo
[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0

3、更新源

[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel
Cleaning up list of fastest mirrors
[root@python yum.repos.d]$ yum makecache


搭建私有yum倉庫

目標
1、能解決依賴
2、必須能夠遠端訪問

yum的底層邏輯

第一步:執行yum install nginx安裝命令
第二步:yum去/etc/yum.repos.d這個目錄中
第三步:根據/etc/yum.repos.d中所有的.repo結尾的檔案中儲存的baseurl中的連線,去尋找對應的軟體包
第四步:在尋找到的軟體包中,下載軟體,(/var/cache/yum/x86_64/7/[yum倉庫名稱])
yum的配置檔案
[root@python yum.repos.d]$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 指定yum下載的軟體包存放的路徑($basearch == x86_64, $releasever == 7)
keepcache=0 是否儲存下載的軟體包(0 == 不儲存 , 1 == 儲存)

源的配置檔案(必須以.repo結尾,必須在/etc/yum.repos.d)
[源的名稱]
name 源的簡介(必須)
baseurl 源的地址(必須)
gpgcheck 是否驗證源的安全性(1 == 驗證, 0 == 不驗證)


第五步:安裝所有的軟體(rpm -ivh)
第六步:檢測是否安裝完畢並返回

實施

1、建立目錄,充當倉庫


[root@python yum.repos.d]$ mkdir /yumrepo

2、下載軟體,存放於yum倉庫中

[root@python yumrepo]$ cd /yumrepo
[root@python yumrepo]$ mkdir Packages
[root@python yumrepo]$ cd Packages
[root@python Packages]$ wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm


知識儲備:

wget [下載的檔案URL] : 下載檔案
wget 需要安裝:yum install wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm


3、建立依賴關係

1、安裝建立依賴關係的命令
yum install yum-utils createrepo

2、建立yum源的依賴關係
createrepo [倉庫的路徑]
[root@python ~]$ createrepo /yumrepo/
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

3、檢查
[root@python ~]$ cd /yumrepo/
[root@python yumrepo]$
[root@python yumrepo]$ ll
total 4
drwxr-xr-x 2 root root 39 Sep 22 12:01 Packages
drwxr-xr-x 2 root root 4096 Sep 22 12:03 repodata
[root@python yumrepo]$ ll repodata/
total 28
-rw-r--r-- 1 root root 927 Sep 22 12:03 097191e578bcee7a2308ccba0954a20455f0eaf3a7947d4f622dbe61ad5e64fc-filelists.sqlite.bz2
-rw-r--r-- 1 root root 385 Sep 22 12:03 518eb570ab7d4552fc5fb4272ad172d28fd023f77c26d422e8e492275fd52000-filelists.xml.gz
-rw-r--r-- 1 root root 763 Sep 22 12:03 71a8c494a8fe55ac4128fad1215b4eddca9014254612ed15ac349272a60c19a9-other.xml.gz
-rw-r--r-- 1 root root 1384 Sep 22 12:03 799e159acb34e2da5d7d4fc418a2c1ea677d5371c709055fd7876c0ccd314bed-other.sqlite.bz2
-rw-r--r-- 1 root root 908 Sep 22 12:03 7a69010520845aa2755a292500cc4db3ec5ebae9201d66e805e52728606adc3f-primary.xml.gz
-rw-r--r-- 1 root root 2052 Sep 22 12:03 b61b928dc6d20cd78ca3a8f567e641792c233aab35763d12d05447894b370835-primary.sqlite.bz2
-rw-r--r-- 1 root root 2966 Sep 22 12:03 repomd.xml


4、編寫yum源
[root@python yum.repos.d]$ vim local.repo
[root@python yum.repos.d]$ cat local.repo
[local]
name=本地yum源
baseurl=file:///yumrepo

更新源

[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)
[root@python yum.repos.d]$ yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local | 2.9 kB 00:00:00
(1/3): local/primary_db | 2.0 kB 00:00:00
(2/3): local/other_db | 1.4 kB 00:00:00
(3/3): local/filelists_db | 927 B 00:00:00
Metadata Cache Created

5、測試

yum remove zip
yum install zip

6、安裝遠端軟體,提供遠端訪問服務

1、恢復base源和epel源

[root@python yumrepo]$ cd /etc/yum.repos.d/
[root@python yum.repos.d]$ ll
total 4
drwxr-xr-x 2 root root 47 Sep 22 12:07 backup
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
[root@python yum.repos.d]$ mv backup/* .
[root@python yum.repos.d]$
[root@python yum.repos.d]$ ll
total 12
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r--. 1 root root 102 Sep 16 11:58 CentOS-Base.repo
-rw-r--r-- 1 root root 85 Sep 22 10:58 epel.repo
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo


2、安裝nginx遠端web服務軟體

[root@python yum.repos.d]$ yum install nginx -y

3、修改nginx的配置檔案,使其能夠代理yumrepo倉庫的遠端服務

1、將目錄索引的配置檔案新增進來
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;

2、修改nginx代理的目錄
root /yumrepo;


3、啟動nginx服務
systemctl start nginx

4、在瀏覽器
http://192.168.15.201/

知識儲備:

nginx實現目錄索引
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;



4、修改local yum源

1、隱藏base源和epel源
[root@python yum.repos.d]$ pwd
/etc/yum.repos.d
[root@python yum.repos.d]$ ll
total 12
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r--. 1 root root 102 Sep 16 11:58 CentOS-Base.repo
-rw-r--r-- 1 root root 85 Sep 22 10:58 epel.repo
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
[root@python yum.repos.d]$ mv CentOS-Base.repo backup/
[root@python yum.repos.d]$ mv epel.repo backup/

2、修改local源,使其支援遠端訪問

[local]
name=本地yum源
baseurl=http://192.168.15.201/
gpgcheck=0

3、重新生成

[root@python yum.repos.d]$ yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
Other repos take up 274 M of disk space (use --verbose for details)
[root@python yum.repos.d]$ yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
local | 2.9 kB 00:00:00
(1/3): local/primary_db | 2.0 kB 00:00:00
(2/3): local/other_db | 1.4 kB 00:00:00
(3/3): local/filelists_db | 927 B 00:00:00
Metadata Cache Created


5、測試

yum remove zip
yum install zip



3、二進位制編譯安裝







2、/var

3、/proc

2、檔案的屬性

1、檔案屬性的介紹

2、檔案屬性的詳述

3、企業案例