知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux学习笔记之软件包的管理

发布时间:2014-09-05 15:35:04作者:知识屋

Linux学习笔记之软件包的管理
 
1、RPM(RPM Package Manager)
 格式:例如cvs.1.11.2-10.i386.rpm
    cvs:软件的名称  1.11.2:软件包的版本号其中包括主版本号和次版本号  i386:软件所运行的硬件平台  rpm:文件扩展名  www.zhishiwu.com  
 卸载:rmp -e cvs  [--nodeps]如果其它软件包括有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载
 查询:rmp -qa 软件包名称
    [root@CentOS-Test Packages]# rpm -aq sudo    查询此软件包所依赖的其它包
    [root@CentOS-Test /]# rpm -qf /etc/services  查询文件所属的文件包
    setup-2.8.14-16.el6.noarch
    [root@CentOS-Test Packages]# rpm -qip sudo-1.7.4p5-11.el6.i686.rpm  查询未安装的软件包是做什么用的
    [root@CentOS-Test /]# rpm -qc sudo   查看已安装rpm的配置文件
   /etc/pam.d/sudo
   /etc/pam.d/sudo-i
   /etc/sudo-ldap.conf
   /etc/sudoers
    [root@CentOS-Test /]# rpm -ql sudo   sudo软件包安装路径以及都安装了哪些文件,一般/etc下面的都是配置文件  /usr/bin下面的都是命令
 sudo-1.7.4p5-11.el6.i686
 安装:rmp -ivh 软件包名
    rpm -ivh --excludedocs  软件包名    安装时安装文档
    rpm -ivh --prefix path  软件包名     安装时指定安装路径
    rpm -ivh --test 软件包名   只对安装进行测试并不实际安装
    
  光盘的挂载:
  mkdir /mnt/cdrom  如果没有可以先行创建此文件夹
  mount /dev/cdrom /mnt/cdrom  将光盘文件挂载到刚才创建的文件夹中
  [root@CentOS-Test ~]# mount /dev/cdrom /mnt/cdrom
  mount: block device /dev/sr0 is write-protected, mounting read-only
  [root@CentOS-Test Packages]# ls | grep sudo
  sudo-1.7.4p5-11.el6.i686.rpm
 升级安装:rpm -Uvh 软件包名称
 覆盖安装:rpm -ivh --replacepkgs  软件包名称  
 文件冲突时安装  rpm -ivh --replacefiles 软件包名称
 未解决的依赖关系 rpm -ivh --nodeps 软件名称   强制安装,解决安装时的依赖关系,但是十有八九不能用
 2、yum
 优点:自动解决软件包依赖关系   方便的软件包升级  前提条件是必须接入互联网
 安装:yum install 软件包名称
 检查更新: yum check-update 软件包名称
 更新: yum update
 软件包查询:  yum list |grep sudo    yum list |grep samba    查找到的是yum源上的软件包
 软件包信息:yum info  sudo   用于查看软件包的信息
 卸载:yum remove 软件包名称
 帮助:yum --help
 3、校验
 md5sum  文件名   只校验文件的内容
 [root@CentOS-Test data]# md5sum lhc_xx.txt 
 490b812cb03bacbf5fc5fadc4029efa2  lhc_xx.txt
 [root@CentOS-Test data]# echo "#this is a test file" >>lhc_xx.txt 
 [root@CentOS-Test data]# md5sum lhc_xx.txt 
 10be8cdfcd22f7cbd1494141a03e67f8  lhc_xx.txt
 rpm -V 软件名称     参数如下:
 5:文件的md5校验值  S:文件的大小  L:链接文件  T:文件的创建时间  D:设备文件   U:文件的用户  G:文件的用户组  M:文件的权限
 4、RPM包的管理
 软件包文件提取
 例如:
  不小心删除了/etc/inittab文件 或从光盘进入修复模式
  [root@CentOS-Test bak]# rm -f /etc/inittab
  查找inittab文件所属的rpm包
  [root@CentOS-Test bak]# rpm -qf /etc/inittab
  initscripts-9.03.31-2.el6.centos.i686
  挂载光盘到mnt/cdrom
  [root@CentOS-Test bak]# mount /dev/cdrom /mnt/cdrom
  从光盘中的rpm包中恢复inittab文件到当前的目录下
  [root@CentOS-Test bak]# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm |cpio -idv ./etc/inittab
  ./etc/inittab
  11182 块
  复制./etc/inittab文件到/etc/inittab
  [root@CentOS-Test bak]# cp etc/inittab /etc/inittab
 5、源代码包安装   
  源代码包比较灵活可以再安装时指定路径或其它选项,安装之前必须有编译器 gcc或其它编译器。安装步骤一般为
  安装gcc编译器(可以使用yum安装)  解压缩  执行./confgure  make  make install
  以安装proftpd为例
  解压缩软件包
  [root@CentOS-Test software]# tar -xzvf proftpd-1.3.4b.tar.gz 
  进入到解压缩后的目录然后显示文件列表
  [root@CentOS-Test proftpd-1.3.4b]# ls
  acconfig.h    configure.in  install-sh     modules              README.controls  README.modules         src
  aclocal.m4    contrib       lib            NEWS                 README.cygwin    README.PAM             stamp-h.in
  ChangeLog     COPYING       locale         proftpd.spec         README.DSO       README.ports           tests
  config.guess  CREDITS       ltmain.sh      README               README.facl      README.Solaris2.5x     utils
  config.h.in   doc           m4             README.AIX           README.FreeBSD   README.Unixware
  config.sub    include       Makefile.in    README.capabilities  README.IPv6      RELEASE_NOTES
  configure     INSTALL       Make.rules.in  README.classes       README.LDAP      sample-configurations
  找到文件中的configure,执行并加入--prefix参数指定安装路径
  [root@CentOS-Test proftpd-1.3.4b]# ./configure --prefix=/usr/local/proftpd
  checking build system type... i686-pc-linux-gnu
  checking host system type... i686-pc-linux-gnu
  checking target system type... i686-pc-linux-gnu
  checking for gcc... no
  checking for cc... no
  checking for cl.exe... no
  configure: error: no acceptable C compiler found in $PATH
  See `config.log' for more details.
  提示未找到gcc的编译器,故需要先安装gcc的编译器
  [root@CentOS-Test proftpd-1.3.4b]# rpm -qa gcc
  [root@CentOS-Test proftpd-1.3.4b]# yum install gcc
  然后再次执行[root@CentOS-Test proftpd-1.3.4b]# ./configure --prefix=/usr/local/proftpd
  编译:make 在此之前一定要安装编译器
  [root@CentOS-Test proftpd-1.3.4b]# make
  安装  make install
  [root@CentOS-Test proftpd-1.3.4b]# make install
  
 6、脚本安装
    例如:webmin、OpenOffice
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