标签:总结 情况 选项 区别 版本升级 定制 eps sbin 管理程序
通常而言,可以通过后缀区别源码包和二进制包
目录
二进制包
rom包管理
yum包管理
源码包
tar包管理
文件的管理和归档
centos操作系统中有一款默认软件管理的工具,即红帽包管理工具(red hat package manager , RPM)
rpm使用时,什么情况下使用软件包全名,什么时候使用软件包名?
选项
1,挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt
2,安装
[root@localhost ~]# rpm -ivh /mnt/Packages/zsh-5.0.2-31.el7.x86_64.rpm
3,查看是否安装成功
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/zsh
rpm -q 查询. 常与下面参数组合使用.
-q 查询指定的包是否安装
[root@localhost ~]# rpm -q zsh
zsh-5.0.2-31.el7.x86_64
-qa 查询所有已经安装包
[root@localhost ~]# rpm -qa | grep vi
vim-minimal-7.4.160-5.el7.x86_64
-qf 查询文件或命令属于哪个安装包
[root@localhost ~]# which ifconfig
/usr/sbin/ifconfig
[root@localhost ~]# rpm -qf /usr/sbin/ifconfig
net-tools-2.0-0.24.20131004git.el7.x86_64
-qpi 查询软件包的信息
# 对于未安装的包
[root@localhost ~]# rpm -qpi /mnt/Packages/php-mysql-5.4.16-46.el7.x86_64.rpm
Name : php-mysql
Version : 5.4.16
对于已经安装的包
[root@localhost ~]# rpm -qi net-tools
Name : net-tools
Version : 2.0
Release : 0.24.20131004git.el7
-qpl 查询软件包要安装的位置
对于未安装的包
[root@localhost ~]# rpm -qpl /mnt/Packages/net-tools-2.0-0.24.20131004git.el7.x86_64.rpm
/bin/netstat
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig
/sbin/ipmaddr
/sbin/iptunnel
对于已经安装的包
[root@localhost ~]# rpm -ql net-tools
/bin/netstat
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig
-qf 查看软件包内容是否被修改,用于检验命令没有被黑客修改
[root@localhost ~]# which find
/usr/bin/find
[root@localhost ~]# rpm -qf /usr/bin/find
findutils-4.5.11-6.el7.x86_64
[root@localhost ~]# rpm -V findutils #检查包,没有输出结果就是没有被修改
[root@localhost ~]# rpm -Vf /usr/bin/find #检查具体文件,没有输出结果就是没有被修改
如何查看系统中所有的rpm包及安装的文件有没有被黑客修改?
[root@localhost ~]# rpm -Va
.M....... g /boot/initramfs-3.10.0-957.el7.x86_64.img
S.5....T. c /etc/sysconfig/authconfig
校验时候参考了/var/lib/rpm目录下的rpm数据库信息
卸载
[root@localhost ~]# rpm -e zsh
[root@localhost ~]# rpm -qa | grep zsh
[root@localhost ~]#
强制卸载
不建议使用.有依赖关系是建议使用yum来卸载
[root@localhost ~]# rpm -e --nodeps zsh
升级
因为升级时候会有一些依赖包要解决,所以一般我们使用(yum update 包),来升级
rpm -Uvh
1挂载光盘
mount /dev/cdrom /mnt
2备份配置文件
[root@localhost ~]# mv /etc/yum.repos.d/ /etc/yum.repo.d
[root@localhost ~]# mkdir /etc/yum.repos.d
3创建yum本地源
[root@localhost ~]# vim /etc/yum.repos.d/centos7.repo #名称任意,但是一定要.repo结尾
[centos7] #yum源名称,在本服务器上是惟一的
name=centos7 #yum源描述信息
baseurl=file:///mnt #yum源的路径(ftp://... HTTP://... file:///...)
enabled=1 #1启用yum源 , 0为禁用
gpgcheck=0 #1使用公钥校验rpm包的正确性,0为不校验
4清除yum缓存
[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos7
1下载阿里yum源并保存到指定路径
wget 下载. -O指定保存位置
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS.Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2清除yum缓存
[root@localhost ~]# yum clean all
cat /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.6.1810 (Core)
自动识别本地系统版本,和网站中的最新的版本对应.所以应该更改配置文件中的版本信息
1 查看
发现网站中http://mirrors.aliyun.com/centos/ centos版本最新的是7.6.1810
2 替换
[root@localhost ~]# sed -i 's/$releasever/7.6.1810/g' /etc/yum.repos.d/CentOS.Base.repo
3更新
[root@localhost ~]# yum clean all
安装和升级
yum install -y httpd #安装软件包
yum update httpd #升级软件包,改变软件设置和系统设置,系统版本内核都升级
yum upgrade httpd #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变
yum -y update #系统内能升级的软件都会升级
检索
yum info net-tools #查询rpm包的作用
yum provides /usr/sbin/ifconfig #查询文件是哪一个软件安装的,同rpm -qf
yum search vim #按照关键字搜索软件包
卸载
yum remove zsh #卸载包
yum安装开发工具软件包组
查看有哪些软件包组
[root@localhost ~]# yum grouplist
安装开发工具组
[root@localhost ~]# yum groupinstall "Development Tools"
1安装依赖
[root@localhost ~]# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
2解压
[root@localhost ~]# tar zxvf nginx-1.16.0.tar.gz
3安装软件
[root@localhost ~]# cd nginx-1.16.0
[root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.16.0]# make -j 4
[root@localhost nginx-1.16.0]# make install
./configure
make -j 4
make install
make clean
make uninstall
但是很多时候删除不干净
所以一般安装时指定路径--prefix=/usr/local/nginx
这样进行操作时,可以直接对这个路径进行操作
can't find ext2fs library
根据提示,安装ext2fs库
一般我们可以RPM安装,通过按tab键补齐.不行的话可以查找关键字
[root@localhost ~]# rpm -ivh /mnt/Packages/ext2fs
[root@localhost ~]# ls /mnt/Packages/*ext2fs*
[root@localhost ~]# ls /mnt/Packages/*2fs*
/mnt/Packages/e2fsprogs-libs-1.42.9-13.el7.i686.rpm
/mnt/Packages/e2fsprogs-libs-1.42.9-13.el7.x86_64.rpm
还可以通过yum search ext2fs来检索
[root@localhost ~]# yum search ext2fs
当我们把库已经安装,但是configure时又说找不到,怎么办
我们还需要安装该库的头文件
/mnt/Packages/e2fsprogs-devel-1.42.9-13.el7.x86_64.rpm
好处:节约硬盘的资源,加快文件传输速率
选项
把/boot/grub/打包到指定路径
[root@localhost ~]# tar -cvf /home/harry1/grub.tar /boot/grub/
/boot/grub/
/boot/grub/splash.xpm.gz
解包grub.tar到指定路径
[root@localhost ~]# tar xvf grub.tar
boot/grub/
boot/grub/splash.xpm.gz
将多个目录和文件打包成一个软件包
[root@localhost ~]# tar -cvf /home/harry1/back.tar /etc/passwd /etc/group /home/harry1/
/etc/passwd
/etc/group
/home/harry1/
不解包,只查看包中的内容
[root@localhost ~]# tar -tvf /home/harry1/back.tar
-rw-r--r-- root/root 941 2019-06-05 05:17 etc/passwd
-rw-r--r-- root/root 519 2019-06-05 05:17 etc/group
...
在使用绝对路径名归档文件时,默认从文件名中删除该路径前面的/符号,这样解压时,会直接解压到当前目录.不然会覆盖原路径中的文件
参数
tar.gzip
压缩
[root@localhost ~]# tar zcvf /home/harry1/etc.tar.gz /etc
解压缩
[root@localhost ~]# tar zxvf /home/harry1/etc.tar.gz -C /opt/
tar.bz2
压缩
[root@localhost ~]# tar jcvf /home/harry1/etc.tar.bz2 /etc
解压缩
[root@localhost ~]# tar jxvf /home/harry1/etc.tar.bz2 -C /opt/
tar.xz
压缩
[root@localhost ~]# tar Jcvf /home/harry1/etc.tar.xz /etc
解压缩
[root@localhost ~]# tar Jxvf /home/harry1/etc.tar.xz -C /opt/
经过测试,解压缩时如果存在相同文件,会直接覆盖,不会询问
效果
标签:总结 情况 选项 区别 版本升级 定制 eps sbin 管理程序
原文地址:https://www.cnblogs.com/inmeditation/p/11572311.html