Linux软件常用安装方式

RPM包管理

概述

  • rpm包在安装的光盘中

  • 32位操作系统:支持最大内存4G(内存 寻址空间 2^32)

  • 64位操作系统:支持最大内存192G,但是受到当前主流民用主板技术的影响,只能加到16G的内存。

  • 32位的系统只能装32位软件,64位的向下兼容32位和64位

安装

# 挂载
[root@localhost mnt]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only

[root@localhost mnt]# 
[root@localhost mnt]# pwd
/mnt
[root@localhost mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

# rpm包拆分
`vsftpd-3.0.2-10.el7.x86_64.rpm`
 vsftpd:包名
 3.0.2:主版本
 10:次版本
 el7:发行平台(企业级linux)
 x86_64:架构(64位,安装取决于系统的架构)  

# 安装rpm包(rpm -i rpmfile)
rpm -i vsftpd-3.0.2-10.el7.x86_64.rpm
	`-i:install安装`

# 卸载(rpm -e 包名)
rpm -e vsftpd 
	`-e:erase移除已安装的软件包
	`-v:verbose打印安装信息,接多个v越多越详细
	`-h:打印进度条
[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-10.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-10.el7              ################################# [100%]
	`#:一个#号代表%2

# 覆盖安装
	`--replacepkgs
	`--force强制
[root@localhost Packages]# rpm  -ivh vsftpd-3.0.2-10.el7.x86_64.rpm --replacepkgs 
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-10.el7              ################################# [100%]

# 查询
rpm -q 包名
	`-q:查询指定的软件包
	`-a:查询系统所有软件包
	`-V:查询文件内容是否被修改
	`-i:查看软件的详细信息
	`-R:查看软件包的依赖
rpm -qf 文件名
	`-f:查询文件是安装什么软件生成的

	

# 升级
rpm -U rpmfile
	`-U:是否安装都升级
rpm -F rpmfile
	`-F:原来装过才能升级

依赖关系

软件与软件之间有依赖关系

# 忽略依赖安装,安装完,服务不能用的,用于测试
[root@localhost Packages]# rpm -ivh httpd-2.4.6-40.el7.centos.x86_64.rpm --nodeps 
Preparing...                          ################################# [100%]
Updating / installing...
   1:httpd-2.4.6-40.el7.centos        ################################# [100%]

解压缩rpm文件

在生产环境中,不能直接对软件重新安装,可能会对业务造成影响,所以通过rpm2cpio来解压rpm软件包,将重要的配置文件替换生产环境中的文件即可

[root@localhost rpm]# rpm2cpio vsftpd-3.0.2-10.el7.x86_64.rpm | cpio -id
715 blocks
[root@localhost rpm]# ls
etc  usr  var  vsftpd-3.0.2-10.el7.x86_64.rpm

rpm公钥与私钥

开源后,都需要用私钥来做数字签名,rpm的公钥给用户解密,私钥给自己加密

[root@localhost rpm]# rpm -qa|grep pubkey
gpg-pubkey-352c64e5-52ae6884
gpg-pubkey-f4a80eb5-53a7ff4b
gpg-pubkey-621e9f35-58adea78

# 导入公钥
[root@localhost rpm]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 
[root@localhost rpm]# rpm -K /mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm 
/mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
	`rpm --import 导入公钥
	`rpm -K rpmfile

YUM

概述

什么是yum?红帽为了解决软件包的依赖关系的一个安装方式,yum可以自动安装依赖关系

全称:yellow update modifier

# 挂载 
mount /dev/cdrom /mnt/

# 编写.repo文件
[root@localhost yum.repos.d]# cat redhat.repo 
[redhat]				`仓库名
name=repo				`仓库描述信息
baseurl=file:///mnt		`仓库路径(file://表示本地路径 本地源(http/ftp:网络源))
enalbed=1				`是否启用仓科 0或1
gpgcheck=1				`是否校验软件包的完整性 0或1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7	`校验公钥

#清空缓存与生成新的缓存
[root@localhost repodata]# yum clean all && yum makecache fast
Loaded plugins: fastestmirror, langpacks
Cleaning repos: redhat
Cleaning up list of fastest mirrors
Other repos take up 1.4 G of disk space (use --verbose for details)
Loaded plugins: fastestmirror, langpacks
redhat                                                          | 3.6 kB  00:00:00     
(1/2): redhat/group_gz                                          | 155 kB  00:00:00     
(2/2): redhat/primary_db                                        | 2.8 MB  00:00:00     
Determining fastest mirrors
Metadata Cache Created

yum如何得知软件包之间的依赖关系

repodata目录xml的文件记录了包与包之间的关系,被称为yum的数据库,

baseurl=file:///mnt指向

yum的使用

# 安装软件
yum install vsftpd
	`-y:yes确认安装
	`-d:download下载(如果配置的是本地源不会自动下载,如果是网络源就会下载,下载路				径:/var/cache/yum/x86_64/7/updates/packages)
	`-N:no取消安装
# 解决依赖安装
yum localinstall rpmfile

# 卸载软件
yum remove vsftpd

# 查看系统中所有软件包
yum list all
[root@docker-test packages]# yum list all | wc -l
24483

[root@docker-test packages]# yum list all | head -n 5
Installed Packages
GeoIP.x86_64    `包名.架构` 1.5.0-11.el7  `主次版本.社区版Linux7`  @base  `所在仓库,@表现系统已安装`

# 查看已安装
 yum list installed 
# 查看可更新
yum list updates
# 查看可用软件包
yum list available
# 搜索仓库是否有该软件包
yum search httpd
# 全局搜索命令属于哪个软件包
yum provides "*/vsftpd" `*/表示任意目录,安装带有/usr/sbin的`
logwatch-7.4.0-28.20130522svn140.el7.noarch : A log file analysis program
Repo        : redhat
Matched from:
Filename    : /usr/share/logwatch/scripts/services/vsftpd

man-pages-overrides-7.2.4-1.el7.x86_64 : Complementary and updated manual pages
Repo        : redhat
Matched from:
Filename    : /usr/share/doc/man-pages-overrides-7.2.4/vsftpd

vsftpd-3.0.2-10.el7.x86_64 : Very Secure Ftp Daemon
Repo        : redhat
Matched from:
Filename    : `/usr/sbin`/vsftpd
Filename    : /etc/logrotate.d/vsftpd
Filename    : /etc/vsftpd
Filename    : /etc/pam.d/vsftpd


包组

定义一部分软件,包的功能选项

安装包组:yum groupinstall

查看包组:yum groups list

extras

available

sdfsdf

制作yum源

如何制作

1、将软件的所有依赖包都提前准备好

# 创建yum源
[root@localhost repo]# ll
total 2788
-rw-r--r--. 1 root root 2846724 Nov 18  2020 httpd-2.4.6-97.el7.centos.x86_64.rpm
drwxr-xr-x. 2 root root    4096 Jul  6 16:16 repodata
[root@localhost repo]# pwd
/home/repo

在当前目录下创建生成repodata:`createrepo -v .

# 在/etc/yum.repos.d目录下创建repo文件
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]# cat dd.repo 
[rhel7]
name=repo
baseurl=file:///home/repo
enabled=1
gpgcheck=0

源码编译安装

1、将源码软件包拷贝到linux系统中

2、解压缩

3、进入软件包文件夹执行./configure

4、make

5、make install

TAR打包

先打包再压缩
tar cf test.tar CentOS7-Base-163.repo 
	`-c:create打包
	`-f:指定文件名
	`-x:解包
	`-t:查看包的内容
	`-v:打印详细信息
	`-z:压缩gzip
	`-j:压缩bz2
	`-J:压缩xz

TAR解压缩

先打包再压缩
# 压缩三大神器 xz压缩率最好
gzip:-z 
	压缩:`tar -zcvf rpm.tar.gz rpm.tar
	解压:`tar -zxvf rpm.tar.gz
	
bz2:--bzip2 -j
	压缩:`tar -jcvf rpm.tar.bz2 rpm.tar
	解压:`tar -jxvf rpm.tar.bz2
	
xz:-J
	压缩:`tar -Jcvf rpm.tar.xz rpm.tar
	解压:`xz -d rpm.tar.xz
	-d:decompress
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

msfyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值