linux與window之間文件傳輸–lrzsz
第一步:下載lrzsz
[root@ken ~]# yum install lrzsz -y
第二步:上傳window上的文件至linux當(dāng)中
[root@ken ~]# rz
[root@ken ~]# ls
anaconda-ks.cfg ken1 redis-3.2.12-2.el7.x86_64.rpm test2
a.out lib64jemalloc1-3.6.0-2.mga5.x86_64.rpm test1 test.txt
[root@ken ~]#
第三步:傳linux上的文件至window當(dāng)中
[root@ken ~]# sz test.txt
未來比較好的職業(yè)發(fā)展
運維開發(fā),DBA二拐,架構(gòu)師
rpm簡介
這是一個數(shù)據(jù)庫管理工具器罐,可以通過讀取數(shù)據(jù)庫,判斷軟件是否已經(jīng)安裝,如果已經(jīng)安裝可以讀取出來所有文件的所在位置等介衔,并可以實現(xiàn)刪除這些文件。
rpm:RPM is Redhat Package Manager(遞歸縮寫)
rpm可以完成的操作
安裝軟件
卸載軟件
查詢軟件信息
升級、降級
檢驗
打包程序
rpm僅僅能管理符合rpm格式的程序包撞芍,不能管理源碼格式的程序
程序的格式
1)源碼格式的程序:都是以壓縮方式呈現(xiàn)的(后綴都是.tar.gz|bz2)
2)rpm格式的程序:這都是編譯以后的程序 (后綴都是.rpm)
軟件安裝方式總結(jié)
安裝軟件方式有如下幾種
方式1:編譯安裝
將源碼程序按照需求進行先編譯,后安裝
缺點:
安裝過程復(fù)雜跨扮,而且很慢
優(yōu)點:
安裝過程可控序无,真正的按需求進行安裝(安裝位置、安裝的模塊都可以選擇)
方式2:rpm安裝(用rpm來安裝rpm后綴的安裝包)
優(yōu)點:
安裝和卸載過程非常方便
缺點:
安裝過程不可控(安裝位置衡创,安裝那些功能模塊)
rpm包的依賴關(guān)系非常復(fù)雜
方式3:yum安裝
yum安裝帝嗡,其實就是自動分析rpm包的依賴關(guān)系,然后按照需要的順序依次安裝
方式4:綠色安裝
rpm的操作
一璃氢、安裝rpm包
格式:rpm -ivh 軟件包名
選項
-i:安裝軟件
-v:顯示安裝過程
-h:用#表示安裝進度(# 2%)
-vv:顯示更詳細(xì)的安裝過程信息
-vvv:顯示更更詳細(xì)的安裝過程信息
二哟玷、卸載rpm包
格式:rpm -e 軟件名
選項:
-e:卸載軟件
例子:卸載軟件包ken
rpm -e ken
三、查詢已經(jīng)安裝的rpm包
格式:rpm -q 軟件名
選項:
-q:查看一個已經(jīng)安裝的軟件
-a:查看所有已經(jīng)安裝的軟件all
-l:顯示軟件安裝完成以后生成文件列表(所有文件)list
-i:查看軟件包的相關(guān)信息 info
-d:顯示該軟件所生成的說明性質(zhì)的文檔列表docfiles
-c:查看軟件所生成的配置文件列表configfiles
–scripts:查看軟件相關(guān)的腳本
補充:
安裝前腳本(preinstall)
安裝后腳本(postinstall)
卸載前腳本(preuninstall)
卸載后腳本(postuninstall)
rpm安裝redis
[root@ken ~]# rpm -ivh redis-3.2.12-2.el7.x86_64.rpm
\warning: redis-3.2.12-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
error: Failed dependencies:
libjemalloc.so.1()(64bit) is needed by redis-3.2.12-2.el7.x86_64 #提示需要安裝依賴
[root@ken ~]# rpm -ivh lib64jemalloc1-3.6.0-2.mga5.x86_64.rpm #先安裝所需要的依賴
warning: lib64jemalloc1-3.6.0-2.mga5.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 80420f66: NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:lib64jemalloc1-3.6.0-2.mga5 ################################# [100%]
[root@ken ~]# rpm -ivh redis-3.2.12-2.el7.x86_64.rpm #解決完依賴關(guān)系再去安裝
warning: redis-3.2.12-2.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:redis-3.2.12-2.el7 ################################# [100%]
[root@ken ~]# systemctl restart redis
[root@ken ~]# redis-cli
127.0.0.1:6379> set name ken
OK
127.0.0.1:6379> get name
“ken”
二拔莱、rpm卸載redis
[root@ken ~]# rpm -e redis
三碗降、查詢包
-q:查看一個已經(jīng)安裝的軟件
-a:查看所有已經(jīng)安裝的軟件all
-l:顯示軟件安裝完成以后生成文件列表(所有文件)list
例子1:查詢redis是否安裝
[root@ken ~]# rpm -q redis
package redis is not installed #未安裝
[root@ken ~]# rpm -q redis
redis-3.2.12-2.el7.x86_64 #已安裝
例子2:查看redis生成的文件
[root@ken ~]# rpm -ql redis
/etc/logrotate.d/redis
/etc/redis-sentinel.conf
/etc/redis.conf
/etc/systemd/system/redis-sentinel.service.d
/etc/systemd/system/redis-sentinel.service.d/limit.conf
/etc/systemd/system/redis.service.d
/etc/systemd/system/redis.service.d/limit.conf
/usr/bin/redis-benchmark
/usr/bin/redis-check-aof
/usr/bin/redis-check-rdb
/usr/bin/redis-cli
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/lib/systemd/system/redis-sentinel.service
/usr/lib/systemd/system/redis.service
/usr/libexec/redis-shutdown
/usr/share/doc/redis-3.2.12
/usr/share/doc/redis-3.2.12/00-RELEASENOTES
/usr/share/doc/redis-3.2.12/BUGS
/usr/share/doc/redis-3.2.12/CONTRIBUTING
/usr/share/doc/redis-3.2.12/MANIFESTO
/usr/share/doc/redis-3.2.12/README.md
/usr/share/licenses/redis-3.2.12
/usr/share/licenses/redis-3.2.12/COPYING
/usr/share/man/man1/redis-benchmark.1.gz
/usr/share/man/man1/redis-check-aof.1.gz
/usr/share/man/man1/redis-check-rdb.1.gz
/usr/share/man/man1/redis-cli.1.gz
/usr/share/man/man1/redis-sentinel.1.gz
/usr/share/man/man1/redis-server.1.gz
/usr/share/man/man5/redis-sentinel.conf.5.gz
/usr/share/man/man5/redis.conf.5.gz
/var/lib/redis
/var/log/redis
/var/run/redis
例子3:查看linux系統(tǒng)中所有的包
[root@ken ~]# rpm -qa
例子4:統(tǒng)計當(dāng)前系統(tǒng)一共安裝了多少個軟件
[root@ken ~]# rpm -qa | wc -l
4.rpm查詢文件是哪個程序生成的
[root@ken ~]# which ls
alias ls=’ls –color=auto’
/usr/bin/ls
[root@ken ~]# rpm -qf /usr/bin/ls
coreutils-8.22-21.el7.x86_64
例子1:卸載生成httpd命令的程序
[root@ken ~]# which httpd
/usr/sbin/httpd
[root@ken ~]# rpm -qf which httpd
httpd-2.4.6-80.el7.centos.x86_64
- 查看所有已經(jīng)安裝和尚未安裝rpm包
yum list all 或者yum list 可以列出所有的軟件包 - yum list available:僅僅顯示可以安裝但是尚未安裝的rpm包
- yum list installed:僅僅顯示已經(jīng)安裝rpm包
@:表示已經(jīng)安裝rpm - 查看yum倉庫的信息
yum repolist
軟件管理yum
也是一個rpm包的管理工具,可以實現(xiàn)自動解決rpm包的依賴關(guān)系(自動安裝依賴順序進行rpm包的安裝)
為何rpm包會有依賴關(guān)系塘秦?
制作rpm的人讼渊,在制作rpm包的時候,就將這個rpm的所依賴的軟件的信息保存在這個rpm包的內(nèi)部
yum的工作原理
- 需要首先創(chuàng)建一個yum倉庫(rpm包倉庫尊剔、軟件倉庫)
1)倉庫其實就是一個目錄
2)倉庫中存放的是rpm包
3)倉庫中還保存了一個文件爪幻,文件中記錄了該倉庫中所有rpm包的元數(shù)據(jù)信息
4)元數(shù)據(jù)信息包括
軟件名
軟件版本
軟件是否已經(jīng)安裝
軟件的依賴關(guān)系 - 用 yum 來從倉庫中找軟件進行安裝的過程(比如要安裝軟件A,A依賴B 和C, B依賴C D)
1)yum首先會掃描保存元數(shù)據(jù)信息的文件须误,檢查A是否已經(jīng)安裝挨稿,如果已經(jīng)安裝,那提示已經(jīng)安裝
2)如果A尚未安裝京痢,那么掃描A的依賴關(guān)系信息奶甘,會發(fā)現(xiàn)A 依賴B 和C
3)yum會再次掃描元數(shù)據(jù)文件,檢測B C 是否安裝祭椰,如果都已經(jīng)安裝臭家,那么會開始開始安裝A
4)如果B C尚未安裝,那么會檢測 B C的依賴關(guān)系方淤,會發(fā)現(xiàn)B依賴C D
5)yum會再次掃描元數(shù)據(jù)文件钉赁,檢測C D是否安裝,如果都已經(jīng)安裝携茂,那么會開始開始安裝B你踩,然后安裝C,,然后安裝A
yum倉庫
本地:將本地的一個目錄做成yum倉庫,只有當(dāng)前系統(tǒng)可以
網(wǎng)絡(luò):通過網(wǎng)絡(luò)將服務(wù)器上的一個目錄作為yum倉庫带膜,網(wǎng)絡(luò)中的全部主機都可以用
使用yum倉庫的方式吩谦,就是修改yum的配置文件
yum的配置文件
主:/etc/yum.conf
子:/etc/yum.repos.d/*.repo
/etc/yum.conf文件
cachedir=/var/cache/yum/releasever
指定緩存文件的保存位置,默認(rèn):/var/cache/yum/x86_64/7/
keepcache=0
指定是否保留緩存文件
用yum安裝軟件過程中會從yum倉庫下載并緩存多個資源
1)會將yum倉庫的元數(shù)據(jù)文件緩存到配置文件所指定的路徑中
2)會將要安裝的軟件及其依賴的軟件一并緩存到配置文件指定的目錄中
yum配置文件的構(gòu)成
[localRpm] <<< 指定yum倉庫的id,可以隨便寫膝藕,但是中間不能有空格
name=xxx <<< 指定yum倉庫的名稱逮京,可以隨便寫
enabled=0|1 <<< 指定是否使用該yum倉庫,0表示不使用束莫;1表示使用
gpgcheck=0|1 <<< 指定是否對rpm包做完整性和來源合法性驗證,0表示不做驗證草描;1表示必須做驗證
gpgkey= <<< 指定公鑰文件(如果gpgcheck=1览绿,那么該項不能省略)
baseurl= <<< 指定yum倉庫的url
[repoid]
name=reponame
enabled=1
gpgcheck=0 | 1 #0表示不校驗 、 1表示校驗
baseurl=file:// | http://
gpgkey=file://
yum倉庫的url的表示方式
注意:在指定yum倉庫的時候穗慕,其實不是指向rpm包的目錄饿敲,而是執(zhí)行repodata所在目錄本地yum倉庫file://
例子:比如我的yum倉庫 /myrpm,此時yum倉庫的表示方式就是file:///myrpm
網(wǎng)絡(luò)yum倉庫
http://
創(chuàng)建本地yum倉庫
使用光盤中的rpm包作為yum倉庫
第一步:掛載光盤
mount /dev/cdrom /media
第二步:備份yum自帶的配置文件
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
第三步:創(chuàng)建yum的配置文件逛绵,使用光盤作為yum倉庫
例子1:編寫本地yum文件–未開校驗
[ken]
name=ken1
enabled=1
gpgcheck=0
baseurl=file:///mnt
例子2:編寫本地yum文件–開啟校驗
[ken]
name=ken1
enabled=1
gpgcheck=1
baseurl=file:///mnt
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
第四步:執(zhí)行yum命令檢測結(jié)果
yum clean all <<< 清空yum緩存的全部數(shù)據(jù)
yum repolist <<< 檢查yum倉庫中有多少個可用的rpm包
yum使用
- 安裝軟件
yum -y install 軟件1 軟件2 軟件3 …. - 卸載軟件
yum -y remove 軟件1 軟件2 軟件3 …. - 管理包組
grouplist:查看系統(tǒng)中的全部的包組
groupinfo 包組名:查看指定包組的信息(包組的作用怀各、包含的軟件)
groupinstall 包組名:安裝指定的包組
groupremove 包組名:卸載指定的包組
CentOS7: 命令行界面升級為圖形化界面
這時,我們可以通過命令 startx 進入圖形界面术浪,第一次進入會比較慢瓢对,請耐心等待。(可能需要重啟胰苏,命令為reboot) - 管理yum的緩存數(shù)據(jù)
clean [ packages | metadata | all ]
all:清除所有數(shù)據(jù)
packages:僅僅清除rpm包
metadata:僅僅清理緩存元數(shù)據(jù)
[root@ken ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: ken
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
查看yum源
[root@ken ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
ken | 3.6 kB 00:00:00
(1/2): ken/group_gz | 166 kB 00:00:00
(2/2): ken/primary_db | 3.1 MB 00:00:00
repo id repo name status
ken ken1 3,971
制作一個網(wǎng)絡(luò)yum源
思路:在網(wǎng)絡(luò)上準(zhǔn)備一個主機硕蛹,在其中安裝一個web服務(wù)器軟件(比如apache),然后創(chuàng)建一個目錄硕并,在這個目錄中準(zhǔn)備上yum倉庫的全部資源法焰,如果用戶可以通過網(wǎng)絡(luò)訪問到該主機的這個目錄,那么這個目錄就成為網(wǎng)絡(luò)yum倉
實現(xiàn)過程
第一步:配置yum源主機
1)安裝配置apache
略
2)配置yum倉庫相關(guān)資源
- 創(chuàng)建一個目錄倔毙,作為存儲yum資源的目錄
mkdir /usr/local/apache/htdocs/mysource - 掛載光盤
mount /dev/cdrom /mnt - 將光盤中的資源復(fù)制到前面所創(chuàng)建的目錄下
cp /mnt/* /usr/local/apache/htdocs/mysource -rvf - 用瀏覽器訪問一下yum倉庫埃仪,檢查是否可以看到相關(guān)文件
http://ip/mysource
第二步:配置客戶端主機
修改yum配置文件
1)備份原有的配置文件
mkdir bak
mv *.repo bak
vim a.repo
[]
name
enabled=
gpgcheck=
baseurl=http://ip/mysource
2)測試一下
yum repolist
實例演示網(wǎng)絡(luò)yum源–配置epel源
第一步:創(chuàng)建本地yum文件
[root@ken yum.repos.d]# vim net.repo
[net]
name=aliyun
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
第二步:清空緩存
[root@ken yum.repos.d]# yum clean all
第三步:查看包
[root@ken yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
ken | 3.6 kB 00:00:00
net | 4.7 kB 00:00:00
(1/5): ken/group_gz | 166 kB 00:00:00
(2/5): ken/primary_db | 3.1 MB 00:00:00
(3/5): net/group_gz | 88 kB 00:00:01
(4/5): net/updateinfo | 1.0 MB 00:00:03
(5/5): net/primary_db | 6.7 MB 00:00:27
repo id repo name status
ken ken1 3,971
net aliyun 13,190
repolist: 17,161
第四步:下載redis
[root@ken yum.repos.d]# yum install redis -y
第五步:驗證redis是否下載成功
[root@ken yum.repos.d]# systemctl restart redis
[root@ken yum.repos.d]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> set name ken
OK
127.0.0.1:6379> get name
“ken”