软件包的管理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()

猜你喜欢

转载自www.cnblogs.com/bubu99/p/10135174.html