rpm
简介:RPM是Red Hat Package Manager的缩写,本意就是Redhat软件包管理,最先由Redhat公司开发出来的linux下软件包管理工具,由于这种软件管理方式非常方便,逐渐被其它linux发行商所借用,现在已经成为linux平台下通用的软件包管理方式,例如Redhat、suse、centos、almalinux等主流linux发行版本都默认采用了这种软件包管理方式。
以“.rpm”结尾的软件包,就是RPM文件。每个RPM文件中包含了已经编译好的二进制可执行文件,其实就是将软件源码文件进行编译安装,然后进行封装,就成了RPM文件。
RPM包管理方式的优点:
安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程。
RPM包管理方式的缺点:
对操作系统环境的依赖很大,它要求RPM包的安装环境必须与RPM包封装时的环境相一致或相当。还需要满足安装时与系统某些软件包的依赖关系,例如需要安装A软件,但是A软件需要系统有B和C软件的支持,那么就必须先安装B和C软件,然后才能安装A软件。
一般安装:rpm -ivh xxx.rpm
升级安装:rpm -Uvh xxx.rpm
卸载:rpm -e xxx

yum/dnf
目前来讲的yum其实就是dnf安装,因为现在已经设置指向,把yum指向到了dnf,所以现在使用dnf还是yum几乎是没有区别的。
yum/dnf是进行linux系统下软件安装和升级常用的一个工具,通过yum/dnf工具配合互联网即可实现软件的便捷安装和自动升级。
yum/dnf安装的本质还是rpm文件安装,只不过rpm文件是yum自动通过互联网下载下来的。
yum/dnf安装的优势是可解决rpm安装的依赖问题,安装依赖yum/dnf会自己查找,并下载安装。
yum/dnf安装的缺点是服务器需要能连接上外网,不能联网的服务器无法使用yum/dnf安装软件。
基本用法:
安装curl工具:
[root@51ctolinuxserver ~]# yum install curl
不提示直接安装vsftpd和bind两个软件:
[root@51ctolinuxserver ~]# yum -y install vsftpd bind #-y的意思是不需要确认直接安装
删除gettext-devel包以及依赖:
[root@51ctolinuxserver ~]# yum remove gettext-devel
更新系统中所有安装过的rpm包
[root@51ctolinuxserver ~]# yum update
只下载httpd软件包,不安装,将下载的rpm文件放到/tmp目录下:
[root@51ctolinuxserver ~]# yum -y install –downloadonly –downloaddir=/tmp httpd
由于这些系统大都是国外的,所以在刚装的系统上通常都会更换yum源,当然,如果是云服务器的就不用,因为都是默认设置好了的。
比如如果想更换阿里云yum源,就可以登录其官方镜像网站,找到对应系统的版本号,然后输入给定的命令就行,比如如果是almalinux
执行以下命令备份并替换默认源:
[root@rhel9-229 ~]# sed -e ‘s|^mirrorlist=|#mirrorlist=|g’ \
-e ‘s|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.aliyun.com|g’ \
-i.bak \
/etc/yum.repos.d/almalinux*.repo
执行以下命令生成缓存
[root@rhel9-229 ~]# dnf makecache
然后还有EPEL附加软件包,这里面有很多很有用的软件和工具
EPEL,全称是企业版Linux附加软件包,针对红帽企业版Linux(RHEL)及其衍生发行版(例如CentOS、almaLinux )的一个高质量附加软件包项目。 其官方网址为:https://docs.fedoraproject.org/en-US/epel/, EPEL的软件包不会与企业版Linux官方源中的软件包发生冲突,或者互相替换文件。
相关的EPEL软件包可以从EPEL官方网站下载到,目前有EL8、 EL9三个版本,可根据不同Linux发行版本,下载不同的EPEL附加软件源。
[root@51ctolinuxserver ~]# yum install epel-release
二进制安装包
特点概述:Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,提供给我们使用。在安装二进制软件包时,只需解压或者执行安装可执行文件即可。
优缺点:
二进制软件包的优点是安装简单、容易。
缺点是缺乏灵活性,相应的软件包只能在对应平台下安装,离开这个环境,软件就无法运行。很多开源软件不一定都提供二进制安装包,java类的开源软件一般提供二进制安装包,mysql也提供有二进制安装包。
mysql部署
Mysql有多种部署方式,这里以二进制方式来进行安装,使用的版本是mysql8.0.32,安装过程如下:
[root@mysqlserver ~]# cd /usr/local/
[root@mysqlserver local]# tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
[root@mysqlserver local]# mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql
[root@mysqlserver local]# mkdir /usr/local/mysql/data
[root@mysqlserver local]# mkdir /usr/local/mysql/etc
[root@mysqlserver local]# mkdir /usr/local/mysql/logs
[root@mysqlserver local]# useradd mysql
然后,继续执行如下操作:
[root@mysqlserver ~]# cat >/usr/local/mysql/etc/my.cnf <<EOF
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/logs/mysqld.log
pid-file=/usr/local/mysql/logs/mysqld.pid
EOF
[root@mysqlserver ~]# chown -R mysql:mysql /usr/local/mysql
[root@mysqlserver ~]# cd /usr/local/mysql
[root@mysqlserver mysql]# bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
[root@mysqlserver mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld(标红的是启动脚本)
[root@mysqlserver mysql]# rm -rf /etc/my.cnf
[root@mysqlserver mysql]# chkconfig –level 35 mysqld on
[root@mysqlserver mysql]# /etc/init.d/mysqld start
如果在安装过程有什么依赖或者其他问题的话,可以下载缺少的包。
Mysql启动成功后,需要重置root密码,临时密码在上面定义的mysql日志文件/usr/local/mysql/logs/mysqld.log中可以查到。

找到临时密码后,执行如下sql
/usr/local/mysql/bin/mysql -uroot -p
SQL> alter user ‘root’@’localhost’ identified by ‘root@mySQL123’;
到此位置,mysql的二进制部署就算是完成了
我在安装的过程中出现了一个问题,最后通过查阅相关资料发现是这个问题
sudo dnf install epel-release -y
sudo dnf install ncurses-compat-libs -y
执行完就欧克了
使用源码编译安装软件
所有开源软件基本都提供源码下载,源码安装的方式。
(1)、源码安装优点:
源码安装的好处是可以使用最新版本,用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装,此外,用户还可以自己选择安装路径,方便管理,卸载软件也很方便,只需删除对应的安装目录即可。
(2)、源码安装缺点:
由于源码安装非常灵活,可定制软件功能模块,所以对于新手来说,可能会无从下手,找不到方向。另外,源码安装会依赖很多其他软件或库文件,这些依赖软件需要查阅官方文档才知道。
源码编译、安装nginx
nginx可以从https://nginx.org/下载,这里我下载的是名称为nginx-1.26.0.tar.gz,编译安装过程如下:
[root@server1 ~]# yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel wget pcre pcre-devel git
[root@server1 ~]# cd /usr/local
[root@server1 local]# tar zxvf nginx-1.26.0.tar.gz
[root@server1 local]# cd nginx-1.26.0
[root@server1 nginx-1.26.0]# ./configure –with-http_stub_status_module –with-http_ssl_module
[root@server1 nginx-1.26.0]# make && make install
nginx编译完成后,默认安装路径为/usr/local/nginx。
发表回复