使用RPM&YUM进行基础软件管理

上周花时间研究了下RPM打包的方法,今天和团队分享了一次。之前我们采用shell脚本进行批量的MySQL安装,虽然通过不断改进的脚本,批量安装部署的效率已经算不错。但即使是安装MySQL这样简单的事情,不断提升效率,在大规模的环境中也是会带来更多的收益。

追求简单,做到极致,共勉之。

如何在AIX上安装gcc

默认情况下AIX是不带编译器,如果需要编译一些源代码,则可以安装linux上常用的gcc。AIX上支持安装linux的RPM包。首先要安装RPM包支持,下载地址为:
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/INSTALLP/ppc/rpm.rte

使用installp安装即可,如下表示已经安装

lslpp -l rpm.rte
  Fileset                      Level  State      Description         
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  rpm.rte                   3.0.5.40  COMMITTED  RPM Package Manager

Path: /etc/objrepos
  rpm.rte                   3.0.5.40  COMMITTED  RPM Package Manager

然后去下载gcc的安装包,进入下面的链接即可下载IBM提供的AIX Toolbox for Linux Applications,包括gcc:
http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html
AIX5.3上的gcc下载地址为:
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/gcc/gcc-4.2.0-3.aix5.3.ppc.rpm

root>#rpm -i gcc-4.2.0-3.aix5.3.ppc.rpm
root>#gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld 
--enable-languages=c,c++,java --prefix=/opt/freeware 
--enable-threads --enable-version-specific-runtime-libs 
--host=powerpc-ibm-aix5.3.0.0 --target=powerpc-ibm-aix5.3.0.0 
--build=powerpc-ibm-aix5.3.0.0 --disable-libjava-multilib
Thread model: aix
gcc version 4.2.0

卸载rpm包遭遇error: specifies multiple packages

准备在Redhat Linux系统上安装MySQL5.1,先卸载自带的低版本MySQL,结果不知怎么搞的,同一个package出现了两次,版本也都是一样的:

rpm -qa | grep mysql
mysqlclient10-3.23.58-4.RHEL4.1
mysql-4.1.20-2.RHEL4.1
mysql-4.1.20-2.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1

尝试卸载:

rpm -e mysqlclient10-3.23.58-4.RHEL4.1
error: “mysqlclient10-3.23.58-4.RHEL4.1″ specifies multiple packages

通过man rpm,发现–allmatches应该可以解决这个问题:

–allmatches
Remove all versions of the package which match PACKAGE_NAME. Normally an error is issued if PACKAGE_NAME matches
multiple packages.


rpm -e –allmatches mysqlclient10-3.23.58-4.RHEL4.1
rpm -e –allmatches mysql-4.1.20-2.RHEL4.1
warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave

ok,系统自带的旧版本MySQL卸载完成。

无觅相关文章插件,快速提升流量