学会yum,轻松你我她


一、Linux应用程序基础

1 .Linux源码包

实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的

2 .Linux二进制包

二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快(同 Windows下安装软件速度相当),且安装过程报错几率大大减小。

3 .源码包 VS RPM二进制包

源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为 Tarball。

(1) 源码包安装软件具有以下优点:

  • 开源。如果你有足够的能力,则可以修改源代码。
  • 可以自由选择所需的功能。
  • 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
  • 卸载方便
  • (2)源码包安装软件的缺点:

  • 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
  • 编译时间较长,所以安装时间比二进制安装要长。
  • 因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决
  • 二、应用程序与系统命令的关系

    角色系统命令应用程序
    文件位置一般在/bin和/sbin目录中,或为Shell内部指令通常在/usr/bin和/usr/sbin目录中
    主要用途完成对系统的基础管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
    适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
    运行格式一般包括命令字、命令选项和命令参数通常没有固定的执行格式

    三、典型应用程序的目录结构

    文件类型保存目录
    普通执行程序文件/usr/bin
    服务器执行程序文件和管理程序文件/usr/sbin
    应用程序配置文件/etc
    日志文件/var/log
    应用程序参考文档文件/usr/share/doc
    应用程序手册页文件/usr/local/share/man

    四、常见的软件包封装类型

    文件类型保存目录
    RPM软件包扩展名为 “.rpm”
    DEB软件包扩展名为 “.deb”
    源代码软件包一般为 “.tar.gz”、 “.tar.bz2” 等格式的压缩包 包含程序的原始代码
    绿色免安装的软件包软件包的扩展名不一,以TarBall格式的居多,在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用

    五、RPM包管理工具

    Red-Hat Package Manager ———— 由Red Hat公司提出,被众多Linux发行版所采用建立统一的数据库文件(一张对应表将信息写入)详细记录软件包安装、卸载等变化信息,自动分析软件包依赖关系 RPM软件包软件素材参考: www.rpm.org

    • RPM软件包,一般命名格式

    bash-4.1.2-15.el6_4.x86_64.rpm bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件

    六、RPM命令格式

  • RPM软件可以实现几乎所有的管理功能,新增,删除,更新等
  • 1 .查询选项

    选项功能效果
    rpm -qa显示当前系统中以 RPM 方式安装的所有软件列表
    rpm -q 软件名查询指定软件是否已安装
    rpm -qi 软件名查看指定软件包的名称、版本、许可协议、用途描述等详细信息
    rpm -ql 软件名显示指定的软件包在当前系统中安装的所有目录、文件列表
    rpm -qc 软件名列出已安装的指定软件的配置文件
    rpm -qd 软件名列出已安装的指定软件的软件包文档所在位置
    rpm -qR 软件名列出已安装的指定软件的依赖的软件包及文件
    rpm -qf 软件名查看指定的文件或目录是由哪个软件包所安装
    rpm-qpd查询未安装指定软件包的文档位置
    rpm -qpi查询未安装指定软件包的完整名称详细信息
    rpm -qpl查询未安装指定软件包的文件列表
    rpm -qpc查询未安装指定软件包的配置文件位置
  • 示例:
  • [root@localhost ~]# rpm -q httpd
    未安装软件包 httpd   ##查看httpd有没有安装
    
    [root@localhost ~]# rpm -qa|wc -l
    1375     ##查询通过rpm一共安装了1375个软件
    

    2 .挂载

    mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)

  • 挂载规则:
    1. 一个挂载点同一时间只能挂载一个设备
    2. 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
    3. 一个设备可以同时挂载到多个挂载点
    4. 通常挂载点一般是已存在空的目录
    [root@localhost ~]# mount /dev/sr0 /mnt
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost ~]# cd /mnt
    [root@localhost mnt]# ls
    CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7 
    RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
    

    3 .安装卸载升级

  • 基本格式:rpm [选项] rpm软件包
  • 选项作用
    -i安装一个新的RPM软件包
    -U升级某个软件包,若未安装过则进行安装
    -F升级某个软件包,若未安装过则直接结束
    -h在安装或升级过程中已#号显示读条
    -v显示安装过程的详细信息
    –force强制安装某个软件包
    -e 软件名卸载指定的软件
    –nodeps在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系

    七、编译安装

  • 软件版本比较新,新功能,修复bug
  • 可以自行定义配置文件的路径
  • 源码可能有100个功能,红帽认为你可能不需要会自行处理砍掉,自行定制50
  • 1 .程序包编译安装:

    源代码–>预处理–>编译–>汇编–>链接–>执行
    多文件:文件中的代码之间,很可能存在跨文件依赖关系

    虽然有很多开源软件将软件打成包,供人们使用,但并不是所有源代码都打成包,如果想使用开源软
    件,可能需要自已下载源码,进行编译安装。另外即使提供了包,但是生产中需要用于软件的某些特
    性,仍然需要自行编译安装。但是利用源代码编译安装是比较繁琐的,庆幸的是有相关的项目管理工具
    可以大大减少编译过程的复杂度

    [root@test1 /]# vim httpdinstall.sh
    mkdir /bianyi
    cd /bianyi/
    wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.48.tar.bz2
    tar xvf httpd-2.4.48.tar.bz2
    cd httpd-2.4.48/
    yum install apr* gcc* pcre* -y
    ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most --with-mpm=worker --disable-cgid --disable-cgi
    make
    make install
    systemctl stop firewalld.service
    /usr/local/apache/bin/apachectl start
    [root@test1 /]#chmod 755 httpdinstall.sh
    [root@test1 /]#./ httpdinstall.sh
    
    

    八、yum安装

    YUM(Yellow dog Updater,Modified)
    yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

    1 .配置yum本地仓库(yum本地源)

    [root@localhost ~]# mount /dev/sr0 /mnt
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir bak
    [root@localhost yum.repos.d]# mv *.repo bak
    [root@localhost yum.repos.d]# vim lyn.repo
    
    [local]
    name=local
    baseurl=file:///mnt
    gpgcheck=0
    yum clean all && yum makecache
    
    [root@localhost yum.repos.d]# yum clean all && yum makecache
    已加载插件:fastestmirror, langpacks
    正在清理软件源: local
    Cleaning up everything
    Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
    已加载插件:fastestmirror, langpacks
    local                                                                                                                                             | 3.6 kB  00:00:00     
    (1/4): local/group_gz                                                                                                                             | 156 kB  00:00:00     
    (2/4): local/filelists_db                                                                                                                         | 3.1 MB  00:00:00     
    (3/4):local/primary_db                                                                                                                           | 3.1 MB  00:00:00     
    (4/4): local/other_db                                                                                                                             | 1.2 MB  00:00:00     
    Determining fastest mirrors
    元数据缓存已建立
    

    2 .配置yum扩展仓库(epel源)

    [epel]                     ##扩展源——(需要网络支持)
    name=epel
    baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64                ##阿里
            https://mirrors.cloud.tencent.com/epel/$releasever/x86_64   	  ##腾讯          
            					 ##网址对齐!
            https://mirrors.huaweicloud.com/epel/$releasever/x86_64     	  ##华为
            https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64	  ##清华
    gpgcheck=0
    
    yum  clean all && yum makecache
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值