Centos7軟件包的管理與安裝
一、linux網絡相關的調試命令
查看IP相關信息
ifconfig命令被用于配置和顯示Linux內核中網絡接口的網絡參數。
[root@localhost ~]#? ifconfig
修改網卡IP地址
修改網卡配置文件
[root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet????????????????????????? ? ? ? ? ? #設置類型是以太網設備,如圖:
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none??????????????????????????????????????? ? # 參數:static靜態IP 或dhcp 或none無(不指定),如是none,配上IP地址和static效果一樣
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33?????????????????? ?? #網卡名字
UUID=c713acec-674b-411d-9e61-646482a292ca????????????? ?? #網卡UUID,全球唯一
DEVICE=ens33?????????????????????????? #設備名字,在內核中識別的名字
ONBOOT=yes???????????????????????????? #啟用該設備,如果no,表示不啟動此網絡設備IPADDR=192.168.1.63??????????????? #IP地址
PREFIX=24????????????????????? ?????????? #子網掩碼,24相當于255.255.255.0
GATEWAY=192.168.1.1???????????? #默認網關
案例:給虛擬機再添加一個網卡,并手動成生網卡配置文件
[root@localhost ~]#? init 0???????????????????????? #關機添加一塊網卡新加的網卡,使用橋接模式。[root@localhost ~]#? ifconfig -a???????????? ?? # -a查看所有網絡設備,包括沒有啟動的網卡設備ens33: flags=4163mtu 1500。。。
ens37: flags=4163 mtu 1500
注:我這里顯示第二塊網卡名字是ens38,你那邊可能不是。這是由內核實別出來的
默認新增加的網卡沒有配置文件,現在手動添加一個
[root@localhost network-scripts]# vim ifcfg-ens38 #修改內容
一、自動化獲取IP地址
原版:
改如下:
二、靜態配置ip地址
IPADDR=192.168.1.63???????????????????????? #IP地址
PREFIX=24??????????????????????????????????????? ?#子網掩碼,24相當于255.255.255.0 GATEWAY=192.168.1.1??????????????????? ?#默認網關
BOOTPROTO=none???????????????????? # 參數:static靜態IP 或dhcp 或none無(不指定),如是none,配上IP地址和static效果一樣
配置DNS地址:
[root@localhost ~]# service network restart???????????????? #重啟網絡服務生效?
案例:臨時配置IP地址
[root@localhost ~]# ifconfig ens38 192.168.1.90
查看端口的監聽狀態
netstat 命令:????????????????? 查看系統中網絡連接狀態信息,
常用的參數格式 : netstat -anutp ?
-a, --all???????? ?? 顯示本機所有連接和監聽的端口 ?
-n, --numeric don't resolve names?????????????????? 以數字形式顯示當前建立的有效連接和端口 ?
-u????????????????? ? 顯示udp協議連接 ?
-t?????????????????? ? 顯示tcp協議連接 ?
-p, --programs???? 顯示連接對應的PID與程序名
擴展:watch
作用:實時監測命令的運行結果,可以看到所有變化數據包的大小
-d, --differences ['d?f?r?ns]???????????????????????????? #高亮顯示指令輸出信息不同之處;
-n, --interval seconds [??nt?vl]?????????????????????????#指定指令執行的間隔時間(秒);
例1:每隔1秒高亮差異顯示ens33相關信息
[root@localhost ~]# watch -d -n 3 "ifconfig ens33"???????????????? Ctrl+c 就可以退出~
二、軟件包的管理
軟件包的類型
RPM概述:RPM是RPM Package Manager(RPM軟件包管理器)的縮寫,這一文件格式名稱雖然打上了RedHat的標志,但是其原始設計理念是開放式的,現在包括OpenLinux、SUSE以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標準了。
rpm軟件包的管理
作用:rpm的作用類似于windows上的電腦管家中“軟件管理”、安全衛士里面“軟件管家”等產品,
主要作用是對linux服務器上的軟件包進行對應管理操作,管理分為:查詢、卸載、安裝。
①查詢某個軟件的安裝情況
#rpm -qa|grep 關鍵詞
選項:
-q:查詢,query?????????????? -a:全部,all
案例:查詢linux上是否安裝firefox
②卸載某個軟件
?#rpm -e 軟件的名稱(建議寫完整的名稱)
案例:卸載火狐瀏覽器
#rpm -qa | grep ‘firefox’
[root@localhost ~]# rpm -qa | grep firefox
火狐卸載的時候是沒有依賴關系的,所以可以直接卸載。
③軟件的安裝 要想裝軟件,和windows下一樣,先得找到安裝包。
?軟件包的獲得方式:
a. 去官網去下載;
b. 不介意老版本的話,可以從光盤(或者鏡像文件)中讀取;
所有的軟件包都存在光盤下的packages下
安裝軟件的命令:
?#rpm -ivh 軟件包完整名稱
選項:
-i:install,安裝
-v:顯示進度條
-h:表示以? “#” 形式顯示進度條
?掛載光盤
命令:mount
語法:#mount 設備原始地址 要掛載的位置路徑 設
備原始地址:地址統一都在/dev下,然后根據大小確定具體name值,拼湊在一起組成原始地址,
例如當前:“/dev/sr0”
要掛載的位置路徑:掛載目錄一般都在mnt下,也可以在mnt下建目錄,此處以“/mnt/dvd”為例
安裝:
查看是否安裝成功:
rpm包的獲取方式:
1、Centos系統鏡像光盤
2、網站rpmfind.net
3、比如安裝mysql、nginx軟件,我們可以去它的官方網站下載:http://www.mysql.com rpm包格式的說明
掛載:
[root@localhost ~]# mount /dev/cdrom /mnt/
例1:[root@localhost#ls /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm zsh????????????? ?-5.???????? ?0.????????? ? 2-????????????????? ?28.????????????????????????el7.??????????????????????x86_64.rpm
軟件名??? 主版本號? 次版本號? 修訂? release(第幾次發布版本) 操作系統版本?? 軟件包是64位包
#修訂指是的第幾次修改bug。 發布指的是:第幾次發布。 發布時,可能只是對軟件安裝的默認參數做了修改,而沒有其它改動。
安裝rpm軟件
RPM工具使用分為安裝、查詢、驗證、更新、刪除等操作
命令格式:rpm [參數] 軟件包
參數:
?-i 是install的意思, 安裝軟件包
-v 顯示附加信息,提供更多詳細信息
-V 校驗,對已經安裝的軟件進行校驗
-h --hash 安裝時輸出####標記
互動:rpm使用時,什么情況下使用軟件包全名,什么時候使用軟件包名?
全名:在安裝和更新升級時候使用
包名:對已經安裝過的軟件包進行操作時,比如查找已經安裝的某個包,卸載包等 ,使用包名。它默認是去目錄/var/lib/rpm下面進行搜索。 當一個 rpm 包安裝到系統上之后,安裝信息通常會保存在本地的 /var/lib/rpm/目錄下。
從本地安裝
掛載:
[root@localhost ~]# mount /dev/cdrom /mnt/
從網上下載直接安裝centos epel擴展源
前提自己虛擬機能上網:
例:
rpm -ivhhttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#安裝centos epel擴展yum源。 注:epel源是對centos7系統中自帶的 base源的擴展。
ivh表示安裝
rpm查詢功能
用法:rpm -q(query) 常與下面參數組合使用
-a(all) 查詢所有已安裝的軟件包
-f(file)系統文件名(查詢系統文件所屬哪個軟件包),反向查詢
-i 顯示已經安裝的rpm軟件包信息,后面直接跟包名
-l(list) 查詢軟件包中文件安裝的位置
-p 查詢未安裝軟件包的相關信息,后面要跟軟件的命名
-R 查詢軟件包的依賴性
例:
[root@localhost ~]# rpm -q zsh??????????????????????? ?--->查詢指定的包是否安裝
[root@localhost ~]# rpm -qa??????????????????????????????--->查詢所有已安裝包
[root@localhost ~]# rpm -qa | grep vim?????????????--->查詢所有已安裝包中帶vim關鍵字的包 [root@localhost ~]# which find????????????????????????? ?#查看find命令的路徑 /usr/bin/find [root@localhost ~]# rpm -qf /usr/bin/find????????????#查詢文件或命令屬于哪個安裝包
查詢已經安裝的rpm包的詳細信息或作用
rpm -qi rpm包名
[root@localhost ~]#rpm -qi lrzsz
rpm包卸載和升級
用法:rpm -e(erase) 包名
[root@localhost ~]# rpm -qa zsh??????????????????? ?# 查詢????????????? zsh-5.0.2-28.el7.x86_64
參數: --nodeps 忽略依賴,建議在卸載時不要用rpm去卸載有依賴關系的包,應該用yum
[root@localhost ~]# rpm -e zsh?????????????????? ?#卸載
[root@localhost ~]# rpm -e --nodeps lrzsz????????????????? 忽略依賴關系直接卸載
升級:
[root@localhost ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm??????????????? #因為升級時會有一些依賴包要解決。 所以一般我們使用yum update 包 來升級。
手動解決rpm依賴關系:
[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm
警告:/mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
錯誤:依賴檢測失敗:
解決:
[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-5.5.56-2.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/perl-DBD-MySQL-4.023-5.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm (最后安裝)
三、YUM包的使用
yum(全稱為 Yellow dog Updater, Modified)是一個前端軟件包管理器。基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記
YUM:解決依賴關系問題,自動下載軟件包,它是基于C/S架構
C=client???????????????? ?S=ftp\http\file
配置yum源
配置本地yum源
1、掛載鏡像: 先確定虛擬機光驅中有加載系統鏡像
?[root@localhost ~]# mount /dev/cdrom /mnt/????????????????????? ?#先掛載
[root@localhost ~]# ls /mnt/
2、配置yum源文件:
[root@localhost ~]# vim /etc/yum.repos.d/centos7.repo???????? #必須以.repo結尾,插入以下內容
[centos7]
name=CentOS7
baseurl=file:///mnt
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
注:
[centos7]??????????????????????? ?#yum源名稱,在本服務器上唯一的,用來區分不同的yum源
name= CentOS7????????????#對yum源描述信息
baseurl=file:///mnt???????????#yum源的路徑,本地(file:///... 光盤掛載目錄所在的位置)
enabled=1???????????????????? ?#為1,表示啟用yum源;0為禁用
gpgcheck=0????????????????????#為1,使用公鑰檢驗rpm包的正確性;0為不校驗
注意:yum list #檢查yum源是否配置好
網絡yum源
Centos 7 配置網絡yum源
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
#wget 下載文件 ,-O 將wget下載的文件,保存到指定的位置,保存時可以重新起一個名字,或者直接寫一個要保存的路徑,這樣還用原來的文件名。
查看:
[root@localhost ~] # vim /etc/yum.repos.d/CentOS-Base.repo
找到這一條:baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
注:$releasever系統的版本的值等于
[root@localhost ~]# cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)
$basearch 等于:x86_64
排錯: 如果下載Centos-7.repo后,不用能
解決:打開阿里云鏈接:http://mirrors.aliyun.com/centos/ 找到centos7最新版本號,如:
然后執行:sed進行全文替
[root@localhost ~]# sed -i 's/$releasever/7.5.1804/g' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# yum clean all??????????????????????? #清空一下yum緩存
[root@localhost ~]# yum list???????????????????????????????? #查看列表
yum使用
yum常用操作:
[root@localhost ~]# yum install -y httpd???????????????#安裝軟件包, -y 直接安裝
[root@localhost ~]# yum -y update?????????????????? #升級軟件包,改變軟件設置和系統設置,系統版本內核都升級
[root@localhost ~]# yum -y upgrade???????????????? #升級軟件包,不改變軟件設置和系統設置,系統版本升級,內核不改變
[root@localhost ~]# yum -y update??????????????????? # 不加任何包,表示整個系統進行升級 [root@localhost ~]# yum info httpd??????????????????? #查詢rpm包作用
[root@localhost ~]# yum provides /usr/bin/find???? #查看命令是哪個軟件包安裝的 [root@localhost ~]# yum -y remove 包名????????????? #卸載包
[root@localhost ~]# yum search keyword???????????? #按關鍵字搜索軟件包
yum報錯,注意的幾個小問題:
1、確定光盤是否鏈接,光盤是否掛載
2、配置文件中格式是否正確,字母,符號有沒有少寫,掛載點和配置文件中設置的是否一致
3、網絡源需要聯網,操作和RPM類似,只是會自動安裝依賴項。
yum安裝開發工具軟件包組
# yum grouplist #查看有哪些軟件包組
語法:yum groupinstall GROUPNAME
案例:安裝開發工具組
[root@localhost ~]# yum groupinstall "開發工具"
注意:已經安裝了
切到英文環境:
yum grouplist?????????????????????? #顯示中文,如果想變成英文,則執行以一下命令
[root@bogon Packages]# echo $LANG?????????????? zh_CN.UTF-8
[root@localhost ~]#LANG=en_US.UTF-8??????????????? ?# 切換英文環境
[root@localhost ~]# yum grouplist
測試:
[root@localhost ~]# yum remove gcc -y #卸載開發工具軟件組中的gcc包
[root@localhost ~]# yum groupinstall 'Development tools' -y #安裝開發工具軟件包組,安裝這組軟件包時,把gcc再安裝上了
作者:白色襯衫_f48d
鏈接:http://www.lxweimin.com/p/7ad6223a7dff
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。