【Linux】技术上,Linux是内核。而术语上,我们通常说的Linux是完整的操作系统,其实称为"Linux发行版",是将Linux内核和应用系统打包,由不同的发行家族发行了不同版本。Linux发行版众多,主要有RedHat系列和Debian系列。
RedHat系列:RHEL,CentOS,Fedora等。
- 软件包扩展名.rpm
- 包管理工具:rpm。yum(解决rpm中依赖包的问题)。
Debian系列:Debian,Ubuntu等。
- 软件包扩展名.deb
- 包管理工具:dpkg,apt 或 apt-get (解决dpkg中依赖包的问题)。
RedHat系列的Linux系统一般有三种安装软件包的方式:rpm安装,yum安装,编译安装。
可以使用man查看某命令的说明文档,例如:man rpm。可使用--help查看某命令有哪些选项,例如:rpm --help。
(一)rpm安装
- rpm命令:Red-Hat Package Manager,RPM软件包管理工具。
- 几乎所有RPM包都可以使用rpm安装、卸载、管理。
- 若使用rpm安装,需手动下载RPM包。
- 存在问题:不能自动处理依赖性关系。需安装相关的依赖包,软件包才能安装成功。
rpm安装软件包:rpm -i 需安装的软件包
rpm安装软件包(显示进度条):rpm -ivh 需安装的软件包
rpm卸载软件包:rpm -e 需卸载的软件包
rpm升级软件包:rpm -U 需升级的软件包
rpm升级软件包(显示进度条):rpm -Uvh 需升级的软件包
rpm查询安装的所有软件包:rpm -qa
举例:rpm安装wget(先下载RPM软件包,再用rpm安装RPM包)
# 从网页下载wget软件包
curl -o wget.rpm http://mirrors.163.com/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
# rpm安装wget
rpm -ivh wget.rpm
# rpm查看是否已安装wget
rpm -qa | grep wget
国内下载RPM包的镜像站(又称yum源,yum仓库):欢迎访问网易开源镜像站 (163.com)
网易163镜像站中centos7可安装的软件包:Index of /centos/7/os/x86_64/Packages/ (163.com)
国内还有其他镜像站,比如阿里云,中科大,清华等。
(二)yum安装
- yum命令:Yellow dog Updater, Modified。基于rpm。
- yum安装的都是RPM包,从指定服务器自动下载RPM包并安装。
- yum能够自动处理依赖性关系,一次安装软件包和相关的所有依赖包。
- 目前安装软件包,一般都是使用yum命令安装。
yum安装软件包:yum install 需安装的软件包 -y
yum卸载软件包:yum remove 需卸载的软件包 -y
yum升级软件包:yum update 需升级的软件包
举例:yum安装wget(直接安装)
# yum安装wget
yum install wget -y
# yum查看是否已安装wget
yum list installed | grep wget
yum源的配置文件:
/etc/yum.repos.d目录,存放yum源的配置文件。
这些配置文件的文件名以".repo"结尾,指定从哪个服务器下载以及如何安装和更新。
rpm和yum安装软件包的位置:
rpm安装已手动下载好的RPM包。yum基于rpm,从指定服务器自动下载并安装RPM包。
/etc | 存放软件包的配置文件 |
---|---|
/usr/bin | 存放软件包的可执行文件 |
/usr/lib | 存放可执行文件需要的库文件 |
/usr/share/doc | 存放软件包的说明文档 |
/usr/share/info | 存放软件包的帮助文档,不常用,被man代替 |
/usr/share/locale | 存放软件包的语言环境(地区、语言、字符集) |
/usr/share/man | 存放软件包的man帮助文档 |
查看是否已安装软件包(显示全称):rpm -qa | grep 软件包
查看软件包的安装位置:rpm -ql 软件包
(三)编译安装
使用yum命令可一次安装软件包和相关依赖包。但若想要更灵活的通过源代码安装,可以使用编译安装。
参考:技术|详解如何用源代码安装软件,以及如何卸载它 (linux.cn)
编译安装的一般步骤:
(1)下载源代码,并解压缩
(2)配置编译参数:./configure。配置要安装的软件,检测系统环境是否符合安装,构建Makefile。
(3)编译安装
- 编译:make。读取Makefile,去构建程序,编译后在objects目录下生成很多编译后的文件(.o结尾)。
- 安装:make install。安装程序。/usr/local目录是系统管理员本地安装软件时使用。自己手动安装的软件可以安装在/opt目录下,使用软链接即可,方便跟踪和卸载。
(4)运行(即运行可执行文件)
- 注意:运行(使用完整路径。若直接使用,尝试软链接或将文件复制到指定位置或添加环境变量)
/usr/bin | 存放各软件的可执行文件 |
/usr/lib | 存放各软件的库文件 |
/usr/local | 存放各软件的安装目录 |
/usr/local/src | 存放各软件的源代码 |
举例:centos7编译安装ncurses:(本次安装目录存放在/opt目录下,并使用软链接到指定位置)
① 下载源代码: 网址Index of /pub/gnu/ncurses
# 下载压缩包,本次选择版本6.5
wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.5.tar.gz
# 解压缩到/opt目录下
tar -zxvf ncurses-6.5.tar.gz -C /opt
# 切换到安装目录
cd /opt/ncurses-6.5
# 查看安装目录下的文件(有configure)
ls
② 编译安装:(先配置编译参数,再编译和安装)
# 配置编译参数,本次安装在/opt/ncurses目录下,ncurses目录会自动创建。
./configure --prefix=/opt/ncurses
# 编译,若要加速编译,可以使用make -j
make
# 安装
make install
③ 运行:(使用完整路径运行。为了直接运行,本次使用软链接)
# 查看ncurses版本,使用完整路径运行
/opt/ncurses/bin/ncursesw6-config --version
# 可执行文件创建软链接(并取别名),可在任意目录直接运行可执行文件
ln -s /opt/ncurses/bin/ncursesw6-config /usr/bin/ncurses
# 再次查看ncurses版本(使用别名)
ncurses --version
# 安装目录创建软链接
ln -s /opt/ncurses /usr/local/ncurses
注意:通过下载源代码安装的软件,使用rpm -qa查询不到,可以使用查询软件版本的方式查看是否已安装好。
目前很多官网下载的压缩包,已经是编译安装好之后打包的文件,解压缩后即安装好,使用完整路径就可以运行可执行文件。如果希望直接使用,可以使用软链接到指定位置。若有旧版本,可以将新版本bin目录添加环境变量,就可以使用新版本。
举例:centos7安装cmake(从cmake官网下载的压缩包,解压缩后即已是编译安装后的)
cmake官网下载:Index of /files (cmake.org)
步骤:下载源代码,并解压缩。本次安装目录存放在/opt目录下,因有旧版本,将新版本的bin目录添加环境变量。
# 从网页下载源代码(选择版本3.27.9)
wget https://cmake.org/files/v3.27/cmake-3.27.9-linux-x86_64.tar.gz
# 解压缩到/opt目录下(z:用gzip处理,j:使用bzip2处理,J:使用xz处理)
tar -zxvf cmake-3.27.9-linux-x86_64.tar.gz -C /opt
# 切换到/opt目录下,并查看所有文件(&& 命令连接符,命令都正确才执行)
cd /opt && ls
# 安装目录重命名
mv cmake-3.27.9-linux-x86_64 cmake-3.27.9
# 切换到cmake安装目录下
cd cmake-3.27.9
# 查看安装目录下的文件(没有configure)
ls
# 查看安装目录下的bin目录(有cmake)
ls bin
# 查看cmake版本(使用完整路径)
/opt/cmake-3.27.9/bin/cmake --version
# 查看cmake版本(直接运行)
cmake --version
使用完整路径和直接运行查看cmake版本,显示两个不同版本。说明系统里之前安装过旧版本,而且目前运行的仍是旧版本。将新版本的bin目录添加系统环境变量即可运行新版本。
使用vi/vim在系统环境变量文件(/etc/profile)添加新版本的bin目录,手动输入sourse命令生效。
# 添加环境变量
# vi/vim编辑/etc/profile
vi /etc/profile
(在/etc/profile文件末尾添加) export PATH=/opt/cmake-3.27.9/bin/:$PATH
# 输入source命令才能生效
source /etc/profile
vi/vim简单按键说明:
1、vi/vim打开文件,即进入命令模式。可用快捷键或命令行操作。
- G:光标跳转到最后一行
- dd:删除光标所在行。
- :wq:保存并退出文件
2、进入编辑模式。可以输入内容。(i/a/o)
- o(小写字母o):光标所在位置下方插入一行,光标位于新行行首,可以开始输入内容。
- i:光标所在位置,可以开始输入内容。
- a:光标往后移动一位,可以开始输入内容。
3、退出编辑模式,返回命令模式。(ESC键)
补充:
1、查找命令的相关文件路径
whereis 命令名 | 查找命令相关的二进制文件、源代码、帮助手册的路径 |
---|---|
which 命令名 | 查找执行的命令所在路径 |
2、yum安装mysql
centos7默认的yum源(yum仓库,镜像站)没有提供mysql,需手动下载mysql的yum源。
① mysql的yum源下载网址:MySQL :: Download MySQL Yum Repository
② 下载安装步骤:从网页下载RPM包(mysql的yum源),yum安装mysql的yum源,yum再从mysql的yum源去下载安装mysql-server。
# 从网页下载RPM包(mysql的yum源)
wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
# yum安装mysql的yum源
yum install -y mysql84-community-release-el7-1.noarch.rpm
# 查看yum源(yum仓库,镜像站),-1(数字1):一行显示一个文件
ls -1 /etc/yum.repos.d/
# yum安装mysql-server
yum install -y mysql-community-server
# 查看是否已安装mysql
rpm -qa | grep -i mysql
注意:yum安装的mysql自动创建mysql用户和mysql组,自动添加服务并开启。
3、Debian系列的软件包管理器(说明文档)
Debian 软件包管理器:dpkg、apt 和 Aptitude 解释 (linux-console.net)