纪录学习云盘算第十二天

打印 上一主题 下一主题

主题 817|帖子 817|积分 2451

软件包管理

一、rpm先容

  1. rpm软件包名称:
  2. 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
  3. #有依赖关系,不能自动解决依赖关系。
  4. 举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
  5. 数字前面的是名称
  6. 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
  7. noarch : 32位64位都支持
  8. x86_64 :  64位
  9. i4-686的包 :32位
  10. devel:表示这个RPM包是软件的开发包;
  11. ======
  12. #用rpm安装需要考虑如下信息:
  13. 1.需要考虑系统的版本需要与rpm对应
  14. 2.系统的架构:如32位还是64位
  15. 3.需要考虑依赖关系
复制代码
rpm安装

  1. 语法 # rpm -ivh 软件包名称
  2. -i install
  3. -vh verbose human
  4. -U  upgrade  升级
  5. 查找rpm包的网站:http://rpmfind.net/  http://pkgs.org
  6. 1.通过rpm安装
  7. 可以先下载下来
  8. [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
  9. #wget下载命令
  10. #wget -O 指定存放路径
  11. [root@linux-server ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #本地安装rpm包
  12. 2.直接通过连接安装rpm包
  13. [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
复制代码
各种查询

  1. ==查询  
  2. (从本地的rpm数据库)
  3. -q query
  4. -l list
  5. -f file
  6. -a all
  7. [root@linux-server ~]# rpm -qa | grep 软件名    # 查找软件是否安装
  8. [root@linux-server ~]# rpm -ql httpd           #查询http安装的文件
  9. [root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
  10. [root@linux-server ~]# rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件
复制代码
卸载


  1. 语法:# rpm -e 软件名称
  2. -e erase
  3. [root@linux-server ~]# rpm -e httpd
复制代码
  1. rpm工具管理软件包总结:
  2. 1. 很难解决包依赖关系
  3. 2. 如果某个文件没有,很难知道它由哪个rpm包提供
复制代码
二 yum方式管理

  1. #可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
  2. 分类:本地yum和远程yum
  3. 本地yum:
  4. file://
  5. 远程yum:
  6. http://
  7. ftp://
复制代码
yum操纵

  1. 安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源
  2. 清理yum缓存:
  3.     # yum clean all
  4. 缓存软件包信息:    
  5.    提高搜索/安装软件的速度
  6.    # yum makecache
  7.    
  8. 查询yum源信息:  
  9.    # yum repolist    
  10.        
  11. 查看命令属于哪个软件
  12.    # yum provides rz    
  13. 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
  14.     # yum list  
  15. 安装软件:
  16.     # yum install 软件名称
  17.     # yum install mysql mysql-server -y         #-y跳过确认提示直接安装
  18. 重装:
  19.    # yum -y reinstall 软件名        
  20.    
  21. 卸载软件:
  22.     # yum erase  mysql-server
  23.     # yum remove mysql-server
  24.     # yum -y remove mysql-server
  25. [root@linux-server ~]# yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉
复制代码
更换网络yum源--aliyun

  1. https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM  --阿里yum源地址
复制代码
  1. [root@linux-server ~]# cd /etc/yum.repos.d
  2. [root@linux-server yum.repos.d]# mkdir back
  3. [root@linux-server yum.repos.d]# mv *.repo back
  4. [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源
  5. 参数解释
  6. curl -o  指定存放路径
  7. 或者
  8. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  9. 安装扩展源--epel.repo
  10. [root@linux-server ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  11. [root@linux-server ~]# cd /etc/yum.repos.d/
  12. [root@linux-server yum.repos.d]# ls
  13. CentOS-Base.repo  epel.repo
复制代码
三 源码包管理

  1. 一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。
  2. 源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。
复制代码
  1. 源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。
复制代码
获得源码包途径 官方网站,可以获得最新的软件包
mysql: MySQL
  1. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
复制代码


一、Mysql

mysql安装

关闭防火墙和selinux
1、编译安装mysql5.7

1、清理安装环境:

  1. # systemctl stop mariadb mysqld
  2. # yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
  3. # userdel -r mysql
  4. # rm -rf /etc/my*
  5. # rm -rf /var/lib/mysql
复制代码
2、创建mysql用户

  1. [root@mysql-server ~]# useradd -r mysql -M -s /bin/nologin
  2. -M 不创建用户的家目录
复制代码
3、从官网下载tar包

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz
4、安装编译工具

  1. # 请确保yum源可以用 [base|epel]
  2. # yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
复制代码
5、创建mysql目录

  1. [root@mysql-server ~]# mkdir -p /usr/local/{data,mysql,log}
复制代码
6、解压

  1. [root@mysql-server ~]# tar xzvf mysql-boost-5.7.27.tar.gz
复制代码
7、编译安装

  1. cd 解压的mysql目录
  2. [root@mysql-server ~]# cd mysql-5.7.27/
  3. [root@mysql-server mysql-5.7.27]# cmake . \
  4. -DWITH_BOOST=boost/boost_1_59_0/ \
  5. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  6. -DSYSCONFDIR=/etc \
  7. -DMYSQL_DATADIR=/usr/local/data \
  8. -DINSTALL_MANDIR=/usr/share/man \
  9. -DMYSQL_TCP_PORT=3306 \
  10. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
  11. -DDEFAULT_CHARSET=utf8 \
  12. -DEXTRA_CHARSETS=all \
  13. -DDEFAULT_COLLATION=utf8_general_ci \
  14. -DWITH_READLINE=1 \
  15. -DWITH_SSL=system \
  16. -DWITH_EMBEDDED_SERVER=1 \
  17. -DENABLED_LOCAL_INFILE=1 \
  18. -DWITH_INNOBASE_STORAGE_ENGINE=1
  19. 参数详解:
  20. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   安装目录
  21. -DSYSCONFDIR=/etc \   配置文件存放 (默认可以不安装配置文件)
  22. -DMYSQL_DATADIR=/usr/local/data \   数据目录   错误日志文件也会在这个目录
  23. -DINSTALL_MANDIR=/usr/share/man \     帮助文档
  24. -DMYSQL_TCP_PORT=3306 \     默认端口
  25. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \  sock文件位置,用来做网络通信的,客户端连接服务器的时候用
  26. -DDEFAULT_CHARSET=utf8 \    默认字符集。字符集的支持,可以调
  27. -DEXTRA_CHARSETS=all \   扩展的字符集支持所有的
  28. -DDEFAULT_COLLATION=utf8_general_ci \  支持的
  29. -DWITH_READLINE=1 \    上下翻历史命令
  30. -DWITH_SSL=system \    使用私钥和证书登陆(公钥)  可以加密。 适用与长连接。坏处:速度慢
  31. -DWITH_EMBEDDED_SERVER=1 \   嵌入式数据库
  32. -DENABLED_LOCAL_INFILE=1 \    从本地倒入数据,不是备份和恢复。
  33. -DWITH_INNOBASE_STORAGE_ENGINE=1  默认的存储引擎,支持外键
复制代码


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


**需要很长时间!**大约半小时
8、初始化

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


初始化,只需要初始化一次
  1. [root@mysql-server ~]# vim /etc/my.cnf    ---如果打开文件有内容将文件中所有内容注释掉,在添加如下内容
  2. [mysqld]
  3. basedir=/usr/local/mysql     #指定安装目录
  4. datadir=/usr/local/data  #指定数据存放目录
复制代码


9、启动mysql

  1. [root@mysql-server ~]# cd /usr/local/mysql
  2. [root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql &
  3. 启动之后再按一下回车!即可后台运行
复制代码


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



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表