首页 > 其他分享 >运维基础

运维基础

时间:2023-12-29 09:34:22浏览次数:64  
标签:x86 运维 el6 基础 root 64 yum rpm

课程目标1

  • 了解Linux下常见的软件包分类

  • 掌握rpm如何获取

  • 掌握rpm包的安装

思考:

  • Linux软件包有哪些类型?

  • 如何获取rpm包?

  • 如何选择rpm包?

一、软件包的类型

  • 二进制包:已编译好,直接安装 xlockmore-5.31-2.el6.x86_64.rpm

  • 二进制源码包(半成品) : xxx.src.rpm --> rpm|tarball--->再安装

  • 源码包(tarball): xxx.tar.gz xxx.tar.xz xxx.tar.bz2

1. 常见二进制包
系统平台包类型工具在线安装
RedHat/Centos/Fedora/SUSE rpm rpm,rpmbuild yum
Ubuntu/Debian deb dpkg apt

注意:不管是源码包,还是二进制包,安装时都可能会有依赖关系!

2. 二进制包获取方式

2.1 RedHat/Centos光盘或官方网站 ftp://ftp.redhat.com

2.2 推荐网站

2.3 相应软件官方网站

3. 二进制包如何选择

3.1选择适合当前系统的版本号:

  • 找不到适合的,才去尝试别的系统版本号

  • el6兼容el5;el5无法安装 el6

3.2 选择适合cpu的架构:

  • x86_64包,只能安装在64位的系统上

  • i386,i586,i686的软件包可以安装在32和64位系统上

  • noarch表示这个软件包与硬件构架无关,可以通用

  • 32位系统不能安装64位包

建议: 建议不要跨大版本号去安装软件包,尽量使用当前版本自带软件包安装

4. 认识源码包
  • 优点:

  1. 可以在任意平台上编译安装,编译出来的软件包非常适应所在机器。

  2. 可以在编译的时候,通过配置,对某些功能进行定义,开启或关闭相应的功能。

  • 缺点:

    1. 安装麻烦

    2. 卸载麻烦

    3. 升级麻烦

  • 源码安装三部曲:

    • 根据需求配置:

      --prefix=... Directories to put files in /usr/local 软件家目录
      --bindir=... $prefix/bin 命令的目录
      --etcdir=... $prefix/etc 配置文件的目录
      --mandir=... $prefix/share/man man文档路径
      --locale=... $prefix/share/locale 语言编码

       

    • 编译:

      make (使用gcc编译器进行编译)
    • 安装:

    make install 类似 rpm -ivh

总结:

./configure
\
Makefile---make(gcc) ------ make install (rpm -ivh)

二、rpm包安装—rpm工具

前期环境准备:

1、windows共享文件夹给虚拟机

[root@MissHou Desktop]# df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/vg_misshou-lv_root   18G  4.2G   13G  26% /
tmpfs                           491M  228K  491M   1% /dev/shm
/dev/sda1                       485M   35M  426M   8% /boot
.host:/                         489G   26G  464G   6% /mnt/hgfs//共享成功
/dev/sr0                        4.2G  4.2G     0 100% /media/CentOS_6.5_Final

2、拷贝相应的软件到指定路径

[root@MissHou ~]# mkdir /soft
[root@MissHou ~]# ls /mnt/hgfs/
linux-soft
[root@MissHou ~]# cd /mnt/hgfs/linux-soft/
[root@MissHou linux-soft]# ls
audiofile-0.2.6-11.1.el6.x86_64.rpm                  tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
axel-1.0a.tar.gz                                     vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm                vsftpd-2.3.5-26.el6.x86_64.rpm
rsync                                                xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm
[root@MissHou linux-soft]# cp *.rpm /soft/
[root@MissHou linux-soft]# ls /soft/
audiofile-0.2.6-11.1.el6.x86_64.rpm                  vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm                vsftpd-2.3.5-26.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm  xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm

 

1. 语法格式:

rpm 参数 软件包名或文件名

