软件包管理
一、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 指定存放路径
- [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
复制代码 各种查询
- ==查询
- (从本地的rpm数据库)
- -q query
- -l list
- -f file
- -a all
- [root@linux-server ~]# rpm -qa | grep 软件名 # 查找软件是否安装
- [root@linux-server ~]# rpm -ql httpd #查询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 provides rz
-
- 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
- # yum list
-
- 安装软件:
- # yum install 软件名称
- # yum install mysql mysql-server -y #-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
- https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM --阿里yum源地址
复制代码- [root@linux-server ~]# cd /etc/yum.repos.d
- [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 指定存放路径
- 或者
- 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
复制代码 三 源码包管理
- 一个软件要在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
复制代码
一、Mysql
mysql安装
关闭防火墙和selinux
1、编译安装mysql5.7
1、清理安装环境:
- # systemctl stop mariadb mysqld
- # 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源可以用 [base|epel]
- # yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
复制代码 5、创建mysql目录
- [root@mysql-server ~]# mkdir -p /usr/local/{data,mysql,log}
复制代码 6、解压
- [root@mysql-server ~]# tar xzvf mysql-boost-5.7.27.tar.gz
复制代码 7、编译安装
- cd 解压的mysql目录
- [root@mysql-server ~]# cd mysql-5.7.27/
- [root@mysql-server mysql-5.7.27]# cmake . \
- -DWITH_BOOST=boost/boost_1_59_0/ \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DSYSCONFDIR=/etc \
- -DMYSQL_DATADIR=/usr/local/data \
- -DINSTALL_MANDIR=/usr/share/man \
- -DMYSQL_TCP_PORT=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/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/data ---初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码
复制代码
初始化,只需要初始化一次
- [root@mysql-server ~]# vim /etc/my.cnf ---如果打开文件有内容将文件中所有内容注释掉,在添加如下内容
- [mysqld]
- basedir=/usr/local/mysql #指定安装目录
- datadir=/usr/local/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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |