美文网首页
linux下载软件包

linux下载软件包

作者: 墨线宝 | 来源:发表于2023-08-04 21:21 被阅读0次

    linux下载软件包

    linux下只有两种软件包

    • 源码包(tar 压缩包,如有.tar.gz 和.tar.bz2)
    • 二进制包(rpm) centos下 (除了rpm还有srpm,srpm 包为未编译过的 rpm 包,需要以 rpm 管理的方式编译,然后以 rpm 的安装方式安装)

    RPM包操作

    rpm 包全称为Redhat Package Manager,是依赖 cpu 架构的,常见的格式

    • noarch.rpm
      不依赖于 CPU, 可以在所有计算机上安装

    • i386.rpm
      基于 Intel 386 CPU,这些 RPM 包可以在所有 Intel 兼容计算机上安装

    • i486.r pm
      用于带 Intel 486 CPU 的计算机(随时)

    • i586.rpm
      用于带 Intel 586 CPU 的计算机

    • i686.rpm
      用于带 Intel 686 CPU 的计算机

    • ia64.rpm
      用于带 Intel ltanium 64 位 CPU 的计算机

    • alpha.rpm
      用于带 HP Alpha CPU 的计算机,最初是 DEC 公司开发的

    • nthlon.rpm
      基于 AMD Athlon CPU

    • ppc.rpm
      用于带 Apple Powe rPC CPU 的计算机

    • s390.rpm
      用于基于 S/390 CPU 的 IBM 服务器

    • sparc.rpm
      用于带 Sun 系统公司 SPARC CPU 的计算机

    rpm安装

    rpm -ivh 包全名
    -------
    -i     install安装
    -v     verbose显示详细信息
    -h     显示安装进度
    --force  强制安装,即使覆盖其他包的文件也要安装
    --nodeps  当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包
    

    rpm包升级

    rpm -Uvh  包全名
    ------
    -U    升级安装
    

    rpm包卸载

    # 多个包的话,空格隔开
    rpm -e 包名
    

    rpm包查询

    # 查询是否安装
    rpm -q 包名
    
    # 查询包的相关信息
    rpm -qi 包名
    
    # 查询系统上所有安装的包
    rpm -qa
    
    # 查询软件包的文件列表
    rpm -ql 包名
    
    # 查询某个文件属于哪个包
    rpm -qf 文件名
    
    ------------------
    -i  info信息
    -a  all所有
    -l  list文件列表
    -f  file文件
    

    srpm 包的安装

    源代码 RPM 包的结尾通常是.src.rpm

    rpm -i 包名 
    
    cd /usr/src/redhat/SPECS
    
    # 编译完之后,/usr/src/redhat/RPM/i386/目录下,有一个新的 rpm 包,这个是编译好的二进制文件。
    rpmbuild -bb 打出来的specs文件
    # 安装
    rpm -i 新的rpm包名 
    

    由于rpm安装软件包时比较麻烦,各个包之间的依赖需要去人工下载,所以一般使用yum来或者apt在线安装,可以进行自动检测软件依赖问题

    高级安装

    yum安装软件包

    yum的源配置文件保存在/etc/yum.repos.d文件夹中,默认使用的是CentOS-Base.repo,yum是Redhat所特有的安装RPM程序包的工具,在使用RPM安装某一个程序包时可能会因为该程序包依赖另一个程序包而无法安装,yum可以连同依赖的程序包一起安装

    我在使用系统自带的yum源文件时发现无法访问那些网站,所以去找了个搜狐的镜像源,将原本的baseurl的前半部分换为http://mirrors.sohu.com/

    如:baseurl=http://mirrors.sohu.com/centos/releasever/os/basearch/

    查询
    # 查询yum源服务器上的所有软件包
    yum list
    
    # 查询是否包含某个软件包
    yum list 包名
    
    yum search 关键字
    
    安装
    yum -y install 包名
    -------
    install  安装
    -y  自动回答yes
    
    升级
    yum -y update 包名
    -------
    update  升级
    -y  自动回答yes
    
    卸载
    yum remove 包名
    

    卸载需要谨慎,会把依赖该包的所有包都卸载掉

    软件组操作
    yum grouplist
    
    yum groupinfo
    
    yum -y groupinstall 组名
    
    

    apt安装软件包

    apt全称Advanced Package Tool,一般使用两个命令,apt-get:用于执行和软件包安装有关的所有操作;apt-cache:用于查找软件包的相关信息

    下载安装
    # 更新当前apt-get缓存中的软件包信息,安装前执行该命令以保证获得的软件包是最新的
    apt-get update
    # 安装软件包
    apt-get install 包名
    #获取软件源代码
    apt-get source 包名
    
    卸载
    # 卸载特定的软件包
    apt-get remove 包名
    # 删除所有已下载的包文件
    apt-get clean
    
    查询
    # 搜索软件包列表中的特定的软件包,可以搜索所有该字的软件包
    apt-cache search 部分包名
    
    # 列出软件包的依赖关系
    apt-cache denpens 包名
    
    安装源

    apt的安装源都在/etc/apt/sources.list

    deb http://mirrors.cloud.aliyuncs.com/ubuntu/ xenial main restricted universe multiverse
    deb-src http://mirrors.cloud.aliyuncs.com/ubuntu/ xenial main restricted universe multiverse
    

    源码包安装

    首先下载源码包的压缩包,解压之后进入目录

    第一步 配置

    先执行

    ./configure --prefix=安装到的目录位置
    

    该命令使编译前检测系统环境是否符合安装要求,把系统环境的检测结果以及用户提供的相关参数生成赌赢的Makefile文件,后续的安装过程都会依赖该文件。

    第二步 编译

    如果检测成功,则继续执行

    make
    

    该命令的作用是调用gcc编译器,读取上述Makefile文件中的信息进行系统软件编译,编译是为了把源码程序转换成linux可执行的文件

    第三步 安装

    如果编译出错执行

    make clean
    

    清空编译内容

    如果编译没有出错,执行

    make install
    

    编译安装

    卸载

    make uninstall
    

    https://zhhll.icu/2021/linux/包管理/linux下载软件包/

    本文由mdnice多平台发布

    相关文章

      网友评论

          本文标题:linux下载软件包

          本文链接:https://www.haomeiwen.com/subject/zvqbpdtx.html