zoukankan      html  css  js  c++  java
  • Linux Sever简单笔记(第五堂课)之linux的应用程序管理及yum源配置文件配置

    5章 linux下的应用程序管理

    Linux应用程序基础

    1.掌握Linux下的常见软件形式 

    2.rpm包的管理 

    3.掌握YUM的应用和管理 

    4.源码包的管理

    应用程序与系统命令的关系

    ⚫ 文件位置

    ◆ 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令

    ◆ 应用程序:通常在/usr/bin和/usr/sbin目录中

    ⚫ 主要用途

    ◆ 系统命令:完成对系统的基本管理工作,例如IP配置工具

    ◆ 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

    ⚫ 适用环境

    ◆ 系统命令:一般只在字符操作界面中运行

    ◆ 应用程序:根据实际需要,有些程序可在图形界面中运行

    ⚫ 运行格式

    ◆ 系统命令:一般包括命令字、命令选项和命令参数

    ◆ 应用程序:通常没有固定的执行格式

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

    软件包的封装类型

    常见的软件包封装类型

    拓展:Rpm.软件包  扩展名为:.rpm

    RPM包管理机制 

     RPM Package Manager 

    ⚫ 由Red Hat公司提出,被众多Linux发行版所采用

    ⚫ 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系 

    RPM软件包

    ⚫ 软件素材参考:http://rpmfind.net

    ⚫ 一般命名格式:

    拓展:

    rpm能分析依赖关系,不能解决依赖关系

    yum:能自动解决依赖关系(管理rpmrpm的升级)

    rpm软件是依赖与cpu结构的,常见的的格式有

    Rpm软件包管理命令—rpm

    主要功能:

    ⚫ 1. 查询RPM软件、包文件的相关信息

    ⚫ 2. 安装、卸载RPM软件包

    查询已安装的RPM软件信息

    ⚫ 格式:rpm -q[子选项] [软件名]

    ⚫ 用法:结合不同的子选项 完成不同查询

    ◆ -qa:查看系统中已安装的所有RPM软件包列表

    ◆ -qi:查看指定软件的详细信息

    ◆ -ql:查询指定软件包所安装的目录、文件列表

    ◆ -qc:仅显示指定软件包安装的配置文件

    ◆ -qd:仅显示指定软件包安装的文档文件 

    查询文件/目录属于哪个RPM软件

    ⚫ 格式:rpm -qf 文件或目录名

    查询rpm软件信息

    例如:

    1.查询所有软件包的安装 rpm -qa httpd

    2.查询与某相关的可以进行筛选 rpm -qa | grep bash

    3.rpm -q httpd(安装后查询)

    4.rpm -qc httpd (查询安装的配置文件)

    5.查询安装的文档  rpm -qd httpd

    6.查询文件属于哪个文件或目录 rpm -qf 

    7.查询通过什么路径安装的软件包

    查询未安装的RPM包文件

    ⚫ 格式:rpm -qp[子选项] RPM包文件

    ⚫ 用法:结合不同的子选项 完成不同查询

    ◆ -qpi:通过.rpm包文件查看该软件的详细信息

    ◆ -qpl:查看.rpm安装包内所包含的目录、文件列表

    ◆ -qpc:查看.rpm安装包内包含的配置文件列表

    ◆ -qpd:查看.rpm安装包内包含的文档文件列表

    例如:

    首先将eth的第一个和lynx第一个拷到home中

    1.查软件包的相关信息

    2.查软件包的目录列表

    3.查询

    4.查询

    安装、升级、卸载RPM软件包

    安装或升级RPM软件

    ⚫ 格式:rpm [选项] RPM包文件...

    ⚫ 用法:不同选项适用于不同情况

    ◆ -i:安装一个新的rpm软件包

    ◆ -h:以“#”号显示安装的进度

    ◆ -v:显示安装过程中的详细信息 

    卸载指定的RPM软件

    ⚫ 格式:rpm -e 软件名

    辅助选项

    ⚫ --force:强制安装所指定的rpm软件包

    ⚫ --nodeps:安装、升级或卸载软件时,忽略依赖关系

    例如:

    rpm  -ivh安装

    rpm -e 软件名 

    1.首先:

    查看是否有此安装包

    2.安装软件包

    3.卸载软件包

    4.查看一下

    维护rpm数据库

    重建rpm数据库

    [root@localhost ~]# rpm --rebuilddb

    [root@localhost ~]# rpm --initdb

    导入验证公钥

    [root@localhost~]#rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release

    例子:导入数字签名

    解决软件包依赖关系 

    安装有依赖关系的多个软件时

    ⚫ 被依赖的软件包需要先安装

    ⚫ 可同时指定多个 .rpm 包文件进行安装 

    卸载有依赖关系的多个软件时

    ⚫ 依赖其他程序的软件包需要先卸载

    ⚫ 可同时指定多个软件名进行卸载  忽略依赖关系

    ⚫ 结合“--nodeps”选项,但可能导致软件异常

    例如:

    首先将vim-common和vim-enhance拷贝到home下

    1.查看是否安装 vim-commom

                                   -enhanced

    2.卸载-common

    3.先卸载—enhanced

    4.再卸载—common

    5.安装(发现不可以安装)

    6.按照依赖关系顺序安装

       先安装

    7.再安装

    在图形界面中管理RPM包

    图形界面中的“添加/删除软件”

    ⚫ 依赖于YUM(Yellow dog Updater,Modified)机制

    ⚫ 调用yum命令工具进行软件更新 

    使用“添加/删除软件”工具的条件 

    ⚫ 能够访问互联网中的YUM源服务器

    ◆ 若使用默认源,需有合法的安装序列号和服务订阅号

    ⚫ 在局域网内构建本地的YUM源服务器

    Yum管理rpm包

    YUM

    ⚫ (Yellow dog Updater,Modified,修订版的黄狗升级器)

    ⚫ 是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

    ⚫ 能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所 有依赖的软件包,无须繁琐地一次次下载、安装。

    Yum管理

    Yum常用选项

    ⚫ 安装软件(以foo-x.x.x.rpm为例):yum install foo-x.x.x.rpm

    ⚫ 删除软件:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm

    ⚫ 升级软件:yum upgrade foo或者yum update foo

    ⚫ 查询信息:yum info foo

    ⚫ 搜索软件(以包含foo字段为例):yum search foo

    ⚫ 显示软件包依赖关系:yum deplist foo

    例子:

    1.yum install -y foomatic(安装footmatic)

    2.升级

    3.查看信息

    4.搜索软件

    5.显示依赖关系

    6.删除

    拓展:

    yum upgrade 升级命令会保留原来版本的文件(内核不会升级)

    yum update升级会删除原来版本的文件(内核会升级)

    Yum管理

    更改国内的源

    ⚫ 阿里云的源

    ◆ http://mirrors.aliyun.com/repo/Centos-7.repo

    网易的源

    ◆ http://mirrors.163.com/.help/CentOS7-Base-163.repo 

    下载repo文件(例子)

    [root@centos7~]#wget http://mirrors.aliyun.com/repo/Centos-7.repo

    [root@centos7~]#wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo

    例如:

    1.下载云端repo文件

    进入阿里云

    2.将新的阿里云文件拖入,将Base-脱出到oldrepo中

    3.更新 缓存

     

    4.检查可用的安装包

    yum repolist enable

    搭建本地的yum源服务器

    1.备份默认的yum repo文件

    [root@centos7 ~]# cd /etc/yum.repos.d/

    [root@centos7 yum.repos.d]# ls

    CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo

    [root@centos7 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

    2.自定义repo文件

    [root@centos7 yum.repos.d]# vi CentOS7.repo

    1 [localdvd] 2 name=local dvd yum

    3 baseurl=file:///media/cdrom //注意将光盘镜像挂载到该目录

    4 enable=1

    5 gpgcheck=1

    6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    3.重新建立yum缓存

    [root@centos7 yum.repos.d]# yum makecache clean

    已加载插件:fastestmirror, langpacks

    localdvd | 3.6 kB 00:00:00

    (1/4): localdvd/group_gz | 155 kB 00:00:00

    (2/4): localdvd/primary_db | 3.0 MB 00:00:00

    (3/4): localdvd/filelists_db | 3.0 MB 00:00:00

    (4/4): localdvd/other_db | 1.3 MB 00:00:00

    Loading mirror speeds from cached hostfile

    元数据缓存已建立

    自己手动操作

    步骤:

    1.首先:

    挂载镜像文件

    mkdir / media/cdrom

    mount /dev/sr0 /media/cdrom

    vim /etc/fstab(永久封装挂载)

    2.然后添加

    dev/sr0    meida/ cdrom/    iso9660 defaults  0 0  

    3.之后:

    cd  /etc/repos.d/

    Ls

    Mv CentOS-Base.repo CentOS-Base.repo.bak

    Vi Centos7. repo

    1 [localdvd]

    2 name=local dvd yum

    3 baseurl=file:///media/cdrom //注意将光盘镜像挂载到该目录

    4 enable=1

    5 gpgcheck=1

    6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    4.然后

    yum makecahe clean

    yum rpolist all

    成功!!

    源码安装应用程序

    源代码编译概述

    使用源代码安装软件的优点

    ⚫ 获得最新的软件版本,及时修复bug

    ⚫ 根据用户需要,灵活定制软件功能 

    应用场合举例

    ⚫ 安装较新版本的应用程序时

    ◆ 自由软件的最新版本大都以源码的形式最先发布

    ⚫ 当前安装的程序无法满足需要时

    ◆ 编译安装可由用户自行修改、定制功能

    ⚫ 需要为应用程序添加新的功能时

    ◆ 用户可以重新配置、自由修改源代码,加入新的功能

    源代码编译概述

    Tarball 封包:

    ⚫ .tar.gz .tar.bz2 格式居多

    软件素材参考:http://sourceforge.net 

    完整性校验

    ⚫ md5sum校验工具

    计算MD5校验和,并与官方提供的值相比较,判断是否一致

    [root@localhost ~]# md5sum axel-1.0a.tar.gz 2d94c0b36b374834567f1fcec5f89119 axel-1.0a.tar.gz

    (MD5校验和

    确认源代码编译环境

    ⚫ 需安装支持 C/C++程序语言的编译器,如:

    ◆ gcc-4.4.7-4.el6gcc-c++-4.4.7-4.el6

    ◆ make-3.81-20.el6.……

    [root@localhost html]# gcc --version

    gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.-4)

    Copyright (C) 2010 Free Software Foundation, Inc.

    [root@localhost html]# make --version

    GNU Make 3.81

    Copyright (C) 2006 Free Software Foundation, Inc.

    This is free software; see the source for copying conditions.

    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    This program built for x86_64-redhat-linux-gnu ……

    源码编译安装的基本过程

    解包 —— tar

    ⚫ 解包、释放出源代码文件 

    配置 —— ./configure

    ⚫ 针对当前系统、软件环境,配置好安装参数 

    编译 —— make

    ⚫ 将源代码文件变为二进制的可执行程序 

    安装 —— make install

    ⚫ 将编译好的程序文件复制到系统中 测试及应用、维护软件

    编译安装基本过程 

    步骤1. 解包

    ⚫ 习惯上将软件包释放到 /usr/src/ 目录

    ⚫ 解包后的源代码文件位置:

    ◆ /usr/src/软件名-版本号/

    [root@localhost ~]# tar zxf httpd-2.2.15.tar.gz -C /usr/src/(解压源代码包并且指定释放目录)

    [root@localhost ~]# ls /usr/src/ 

    Debug httpd-2.2.15 kernels

    编译安装基本过程 

    步骤2. 配置

    ⚫ 使用源码目录中的 configure 脚本

    ⚫ 执行“./configure --help” 可以查看帮助

    ⚫ 典型的配置选项:

    ◆ --prefix=软件安装目录

    [root@localhost ~]# cd /usr/src/httpd-2.2.15/ (切换到源码所在目录)

    [root@localhost httpd-2.2.15]#./configure --prefix=/usr/local/apache

    (若不指定任何配置选项,将采用默认值)

    编译安装基本过程 

    步骤3. 编译

    ⚫ 执行 make 命令 

    步骤4. 安装

    ⚫执行 make install 命令

    [root@localhost httpd-2.2.15]# make

    [root@localhost httpd-2.2.15]# make install

    编译安装基本过程 

    使用前

    ⚫ 修改配置文件

    [root@localhost httpd-2.2.15]# vim /usr/local/apache/conf/httpd.conf

    启动Apache

    [root@localhost httpd-2.2.15]# /usr/local/apache/bin/apachectl start 

    运行 lynx 127.0.0.1查看本机Apache运行状态

    例如:手动安装过程

    首先拷贝源码包

    进行查看

    解压

    比对校验

    配置安装

    进入压缩包执行

    进行配置选项

    继续加入配置选项(强制换行符)支持动态模块

    再加入配置选项(强制换行强制换行)

    将源码包文件转换成二进制文件(执行前面执行后面,并且前面的成功之后执行后面)

    验证

    Echo  “IT work >/usr/local/httpd/(创建html)

     

    启动服务

     

    客户端验证

    1.主机关闭防火墙

     

    ..........disabled禁止开机启动

    客户端验证成功!!!

  • 相关阅读:
    不错的电影(先收藏着)
    getchar() getch() getche() gets() puts() scanf()的用法及区别
    java反射获取字段的属性值,以及为字段赋值等方法
    oracle将查询结果横转纵
    关于MySQL 的LEFT JOIN ON的问题
    MySQL表名和数据库关键字相同解决办法
    ajax 后台正常执行 错误类型却是404
    BIT 树状数组 详解 及 例题
    HDU 2689 Sort it (树状数组)
    HDU Cow Sorting (树状数组)
  • 原文地址:https://www.cnblogs.com/yxd1308243944/p/13865297.html
Copyright © 2011-2022 走看看