centos 卸载软件_Linux服务器运维必备技能 软件包和启动项超详细整理
一、RedHat/CentOS包管理
1. 包管理工具RPM
(1) 簡介
最早用在 RedHat的包管理器,現在已經成為Linux常見的包管理系統。RPM包有兩種類型:
- 二進制RPM包
- 源碼RPM包
可以在www.rpmfind.net網站查詢軟件包,也可以查到其依賴項:
(2) RPM包命名規則
如:nginx-1.16.1-1.el7.x86_64.rpm
- nginx:軟件包名
- 1.16.1:軟件版本
- 1:軟件發布次數
- el7:適合的Linux平臺
- x86_64:適合的硬件平臺
- rpm:擴展名
(3) 常用操作
# 查詢是否安裝rpm -q 包名# 查詢所有已經安裝的RPM包rpm -qa# 查詢軟件包詳細信息rpm -qi 包名# 查詢文件安裝位置rpm -ql 包名# 查詢文件屬于哪個RPM包rpm -qf 文件名# 查詢軟件包的依賴性rpm -qR 包名使用RPM安裝軟件
命令格式:
rpm -ivh 包全名選項:
- -i 安裝
- -v 顯示詳細信息
- -h 顯示進度
- --nodeps 不檢測依賴性
校驗
rpm -V 已安裝的包名選項:-V 校驗指定rpm包中的文件(verify)驗證內容中的8個信息的具體內容如下:
- s 文件大小是否改變
- M 文件的類型或文件的權限(rwx)是否被改變
- 5 文件MD5校驗和是否改變(可以看成文件內容是否改變)
- D 設備的主從代碼是否改變
- L 文件路徑是否改變
- U 文件屬性(所有者)是否改變
- G 文件屬組是否改變
- T 文件的修改時間是否改變
升級
rpm -Uvh 包全名選項:
- -U 升級
卸載
rpm -e 包名選項:
- -e 卸載
- --nodeps 不檢測依賴性
下面安裝nginx過程示例:
# 下載公鑰簽名wget http://nginx.org/keys/nginx_signing.key# 下載軟件wget http://gninx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.0-1.el7_4.ngx.x86_64.rpm# 導入公鑰rpm --import nginx_signing.key# 驗證簽名rpm --checksig nginx-1.14.0-1.el7_4.ngx.x86_64.rpm# 輸出檢驗結果nginx-1.14.0-1.el7_4.ngx.x86_64.rpm: rsa sha1 (md5) pgp md5 確定# 安裝rpm -i -v -h nginx-1.14.0-1.el7_4.ngx.x86_64.rpm# 輸出內容錯誤:依賴檢測失敗:libcrypto.so.10(OPENSSL_1.0.2)(64bit) 被 nginx-1:1.14.0-1.el7_4.ngx.x86_64 需要# 安裝openssl1.0.2rpm -qa openssl# 輸出openssl-1.0.1e-34.el7.x86_64# 到rpmfind上查找下載地址wget http://rpmfind.net/linux/centos/7.8.2003/os/x86_64/Packages/openssl-libs-1.0.2k-19.el7.x86_64.rpm# 安裝openssl依賴,這里不加--force有可能無法成功rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force# 再安裝nginxrpm -i -v -h nginx-1.14.0-1.el7_4.ngx.x86_64.rpm# 查詢rpm -qarpm -qi nginx-1.14.0-1.el7_4.ngx.x86_64# 如果要卸載,執行:# rpm -e nginx-1.14.2-1.el7_4.ngx.x86_642. 依賴管理工具yum
(1) yum簡介
yum自動化解決RPM包的依賴項問題,由兩個重要的組成部分:
- RPM包
- 倉庫
升級前,應當對系統作快照。
(2) yum源
(a) 手動更換阿里云源
源的管理是/etc/yum.repos.d/CentOS-Base.repo文件。官方源地址:
baseurl=http://mirrorlist.centos.org/?release=releasever&arch=basearch&repo=os阿里云:
[base]# name描述name=CentOS-$releasever - Base - mirrors.aliyun.comfailovermethod=prioritybaseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/# 1開啟本地更新模式,0關閉 enabled=1 # 1表示檢查,0不檢查 gpgcheck=1# 檢查的key,如果上一行是0,這一行就不用寫gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7(b) wget下載阿里源
cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.backwget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repoyum clean allyum makecache二、 Debian(深度系統、Ubuntu等)
1. 使用rpm
對于基于Debian的系統(包含Ubuntu、國產深度系統)不能直接使用RPM安裝軟件,可以將RPM轉換為deb格式,但建議盡量使用后面的dpkg方式。
(1) 安裝rpm
sudo apt-get install rpm -y由于軟件一般有很多依賴,即使安裝了rpm,用它裝軟件也很困難。
(2) rpm轉deb
sudo apt-get install alien fakerootfakeroot alien javase*.rpmsudo dpkg -i javase*.deb2. 包管理工具dpkg
dpkg是Debian Packager的縮寫,是Debian系統的軟件包管理工具,可以用來安裝已經下載的deb包。
常用命令:
# 查看軟件的狀態dpkg -l wps*dpkg -l "nginx*"# 查看軟件安裝到什么地方dpkg -L 軟件包名稱# 卸載軟件sudo dpkg -P wps-office# 刪除安裝的文件,不刪除配置文件,同-rdpkg --remove# 安裝文件和配置文件都刪除,同-Pdpkg --purge# 安裝軟件dpkg -i file.deb# 查找包的詳細信息dpkg -s package# 列出deb包的內容dpkg -c package.deb# 解開 deb 包的內容dpkg -unpack package.deb # 配置包 dpkg -configure package3. 依賴管理工具apt-get
apt-get命令用于管理deb包,主要用于Debian系統,最初發布于1998年。建議使用apt代替apt-get,apt是apt-get,apt-cache,apt-config常用命令的集合。
命令格式:
sudo apt-get xxxx常用命令:
# 更新軟件包列表sudo apt-get update# 安裝軟件sudo apt-get install packagename# 卸載軟件,刪除配置文檔sudo apt-get remove --purge packagename# 卸載軟件,保留配置文檔sudo apt-get remove packagename# 刪除包及依賴的軟件包sudo apt-get autoremove --purge packagename# 刪除包及其依賴的軟件包+配置文件dpkg --force-all --purge packagename# 刪除apt-get自動備份的軟件apt-get autoclean# 把安裝的軟件的備份也刪除,但不影響軟件使用apt-get clean# 更新軟件包apt-get upgrade# 推薦用來替代上一條指令 ,系統升級到新版本apt-get dist-upgrade# 在軟件包列表中搜索字符串apt-cache search string# 查找已安裝或可用的軟件包aptitude# 顯示軟件包信息apt-cache showpkg pkgs# 打印可用軟件包列表apt-cache dumpavail# 顯示軟件包記錄apt-cache show pkgs# 打印軟件包列表軟件包的名稱apt-cache pkgnames# 查看文件屬于哪個已安裝的軟件包dpkg -S filename# 列出軟件包中的文件dpkg -L package# 列出所有已安裝的軟件包dpkg -l# 查找包含指定文件的軟件包,包含未安裝的apt-file search filename# 用來清除已卸載軟件包的.deb文檔apt-get autoclean# 列出包含條件的已安裝的包apt list# 編輯源列表apt edit-sources三、開機啟動項
1. 開機級別的概念
/etc/inittab用來設置開機級別。Debian系統默認沒這個文件,可以手工創建。
運行級別列表:
- 0 系統停止
- 1 單用戶系統,不需要登陸
- 2 多用戶系統但不支持NFS,命令行模式登陸
- 3 完整多用戶模式,命令行模式登陸
- 4 未用
- 5 X11圖形模式,圖形模式登陸
- 6 重新啟動系統
沒有/etc/inittab文件時,系統將運行在2級別上。
2. Linux通用的啟動項設置方式
1. 建立軟連接方式設置自啟動
目錄 /etc/rc.d/rc[0-6].d 對應了7種運行級別,如級別5的啟動項內容:
這里軟連接的格式: [K|S][1-100]servicename
- 系統運行級別是5時,關掉以K開頭的服務,打開以S開頭的服務
如果要自己寫一個腳本 teststart,要在級別3時啟動,就把腳本放到/etc/init.d下,建立軟連接:
ln -s /etc/init.d/teststart /etc/rc.d/rc3.d/S95teststart2. /etc/rc.local開機啟動腳本
/etc/rc.local是 /etc/rc.d/rc.local的軟連接。
這里/var/lock/subsys/local 的修改時間,就是系統啟動時間。設置httpd自啟動
/etc/rc.d/init.d/httpd start2. CentOS下的設置
1. centos使用chkconfig
chkconfig 是命令行用來進行上面第1條的設置。
系統會提示只顯示SysV服務,不包含原生systemd服務。
# 查看開機啟動項chkconfig --list# 查看sshd項chkconfig --list sshd# 關閉啟動項chkconfig zookeeper off# 開啟啟動項chkconfig zookeeper on# 添加服務到chkconfigchkconfig --add sshd2. centos中的系統命令
使用systemctl enable 服務名稱來設置開機啟動。
# 查詢啟動項 systemctl list-unit-files --type=service | grep 'enabled'2. Ubuntu系統下的設置
(1) rcconf
sudo apt-get install rcconfrcconf(2) sysv-rc-conf
# 把/etc/init.d/teststart加入服務sudo sysv-rc-conf teststart on四、登陸/注銷時自動運行的程序
1. 登陸時運行腳本
/etc/profile
用戶登陸時,bash先自動執行系統管理員建立的全局登陸腳本 :
然后會按順序查找以下文件:
- ~/.bash_profile
- ~/bash_login
- ~/.profile
只執行最先找到的一個。
2. 注銷登陸時運行腳本
設置腳本:~/.bash_logout
總結
以上是生活随笔為你收集整理的centos 卸载软件_Linux服务器运维必备技能 软件包和启动项超详细整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 右键菜单无响应_被流氓软件玩坏了?这两个
- 下一篇: winform防止sqlserver注入