linux基础(day22)

时间:2022-04-27
本文章向大家介绍linux基础(day22),主要内容包括7.6 yum更换国内源、7.7 yum下载rpm包、yum下载rpm包目录概要、7.8/7.9 源码包安装、扩展、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

7.6 yum更换国内源

更换yum国内源

更换国内yum源

  • 1.首先切换到该目录下,并cp复制之前备份的文件
[root@hf-01 ~]# cd /etc/yum.repos.d        切换到该目录下(之前搭建本地yum仓库)
[root@hf-01 yum.repos.d]# ls
dvd.repo
[root@hf-01 yum.repos.d]# rm -f dvd.repo
[root@hf-01 yum.repos.d]# cp ../yum.repos.d.bak/* .        把之前的文件恢复到该目录下
[root@hf-01 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-Vault.repo
  • 2.删除其中的一个文件
[root@hf-01 yum.repos.d]# rm -f CentOS-Base.repo
  • 3.在到网上下载repo的文件,使用 wget 或 curl -O 命令去下载
[root@hf-01 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
--2017-11-14 07:04:35--  http://mirrors.163.com/.help/CentOS7-Base-163.repo
正在解析主机 mirrors.163.com (mirrors.163.com)... 123.58.190.236, 123.58.190.234, 123.58.190.228, ...
正在连接 mirrors.163.com (mirrors.163.com)|123.58.190.236|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1572 (1.5K) [application/octet-stream]
正在保存至: “CentOS7-Base-163.repo”

100%[==============================================>] 1,572       --.-K/s 用时 0s      

2017-11-14 07:04:40 (79.8 MB/s) - 已保存 “CentOS7-Base-163.repo” [1572/1572])
  • 4.这时会看到repo文件重新出现,并可以查看到和之前删除的repo文件一样——>带有163数字的
[root@hf-01 yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@hf-01 yum.repos.d]# vim CentOS7-Base-163.repo

    在里面可以看到下载的地址、变量、平台等信息。
  • 5.yum list查看包
[root@hf-01 yum.repos.d]# yum list
当然可以下载包作为尝试
  • 6.若是将下载的CentOS7-Base-163.repo文件mv更改名称,则会无法使用,去下载任何的包

7.7 yum下载rpm包

安装扩展源epel目录概要

  • yum install -y epel-release //安装扩展源
  • yum list |grep epel //过滤出epel包

yum下载rpm包目录概要

  • yum install -y 包名 --downloadonly //仅仅下载,而不安装
  • ls /var/cache/yum/x86_64/7/ //rpm包下载的位置
  • yum install -y 包名 --downloadonly --downloaddir=路径 //
  • yum reinstall -y 包名 --downloadonly --downloaddir=路径 //

安装扩展源epel

  • 163基础源base,但很多时候需要使用其他的rpm包,就需要到 epel-release 中下载
  • yum install -y epel-release //安装扩展源
[root@hf-01 yum.repos.d]# yum install -y epel-release
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-9 将被 安装
--> 解决依赖关系完成

依赖关系解决

========================================================================================
 Package                  架构               版本              源                  大小
========================================================================================
正在安装:
 epel-release             noarch             7-9               extras              14 k

事务概要
========================================================================================
安装  1 软件包

总下载量:14 k
安装大小:24 k
Downloading packages:
epel-release-7-9.noarch.rpm                                      |  14 kB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-9.noarch                                             1/1 
  验证中      : epel-release-7-9.noarch                                             1/1 

已安装:
  epel-release.noarch 0:7-9                                                             

完毕!
[root@hf-01 yum.repos.d]# ls        //可以查看到安装好了epel两个文件
CentOS7-Base-163.repo  CentOS-Sources.repo  epel.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo    epel-testing.repo

也可以cat去查看eprl.repo文件(安装的两个文件,它是最重要的)
  • yum list //查看包
    • 在使用yum list 查看包后,若想更精准的查看epel包
      • 则可以使用 yum list |grep epel (若不先yum list 查看下包,直接使用yum list |grep epel 有可能查看不了,个人猜测有可能是网络原因或者是需要下载epel包后,才能过滤出包)

yum下载rpm包
  1. yum install -y 包名 --downloadonly //仅仅下载,而不安装
  • --downloadonly属于yum的一个插件
  • 在使用的时候,先确认下载的rpm包是否安装
    • 若已经安装过,则会提示rpm包已安装过 rpm -q 包名 //查看rpm包是否安装

[root@hf-01 yum.repos.d]#  yum install zsh --downloadonly
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================
 Package          架构                版本                      源                 大小
========================================================================================
正在安装:
 zsh              x86_64              5.0.2-28.el7              base              2.4 M
事务概要
========================================================================================
安装  1 软件包
总下载量:2.4 M
安装大小:5.6 M
Background downloading packages, then exiting:
zsh-5.0.2-28.el7.x86_64.rpm                                      | 2.4 MB  00:00:12     
exiting because "Download Only" specified
[root@hf-01 yum.repos.d]# rpm -q zsh        //这里会看到zsh包没有被安装
未安装软件包 zsh 
    1. ls /var/cache/yum/x86_64/7/ //查看rpm包下载的位置,可以看到rpm包
[root@hf-01 yum.repos.d]# ls /var/cache/yum/x86_64/7/
base  extras  timedhosts  timedhosts.txt  updates
    1. yum install -y 包名 --downloadonly --downloaddir=路径 //指定下载的路径,只下载不安装
[root@hf-01 yum.repos.d]# yum install zsh --downloadonly --downloaddir=/tmp/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

========================================================================================
 Package          架构                版本                      源                 大小
========================================================================================
正在安装:
 zsh              x86_64              5.0.2-28.el7              base              2.4 M

事务概要
========================================================================================
安装  1 软件包

总下载量:2.4 M
安装大小:5.6 M
Background downloading packages, then exiting:
exiting because "Download Only" specified
[root@hf-01 yum.repos.d]# ls /tmp/        //会看到下载的rpm包
12.txt     ha.txt.xz   yum_save_tx.2017-11-14.05-29.GjWBs1.yumtx
1.txt      hf          yum_save_tx.2017-11-14.08-07.s4pvRT.yumtx
2.txt.bz2  mysql.sock  yum_save_tx.2017-11-14.08-28.emmW1u.yumtx
d6z        vim.txt     zsh-5.0.2-28.el7.x86_64.rpm
    • 若是已经安装好的包,再去指定路径,则会提示该包已安装,不会有任何操作
      • 若就想指定路径安装,
        • 方法一:remove删除卸载掉,在安装——>这种操作有可能造成隐患
        • 方法二:yum reinstall 重新安装
    1. yum reinstall -y 包名 --downloadonly --downloaddir=路径 //重新安装,并指定路径
[root@hf-01 yum.repos.d]# yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-2.el7 将被 已重新安装
--> 解决依赖关系完成

依赖关系解决

========================================================================================
 Package                架构             版本                      源              大小
========================================================================================
重新安装:
 vim-enhanced           x86_64           2:7.4.160-2.el7           base           1.0 M

事务概要
========================================================================================
重新安装  1 软件包

总下载量:1.0 M
安装大小:2.2 M
Background downloading packages, then exiting:
vim-enhanced-7.4.160-2.el7.x86_64.rpm                            | 1.0 MB  00:00:08     
exiting because "Download Only" specified
[root@hf-01 yum.repos.d]# ls /tmp/
12.txt      vim-enhanced-7.4.160-2.el7.x86_64.rpm
1.txt       vim.txt
2.txt.bz2   yum_save_tx.2017-11-14.05-29.GjWBs1.yumtx
d6z         yum_save_tx.2017-11-14.08-07.s4pvRT.yumtx
ha.txt.xz   yum_save_tx.2017-11-14.08-28.emmW1u.yumtx
hf          yum_save_tx.2017-11-14.08-38.EUWHG5.yumtx
mysql.sock  zsh-5.0.2-28.el7.x86_64.rpm

7.8/7.9 源码包安装

源码包安装目录概要

源码包下载路径 /usr/local/src/ 统一规范!!!!

源码包安装

  • 1.切换到/usr/local/src/目录下
[root@hf-01 ~]# cd /usr/local/src/
[root@hf-01 src]# ls
[root@hf-01 src]# 
  • 2.下载Apache
[root@hf-01 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

地址来源于[阿铭码市](https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md)Apache下载
  • 3.下载完后查看,会看到是 .tat.gz的压缩包,并解压它
[root@hf-01 src]# ls
httpd-2.2.34.tar.gz
[root@hf-01 src]# tar -zxvf httpd-2.2.34.tar.gz
  • 4.在解压完成后,查看并进入到httpd-2.2.34目录下去,再去查看,会看到各种文件
[root@hf-01 src]# ls
httpd-2.2.34  httpd-2.2.34.tar.gz
[root@hf-01 src]# cd httpd-2.2.34
[root@hf-01 httpd-2.2.34]# ls
ABOUT_APACHE  CHANGES        httpd.dsp       libhttpd.dep  NOTICE            server
acinclude.m4  config.layout  httpd.mak       libhttpd.dsp  NWGNUmakefile     srclib
Apache.dsw    configure      httpd.spec      libhttpd.mak  os                support
build         configure.in   include         LICENSE       README            test
BuildAll.dsp  docs           INSTALL         Makefile.in   README.platforms  VERSIONING
BuildBin.dsp  emacs-style    InstallBin.dsp  Makefile.win  README-win32.txt
buildconf     httpd.dep      LAYOUT          modules       ROADMAP
[root@hf-01 httpd-2.2.34]# 

所有的源码包,都会有一些说明文档的 其中 README (介绍Apache的serve)和 INSTALL (安装文档)是经常会用到的

  • 5.指定安装路径
    • ./configure --prefix=/usr/local/apache2 (2 表示2的版本)
    • 在第一次安装的时候,可以用echo $? 查看是否安装正确,0表示安装正确(即上条命令执行成功)
    • 在安装的时候,若缺失什么命令,什么包就会停止安装,并告诉你缺失什么,你只需要安装即可
    • 一般有可能会缺少失gcc命令,需要去安装——>yum install -y gcc
  • ./configure就是在配置的过程,配置的过程会生成make file,make file就是用来编译的文件

小技巧:若是在运行一条命令,不知道是否正确,则可以echo $?查看 若是非零,表示上一条命令是错的

[root@hf-01 httpd-2.2.34]# echo $?
1
  • 6.make命令编译工具,这个过程会根据你的虚拟机配置,若区分多个cpu就很快
    • 并使用echo $?去检测下是否错误
  • 7.make install 它会把编译完成的二进制文件、配置文件目录放入到 prefix 指定的目录下
    • 并使用echo $?去检测下是否错误
  • 8.并去 /usr/local/apache2/ 查看生成的目录
[root@hf-01 httpd-2.2.34]# ls /usr/local/apache2/
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
[root@hf-01 httpd-2.2.34]# 

这就是源码编辑安装的包

  • 8.源码包安装的都是在一个目录下,那就是说卸载这个包只需要删除目录即可

下载源码包一定要去官方网站或者可信任的站点下载!!!

扩展