與windows類似,在Linux系統(tǒng)上也可以安裝各種應(yīng)用程序,或稱之為軟件包
復(fù)制1.rpm安裝
rpm安裝預(yù)先編譯打包,安裝簡單,下載下來之后直接安裝。
優(yōu)點:已經(jīng)制作好的安裝程序
缺點:不能自己解決依賴
2.yum安裝
yum安裝基于rpm安裝
優(yōu)點:增加了自動解決依賴的功能。
3.源代碼編譯安裝
源代碼安裝通過編譯源代碼,得到軟件包。
優(yōu)點:可以自定制軟件包。
缺點:比較復(fù)雜
鏡像文件
復(fù)制# 掛載:
mount /dev/sr0 /opt/
或
mount /dev/cdrom /munt/
# 卸載:
umount /dev/sr0 #掛載源
或
umount /opt #掛載點
# 強制卸載:
umount -l [掛載源或掛載點]
# 查看掛載信息
df
# 查看/操作設(shè)備內(nèi)容需要先掛載
[root@localhost dev]# mount /dev/sr0 /opt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
# 查看是否掛載成功
[root@localhost ~]# df
文件系統(tǒng) 1K-塊 已用 可用 已用% 掛載點
/dev/sr0 4480476 4480476 0 100% /opt
# 瀏覽光盤內(nèi)容
[root@localhost dev]# ls /opt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
# 查看光盤上的安裝包。格式都是以.rpm結(jié)尾的
[root@localhost dev]# ls /opt/Packages/
......
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
zsh-5.0.2-31.el7.x86_64.rpm
zziplib-0.13.62-9.el7.x86_64.rpm
# 查看自己當(dāng)前平臺
[root@localhost ~]# uname -m
x86_64
# 查看系統(tǒng)內(nèi)核信息
[root@localhost ~]# uname -r
3.10.0-1160.49.1.el7.x86_64
1、RPM安裝
- rpm包來源
- 1、來源網(wǎng)絡(luò)下載
- 2、來源本地:自己的鏡像自帶的rpm包
復(fù)制# 安裝:rpm -ivh [軟件包名稱]
-v #顯示安裝過程
-i #顯示安裝包的詳細信息
-h #安裝包哈希標(biāo)記
# 卸載:rpm -e [軟件包名稱]
# 升級:rpm -Uvh [軟件包名稱]
1、下載安裝包
2、安裝
[root@localhost ~]# rpm -qip /opt/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm #本地鏡像
或
[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
3、卸載
[root@localhost ~]# rpm -e zsh
4、更新
[root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
5、軟件包名稱
zsh-5.0.2-34.el7_8.2.x86_64.rpm
zsh #軟件包名稱
5.0.2 #版本號
34 #第多少次編譯
el7_8(CentOS 7)#適用的平臺
x86_64 #適用的系統(tǒng)位數(shù)
rpm #擴展名
6、查看已安裝軟件包的使用配置文件
[root@localhost ~]# rpm -qc zsh
7、查看已安裝包的描述信息
[root@localhost ~]# rpm -qi zsh
8、查看是否安裝某軟件
[root@localhost ~]# rpm -q zsh
9、查看當(dāng)前系統(tǒng)安裝了哪些rpm軟件
[root@localhost ~]# rpm -qa
10、查看軟件的安裝路徑,查看安裝了哪些東西
[root@localhost ~]# rpm -ql zsh
上傳與下載:yum install lrzsz -y
擴展:
1、查看未安裝包的軟件信息
[root@localhost ~]# rpm -qip /opt/Packages/snappy-1.1.0-3.el7.x86_64.rpm
2、yum安裝
- yum是CentOS的軟件包管理工具,自動為我們解決軟件依賴問題。yum包管理工具必須使用yum源指定軟件下載地址去下載需要安裝的軟件包。
- 要成功的使用 YUM 工具安裝更新軟件或系統(tǒng),就需要有一個包含各種 rpm 軟件包的repository(軟件倉庫),這個軟件倉庫我們習(xí)慣稱為 yum 源。(可以是本地源、網(wǎng)絡(luò)源)
復(fù)制基于rpm安裝,自動解決依賴。
# yum源命令:
# 查看yum配置文件
[root@localhost ~]# ls /etc/yum.repos.d
# 查看當(dāng)前的有哪些倉庫地址
[root@localhost ~]# yum repolist
# 查看包括啟用或禁用的所有yum倉庫
[root@localhost ~]# yum repolist all
# 清空yum緩存
[root@localhost ~]# yum clean all
# 生成yum緩存
[root@localhost ~]#yum makecache
# yum常用的基礎(chǔ)命令:
# 1、安裝軟件包的命令
yum install [軟件包的名稱]
參數(shù):
-y : 免交互安裝
--nogpgcheck : 忽略公鑰認證
# 2、卸載軟件(直接將軟件的依賴包一起刪除)
yum remove [軟件包名稱]
參數(shù):
-y : 免交互移除
# 3、更新軟件
yum update [軟件包名稱]
參數(shù):
-y : 免交互更新
ps:如果跟具體的軟件包名稱,就會更新指定軟件包;如果沒有指定,則更新系統(tǒng)所有的需要更新的軟件包。
# 4、查看當(dāng)前系統(tǒng)需要更新軟件
yum check-update
# 5、重裝軟件
yum reinstall [軟件包名稱]
# 6、搜索軟件包
yum search [軟件包名稱]
yum安裝的生命周期:
1、執(zhí)行yum install zsh -y
2、去 /etc/yum.repos.d/ 找以 .repo 結(jié)尾的文件
3、通過 .repo 文件中的鏈接,找到對應(yīng)的軟件倉庫
4、在對應(yīng)的軟件倉庫中下載指定的軟件包
5、緩存至 /var/cache/yum/
6、根據(jù)緩存,安裝軟件包
7、刪除軟件包(keepcache 是否保存緩存,0 代表不保存 , 1 代表保存)
知識儲備:
復(fù)制# wget:下載文件
如果系統(tǒng)中沒有wget,執(zhí)行如下命令:yum install wget -y
wget url
參數(shù):
-O #指定下載文件的路徑及名稱
# curl:讀取文件
curl :讀取文件
參數(shù):
-o #指定下載文件的路徑及名稱
-k #免證書認證
curl命令是?個利?URL規(guī)則在命令?下?作的?件傳輸?具。它?持?件的上傳和下載,所以是綜合傳輸?具,
但按傳統(tǒng),習(xí)慣稱curl為下載?具。作為?款強??具,curl?持包括HTTP、HTTPS、[ftp]等眾多協(xié)議,還?
持POST、cookies、認證、從指定偏移處下載部分?件、?戶代理字符串、限速、?件??、進度條等特征。做?
?處理流程和數(shù)據(jù)檢索?動化,curl可以祝?臂之?。
[root@localhost ~]# curl -o 123.png https://www./img/hello.png
# ps: 如果遇到下載提示?法簡歷SSL鏈接,使?-k選項或者--insecure
curl -k -o 123.png https://www./img/hello.png
# sz下載文件與rz上傳文件
ps: yum install lrzsz -y
sz : 下載文件(從linux系統(tǒng)下載文件到windows)
系統(tǒng)默認沒有該命令,需要下載:yum install lrzsz -y
將服務(wù)器上選定的?件下載/發(fā)送到本機,
# rz : 上傳文件(將windows文件上傳至Linux)
rz [文件路徑]
# 系統(tǒng)默認沒有該命令,需要下載:yum install lrzsz -y
# 運?該命令會彈出?個?件選擇窗?,從本地選擇?件上傳到服務(wù)器。
[root@localhost opt]# rz # 如果?件已經(jīng)存,則上傳失敗,可以?-E選項解決
[root@localhost opt]# rz -E # -E如果?標(biāo)?件名已經(jīng)存在,則重命名傳??件。新?件名將添加?個點和?個數(shù)字(0..999)
rz 回車即可選擇上傳文件
也可以進入都某個路徑下將文件直接拖入~ (人性化)
本地&遠程倉庫搭建
復(fù)制本地倉庫:
# 1、下載安裝必須的軟件包yum-utils,createrepo
yum install yum-utils createrepo -y
# 2、創(chuàng)建軟件包目錄,存放軟件包的
mkdir -p /opt/repos
# 3、下載對應(yīng)的軟件
mkdir -p /opt/repos/Packages
把對應(yīng)的軟件包復(fù)制到 Packages 目錄中
# 4、初始化軟件倉庫
createrepo /opt/repos
# 5、添加yum源,將軟件包復(fù)制到y(tǒng)um倉庫目錄
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
[root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
[root@localhost /etc/yum.repos.d]# cat opt_repos.repo
[opt_repos] #源的名稱
name=added from: file:///opt/repos #源的簡介
baseurl=file:///opt/repos #源的下載地址
enabled=1 #是否啟用:1啟用 ,0不啟用
# 6、清空yum緩存
yum clean all
# 7、生成yum緩存
yum makecache
# 8、測試
yum install zsh
遠程倉庫
參考本地版前7步
# 1、安裝遠程訪問軟件(Nginx)
# ① 配備CentOS-7 源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repohttps://repo./repository/conf/CentOS-7-reg.repo
# ② 配備EPEL源
[root@localhost ~]# yum-config-manager --add-repo=https://repo./epel/7/x86_64/
# ③ 安裝nginx
[root@localhost ~]# yum install nginx --nogpgcheck
# 2、修改nginx的配置文件
https:///en/docs/http/ngx_http_autoindex_module.html
[root@localhost ~]# vim /etc/nginx/nginx.conf
# include /etc/nginx/conf.d/*.conf;
root /opt/repos;
autoindex on;
# 測試更改是否成功
[root@localhost ~]# nginx -t
# 啟動nginx
[root@localhost ~]# systemctl start nginx
# 關(guān)閉selinux和firewalld
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
# 3、在測試機
[root@localhost yum.repos.d]# yum install yum-utils -y
# 備份源
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/
# 添加源
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/
# 刷新緩存
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
# 4、測試
[root@localhost ~]# yum install zsh -y
3、源碼包安裝(編譯安裝)
注意: 此方法不是百分百通用于所有源碼包,建議拿到源碼包解壓后,進入到目錄找相關(guān)的README幫助文檔
復(fù)制編譯安裝
# 1、基礎(chǔ)環(huán)境準(zhǔn)備
[root@localhost ~]# yum install -y gcc make wget
# 2、下載源碼包
[root@localhost ~]# wget https:///download/nginx-1.20.2.tar.gz
# 2、解壓源碼包, 并進入相應(yīng)目錄
[root@localhost ~]# tar -xf nginx-1.20.2.tar.gz
[root@localhost ~]# cd nginx-1.20.2
# 3、配置相關(guān)的選項,并生成Makefile
[root@localhost nginx-1.20.2]# ./configure
# 4、將Makefile文件編譯可執(zhí)行二進制程序
[root@localhost nginx-1.20.2]# make
# 5、將二進制文件拷貝至對應(yīng)的目錄中
[root@localhost nginx-1.20.2]# make install
# 6、啟動
[root@localhost ~]# /usr/local/nginx/sbin/nginx
# 啟動后瀏覽器訪問ip地址即可查看是否安裝成功
# 7、關(guān)閉
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop
知識儲備:
tar -xf [壓縮包名稱]
知識拓展:
自定制安裝,修改源代碼包名以 nginx 為例
# 1、關(guān)閉nginx服務(wù)后,刪除源代碼包,目錄
[root@localhost ~]# rm -rf nginx-1.20.2
[root@localhost ~]# rm -rf /usr/local/nginx/
# 2、重新解壓源碼包, 并進入相應(yīng)目錄
[root@localhost ~]# tar -xf nginx-1.20.2.tar.gz
[root@localhost ~]# cd nginx-1.20.2
# 3、找到對應(yīng)的版本,版本號
[root@localhost nginx-1.20.2]# grep -R 'nginx' ./
[root@localhost nginx-1.20.2]# grep -R '1.20.2' ./
./src/core/nginx.h:#define NGINX_VERSION "1.20.2" #可以看到版本的路徑
# 修改文件,修改完后:wq退出
[root@localhost nginx-1.20.2]# vim ./src/core/nginx.h
'''
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define nginx_version 1020002
#define NGINX_VERSION "1.0" # 修改版本
#define NGINX_VER "GengFeng/" NGINX_VERSION #修改名稱
#ifdef NGX_BUILD
'''
# 配置相關(guān)的選項,并生成Makefile
[root@localhost nginx-1.20.2]# ./configure
# 將Makefile文件編譯可執(zhí)行二進制程序
[root@localhost nginx-1.20.2]# make
# 將二進制文件拷貝至對應(yīng)的目錄中
[root@localhost nginx-1.20.2]# make install
# 啟動
[root@localhost ~]# /usr/local/nginx/sbin/nginx
# 啟動后瀏覽器訪問ip地址即可查看是否安裝成功
# 修改后看到的是已改過的名稱和版本,以 http://192.168.15.100/sdasdas 為例
404 Not Found
GengFeng/1.0
壓縮打包
1、 什么是打包壓縮
打包指的是將多個?件和?錄合并為?個特殊?件,然后將該特殊?件進?壓縮,最終得到?個壓縮包
2、為什么使?壓縮包
3、Windows的壓縮和Linux的有什么不同
- windows: zip rar(linux不?持rar)
- linux: zip tar.gz tar.bz2 .gz
如果希望windows的軟件能被linux解壓,或者linux的軟件包被windows能識別,選擇zip.
PS: 壓縮包的后綴不重要,但?定要攜帶.
4、Linux下常?的壓縮包類型
格式 |
壓縮工具 |
.zip |
zip 壓縮工具 |
.gz |
gzip 壓縮工具,只能壓縮文件,會刪除源文件(通常配合tar使用) |
.bz2 |
bzip2 壓縮工具,只能壓縮文件,會刪除源文件(通常配合tar使用) |
.tar.gz |
先使用tar 命令歸檔打包,然后使用 gzip 壓縮 |
.tar.bz2 |
先使用tar 命令歸檔打包,然后使用 bzip 壓縮 |
Linux常見的壓縮包有哪些?
gzip打包與壓縮
復(fù)制# 壓縮命令:gzip [壓縮文件]
# 解壓命令:gzip -d [壓縮包]
[root@localhost ~]# gzip file #對文件進行壓縮
[root@localhost ~]# zcat file.gz #查看gz壓縮后的文件
[root@localhost ~]# gzip -d file.gz #解壓gzip的壓縮包
#使用場景:當(dāng)需要讓某個文件不生效時
[root@localhost ~]# gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
[root@localhost ~]# zcat CentOS-Vault.repo.gz --> 查看不想解壓的壓縮包文件內(nèi)容
bzip2打包與壓縮
復(fù)制# 壓縮命令:bzip2 [壓縮文件]
# 解壓命令:bzip2 -d [壓縮包]
[root@localhost ~]# bzip2 file #對文件進行壓縮
[root@localhost ~]# bzmore file.bz2 #查看bz2壓縮后的文件
[root@localhost ~]# bzip2 -d file.bz2 #解壓bzip2的壓縮包
tar打包與壓縮
- tar是linux下最常用的壓縮與解壓縮, 支持文件和目錄的壓縮歸檔
復(fù)制tar : 打包的命令
參數(shù):
-f #指定包文件名稱,多參數(shù)f寫最后
-c #打包
-v #輸出命令的打包或解包的過程
-x #解壓(解壓不需要指定壓縮類型)
-t #查看壓縮包內(nèi)部的內(nèi)容
-z #使用gzip壓縮壓縮包
-j #使用bzip2壓縮壓縮包
-J #使用xz壓縮歸檔后的文件(tar.xz)
-C #指定解壓目錄位置
-P #忽略使用絕對路徑時報出的錯誤
-X #排除多個文件(寫入需要排除的文件名稱)
-h #打包軟鏈接
--hard-dereference #打包硬鏈接
--exclude #在打包的時候?qū)懭胄枰懦募蚰夸?
#常用打包與壓縮組合
czf #打包tar.gz格式
cjf #打包tar.bz格式
cJf #打包tar.xz格式
zxf #解壓tar.gz格式
jxf #解壓tar.bz格式
xf #自動選擇解壓模式
tf #查看壓縮包內(nèi)容
注意:
1、壓縮時是什么路徑,解壓縮時就是什么路徑,所以為了安全不要使用絕對路徑壓縮。
2、-f參數(shù)后面永遠跟壓縮包名稱
# tar命令練習(xí)
#1.環(huán)境準(zhǔn)備
[root@localhost ~]# yum install mariadb-server
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mkdir /backup
#案例1.mysql備份及恢復(fù)
[root@localhost ~]# tar cJf /backup/mysql.tar.xz /var/lib/mysql
[root@localhost ~]# tar xf /backup/mysql.tar.xz -C /
#案例2 mysql備份及恢復(fù)
[root@localhost ~]# cd /var/lib/mysql
[root@localhost mysql]# tar cJf /backup/mysql.tar.xz *
[root@localhost mysql]# tar tf /backup/mysql.tar.xz
[root@localhost mysql]# tar xf /backup/mysql.tar.xz -C /var/lib/mysql
|