Linux软件安装的4种方式
指软件已经根据平台编译并且打包,拿到这个包后解压并配置环境变量,如jdk包、mysql包、Tomcat包。
示例:二进制发布包安装jdk
1.获取安装包
1).直接从linux网上下载放 --> wget https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz
2).windows-->上传-->linux
方法一:
在linux编辑窗口用alt+p 打开sftp插件:put -r 路径\文件
put -r f:/Remote_terminal_tool/jdk_apk/jdk-8u144-linux-x64.tar.gz
简便操作:alt+p 打开sftp插件 ,将需要上传的文件往sftp插件上拖拽即可,就存放在了当前家目录下。
方法二:
ftp软件:如:FileZilla 软件,自行下载安装后连接(主机:ip地址/主机映射名称,用户名:root,密码,端口:22)
2.解压
先查看linux中是否有通过rpm方式已经安装:rpm -qa | grep -i jdk ##查看所有安装的软件,定位到只查看jdk(-i表示不区分大小写)
存在已有的安装,需要卸载:rpm -e --nodeps 软件包 ##-e表示卸载,--nodeps表示忽略依赖包
##查看与卸载
[root@hadoop01 ~]# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.4.el6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
[root@hadoop01 ~]# rpm -qa | grep -i jdk
java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
[root@hadoop01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
[root@hadoop01 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
[root@hadoop01 ~]# rpm -qa | grep -i jdk
[root@hadoop01 ~]#
[root@hadoop01 ~]# java -version
-bash: /usr/bin/java: No such file or directory
把上传的安装包解压到/opt目录下:tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt
3.配置环境变量
全局配置(所有用户都可以使用):vim /etc/profile
G切换到最后加入下面两行,保持并退出
export JAVA_HOME=/opt/jdk1.8.0_144
export PATH=${JAVA_HOME}/bin:${PATH}
从新执行这个文件:source /etc/profile
输出检查是否生效:echo $PATH
4.测试
java -version
[root@hadoop01 opt]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
出现以上内容表示安装成功,注:因为是通过二进制发布包方式安装的,所以用rpm -qa | grep -i jdk这个命令查询为空是正常的。
采用RedHat(Redhat Package Manager)的包管理规范进行打包,获取到相应的软件RPM发布包,然后使用rpm命令安装。当然如mysql/jdk也可以采用这种方式安装,但安装软件可能需要依赖于其他软件,这个方法不能自动解决包依赖的问题。
常用命令
rpm -q 程序 ##查询某个程序是否安装
rpm -qa | grep -i 程序 ##从所有的安装包中忽略大小写模糊查询某个程序
rpm -ql 程序 ##查看安装的位置
rpm -e --nodeps 程序包 ##忽略依赖卸载(-e表示卸载,--nodeps表示忽略依赖)
rpm -e --force 程序包 ##强制卸载
rpm -ivh 程序 ##安装(-ivh表示安装、显示安装的过程、显示安装的进度)
rpm -uvh 程序 ##升级程序
示例:rpm发布包安装mysql
1.查看与卸载
rpm -qa | grep -i mysql ##查看有没有安装mysql
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64 ##卸载已有的mysql-libs,如果没有就跳过
2.包上传到linux
在linux编辑窗口用alt+p 打开sftp插件 ,将需要上传的文件往sftp插件上拖拽即可,就存放在了当前家目录下;
或者用ftp软件:如:FileZilla 软件上传。
3.解包
在包所在目录先查看:ll
创建一个目录来存放解包:mkdir mysql
解包:tar -xvf mysql-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar -C /root/mysql
4.使用命令安装
切换到解包的/root/mysql目录下:cd /root/mysql
查看有哪些包需要安装:ll
最终关注的是MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm和MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
安装服务端:rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
安装日志看出安装位置:/usr/sbin/mysqld (mysqld 5.6.26) starting as process 3360 ...
安装日志看出默认初始密码位置:A random root password has been set. You will find it in '/root/.mysql_secret'.
安装日志提示说你必须要修改密码在第一登陆时:You must change that password on your first connect,
安装日志提示修改密码使用'SET PASSWORD':no other statement but 'SET PASSWORD' will be accepted.
安装日志看出配置文件的位置:New default config file was created as /usr/my.cnf and
安装客户端:rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
查看安装是否成功:rpm -qa | grep -i mysql
5.启动服务
启动mysql服务: service mysql start
6.连接mysql
查看mysql初始密码:cat /root/.mysql_secret
复制出密码(注意不要复制到空格)
登陆mysql:mysql -u root -p 回车粘贴密码,回车
设置新密码为root(必须设置,不然不能用):set password=password('root');
退出登陆:exit
从新登陆mysql:mysql -u root -p 回车输入密码root,回车
测试:show databases 可以查看,表示安装成功
7.增加远程登陆权限 :mysql默认只能链接本机(127.0.0.1 / localhost),不允许远程连接
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连 接口令’;
mysql>重新加载权限表;
PS:1,权限 2,…权限 n 代表 select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 等 14 个权限。 当权限 1,权限 2,…权限 n 被 all privileges 或者 all 代替,表示赋予用户全部权限。 当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。 用户地址可以是 localhost,也可以是 ip 地址、机器名字、域名。也可以用’%’地址连接。
同时检查关闭防火墙参考链接:https://blog.csdn.net/weixin_41685388/article/details/102492319
如果连接还出现问题,那么请这么解决: 依次执行以下命令:
先登录 mysql,然后 mysql> use mysql;
mysql> select host, user, password from user;
mysql> delete from user where host in ('localhost','hadoop01', '127.0.0.1','::1')
8.其他配置
vi /usr/my.cnf
在最后加入:character-set-server=utf8mb4 保持并退出
重启mysql:service mysql restart
检查编码:再次输入进入MySQL:mysql -u root -p 输入 show variables like 'char%';
在服务器上放置了rpm规范打包的软件,可以直接从服务器下载安装,同时还提供搜索服务以及处理包依赖问题,必须连网。
yum install 程序 ##yum安装程序
yum remove 程序 ##yum卸载程序
yum update 程序 ##yum更新程序
不想在过程中被询问,就加入 -y 如:yum -y install 程序
yum 源(仓库/服务器):cd /etc/yum.repos.d/
[root@hadoop01 ~]# cd /etc/yum.repos.d/
[root@hadoop01 yum.repos.d]# ll
total 24
-rw-r--r--. 1 root root 1991 Aug 4 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 647 Aug 4 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 Aug 4 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Aug 4 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug 4 2015 CentOS-Vault.repo
[root@hadoop01 yum.repos.d]# cat CentOS-Base.repo
所有的repo文件就是软件的下载路径(仓库路径),里面就配置了软件的下载路径
默认的仓库中可以安装那些文件,用yum repolist 查看yum源仓库的列表(可以使用的yum源列表),用yum list 查看软件列表,用yum list | grep 软件名 查看指定软件是否存在,并安装
[root@hadoop01 yum.repos.d]# yum list | grep ruby
graphviz-ruby.x86_64 2.26.0-10.el6 base
libselinux-ruby.x86_64 2.0.94-7.el6 base
openwsman-ruby.x86_64 2.2.3-11.el6 base
rrdtool-ruby.x86_64 1.3.8-10.el6 base
ruby.x86_64 1.8.7.374-5.el6 base
ruby-devel.i686 1.8.7.374-5.el6 base
......
[root@hadoop01 yum.repos.d]# yum -y install ruby
注意安装时,ruby.x86_64后面的.x86_64版本号_64/32位不用写
本地yum源配置(自己写一个repo的文件,当作本地yum源):存储rpm软件到自己的搭建的服务器上,并且配置到yum源文件中。这样就可以不用连网到远程服务器上去下载(网速问题),也是可以更好的让多台机器中的软件版本高度一致。
过程1:搭建服务器
过程2:存放rpm软件到服务器
将rpm软件放入httpd的目录下:/var/www/html/
rpm软件在挂载文件下有:cd /mnt/cdrom/Packages 切换到该目录输入:ll,这里面就有很多rpm软件
通过ios镜像挂载才有的/mnt/cdrom/下的内容:https://blog.csdn.net/weixin_41685388/article/details/102516090
切换到/mnt/目录下,发送软连接到放入httpd的目录下:ln -s /mnt/cdrom /var/www/html/centos
查看是否有软连接:cd /var/www/html/ 输入ll
然后在windows浏览器中访问:http://192.168.2.101/centos/
过程3:在yum源配置文件中添加访问路径
[root@hadoop01 yum.repos.d]# cd /etc/yum.repos.d/
oot@hadoop01 yum.repos.d]# ll
total 24
-rw-r--r--. 1 root root 1991 Aug 4 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 647 Aug 4 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 Aug 4 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Aug 4 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug 4 2015 CentOS-Vault.repo
[root@hadoop01 yum.repos.d]# cp CentOS-Media.repo CentOS-local.repo
[root@hadoop01 yum.repos.d]# ll
total 28
-rw-r--r--. 1 root root 1991 Aug 4 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 647 Aug 4 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 Aug 4 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Oct 13 09:44 CentOS-local.repo
-rw-r--r--. 1 root root 630 Aug 4 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug 4 2015 CentOS-Vault.repo
[root@hadoop01 yum.repos.d]# vim CentOS-local.repo
##查看是否可以使用
[root@hadoop01 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* CentOS-Local: 192.168.2.101
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
CentOS-Local | 4.0 kB 00:00
CentOS-Local/primary_db | 4.6 MB 00:00
repo id repo name status
CentOS-Local CentOS-6 - Local 6,575
base CentOS-6 - Base 6,713
extras CentOS-6 - Extras 46
updates CentOS-6 - Upd 637
repolist: 13,971
过程4:使用
就可以使用yum像从公网安装软件一样在内网服务器上下载软件进行安装了
yum install -y 你要的软件
以源码工程方式发布,先编译再部署运行