一般Linux软件安装有这么几种方式:
那么其中rpm与yum有什么区别呢?
RPM管理支持事务机制。增强了程序安装卸载的管理。
RPM的功能:打包、安装、查询、升级、卸载、校验、数据库管理。
1、RPM的缺点
由于Linux中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM无法解决软件包的依赖关系。
2、RPM包
用RPM工具可以将二进制程序进行打包,包被称为RPM包。RPM包并不是跨平台的。RedHat的RPM包与SUSE的RPM包不能混用。实际上RedHat的安装,初始软件也都是使用RPM包进行安装的。
源程序的命名规范 : name-version.tar.{gz|bz2|xz}
版本号:major.minor.release
例:bash-4.3.1.tar.xz
RPM包的命名规范 : name-version-release.os.arch.rpm
name:程序名称。
version:程序版本号。
release(发行号):用于标识RPM包本身的发行号,与源程序的release号无关。
os:即说明RPM包支持的 *** 作系统版本。如el6(即rhel6)、centos6、el5、suse11。
arch:主机平台。如i686、x86_64、amd64、ppc(power-pc)、noarch(即不依赖平台)
例:bash-4.3.2-5.el6.x86_64.rpm
3、安装RPM包
命令格式: rpm -i /PATH/TO/RPM_FILE
一般组合起来使用:-ivh
命令格式: rpm -ivh PATH/TO/RPM_FILE
4、卸载RPM包
命令格式: rpm -e 包名
查询RPM相关信息
命令格式: rpm -q 包名
查询所有已经安装包: rpm -qa
5、RPM的数据库
数据库文件位于: /var/lib/rpm
若库损坏,很多RPM的查询将无法使用。
YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。
YUM在安装RPM时,会从服务器下载相应包,且缓存在本地。
使用YUM进行RPM包的管理,非常简单方便。
1、YUM客户端的使用
YUM客户端的配置
YUM的配置方式是基于分段配置的。
主配置文件: /etc/yum.conf
YUM的片段配置: /etc/yum.repos.d/*.repo
主配置文件配置了一个特殊的仓库,名称为main。main是为其他仓库提供默认的全局配置的。
配置文件的说明:
查看CentOS-Base.repo配置文件:
对配置文件中的一些配置项作说明:
2、yum命令的使用
yum的命令形式一般是如下: yum [options] [subcommand] [package ...]
yum list相关命令
获取yum仓库中所有的包信息。
命令: yum list all
结果说明:
查看yum仓库中指定包名的软件包,可以使用通配符。
命令: yum list all mysql*
查看仓库
查看当前能够使用的yum仓库
命令: yun repo list
显示所有仓库
命令: yum repo list all
清空本地yum的缓存
yum仓库若更新,则本地缓存就没有意义了。所以本地缓存需要清空。
命令格式: yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
手动在本地建立缓存
yum客户端会下载远程yum的文件。在本地生成缓存。
命令: yum makecache
安装应用程序
基本格式: yum [-y] install 包1 包2 ... 包n
说明:
若安装多个包,则使用包名之间使用空格隔开。
安装过程中,yum会询问用户是否安装,使用yum -y 选项,表示自动回答为yes。
卸载软件包
命令格式: yum remove 包1 包2 ... 包n
注意:若该包被依赖,则该卸载可能会导致一些问题。如A依赖B,若卸载B,则A也会被卸载。
上面都是比较常用的命令,如果基本上用过的话那么在这一块的内容也就基本达标了。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
但RPM要更进一步、更聪明一些就需要多做些工作了。 聪明的安装 从一般意义上说,软件包的安装其实是文件的拷贝,即把软件所用的各个文件拷贝到特定目录。RPM安装软件包,无外乎此。但RPM要更进一步,更聪明一些。在安装前,它通常要执行以下 *** 作: RPM格式的软件包中可包含有依赖关系的描述,如软件执行时需要什么动态链接库,需要什么程序存在及版本号要求等。当RPM检查时发现所依赖的链接库或程序等不存在或不符合要求时,默认的做法是中止软件包安装。 有的软件与某些软件不能共存,软件包制作者会将这种冲突记录到RPM软件包中。安装时,若RPM发现有冲突存在,将会中止安装。 此类程序由软件包制作者设定,需要在安装前执行。通常是检测 *** 作环境,建立有关目录,清理多余文件等等,为顺利安装作准备。 RPM对配置文件(Configfiles)有着特别的处理。因为用户常常需要根据实际情况,对软件的配置文件做相应的修改。如果安装时简单地覆盖了此类 文件,则用户又得重新手工设置,很麻烦。这种情况下,RPM做得比较明智:它将原配置文件换个名字保存了起来(原文件名后缀加上.rpmorig),用户 可根据需要再恢复,避免重新设置的尴尬。 这是最重要的部分,也是软件包安装的关键所在。在这一步,RPM将软件包解压缩,将其中的文件一个个存放到正确的位置,同时,文件的 *** 作权限等属性相应设置正确。 7.更新RPM数据库 8.执行安装时触发脚本程序(Triggerin) rpm -i [安装选项1 安装选项2.] 包裹文件1 包裹文件2. 1.典型的命名样式(常用): 注:体系号指的是执行程序适用的处理器体系,如i386体系,sparc体系等。体系号为src时表明为源代码包,否则为执行程序包。 如abc-3.2-1.i386.rpm为执行程序包,软件名为abc,版本号为3.2,释出号为1,适用体系为i386,而abc-3.2-1.src.rpm则为源代码包。 * FTP方式的命名格式:ftp://[用户名[:密码]@]主机[:端口]/包裹文件 如ftp://ftp.xxx.com/yyy.rpm(使用匿名传输,主机ftp.xxx.com,包裹文件yyy.rpm)如ftp://24.109.164.55:1024/pub/yyy.rpm(匿名FTP传输,主机IP:24.109.164.55,使用1024端口,包裹文件在/pub目录下)如ftp://zhsoft@ftp.xxx.com/yyy.rpm(主机ftp.xxx.com,FTP用户名zhsoft,如有密码,RPM将会自动提示输入)如ftp://zhsoft:password@ftp.xxx.com/yyy.rpm(主机ftp.xxx.com,FTP用户名zhsoft,密码password)。 注:括住的内容可选。主机可以是主机名,也可是IP地址。包裹文件可含目录信息。如未指定端口,则RPM默认使用80端口。1、安装cmake
tar zxf cmake-2.8.7.tar.gz
pushd cmake-2.8.7
./bootstrap &&gmake &&gmake install
popd
2、创建所需user及group及dir
groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /var/lib/mysql
chown -R mysql.mysql /usr/local/mysql /var/lib/mysql
3、安装mysql
tar zxf mysql-5.5.20.tar.gz
pushd mysql-5.5.20
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_USER=mysql
makemake install
popd
4、制作配置文件
cat >my.cnf <<EOF
[mysqld]
datadir=/var/lib/mysql
user=mysql
socket=/var/lib/mysql/mysql.sock
#Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#skip-networking
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EOF
5、初始化数据库
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/var/lib/mysql --user=mysql
6、定制启动脚本
cp mysql-5.5.20/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
7、修改管理员密码
./bin/mysqladmin -u root password 'password1'
8、rpm安装后更改mysql数据存放位置
vi /usr/local/mysql/my.cnf
修改
datadir=/var/lib/mysql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)