Linux---软件安装管理

简介: 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/76700422

RPM 安装

rpm -ivh 全名
安装软件包

选项:

  • -i (install) 安装
  • -v (verbose) 显示详细信息
  • -h (hash) 显示进度

升级

rpm -Uvh 包全名(旧版本)
如果已经安装就更新,如果没有安装就安装

  • -U (upgrade)升级

卸载

rpm -e 包名
后台数据库中查找包名对应的文件,然后卸载

  • -e(erase)
  • –nodeps 不检查依赖性(不提倡使用)

查询(-q)

命令 作用
rpm -q 包名 查询是否安装软件包
rpm -qa 查询所有已安装的软件包
rpm -qi 包名 查询已安装软件包的信息
rpm -qip 包全名 查看未安装的包的信息
rpm -ql 包名 查看包安装位置(未安装也可以查询-p)
rpm -qf 文件名 查看系统文件属于哪个软件包
rpm -qR 包名 查看包所依赖的软件包

选项:

  • -q (query) 查询
  • -a (all) 所有
  • -i (information) 查询软件包信息
  • -f (file) 查询系统问价属于哪个软件包
  • -p (package) 查询未安装包信息
  • -R (requires) 查询软件包的依赖性
  • -V (Verify) 文件校验

rpm文件提取

rpm2cpio 包全名 | cpio -idv .文件绝对路径
从rpm包中提取需要的文件

  • rpm2cpio : 将rpm转换为cpio格式的命令
  • cpio : 标准工具,用户创建软件档案文件和从档案文件中提取文件

例如,删除ls命令:

rm -rf /bin/ls

从rpm包中提取出ls文件

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-43.el6.x86_64.rpm | cpio -idv ./bin/ls

yum在线安装

yum源文件

yum的源文件位于 /etc/yum.repos.d/CentOS-Base.repo ,具体文件内容如下

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

相关参数:

  • [base] 容器名称,一定要放在[]中
  • name 容器说明,随便写
  • mirrorlist 镜像站点
  • baseurl yum源服务器的地址
  • enabled 是否生效,1是生效,0不生效,默认生效
  • gpgcheck 1指数字证书生效
  • gpgkey 数字证书的公钥文件保存位置。不用修改

更换阿里的源

  • 备份
    mv CentOS-Base.repo CentOS-Base.repo.backup

  • 下载新的源文件,替换原来的源
    wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

  • 生成缓存
    yum makecache

光盘搭建yum

  • 挂载光盘
    mount -t iso9660 /dev/sr0 /mnt/cdrom/

  • 使网络yum失效。将网络源文件改名为其他文件,或者将 enabled 设为0:

// 将网络源文件改名为其他文件
mv CentOS-Base.repo CentOS-Base.repo.ali.backup
  • 更改 CentOS-Media.repo 文件。将baseurl 改成光盘目录,将enable改为1:
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#        file:///media/cdrom/
#        file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  • 验证。再次使用 yum list ,可以看到所有源的名称都变成了 c6-media。正是光盘源的名称:
...
vte.i686                                                0.25.1-9.el6                         c6-media                                
vte-devel.i686                                          0.25.1-9.el6                         c6-media                                
vte-devel.x86_64                                        0.25.1-9.el6                         c6-media                                
w3m.x86_64                                              0.5.2-19.el6                         c6-media                                
w3m-img.x86_64                                          0.5.2-19.el6                         c6-media                                
watchdog.x86_64                                         5.6-5.el6                            c6-media                                
wavpack.i686                                            4.60-1.1.el6                         c6-media                                
wavpack-devel.i686                                      4.60-1.1.el6                         c6-media                                
wavpack-devel.x86_64                                    4.60-1.1.el6                         c6-media                                
webalizer.x86_64                                        2.21_02-3.3.el6                      c6-media                                
webkitgtk.i686                                          1.4.3-9.el6_6                        c6-media                                
webkitgtk-devel.i686                                    1.4.3-9.el6_6                        c6-media                                
webkitgtk-devel.x86_64                                  1.4.3-9.el6_6                        c6-media                                
webkitgtk-doc.x86_64                                    1.4.3-9.el6_6                        c6-media                                
werken-xpath.noarch                                     0.9.4-4.beta.12.6.el6                c6-media                                
werken-xpath-javadoc.noarch                             0.9.4-4.beta.12.6.el6                c6-media                                
wireless-tools.i686                                     1:29-6.el6                           c6-media                                
wireless-tools-devel.i686                               1:29-6.el6                           c6-media                                
wireless-tools-devel.x86_64                             1:29-6.el6                           c6-media 
...

