• Linux软件管理



    Linux软件管理


    Windows: 
    	.exe
    	.msi
    	
    Centos/RHEL/Fedora:
    	二进制格式的软件(*.rpm)		redhat package management
    	源码软件(*.tar.gz, *.tar.bz2)
    

    rpm软件管理

    光盘iso镜像文件

    [root@node01 ~]# mount /dev/sr0 /mnt/
    [root@node01 ~]# ls /mnt/Packages/
    
    [root@node01 ~]# umount /dev/sr0			>>>>卸载光盘 
    

    rpm软件名称的组成

    zlib-devel-1.2.7-15.el7.x86_64.rpm
    
    
    	zlib-devel	软件名称
    	1.2.7		版本
    	el7.x86_64	软件运行平台
    

    互联网
    https://pkgs.org/
    http://rpmfind.net/

    查看系统平台信息

    [root@node01 ~]# uname -r
    3.10.0-327.el7.x86_64

    [root@node01 ~]# cat /etc/redhat-release
    CentOS Linux release 7.2.1511 (Core)
    [root@node01 ~]#

    管理rpm软件

    查询操作:

    1、查询软件是否安装

    rpm -q 软件名称

    [root@node01 ~]# rpm -q bash
    bash-4.2.46-19.el7.x86_64
    
    
    [root@node01 ~]# rpm -qa | grep vim
    vim-enhanced-7.4.160-1.el7.x86_64
    vim-minimal-7.4.160-1.el7.x86_64
    vim-filesystem-7.4.160-1.el7.x86_64
    vim-common-7.4.160-1.el7.x86_64
    [root@node01 ~]# 
    

    2、查询软件的说明信息

    rpm -qi 软件名称

    [root@node01 ~]# rpm -qi bash
    
    [root@node01 ~]# rpm -qi vim-enhanced
    

    3、查看软件生成的文件

    rpm -ql 软件名称

    [root@node01 ~]# rpm -ql vim-enhanced 
    
    [root@node01 ~]# rpm -ql bash | less
    

    4、查看文件由哪个软件生成

    rpm -qf 文件名称

    [root@node01 ~]# which chmod
    /usr/bin/chmod
    [root@node01 ~]# rpm -qf /usr/bin/chmod
    coreutils-8.22-15.el7.x86_64

    5、查看软件的配置文件

    rpm -qc 软件名称

    [root@node01 ~]# rpm -qc vim-enhanced

    管理操作:

    1. 安装软件

    rpm -ivh 软件安装包名称

    i:安装install
    v:显示详细信息verbose 
    h:显示软件的安装进度
    

    安装vsftpd软件

    [root@node01 ~]# mount /dev/sr0 /mnt/
    
    [root@node01 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm 
    警告:/mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:vsftpd-3.0.2-10.el7              ################################# [100%]
    

    安装dhcp软件

    [root@node01 ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-42.el7.centos.x86_64.rpm 
    警告:/mnt/Packages/dhcp-4.2.5-42.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:dhcp-12:4.2.5-42.el7.centos      ################################# [100%]
    

    安装ntfs-3g软件

    [root@node01 ~]# rpm -ivh ntfs-3g-2013.1.13-5.el7.x86_64.rpm 
    警告:ntfs-3g-2013.1.13-5.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:ntfs-3g-2:2013.1.13-5.el7        ################################# [100%]
    

    安装httpd软件

    [root@node01 ~]# rpm -ivh /mnt/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm 
    警告:/mnt/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    错误:依赖检测失败:
    	/etc/mime.types 被 httpd-2.4.6-40.el7.centos.x86_64 需要
    	httpd-tools = 2.4.6-40.el7.centos 被 httpd-2.4.6-40.el7.centos.x86_64 需要
    	libapr-1.so.0()(64bit) 被 httpd-2.4.6-40.el7.centos.x86_64 需要
    	libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-40.el7.centos.x86_64 需要
    

    解决办法:

    选项--nodeps 	忽略依赖关系
    
    [root@node01 ~]# rpm -ivh --nodeps /mnt/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm 
    警告:/mnt/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:httpd-2.4.6-40.el7.centos        ################################# [100%]
    
    1. 卸载软件

    rpm -e 软件名称

    [root@node01 ~]# rpm -q dhcp
    dhcp-4.2.5-42.el7.centos.x86_64
    
    [root@node01 ~]# rpm -e dhcp
    
    
    [root@node01 ~]# rpm -qa | grep jdk
    java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
    java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
    java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
    java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
    
    [root@node01 ~]# rpm -e java-1.7.0-openjdk-headless
    error: Failed dependencies:
    	java-1.7.0-openjdk-headless = 1:1.7.0.91-2.6.2.3.el7 is needed by (installed) java-1.7.0-openjdk-1:1.7.0.91-2.6.2.3.el7.x86_64
    
    [root@node01 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless
    [root@node01 ~]# rpm -qa | grep jdk
    java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
    java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
    java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
    
    
    1. 升级软件

    rpm -Uvh 软件安装包名称

    注意:自动卸载旧版本软件 
    
    [root@node01 ~]# rpm -Uvh --nodeps php-5.4.16-42.el7.x86_64.rpm 
    warning: php-5.4.16-42.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:php-5.4.16-42.el7                ################################# [ 50%]
    Cleaning up / removing...
       2:php-5.4.16-36.el7_1              ################################# [100%]
    [root@node01 ~]# 
    
    

    ===========================

    使用yum的方式管理rpm软件

    优势:自动解决软件的依赖关系
    

    前提条件:配置yum仓库/yum源

    yum源类型:
    1、本地yum源
    2、ftp源
    3、http源

    	https://mirrors.aliyun.com				阿里云镜像
    	
    	http://mirrors.163.com					网易镜像 
    	
    	http://mirror.centos.org/				Centos官网
    	
    	# yum install -y epel-release			安装epel源
    
    	
    		
    	baseurl=https://mirrors.aliyun.com/centos/7.3.1611/storage/x86_64/ceph-hammer/
    	
    	baseurl=https://mirrors.aliyun.com/centos/7.3.1611/cloud/x86_64/openstack-ocata/
    

    yum源/仓库的配置文件

    /etc/yum.repos.d/*.repo 
    

    示例:配置本地yum源

    1. 挂载光盘

    [root@test01 ~]# mount /dev/sr0 /mnt/

    1. 备份系统自带的yum源配置文件

    [root@test01 ~]# mkdir /etc/yum.repos.d/default
    [root@test01 ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/default/
    [root@test01 ~]#
    [root@test01 ~]# ls /etc/yum.repos.d/
    default

    1. 编辑本地yum源文件
    [root@test01 ~]# cat /etc/yum.repos.d/centos.repo
    [centos7.2]
    name=centos7.2
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0
    
    
    [root@test01 ~]# yum clean all					>>>>清除yum缓存
    
    [root@test01 ~]# yum repolist 					>>>>显示可用的yum源
    
    [root@test01 ~]# yum makecache 					>>>>生成yum缓存,可tab补全软件名称(CentOS 7+)
    
    [root@test01 ~]# yum install -y httpd vsftpd 	>>>>安装httpd, vsftpd软件 
    
    

    常用yum操作:

    1. 安装软件

    yum install -y 软件名称

    1. 显示yum中所有软件

    [root@test01 ~]# yum list all

    1. 显示所有软件组

    [root@test01 ~]# yum grouplist

    1. 安装软件组

    yum groupinstall -y 软件组名称

    [root@test01 ~]# yum groupinstall -y "Security Tools"

    1. 查询文件所属的软件名称

    yum provides 文件名称

    [root@test01 ~]# yum provides "*bin/passwd"

    示例:配置172.16.8.100的ftp源

    [root@test01 ~]# cat /etc/yum.repos.d/ftp.repo 
    [ftpcentos]
    name=ftpcentos
    baseurl=ftp://172.16.8.100/centos7u2
    enabled=1
    gpgcheck=0
    

    制作yum repo仓库

    1. 准备rpm软件
    2. 创建yum元数据文件
    	[root@test01 ~]# createrepo /mysql/
    

    源码软件管理安装

    1、配置安装参数
    2、编译
    3、安装
    

    前提:gcc编译环境

    示例:编译安装htop软件

    [root@test01 ~]# tar zxf htop-1.0.3.tar.gz 
    [root@test01 ~]# cd htop-1.0.3/
    [root@test01 htop-1.0.3]# ./configure --prefix=/usr/local/htop 
    [root@test01 htop-1.0.3]# make 
    [root@test01 htop-1.0.3]# make install
    

    错误1:

    configure: error: You may want to use --disable-unicode or install libncursesw.

    解决办法:

    yum install -y ncurses-devel

    运行htop软件 
    
    [root@test01 man1]# /usr/local/htop/bin/htop 
    
    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 想到与得到中间还有两个字——做到。
  • 相关阅读:
    Java安装以及环境变量配置
    IPython绘图和可视化---matplotlib
    Tensorboard可视化(关于TensorFlow不同版本引起的错误)
    Tensorboard可视化
    关于Tensorflow安装opencv和pygame
    perl将json转换成xml
    cnblogs终于把以前内容的管理权还给我了~
    final评论2
    final评论1
    psp
  • 原文地址:https://www.cnblogs.com/huoxc/p/12850949.html
Copyright © 2020-2023  润新知