2. 常见参数:

  • -ivh 安装

  • -e 卸载

  • -Uvh 升级 如果已安装老版本,则升级;如果没安装,则直接安装

  • -Fvh 升级 如果已安装老版本,则升级;如果没安装,则安装

  • -ivh --force 强制安装

  • --nodeps 忽略依赖关系

  • -ql 查看已经安装的软件的文件列表

  • -qlp package.rpm 查看未安装的rpm包里的文件列表

  • -qa 查看已经安装的所有rpm包

  • -qd 查看软件的文档列表

  • -qc 查看软件的配置文件

  • -qi 查看软件的详细信息

  • -qf filename 查看文件来自哪个rpm包

  • --import key_file 导入公钥用于检查rpm文件的签名

  • -checksig package.rpm 检查rpm包的签名

3. 红帽软件包特征:

一个软件可能有多个相关包组成

  • samba-3.5.10-125.el6.x86_64.rpm 服务端

  • samba-client-3.5.10-125.el6.x86_64.rpm 客户端

  • samba-common-3.5.10-125.el6.i686.rpm 32位公共包<工具|库文件>

  • samba-common-3.5.10-125.el6.x86_64.rpm 64位公共包<工具|库文件>

4. 案例:

示例1: 安装vnc客户端软件

[root@MissHou soft]# ls
audiofile-0.2.6-11.1.el6.x86_64.rpm                  vsftpd-2.3.5-26.el6.x86_64.rpm
esound-libs-0.2.41-3.1.el6.x86_64.rpm                xlockmore-5.29.1.tar.bz2
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm  xlockmore-5.31-2.el6.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm

检查软件包的签名:

[root@MissHou soft]# rpm --checksig tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51)          
//tigervnc-1.0版本是高仿的
[root@MissHou soft]# rpm --checksig tigervnc-1.1.0-5.el6_4.1.x86_64.rpm
tigervnc-1.1.0-5.el6_4.1.x86_64.rpm: rsa sha1 (md5) pgp md5 OK  
//tigervnc-1.1版本是正版的

安装和卸载软件:

[root@MissHou soft]# rpm -q tigervnc //查看软件是否安装
package tigervnc is not installed
[root@MissHou soft]# rpm -ivh tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm       //安装软件
warning: tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
  1:tigervnc               ########################################### [100%]
[root@MissHou soft]# rpm -q tigervnc
tigervnc-1.0.90-0.17.20110314svn4359.el6.x86_64
[root@MissHou soft]# rpm -e tigervnc //卸载

软件升级-Fvh和-Uvh区别:

[root@MissHou soft]# rpm -Fvh tigervnc-1.1.0-5.el6_4.1.x86_64.rpm  
//升级失败,原因是当前系统没有安装tigervnc
[root@MissHou soft]# rpm -q tigervnc
package tigervnc is not installed
[root@MissHou soft]# rpm -Uvh tigervnc-1.1.0-5.el6_4.1.x86_64.rpm    
//升级成功
Preparing...                ########################################### [100%]
  1:tigervnc               ########################################### [100%]  
[root@MissHou soft]# rpm -q tigervnc
tigervnc-1.1.0-5.el6_4.1.x86_64

查看软件文件列表: 说明:一般情况下软件包的文件列表大致分为几个部分:

  • 配置文件存放在/etc目录里

  • 二进制命令存放在/usr/bin和/usr/sbin目录里

  • 软件的文档手册存放在/usr/share/doc和/usr/share/man

  • 软件的数据目录存放在/var目录里

  • 其他

[root@MissHou ~]# rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron

示例2:

安装锁屏软件

[root@MissHou soft]# rpm -ivh xlockmore-5.31-2.el6.x86_64.rpm
warning: xlockmore-5.31-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
error: Failed dependencies:
libaudiofile.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64
libesd.so.0()(64bit) is needed by xlockmore-5.31-2.el6.x86_64

错误原因:软件包有依赖 解决办法:找到锁屏软件所依赖的软件包,安装上即可 思考: 如何根据报错信息libaudiofile.so.0()(64bit)和libesd.so.0()(64bit)知道缺少哪个软件包?

  1. 如果有配置yum的话可以使用yum工具

  2. 可以在网上搜索,如:http://rpm.pbone.net 使用yum工具:

[root@MissHou ~]# yum provides "libaudiofile.so.0()(64bit)"
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
1:audiofile-0.2.6-11.1.el6.x86_64 : A library for accessing various audio file formats
Repo        : local
Matched from:
Other       : libaudiofile.so.0()(64bit)