常用 yum 命令

  • 查询所有可用软件包列表
    yum list

  • 查询和关键字有关的软件包
    yum search 关键字

  • 自动安装指定软件包
    yum -y install 包名

  • 升级(如果源中有更新版的软件包)
    yum -y update 包名

  • 升级所有软件,包括内核
    yum -y update

  • 卸载软件包
    yum -y remove 包名

参数:

  • install 安装
  • remove 卸载
  • -y 自动回答yes

软件组管理命令

  • 列出所有可用的软件组列表:
    yum grouplsit

  • 安装指定软件组,组名可以由grouplist查询出来
    yum groupinstall 软件组名

  • 卸载指定软件组
    yum groupremove 软件组名

源码包

1、进入解压缩命令
2、./configure -prefix=/usr/local/apache 安装到指定目录
3、make 编译(make clean清除)
4、make install编译安装

rpm包与源码包的异同

启动方式不同

  • rpm包的启动方式:从/etc/init.d/目录下启动,在执行service时也是从/etc/init.d/目录下启动。因此可以将源码包的启动脚本复制到给目录下,即可用service启动。
  • 源码包的启动方式:可以随意指定,一般是 /usr/local/ ,不可以用service命令管理

安装完毕后,仅有的不同是安装位置不同。

相关文章
|
18天前
|
Java Linux 开发工具
linux如何编译安装源码包软件
源码包软件是包含源代码的软件包,常见于Linux和BSD系统,如fcitx和Lumaqq。开源软件需满足源代码可见且有宽松许可,如GPL。安装源码包通常涉及解压、编译和安装步骤,使用`tar`命令解包,通过`./configure`, `make`, `make install`进行编译安装。软件源码允许定制和二次开发,但须遵循许可协议。安装前确保安装了必要的开发工具和库。对于perl和python程序,直接使用perl或python命令安装。推荐使用系统软件包管理工具如RPM、yum或apt进行管理,以简化流程。
24 0
|
19天前
|
Linux 数据安全/隐私保护
Linux(12)Debain系统安装远程控制软件
Linux(12)Debain系统安装远程控制软件
25 0
|
2天前
|
存储 缓存 Ubuntu
Linux:软件包管理器 - yum
Linux:软件包管理器 - yum
17 2
|
3天前
|
安全 Shell Linux
Linux 用户和用户组管理
Linux 用户和用户组管理
|
4天前
|
安全 Python Linux
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
|
5天前
|
缓存 运维 算法
深入理解Linux内核的虚拟内存管理
【5月更文挑战第6天】 在现代操作系统中,尤其是类Unix系统如Linux中,虚拟内存管理是一项核心功能,它不仅支持了多任务环境,还提供了内存保护和抽象。本文将深入探讨Linux操作系统的虚拟内存子系统,包括分页机制、虚拟地址空间布局、页面置换算法以及内存分配策略。通过对这些概念的剖析,我们旨在为读者揭示Linux如何有效地管理和优化物理内存资源,并确保系统的稳定运行与高效性能。
|
5天前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
15 1
|
11天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
11天前
|
存储 固态存储 Linux
|
13天前
|
存储 安全 Linux
【专栏】RHCSA认证考试(EX200)聚焦Linux用户和组管理,涉及基本概念、命令及管理策略。
【4月更文挑战第28天】RHCSA认证考试(EX200)聚焦Linux用户和组管理,涉及基本概念、命令及管理策略。理解用户与组、根用户与普通用户、标准组与附加组的区别至关重要。关键文件包括`/etc/passwd`、`/etc/group`、`/etc/shadow`和`/etc/gshadow`。熟悉`useradd`、`passwd`、`groupadd`等命令以及权限管理工具如`chown`和`chmod`。遵循最小特权原则,定期审计账户,实施密码策略,并利用自动化工具提升效率。掌握这些知识将助力考生在RHCSA考试中表现出色,并在实际工作中有效管理Linux系统。