rpm 软 件包管 理

一、rpm介绍

rpm软件包名称:
软件名称 版本 (主版本、次版本、修订 ) 操作系统 —–90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本 :第一位主版本 ,第二位次版本 ,带横杠的是修订 , el几—操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;
======

#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系

rpm安装

语法 # rpm -ivh 软件包名称
-i install
-vh verbose human  详细显示
-U  upgrade  升级

查找rpm包的 站:http://rpmfind.net/  http://pkgs.org
1.通过rpm安装
可以先下载下来
[root@linux-server ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
#wget下载命令
#wget -O 指定存放路径  (-大写的O哦)
[root@linux-server ~]# rpm -ivh    ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #本地安装rpm包

2.直接通过连接安装rpm包
[root@linux-server ~]# rpm -ivh    http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm

可以下载 络地址比如说: wget -O  /var/www/html/index.html www.baidu.com 启动httpd 服务用自己的 络id 可以显示 下载的 页 页面

各种查询

==查询   
(从本地的rpm数据库)
-q query (查询)
-l list
-f file
-a all
[root@linux-server ~]# rpm -qa | grep 软件名    # 查找本机软件是否安装
[root@linux-server ~]# rpm -ql httpd (rpm包名)          #查询http安装的文件
[root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
[root@linux-server ~]# rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件

卸载

语法:# rpm -e 软件名称
-e erase
[root@linux-server ~]# rpm -e httpd

rpm工具管理软件包总结:
1. 很难解决包依赖关系 
2. 如果某个文件没有,很难知道它由哪个rpm包提供

二 yum方式管理

#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
分类:本地yum和远程yum
本地yum:
file://本地仓库的绝对路径
远程yum:
http:// 址
ftp://远程主机地址/该主机分享的目录

yum操作

安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源

清理yum缓存:
    # yum clean all

缓存软件包信息:    
    提高搜索/安装软件的速度
    # yum makecache

    
查询yum源信息:   
    # yum repolist     

        
查找软件:
    # yum search  mysql
  
    此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用

查看命令属于哪个软件
    # yum provides  ls    常用命令

查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
    # yum list    

安装软件:
    # yum install 软件名称

    # yum -y  install mysql mysql-server           //-y跳过确认提示直接安装

重装:
    # yum -y reinstall 软件名        
    
卸载软件:
    # yum erase  mysql-server 
    # yum remove mysql-server 
    # yum -y remove mysql-server

[root@linux-server ~]# yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉

更换 络yum源–aliyun

[root@linux-server ~]# cd /etc/yum.repos.d    yum源仓库配置文件
[root@linux-server yum.repos.d]# mkdir back  创建一个备份目录

[root@linux-server yum.repos.d]# mv*.repo back  移动到备份目录

[root@linux-server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #下载aliyun的yum源

参数解释
curl -o  指定存放路径  (小o) 自带浏览器,有下载功能
或者
wget -O  /etc/yum.repos.d/CentOS-Base.repo        http://mirrors.aliyun.com/repo/Centos-7.repo
安装扩展源–epel.repo
[root@linux-server ~]# wget -O   /etc/yum.repos.d/epel.repo    http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]# ls
CentOS-Base.repo  epel.repo

#yum -y install epel-release   使用前提必须是阿里源

制作本地yum源方式

首先需要挂载镜像

将本地镜像上传到虚拟机中

[root@linux-server ~]# mkdir /mnt/centos7u9   创建一个挂载目录

[root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso        /mnt/centos7u9/   挂载

[root@linux-server ~]# mv  /etc/yum.repos.d/*.repo    back   移动老的.repo源文件到back目录

[root@linux-server ~]# cd /etc/yum.repos.d/   #yum源配置文件存放目录
[root@linux-server yum.repos.d]# vim CentOS.Base.repo  #在编写yum配置文件是必须是.repo结尾

[centos7u9]     #yum源区别名称,用来区分其他的yum源    可以随意填写
name=centos7u9    #yum源描述   yum源名字  可以随意填写
baseurl=file:///mnt/centos7u9       #指定本地yum源的路径   
enabled=1     #是否使用此yum源(1为打开,0为关闭) 可以不填写
gpgcheck=0       #检查软件

2.通过开启yum下载缓存功能制作自己的yum源—-了解

find /范围/ -name “*.rpm”

制作自己的yum源:
打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)

# vim /etc/yum.conf  修改下面参数的值为1,软件会被保存到cachedir指定的目录下

cachedir=/xubiao
keepcache=1

gpgcheck=0

[root@linux-server ~]# yum install -y httpd wget  下载服务查看服务包是否缓存

[root@linux-server ~]# yum install -y createrepo  #创建repo文件工具

[root@linux-server ~]# createrepo /xubiao  //此目录就可以作为yum源了。制作yum仓库

[root@linux-server ~]# vim /etc/yum.repos.d/xubiao.repo
[xubiao]
name=xubiao
baseurl=file:///xubiao
enabled=1
gpgcheck=0
[root@linux-server ~]# yum repolist

如果想两台机器互联需要一下操作

[root@linux-server ~]# yum install -y vsftpd 

[root@linux-server ~]# systemctl start vsftpd

[root@linux-server ~]# cp -r /xubiao* /var/ftp/pub/

[root@linux-server ~]#createrepo /var/ftp/pub/

局域 远程yum源制作(企业案例)—-扩展作业

[root@192 ~]# ping 一下机器是否可以ping通
PING 192.168.246.169 (192.168.246.169) 56(84) bytes of data.
64 bytes from 192.168.246.169: icmp_seq=1 ttl=64 time=0.644 ms
[root@192 ~]# systemctl stop firewalld  关闭防火墙
[root@192 ~]# setenforce 0  #关闭selinux  关闭防火墙

[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]#  vim my.repo
[ftpYum]
name=centos
baseurl=ftp://192.168.246.170/pub
enabled=1
gpgcheck=0
[root@linux-server yum.repos.d]# yum clean all
[root@linux-server yum.repos.d]# yum makecache
[root@linux-server yum.repos.d]# yum repolist

yum排错:
1.yum配置文件必须以.repo结尾      
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程

三 源码包管理

1下载 2 配置 3编译 4安装 5(初始化)

一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。
源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。

源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。

获得源码包途径 官方 站,可以获得最新的软件包

mysql: MySQL

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

Nginx: www.nginx.org

安装源码包 
准备工作(去Nginx官 下载Nginx软件的源码包) 
1.编译环境如编译器gcc、make 
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel  #编译环境的准备

gcc是编译工具,编译单个文件
make工具可以看成是一个智能的批处理工具,通过调用makefile文件中用户指定的命令来进行编译和链接的。(将这种高级语言写的代码编译成二进制语言)
pcre支持正则表达式
zlib-devel,有些应用依赖于这个库才能正常运行,因此需要安装zlib-devel
openssl-devel 某些库文件等跟开发相关的东西。

2. 准备软件 nginx-1.16.0.tar.gz 
3. 部署安装Nginx软件服务

实战:                           tar解压, -C 指定解压路径                                                 
[root@linux-server ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@linux-server ~]# tar xzf nginx-1.16.1.tar.gz (安装文件)
[root@linux-server nginx-1.16.1]# ./configure –user=www –group=www –prefix=/usr/local/nginx  (代表配置,指定安装目录路径)
[root@linux-server nginx-1.16.1]# make  #编译文件
[root@linux-server nginx-1.16.1]# make install  #安装文件
[root@linux-server ~]# useradd www   #创建nginx用户
[root@linux-server ~]# /usr/local/nginx/sbin/nginx  #启动nginx
[root@linux-server ~]# systemctl stop firewalld  #关闭防火墙
因为启动 关闭路径太长,可以使用别名代替使用。如(alias nginxstart=/usr/local/nginx/sbin/nginx 启动别名)关闭别名同理

停止nginx
[root@linux-server nginx-1.16.1]# /usr/local/nginx/sbin/nginx -s stop

详解源码安装三步曲 
# ./configure   #相对路径执行安装   (代表配置)

 a. 指定安装路径,例如 –prefix=/usr/local/nginx     
 b. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求    最终生成:Makefile
 c. 软件模块或者功能的启用禁用

#make              //按Makefile文件编译,产生可执行的文件。但是这个文件在当前目录中  (代表编译)

#make install        //按Makefile定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝     (代表安装)

一、Mysql

mysql安装

关闭防火墙和selinux

1、编译安装mysql5.7

1、清理安装环境:

# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
# userdel -r mysql
# rm -rf /etc/my*
# rm -rf /var/lib/mysql

2、创建mysql用户

[root@mysql-server ~]# useradd -r mysql -M -s /bin/nologin
-M 不创建用户的家目录

3、从官 下载tar包  (老师给的用安装包可以直接上传使用)

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

4、安装编译工具

# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
cmake:
# yum -y install cmake

5、创建mysql目录

[root@mysql-server ~]# mkdir -p /usr/local/mysql/{data,log}

6、解压

[root@mysql-server ~]# tar  xzvf   mysql-boost-5.7.27.tar.gz   -C   /usr/local/

7、编译安装

cd 解压的mysql目录
[root@mysql-server ~]# cd /usr/local/mysql-5.7.27/
[root@mysql-server mysql-5.7.27]#
-DSYSCONFDIR=/etc
-DMYSQL_DATADIR=/usr/local/mysql/data
-DINSTALL_MANDIR=/usr/share/man
-DMYSQL_TCP_PORT cmake .
-DWITH_BOOST=boost/boost_1_59_0/
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql =3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DEXTRA_CHARSETS=all
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1

参数详解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql   安装目录
-DSYSCONFDIR=/etc   配置文件存放 (默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data   数据目录   错误日志文件也会在这个目录
-DINSTALL_MANDIR=/usr/share/man     帮助文档 
-DMYSQL_TCP_PORT=3306     默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock  sock文件位置,用来做 络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8    默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all   扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci  支持的
-DWITH_READLINE=1    上下翻历史命令
-DWITH_SSL=system    使用私钥和证书登陆(公钥)  可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1   嵌入式数据库
-DENABLED_LOCAL_INFILE=1    从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1  默认的存储引擎,支持外键

[root@mysql-server mysql-5.7.27]# make && make install
如果安装出错,想重新安装:
    不用重新解压,只需要删除安装目录中的缓存文件CMakeCache.txt

需要很长时间!大约半小时

8、初始化

[root@mysql-server mysql-5.7.27]# cd /usr/local/mysql
[root@mysql-server mysql]# chown -R mysql.mysql .
[root@mysql-server mysql]# ./bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data     —初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码 

初始化,只需要初始化一次

[root@mysql-server ~]# vim /etc/my.cnf    —如果打开文件有内容将文件中所有内容注释掉,在添加如下内容
[mysqld]
basedir=/usr/local/mysql     #指定安装目录
datadir=/usr/local/mysql/data  #指定数据存放目录

9、启动mysql

[root@mysql-server ~]# cd /usr/local/mysql
[root@mysql-server mysql]# ./bin/mysqld_safe –user=mysql &

启动之后再按一下回车!即可后台运行

10、登录mysql

[root@mysql-server mysql]# /usr/local/mysql/bin/mysql -uroot -p’GP9TKGgY9i/8′
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.7.27

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql> exit

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树k8s包管理(helm)安装helm8577 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月12日
下一篇 2022年6月12日

相关推荐