[root@MissHou ~]# yum provides "libesd.so.0()(64bit)"
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
1:esound-libs-0.2.41-3.1.el6.x86_64 : Library to talk to the EsounD daemon
Repo        : local
Matched from:
Other       : libesd.so.0()(64bit)

网上搜索: http://rpm.pbone.net 软件包搜索

三、yum配置及使用

课程目标2

  • 理解yum源如何解决依赖关系

  • 掌握本地和网络yum源的配置

  • 熟练使用yum工具安装软件包

1. yum源的介绍

  • 作用:软件包管理器,类似360软件管家

  • 示意图

    yum

  • 常见的软件源(yum源)

    • 红帽源 收费 • centos源 免费 • 阿里云源,163源,sohu源 • epel(Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.

  • yum源的分类

    • 本地yum源(重点掌握)

    • 网络yum源(掌握)

    • 自建yum源(了解)

2. yum源的配置

思路:

1.需要有个软件仓库并且里面存放了所有软件包的依赖关系

2.告诉yum工具去哪个仓库里找相关软件

2.1 本地yum源配置

步骤:

  1. 本地需要有一个镜像文件(xxx.iso)

  2. 通过挂载的方式将镜像文件挂载到本地一个的目录里

    [root@MissHou soft]# df -h
    Filesystem                      Size  Used Avail Use% Mounted on
    /dev/mapper/vg_misshou-lv_root   18G  4.2G   13G  26% /
    tmpfs                           491M  228K  491M   1% /dev/shm
    /dev/sda1                       485M   35M  426M   8% /boot
    .host:/                         489G   26G  463G   6% /mnt/hgfs
    /dev/sr0                        4.2G  4.2G     0 100% /media/CentOS_6.5_Final //挂载成功

     

  3. 告诉yum工具去哪个仓库里找相应的软件包(配置yum相关文件)

默认环境:
[root@MissHou soft]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo
清空环境:
[root@MissHou soft]# cd /etc/yum.repos.d/
[root@MissHou yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo
[root@MissHou yum.repos.d]# mkdir bakup
[root@MissHou yum.repos.d]# mv *.repo bakup/
[root@MissHou yum.repos.d]# ls
bakup

创建配置文件:
[root@MissHou yum.repos.d]# cat demo.repo
[local-yum]//仓库名(不要有特殊符号)
name=local yum//仓库描述
baseurl=file:///media/CentOS_6.5_Final//指定仓库的路径
enabled=1//启用仓库  1代表启用 0代表关闭
gpgcheck=0//不要检验软件包的数字签名

  1. 测试安装

[root@MissHou yum.repos.d]# yum clean all//清空yum缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: local-yum
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@MissHou yum.repos.d]# yum makecache//创建yum缓存
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
local-yum                                                                                         | 4.0 kB     00:00 ...
local-yum/group_gz                                                                               | 220 kB     00:00 ...
local-yum/filelists_db                                                                           | 5.8 MB     00:00 ...
local-yum/primary_db                                                                             | 4.4 MB     00:00 ...
local-yum/other_db                                                                               | 2.7 MB     00:00 ...
Metadata Cache Created

作业

  1. swap分区的大小如何确定?(参考redhat官当)

  2. bg和fg的用法

  3. 安装xlockmore锁屏软件(思路和解决的方法)

  4. 配置本地yum源

 

2.2 网络yum配置

http://mirrors.163.com/centos/6/os/x86_64/

https://mirrors.aliyun.com/centos/6/os/x86_64/

http://mirrors.sohu.com/centos/6/os/x86_64/

 

2.3 自建yum源

3. yum源配置实战

3.1 需求1:

系统使用最小化安装,现需要安装一些基础软件包,请根据系统镜像配置本地yum源

  • 步骤

    • ...

    •  

3.2 需求2:

Centos默认使用自带的国外源,由于网络问题请将其替换为国内的阿里云源,163源,sohu源其中之一

  • 步骤

    • ...

    •  

3.3 需求3:

通过两种方式搭建EPEL源

3.4 需求4:

搭建能够提供指定软件包的安装,如Nginx和MySQL的yum源

Nginx:
[root@MissHou ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1

MySQL:
http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

 

 

四、总结

 

补充扩展

  • wget命令:Linux下用来从下载文件的工具

  • 常用参数:

    -O, --output-document=file 将文档写入文件 (文件重命名保存)

    -o, --output-file=logfile 将下载日志信息保存到日志文件 -a, --append-output=logfile 将下载日志信息追加到指定日志文件(如果不存在就创建) -q, --quiet Turn off Wget’s output. 不输出下载过程 -c, --continue 断点续传, 重新启动下载中断的文件 -P, --directory-prefix=prefix 指定下载文件保存路径 -4, --inet4-only 仅连接至 IPv4 地址 -6, --inet6-only 仅连接至 IPv6 地址 --user=user 指定用户 --password=password 指定密码 -b, --background 后台运行,有日志输出wget-log -r, 递归下载 -nc, 文件存在时,下载文件不覆盖原有文件

    --mirror 镜像整个网站

     

  • 示例:

    • 使用wget下载单个文件

      wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

    • 使用wget -O下载并以不同的文件名保存

      wget -O test.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    • 指定下载文件保存位置

      wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo

    • 下载整个网站到本地

      wget –mirror -p –convert-links -P ./本地路径 URL

      -p:下载所有为了html页面显示正常的文件

      –convert-links:下载后,转换成本地的链接

    •  

 

 

 

 

 

标签:x86,运维,el6,基础,root,64,yum,rpm
From: https://www.cnblogs.com/wq-9/p/17934055.html

相关文章

  • Linux基础
    一、Linux的派系由于Linux内核开源的原因,因此市场上出现了很多Linux的发行版本,主要不同在于包管理方式等方面。二、系统目录结构/bin:命令和应用程序。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev是Device(设备)的......
  • 华为云CCE集群健康中心:一个有专家运维经验的云原生可观测平台
    本文分享自华为云社区《新一代云原生可观测平台之华为云CCE集群健康中心》,作者:云容器大未来。"Kubernetes运维确实复杂,这不仅需要深入理解各种概念、原理和最佳实践,还需要对集群的健康状态、资源利用率、容器的稳定性等多个方面进行风险评估。当集群出现故障时,我们通常需要花费大......
  • 学期:2023-2024-1 学号:20231426 《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计作业这个作业的目标通过教材内容了解文件,网络作业正文https://www.cnblogs.com/hhaxx/p/17933978.html教材学习内容总结《计算科学概论......
  • 2023-2024-1 20231307《计算机基础与程序设计》第十四周学习总结
    作业信息所属课程2023-2024-1-计算机基础与程序设计作业要求 第十四周作业(必学,选做)作业目标自学教材《C语言程序设计》第13章并完成实验作业正文https://www.cnblogs.com/lzt-/p/17933997.html教材学习内容总结13.1二进制文件和文本文件文本文件(也称ASCII......
  • python基础(二)-异常处理
    异常是指程序运行时引发的错误,引发错误的原因有很多,如语法错误、逻辑错误等,若这些错误没有进行处理,将会导致程序终止运行python标准异常异常名称描述BaseException所有异常的基类SystemExit解释器请求退出KeyboardInterrupt用户中断执行(通常是输入^C)Exception......
  • 电路分析基础笔记
    目录电路分析基础(第5版孙瀚荪)第一篇总论与电阻电路的分析第一章集总参数电路中电压、电流的约束关系\(\S\)1-1电路及集总电路模型\(\S\)1-2电路变量——电流、电压及功率\(\S\)1-3基尔霍夫定律\(\S\)1-4电阻元件\(\S\)1-5电压源\(\S\)1-6电流源\(\S\)1-7受控源......
  • 基础语法
    一些基础语法定义变量、常量、赋值、运算、if/switch/for语句//syntaxpackagemain//入口import"fmt"//引入包funcmain(){//main语言入口函数constLENGTHint=10//定义常量,常量不能被修改//常量中的数据类型只可以是布尔型、数字型(整数型、浮......
  • 学期2023-2024-1 20231310 《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标《C语言程序设计》第13章并完成云班课测试作业正文https://www.cnblogs.com/wang-hoNbang/p/17933629.html教......
  • 12.28数组遍历以及动态初始化,数组求最值,基础方法1
    fori用法:数组名.fori直接依次遍历数组中所有元素数组的动态初始化:定义没有元素的数组(静态初始化即已知元素)   方法调用:方法名(); ......
  • 学期2023-2024-1 20231401 《计算机基础与程序设计》第十四周学习总结
    学期2023-2024-120231401《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标《C语言程序设计》第13章并完成云班课测试......