因为之前因为在linux上安装常规软件,总是出错,而且没办法快速解决. 本篇文章就主要讲诉linux上软件安装,常用的一些概念,指令,以便更好的理解软件安装问题. 这里已mysql,OpenSSH为例.
对于软件的升级,目前我的处理方法是,先卸载,再安装新版本.顾这里主要就卸载和安装做详细解释.
1.基础安装概念
#常用linux系统分为2大系
RedHat系:RedHat,Centos,Fedora等
Debian系:Debian,Ubuntu等
#常用下载,安装指令
1.RedHat系:
yum install 软件名称 #自动搜索下载,安装命令
wget 软件下载url #在线下载指定路径的文件
rpm(redhat package manager) #红帽系专用,rpm方式安装,卸载 xxx.rpm包
->rpm -qa|grep xxx #查询xxx软件的rpm包,可以判断软件是否通过rpm方式安装的
->rpm -ivh xxx.rpm #以rpm方式安装xxx软件,需要先下载xxx.rpm包到系统中.
#↑参数解释:i-install安装, v-view显示安装过程 ,h-horizon显示安装进度条
->rpm -e xxx.rpm #以rpm方式卸载xxx软件,前提是xxx软件是通过rpm方式安装的
#↑参数解释:e-卸载
->rpm -uvh xxx.rpm #以rpm方式升级xxx软件.
2.Debian系:
apt-get install 软件名称 #(Advanced Package Tool)自动搜索下载,安装命令
wget 软件下载url #在线下载指定路径的文件
dpkg (debian packager) #debian系专用
->dpkg -i xxx.deb #以deb包方式安装xxx软件
#linux软件安装的方式
1.源码(xxx.tar.gz)
通过编译,安装.一般tar.gz包解压后的源码包,通过./configure,make,make install命令来完成软件的安装
#↑configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,
#并且根据系统叁数及环境产生合适的Makefile文件.可以在后面加参数 例如–prefix=/tool来修改这个shell里默认的软件安装路径
#↑make 开始编译原始码,产生可执行文件
#↑make install 将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径
2.rpm安装(redhat package manager-简译为红帽包管理)/deb包安装(dpkg方式) (xxx.rpm/xxx.deb)
见上面 #常用下载,安装指令
2. mysql的卸载和安装
mysql的安装,常见的方式为源码安装和rpm/deb安装,对于这两种安装方式,采用不同的卸载方式.
1)卸载
#1.备份mysql数据库
mysqldump -u账号 -p密码 数据库名称 --skip-extended-insert > 备份路径/xxx.sql
#2.停止mysql服务
service mysql stop
#3.卸载mysql
#查看是源码安装还是rpm等方式安装,如果是rpm方式,先用rpm指令卸载mysql
rpm -qa|grep rpm
#如果出现mysql*.rpm,则有通过rpm方式安装,需要执行卸载查询到的所有rpm包的指令:
rpm -e mysql*.rpm #指令后面可加参数 --nodeps 忽略依赖
#上一步执行后,就只需要删除mysql的安装目录了,执行指令并将查询到的路径删除:
whereis mysql #会尝试在标准的linux位置,$PATH 和 $MANPATH中定位我们想要的程序
#执行进一步查询,通过下面指令将查询到的路径删除:
find / -name mysql
2)安装
#1.安装(下面介绍2中最常见方式)
1)源码方式安装
下载.tar.gz包,可以通过wget mysql的下载路径直接在线下载.
如果没有网络或者服务器网速很慢,可以先下载到本地,再通过ftp或sftp协议(使用工具FileZilla)传输到服务器.
#↑mysql资源在 mysql官网下载 或 对应linux版本相关网站
#下载完后解压tar.gz
tar zxvf mysql-xxx.tar.gz #不加上路径会解压到当前路径下.
#进入解压后的路径
cd mysql-xxx
#按顺序执行下面指令
./configure #含义见->基本安装概念
make #含义见->基本安装概念
make install #含义见->基本安装概念
#特别需要注意,执行上面这三个指令时,注意最后执行的状态,如果报错,需要根据报错的提示进行处理.
#一般有可能出现的问题是,mysql需要的依赖 该系统没安装, 需要根据提示安装 依赖.
2)rpm方式(这里以redhat系为例)
下载.rpm包,可以通过wget mysql的下载路径直接在线下载.
如果没有网络或者服务器网速很慢,可以先下载到本地,再通过ftp或sftp协议(使用工具FileZilla)传输到服务器.
#↑mysql资源在 mysql官网下载 或 对应linux版本相关网站
#如果下载的是mysql-xxx.rpm-bundle.tar
tar -xvf mysql-xxx.rpm-bundle.tar #解压 rpm-bundle.tar包,进入文件目录,得到mysql所需要的所有.rpm包
#这里只列举四个必须安装的,其余的有兴趣的可以研究下.
mysql-community-common-5.7.26-1.el6.x86_64.rpm
mysql-community-libs-5.7.26-1.el6.x86_64.rpm
mysql-community-client-5.7.26-1.el6.x86_64.rpm
mysql-community-server-5.7.26-1.el6.x86_64.rpm
#按上面的列举顺序(这四个模块依赖是有顺序的,必须按顺序!),用rpm -ivh 分别安装.
#安装完后检查mysql版本
mysql -V
--------------------------------------------------------------------------------------
#2.启动
service start mysqld
#说明:因为mysql的数据库文件在服务器中并没有删除,所以mysql的账号和数据库在经过卸载和重新安装后 原先的依然有效.
3.OpenSSH的卸载和安装
1)先启用telnet服务,以防ssh升级出现问题,无法远程连接上服务器
#1.telnet-server安装
rpm -qa|grep telnet-server #检查是否安装telnet-server
#若无显示,则未安装,需执行下面指令安装telnet-server,否则忽略此步骤
yum install telnet-server
#2.xinetd安装 #由于telnet服务是由xinetd守护的,需要安装xinetd
rpm -qa|grep xinetd #检查是否安装xinetd
#若无显示,则未安装,需执行下面指令安装xinetd,否则忽略此步骤
yum install xinetd
#3.重启xinetd (如果先安装的telnet,则需要重启xinetd,载入telnet)
service xinetd start
service telnet.socket start
#4.配置telnet,允许root账号远程登录
1)修改securetty
增加pts配置。如果登录用户较多,需要更多的pts/*
[root@redhat~]# vim /etc/securetty
......
pts/0
pts/1
pts/2
2)vim /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no #将默认的yes修改为no
}
#5.重启telnet,重启xinetd
service telnet restart
service xinetd restart
2)卸载OpenSSH
#1.停止OpenSSH服务
service openssh stop
#2.卸载OpenSSH
#查看是源码安装还是rpm等方式安装,如果是rpm方式,先用rpm指令卸载
rpm -qa|grep openssh
#如果出现openssh-xxx.rpm,则有通过rpm方式安装,需要执行卸载查询到的所有rpm包的指令:
rpm -e openssh-xxx.rpm #指令后面可加参数 --nodeps 忽略依赖
#上一步执行后,就只需要删除openssh的安装目录了,执行指令并将查询到的路径删除:
whereis openssh #会尝试在标准的linux位置,$PATH 和 $MANPATH中定位我们想要的程序
whereis ssh
#执行进一步查询,通过下面指令将查询到的路径删除:
find / -name openssh
find / -name ssh
3)安装新版openSSH
#1.安装新版openSSH
在www.ssh.com或者其他资源网站下载最新版openssh-xxx.tar.gz
tar zxvf openssh-xxx.tar.gz #解压tar.gz包
cd openssh-xxx #进入解压后的文件目录
#按顺序执行 configure,make,make install 安装openssh
'需要注意的是,注意配置,安装过程中是否出现报错,如果报错,一般是缺少相应的依赖环境,需要先安装依赖环境.'
例如configure: error: *** zlib.h missing 需要安装zilib.dev或者can not compile C需要安装gcc
#注意,openssh依赖于zlib,openssl,如果系统没有zlib和openssl,需要先安装这两个环境依赖.
# 复制启动文件至/etc/init.d/
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
# 设置开机启动sshd
chkconfig sshd on
chkconfig --list sshd
#配置sshd_config
vi /etc/ssh/sshd_config
更改端口等默认配置
#2.启动ssh
service sshd start
#3.查看ssh状态
service sshd status
#4.检查ssh版本
ssh -V
补充:注意,需要将SELinux关闭,临时关闭可以执行'setenforce 0',永久关闭需要执行'vim /etc/sysconfig/selinux,将模式更新为Permissive'