1. 程式人生 > >軟體包的管理rpm,yum

軟體包的管理rpm,yum

=========================================rpm軟體管理(裝二進位制包,依賴關係很糟心)
軟體包 nginx.tar.gz(檔案是原始碼):編譯(原始碼翻譯成二進位制)安裝    rpm:紅帽軟體包管理(檔案就是二進位制)
版本號最後一位是奇數說明是測試版本不穩定。

df後
/dev/sr0        4050860 4050860        0  100% /run/media/root/CentOS 7 x86_64
路徑是這樣的 
cd /run/media/root/CentOS\ 7\ x86_64

ls Packages/
zlib-1.2.7-13.el7.x86_64.rpm   13代表軟體包修正了多少次  1.2.7版本號


增:
df
cd到Packages下
rpm 
-ivh dhcp-4.1.1-51.P1.el6.centos.x86_64.rpm rpm -ivh dhcp-4.1.1-51.P1.el6.centos.x86_64.rpm --force(強制安裝) 回車 有依賴的先裝 rpm -ivh dhcp-4.1.1-51.P1.el6.centos.x86_64.rpm rpm -ivh dhcp-4.1.1-51.P1.el6.centos.x86_64.rpm 排著寫可以裝多個 刪: rpm -e dhcp(只是軟體名沒有版本什麼的) rpm -e dhcp --nodeps(忽略依賴刪) 查: rpm -qa 檢視系統中安裝了多少個rpm包 rpm
-q dhcp(只是軟體名沒有版本什麼的) rpm -ql dhcp(檢視軟體裝到哪裡) rpm -qi dhcp(檢視軟體資訊) rpm -qf /usr/share/man/man8vsftpd.8.gz (檢視檔案有那個軟體包產生的) rpm -qa | grep 'dhcp' 驗證下系統中有沒有裝這個包 檢視命令由那個軟體產生 which ls 看命令的真實路徑 /usr/bin/ls rpm -qf /usr/bin/ls coreutils-8.22-11.el7.x86_64=====ls就是由這個軟體產生的 為什麼ls就能執行的原理 ls---->shell---->PATH(環境變數,全域性變數)--->/usr/bin/--->/usr/bin/ls--->alias-->/usr/bin/ls ls -l --color=auto which ls 檢視這個命令的位置 echo $PATH 檢視環境變數 PATH
= 設定環境變數 臨時修改 永久改 vim /etc/profile 在最後一行寫上PATH= export PATH (相當於把PATH設定成全域性變數) vim /etc/profile vim /etc/bashrc alias ll='ls -l --color=auto' ``反引號可以取命令的值然後複製給變數 x=`rpm -qa |grap vsftpd` rpm -e `rpm -qa |grap vsftpd` 這樣刪
=========================================yum軟體管理(裝rpm二進位制包,自動解決依賴關係)
rpm --->安裝源/media/CentOS_6.8_Final/Package/
yum --->安裝源/media/CentOS_6.8_Final/

baseurl=file:///run/media/root/CentOS 7 x86_64 這個有空格怕有問題,這個其實就是掛載到/dev/sr0的
mount /dev/sr0 /opt/
baseurl=file:///opt

1.一定要有一個軟體包倉庫,裡面有packages這個目錄它下面存軟體包,還要有repodata目錄裡面寫依懶性檔案。
2.修改配置檔案(配本地yum)
cd /etc/yum.repos.d/
ls
mkdir /tmp/bak/
mv * /tmp/bak/
移走裝系統預設帶的,自己寫一個repo本地yum源的配置資訊

vim /etc/yum.repos.d/local.repo      找軟體的路徑放到檔案裡,檔案依賴性關係
[local]
name=local yum
baseurl=file:///opt
enabled=1
gpgcheck=0
就上面5行就配好

3.yum clear all 清理yum快取
4.yum install httpd


vim /etc/yum/yum-cron.conf    保障系統不更新
修改
download_updates = no


yum update -y 一般不用,最多就是剛裝好系統的時候升級一下,升級所有的包,改變軟體設定和系統設定,系統版本核心都升級
yum -y upgrade 升級所有包,不改變軟體設定和系統設定,系統版本升級,核心不改變
yum install epel-* -y
yum reinstall epel-* -y  覆蓋安裝
yum -y install http*   -y直接裝不提示yes/on了


yum erase dhclient 刪除
yum remove dhclient 刪除

yum makecache -y 建快取資訊

假如這個軟體包來源於網路,yum會把軟體包下載到本地,安裝完,就刪掉下載的軟體包
如果想不刪軟體包,就改配置檔案
mkdir /rpm_bak
vim /etc/yum.conf
cachedir=/rpm_bak 指定一個自己的快取目錄
keepcache=1  設定為1
=========================================================自己做yum源
1.mkdir /cangku_httpd
2.把HTTPD需要的包都放/cangku_httpd裡
3.yum install creatrepo -y (裝好creatrepo這個工具)
4.creatrepo /cangku_httpd/      /cangku_httpd裡就多了repodata這個檔案
5.cd /etc/yum.repos.d/
6.mv * /tmp/bak/
7.vim /etc/yum.repos.d/httpd.repo      找軟體的路徑放到檔案裡,檔案依賴性關係
[local]
name=local yum
baseurl=file:///cangku_httpd   本地源
#baseurl=http://mirror.centos.org/centos-7/7.5.1804/centosplus/x86_64/   網路源
enabled=1
gpgcheck=0
就上面5行就配好
8.yum clear all 清理yum快取
9.yum install httpd
=============================================================原始碼包安裝===Python
下載好原始碼包
1:window下好 用Xshell拖進去
2:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 
yum grouplist
1.yum groupinstall '開發工具' -y  裝備 
    3.7版本需要一個新的包libffi-devel,安裝此包之後再次進行編譯安裝即可。
    yum install libffi-devel -y
2.tar xvf Python-3.7.1.tgz  解包
3.ls
4.cd Python-3.7.1  這個目錄下才有configure
5.執行configure指令碼,新增編譯引數,例如--prefix指定安裝路徑
./configure --prefix=/usr/local/python3.7   指定下一步安裝的目錄  python3.7 不要只寫成python,因為centos預設就有一個python是2.7版本的。
5.編譯
make
6.安裝
make install
5和6 可以寫成  make && make install
7.設定環境變數
PATH=/usr/local/python3.7/bin:$PATH
PATH=/usr/local/python3.7/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
永久設定環境變數
vim /etc/profile  (最下面寫這2行)
PATH=/usr/local/python3.7/bin:$PATH
export PATH
8.python3.7 測試   
9.ctrl+d 退出python   或者 exit()