@R星校长
Linux 中软件安装方式
rpm安装软件
rpm概述
RPM(RedHat Package Manager)安装管理
这个机制最早是由 Red Hat 开发出来,后来实在很好用,因此很多 distributions(发行版)就使用这个机制来作为软件安装的管理方式 。包括 Fedora , CentOS , SuSE 等等知名的开发商。
RPM 的优点
-
RPM 内含已经编译过的程序与配置文件等数据,可以让用户免除重 新编译的困扰
-
RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可 避免文件被错误安装
-
RPM 文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件
-
RPM 管理的方式使用数据库记录 RPM 文件的相关参数,便于升级 、移除、查询与验证
rpm默认安装的路径 -
/etc 一些配置文件放置的目录,例如 /etc/crontab
-
/usr/bin 一些可执行文件
-
/usr/lib 一些程序使用的动态链接库
-
/usr/share/doc 一些基本的软件使用手册与说明文件
-
/usr/share/man 一些 man page( Linux 命令的随机帮助说明)文件
rpm 安装
rpm -ivh package_name
选项与参数:
-i :install的意思
-v :察看更细部的安装信息画面
-h :以安装信息列显示安装进度
- 安装单个 rpm 包
rpm -ivh package_name
- 安装多个 rpm 包
rpm -ivh a.i386.rpm b.i386.rpm *.rpm
- 安装网上某个位置 rpm 包
rpm -ivh http://website.name/path/pkgname.rpm
rpm 安装 jdk:
- 将上传到 /opt 目录下
[root@node1 opt]# ls
jdk-7u80-linux-x64.rpm nginx nginx-1.8.1 nginx-1.8.1.tar.gz
- 安装当前目录下的 jdk-7u80-linux-x64.rpm
[root@node1 opt]# rpm -ivh jdk-7u80-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
- 查找 java 安装目录的位置:
[root@node1 opt]# whereis java
java: /usr/bin/java
[root@node1 opt]# ll /usr/bin/java
lrwxrwxrwx 1 root root 26 11月 27 19:41 /usr/bin/java -> /usr/java/default/bin/java
[root@node1 opt]# cd /usr/java
[root@node1 java]# ls
default jdk1.7.0_80 latest
[root@node1 java]# cd jdk1.7.0_80/
[root@node1 jdk1.7.0_80]# pwd
/usr/java/jdk1.7.0_80
- 配置环境变量
[root@node1 jdk1.7.0_80]# vim /etc/profile
加入以下两行代码:
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
- 让配置生效,使用.命令,或者 source 命令
[root@node1 jdk1.7.0_80]# source /etc/profile
- 测试安装配置是否成功
[root@node1 jdk1.7.0_80]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@node1 jdk1.7.0_80]# jps
3926 Jps
成功!
rpm 安装:
- redhat 提供了 rpm 管理系统
- 已经编译的软件包:针对不同的平台系统编译目标软件包
- 操作系统维护安装信息
- 软件包包含依赖检查,这是人需要参与处理的。你得下载它需要的所有依赖包并安装,才能安装一个 rpm 软件。
rpm 查询:
简单原理:rpm 在查询的时候,其实查询的地方是在 /var/lib/rpm/ 这个目录下的数据库文件
[root@node1 ~]# ll /var/lib/rpm/
total 58272
-rw-r--r--. 1 root root 5500928 Mar 8 20:27 Basenames
-rw-r--r--. 1 root root 12288 Mar 4 23:06 Conflictname
-rw-r--r-- 1 root root 24576 Mar 8 20:42 __db.001
-rw-r--r-- 1 root root 229376 Mar 8 20:42 __db.002
rpm 查询已安装软件,选项与参数:
-q :仅查询,后面接的软件名称是否有安装
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称 !!!
-qi :列出该软件的详细信息,包含开发商、版本和说明等 !!
-ql :列出该软件所有的文件与目录所在完整文件名 !!
-qc :列出该软件的所有配置文件 !
-qd :列出该软件的所有说明文件
-qR :列出和该软件有关的相依软件所含的文件
-qf :由后面接的文件名,找出该文件属于哪一个已安装的软件
查询某个 RPM 文件内含有的信息:
-qp[icdlR]:
注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出 某个 RPM 文件内的信息,而非已安装的软件信息
案例1:查找是否安装 jdk
[root@node1 ~]# rpm -qa |grep jdk
jdk-1.7.0_80-fcs.x86_64
案例2:查询 jdk 所包含的文件及目录
[root@node1 ~]# rpm -ql jdk
案例3:查看 jdk 包的相关说明
[root@node1 ~]# rpm -qi jdk
Name : jdk Relocations: /usr/java
Version : 1.7.0_80 Vendor: Oracle Corporation
Release : fcs Build Date: 2015年04月11日 星期六 11时15分36秒
Install Date: 2019年11月27日 星期三 19时41分29秒
Build Host: sca00efd.us.oracle.com
Group : Development/Tools Source RPM: jdk-1.7.0_80-fcs.src.rpm
Size : 219404663 License: http://java.com/license
Signature : (none)
Packager : Java Software <jre-comments@java.sun.com>
URL : URL_REF
Summary : Java Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).
The JDK is a development environment for building applications, applets
and components that can be deployed with the Java Platform Standard
Edition Runtime Environment.
案例4:列出 iptables 的配置文件
[root@node1 ~]# rpm -qc iptables
/etc/sysconfig/iptables-config
(无显示说明不需要配置文件)
案例5:查看 apr 需要的依赖
[root@node1 ~]# yum install apr
[root@node1~]# rpm -qR apr
rpm 安装 MySQL
从 MySQL 官网下载 MySQL 的安装包:
https://downloads.mysql.com/archives/community/
需要下载 mysql 的四个 rpm 包:
mysql-community-client-5.7.19-1.el6.x86_64.rpm
mysql-community-common-5.7.19-1.el6.x86_64.rpm
mysql-community-libs-5.7.19-1.el6.x86_64.rpm
mysql-community-server-5.7.19-1.el6.x86_64.rpm
rpm 安装 mysql
1、 查找当前系统中安装的 MySQL:
[root@node1 ~]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
2、 将上一步找到的 mysql 相关的包都删除
[root@node1 ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64
error: Failed dependencies:
libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64
mysql-libs is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64
[root@node1 ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
[root@node1 ~]# rpm -qa | grep mysql
3、 检查并删除老版本 mysql 的开发头文件和库(如果有的话)
[root@node1 ~]# find / -name 'mysql*'
rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
rm -fr /usr/share/mysql
注意:卸载后 /var/lib/mysql 中的数据及 /etc/my.cnf 不会删除,如果确定没用后就手工删除
4、 安装 perl
[root@node1 ~]# yum install perl -y
5、 下载 numactl-2.0.9-2.el6.x86_64.rpm 并安装
[root@node1 ~]# cd /opt
[root@node1 opt]# mkdir apps
[root@node1 apps]# rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm
6、 安装 mysql(有顺序要求)
rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm
a) 或执行:rpm -ivh mysql-community-*,让系统自己判断 rpm 安装顺序
7、 修改 /etc/my.cnf 文件,设置数据库的编码方式: