Linux软件包安装
1.1rpm包管理
软件包管理器
1.1.1光盘挂载
光盘中带有很多软件包,光盘需要使用的话,要先挂载
1.确认光盘是连接状态2.mount /dev/cdrom /mnt cdrom就是光驱挂载完后,内容就到mnt中了。cd /mnt/Packages所有的软件包都放在 Packages 中基础包建议用光盘的(兼容性好),第三方通过网络源
1.1.2安装rpm包
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm普通安装,装了就不再安装
rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm更新安装,有会更新
缺点:
一个软件安装好后,分散到操作系统各个部分, 其中有文件损坏时,会卸载不干净
1.1.3卸载rpm
rpm -e vsftpd-3.0.2-22.el7.x86_64
1.1.4rpm包的查询
rpm -q vsftpd 查看是否安装
rpm -qa |grep vsf qa表示查询所有
which vim 查看命令具体路径
rpm -qf /bin/vim 查看命令来自于哪个软件包
1.1.5依赖关系
安装某软件时,会有依赖关系,比如安装A,一定要安装B
但是当互相依赖时,就很头疼
rpm -ivh a b c d e f 安装所有的软件, 版本得匹配!
1.2yum
解决了rpm互相依赖的问题,它会将所有依赖都装上,自动检测版本
默认是cenos的官方源
1.2.1使用aliyun yum源
Base源:基础源
EPEL源:扩展源
cd /etc/yum.repos.d/
1.将默认的官方源移到别的地方
mkdir test
mv *.repo test/
2.获取base源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
3.安装EPEL源
yum install -y epel-release
1.2.2使用yum安装软件
yum install -y openssl openssl-devel 加-y不提示
1.2.3软件包查询及组安装
yum list 安装未安装都列出来
yum list |grep python
yum grouplist 软件包组安装
yum groupinstall "Development Tools"
1.2.4卸载软件包
yum remove
1.2.5优化yum源
从本地光盘先下载
yum源的配置文件必须.repo结尾
1.本地镜像yum源(光盘挂载到/mnt下)—————-依赖光盘
1.先将原来的源 备份到别的地方
mkdir ali
mv *.repo ali
2.vim local.repo
[local]
name=localios
baseurl=file:///mnt 本地的file:// /mnt是路径
gpgcheck=0 软件包的校验关闭
3.yum clean all 清除缓存
2.局域网yum源(ftp)—————需要单独的服务器,yum源服务器
1.安装ftp软件
yum install -y vsftpd
2.启动ftp服务
systemctl start vsftpd
systemctl enable vsftpd 开机自启动
3.创建站点目录,并将光盘中所有软件拷贝到其中
mkdir /var/ftp/pub/centos7
cp -a /mnt/* /var/ftp/pub/centos7
4.生成ftp站点的yum源配置文件
cd /etc/yum.repos.d/
mv local.reps test/ 将本地的yum源挪走
vim ftp.repo 新建一个
[ftp]
name=centos7
baseurl=ftp://10.0.0.100/pub/centos7 后面跟路径
gpgcheck=0
5.安装软件测试
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel zlib zlib-devel -y
1.3源码包应用
1.3.1解压
unzip xxx.zip 需要先安装 yum install -y zip
tar xf xxx.tar
mount -o loop xxx.iso /test iso 必须先挂载才能使用
1.3.2源码包安装
注:python是用c和c+开发的,必须确认操作系统中有gcc
1.Python3.6源码包安装
yum install gcc* -y
yum install -y openssl* 访问https需要
1.解压上传的源码包
tar xf Python-3.6.1.tar.xz
2.进入目录
cd Python-3.6.1/
3.配置
./configure 检测系统环境是否满足安装,配置一些参数
源码包的好处是可以在这一步进行定制
会生成一个Makefile.pre文件
4.make 批量编译c的源码 生成二进制
5.make install 二进制的 该拷贝的拷贝,授权的授权
2.mysql源码包安装,不同于其他源码包安装 (了解)
cmake 不是./configure
make
make install
3.redis源码包安装
解压
make 即可
修改redis的环境变量
vim /etc/profile 系统主环境变量路径
最后一行加入
export PATH=/opt/redis-3.2.10/src:$PATH
生效配置
source /etc/profile
redis-server & 启动服务
4.python连接redis
unzip redis-py-master.zip
cd redis-py-master
python3 setup.py install
测试是否连接上
python3
>>>import redis
>>>r = redis.StrictRedis(host='localhost', port=6379)
>>>r.set('name', 'test')
True
>>>r.get('name')
'test'
1.4二进制包
1.4.1mysql5.7.20安装
解压
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
制作软链接
ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
1.4.2编辑环境变量
vim /etc/profile
添加下面一行:
export PATH=/opt/mysql/bin:$PATH
生效配置:
source /etc/profile
1.4.3卸载自带mariadb
yum remove mariadb-libs
1.4.4生成配置文件
vim /etc/my.cnf
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
user=mysql
log_error=/var/log/mysql.log
log_bin=/opt/mysql/data/mysql-bin
server_id=100
[mysql]
socket=/tmp/mysql.sock
1.4.5创建用户和数据目录,并授权
useradd mysql
mkdir /opt/mysql/data
chown -R mysql.mysql /opt/mysql
touch /var/log/mysql.log
chown -R mysql.mysql /var/log/mysql.log
1.4.6初始化数据
mysqld --initialize-insecure --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
1.4.7启动mysql
cd /opt/mysql/support-files
./mysql.server start 前面需要带上./
路径名太长,我们可以这样。。。
cp mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld restart
扩展:使用systemctl管理mysql
vim /etc/systemd/system/mysqld.service
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
systemctl restart mysqld 就可以启动了
1.4.8测试Python3连接mysql
创建mysql链接用户
grant all on *.* to root@'10.0.0.%' identified by '123';
create database bbs charset utf8;
python连接
pip3 install pymysql
vim testmysql.py
#!/usr/bin/python3
import pymysql
db = pymysql.connect("10.0.0.100","root","123","bbs" )
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
print ("Database version : %s " % data)
db.close()
python3 testmysql.py
