`

Linux下软件包管理、服务管理

阅读更多

Linux 软件包管理

软件包的分类

1,源码包  (能看到源码)  优点:能够看到源码,可以自己修改源码,可以自由的选择所需的功能,源码包是编译安装的,更加适合自己的操作系统,效率更高, 卸载方便。
缺点:安装步骤较多,尤其安装较大软件集合(eg:lamp)时容易出现拼写错误,编译时间长,安装时间长,由于是编译安装,安装一旦报错,新手很难解决。


 1.1脚本安装包  安装文件的入口是install.sh 此种软件不多。

 
2,二进制包(RPM包、系统默认包)
 二进制包最大的特点是:经过编译的。好处:省去了编译过程,安装速度快,坏处:经过编译已经无法查看源码,功能选择不灵活,依赖性。

 

 

 rpm包有两种管理方式
 包全名与包名
 包全名:操作的包是没有安装的软件包时使用包全名。而且要注意路径。
 包名:操作的包是已经安装的软件包时是用包名。是搜索/var/lib/rpm/中的数据库。

 

 一:rpm 命令管理(手动安装rpm包因为依赖关系使得非常麻烦)

是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
 rmp 安装
 语法:rpm -ivh 包全名
 选项:-i   安装(install)
       -v   显示详细信息(verbose)
       -h   显示进度 (hash)
       -nodeps  不检测依赖性


 rpm 升级
 语法:rpm -Uvh 包全名     注意U是大写
       -U  升级(upgrade)


 rpm 卸载
 语法:rpm -e 包名
       -e 卸载 (erase)
       -nodeps  不检测依赖性


 rpm 查询 是否安装
 语法:rpm -q 包名
       -q   查询(query)
       -a   所有安装包 
  eg: rpm -q httpd 查询httpd 软件包
    rpm -qa  查询系统中的所有软件安装包
    rpm -qa | grep httpd  查询软件包httpd的安装信息

   在所有软件安装包中使用all查询加管道符 实现和上面一样的效果。

    eg:rpm -qa | grep jdk  查询软件包jdk的安装信息

   注意:像解压版的tomat、mongodb 通过上述命令无法查到。

   


 rpm 查询  安装包的详细信息
 语法:rpm -qi 包名
  -i查询安装信息(infomation)
  -p查询未安装的软件安装包信息(package)
  eg: rpm -qi httpd 查询已经安装了的httpd 软件包的详细信息
      rpm -qip xxxx(包全名)   查询未安装的相关安装包"xxxx"的全名


 rpm 查询 软件包的安装路径
 语法:rpm -ql 包名
  -l  列表(list)
  -p查询未安装的软件安装包信息(package)


 rpm 查询 系统文件属于哪个RPM包
 语法:rpm -qf 系统文件名
  -f 查询系统文件属于哪个软件包(file)
 注意:只有通过包安装出来的系统文件才能被查询的到,如果是自己创建的文件是查询不到的。
 
 rpm 查询 软件包的依赖性
 语法:rpm -qR 包名      注意R是大写
  -R  查询软件安装包的依赖性(requires 依赖)
  -p查询未安装的软件安装包信息(package)    查询未安装的软件包时要用包全名
  eg:rpm -qR httpd   查询当前系统已经安装了的httpd包的相关依赖包
 
 rpm 包校验
 语法:rpm -V 已安装的包名 (verify 校验)
  eg:rpm -V httpd  校验httpd软件包
  
 
 rpm 文件提取   作用提取误操作删除的rpm文件
 语法:rpm2cpio 包全名 | cpio -idv .文件
  eg:rpm2cpio /media/cdrom/Packages/coreutils-8.4-31.el6.x86_64.rpm | cpio -idv ./bin/ls  提取rpm包下的ls命令到当前目录的/bin/ls目录下    
  分解上面这条复杂的语句(辅助理解上面的命令)
     rpm2cpio 将rpm文件转换成cpio文件
  . 表示把指定文件提取到当前目录下
  cpio 选项 [文件|设备]
   -i copy-in 模式还原
   -d 还原时自动新建目录
   -v 显示还原过程
 
 依赖相关包(xxx.rpm)、依赖相关模块()、依赖库文件(xxxxx.so.0)
 查找模块依赖的相关网站:http://www.rpmfind.net

 

二:yum 在线管理 
 配置yum源   
  yum源的跟路径:/etc/yum.repos.d/    .repo结尾的就是合法的yum源
  一:网络yum源(能够联网才可以) 
   自己设置指定的网络yum源

 

二:本地光盘yum源
  光盘yum源搭建
  a,挂载光盘
  mount /dev/cdrom /media/cdrom
  b,让网络yum源文件失效
  方法一:非光盘yum源改为非.repo  (.bak)
  方法二.repo 文件 enable = 0 失效 enable = 1生效
  c,让光盘yum源生效 修改光盘yum源文件
  [名称]
  name=说明信息
  baseurl=file:///media/cdrom/  
  #配置地址   file://表示是本地文件路径   /表示从跟路径开始  后面剩下的两个file://注释掉
  enable=1 
  #1表示启动 0表示不启用
  
  光盘yum源安装好处:省去了下载的时间,没有网络也能安装。
  光盘yum源安装不足:只能用光盘中的rpm文件,不能使用到网上的最新版本。

 


  常用的yum命令
  yum 查询
  yum list 查询所有的软件包列表
  yum search 关键字 根据关键字搜索软件包  关键字是指包名  


  yum 安装
  yum -y install 包名  安装指定的包
      install 安装
      -y 自动回答yes

eg:yum -y install man   安装man(帮助文档) 包 


  yum 升级
  yum -y update 包名  升级指定的包
      update 升级
      -y 自动回答yes
  注意:升级CentOS服务器内核后需要做一些配置 因此只能在本地操作,远程升级后无法再使用了


  yum 卸载
  yum -y remove 包名  卸载指定的包
      remove 升级
      -y 自动回答yes  

    eg:yum -y remove java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 卸载java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64软件包。

  注意:yum卸载慎用,因为yum卸载相关软件,有可能导致其它软件启动不起来。
  
  yum 软件组管理命令
  yum grouplist   软件包组列表
  yum groupinstall 软件包组名  安装指定软件包组
  yum groupremove  软件包组名  卸载指定软件包组
  

   源码包安装过程
  1,安装准备
  安装gcc编译器(C语言编译器)
  下载源码包  xxxx.tar.gz 
   源码包的默认保存位置/usr/local/src
   源码包的默认安装位置/usr/local/软件名
  2,上传到Linux 解压
  进入解压后的包中可以看INSTALL 里面有安装启动说明
  
  3,配置、编译、安装(configure、make、make install)
  配置./configure 作用
   a,定义安装的功能点(定义安装路径)。
   b,检测系统环境是否符合要求。
   c,将定义好的功能选项和检测系统环境变量的信息都写入Makefile文件用于后续的编辑。
  eg:/configure --prefix=/usr/local/apache --enable-module=so
  编译 make
     如果编译报错了,可以通过make clean清空编译产生的临时文件。
  安装
  4,源码包卸载(只能直接删除安装文件)
  rm -rf /usr/local/apache
  5,将源码包安装的软件添加为Linux服务的方法
  ????
  我们该怎么选择源码包还是rpm包   根据源码包和rpm包的优劣来权衡

 

  源码安装和rpm包安装的区别
  源码包安装的路径是用户手工自定义安装路径的,一般安装在/usr/local/软件名
  rpm包的安装路径是默认安装位置,一般是:下图。可以用(rpm -ql 包名)查询验证



 
  rpm包安装的默认路径(可以改,但是一般不建议改)
  rpm包安装的软件启动有以下两种启动方式:
  1,服务文件绝对路径启动
  /etc/rc.d/init.d/httpd start
  是rpm包服务文件的绝对根路径是:/etc/rc.d/init.d/
  2,服务启动
  service httpd start
  service命令是红帽的专有命令
  源码包安装的启动方式
  /usr/local/apache/bin/apachectl start

 

  源码包的脚本安装方法(类似Windows下的exe文件安装)
  
  解压开有 setup.sh文件
  安装:./setup.sh

 

 

 

Linux 服务管理

 

一:服务的分类

1,rpm包默认安装的服务

 

1.1,独立的服务

 

1.2,基于xinetd服务

 

2,源码安装的服务

 

二:查询已静安装的服务

1,rpm包安装的服务:

chkconfig --list     #查看服务自启动状态,可以查看到所有

 

2,源码包安装的服务

查看服务安装位置,一般是/usr/local/下

 

三:服务管理

a,独立安装的服务的管理

/etc/init.d(/etc/rc.d/init.d):启动脚本的位置

/etc/sysconfig/:初始化环境配置文件位置

/etc/:配置文件位置

 

启动:

a,/etc/init.d/独立服务名 start|stop|status|restart

b,service 独立服务名 start|stop|status|restart

注意:service 命令是红帽专有命令

 

自启动:

a,chkconfig命令

chkconfig [--level 运行级别] [独立服务名] [on|off]

 

b,修改/etc/rc.local(/etc/rc.d/rc.local)配置文件

 

c,使用ntsysv命令管理自启动

 

注意:ntsysv 命令是红帽专有命令

 

b,基于xinetd安装的服务的管理(现在越来越少)

/etc/xinetd.d/:基于xinetd服务的启动脚本的位置

/etc/xinetd.conf:xinetd配置文件位置

 

 

启动:

修改/etc/xinetd.d/服务名 文件 将disable设置为no

disable=no

 

重启xinetd服务:service xinetd restart

 

自启动:

a,chkconfig命令

chkconfig [--level 运行级别] [独立服务名] [on|off]

 

b,使用ntsysv命令管理自启动

 

注意:开启基于xinetd的服务时候会将其设置为自启动,关闭基于xinetd的服务的自启动时会关闭该服务。二者是相同的。

 

 

c,源码安装的服务的管理

 

启动:(使用绝对路径)

eg:/usr/local/apache/bin/apachectl start          手动启动apache

说明:INSTALL安装说明文件里面会写明启动方式。

 

自启动:

a,修改/etc/rc.local(/etc/rc.d/rc.local)配置文件

加入

/usr/local/apache/bin/apachectl start

 

b,让源码包命令被服务管理命令识别(软链接做法)

第一步:

ln -s /usr/local/apache/bin/apachectl  /etc/init.d/apache

第二步:

vi/etc/init.d/apache

# chkconfig: 35 70 30      #运行级别 启动顺序 关闭顺序

# description: Apache

 

注意:启动顺序和关闭顺序不能和系统现有的服务的启动顺序和关闭顺序相同。

/etc/rc.d/

 

第三步:

chkconfig --add apache

注意:不推荐这么做,因为这样做了后会导致和yum安装的混淆

  • 大小: 51.2 KB
分享到:
评论

相关推荐

    实验七 linux软件包管理.doc

    【实验七 Linux 软件包管理】 在Linux操作系统中,有效的软件包管理对于系统的维护和更新至关重要。RPM(Red Hat Package Manager)是Linux发行版中广泛使用的软件包管理系统,用于安装、查询、升级和卸载软件。本...

    掌握linux软件包管理方法。熟悉图形模式下软件管理工具的使用。

    总结,Linux软件包管理涉及RPM命令的使用,如`-i`、`-ivh`参数,以及图形化的软件管理工具。同时,理解和熟练使用Vi编辑器是Linux环境中必备的技能之一。理解这些知识点将有助于提升你在Linux环境中的操作能力。

    Linux软件包管理与基本网络配置

    实验六 Linux软件包管理与基本网络配置

    Linux下软件包的安装与管理

    总结来说,Linux下的软件包管理涉及到多个工具和方法,理解并熟练掌握这些工具对于Linux用户和管理员来说至关重要。无论是在生产环境中维护服务器,还是在个人电脑上安装软件,熟悉这些命令和概念都能大大提高效率。

    甲骨文新推Oracle Linux管理软件包

    Oracle Linux管理软件包以Oracle企业管理器10g丰富和自上而下的应用管理功能为基础,并在此基础上进行了扩展。利用Oracle企业管理10g的系统功能,一群Linux服务器可以组成一个专门的、具有其他应用服务组件的组,...

    Linux软件包管理简介

    ### Linux软件包管理知识点 #### 一、软件包基本类型 在Linux系统中,软件包主要分为两大类:源码包和二进制包。 1. **源码包**: - **定义**:源码包是包含了软件的源代码(如C语言源代码)的打包形式。 - **...

    Linux 安装和软件包管理

    ### Linux安装和软件包管理知识点详解 #### 一、硬盘布局与Linux文件系统 在Linux环境中,硬盘布局和文件系统的管理至关重要。这部分内容主要涵盖了初级管理(LPIC-1)考试101的主题1.102.1,权重为5。我们将详细...

    linux软件包管理

    ### Linux软件包管理详解 #### 一、引言 在Linux操作系统中,软件包管理是一项非常重要的技术。通过有效的软件包管理,用户可以方便地安装、更新或删除各种软件包,确保系统的稳定运行和功能扩展。本文将详细介绍...

    linux-软件包管理-rpm和yum使用视频教程

    06.1 软件包管理-简介.mp4 06.2.1 软件包管理-rpm命令管理-包命名与依赖性.mp4 06.2.2 软件包管理-rpm命令管理-安装升级与卸载.mp4 06.2.3 软件包管理-rpm命令管理-查询.mp4 06.2.4 软件包管理-rpm命令管理-校验...

    Linux软件包管理

    Linux软件包管理是操作系统维护和优化的关键环节,涵盖了源码包和二进制包的安装方式,特别是RPM和YUM这两种主流的包管理工具。本文将深入探讨这两种方法及其相关知识点。 首先,软件包主要分为两类:源码包和二...

    Linux软件包管理器.pdf

    Linux软件包管理器是一种用于安装、卸载、管理和维护Linux系统软件的工具。它能够帮助用户更轻松地管理软件的安装、更新、配置和删除。Linux软件包管理器的主要功能包括自动下载软件包、解决软件包之间的依赖关系、...

    实验六-linux软件包管理.docx

    实验六-Linux软件包管理 Linux软件包管理是Linux操作系统中的一种软件管理方式,用于管理Linux系统中的软件包。 Linux软件包管理主要包括软件包的查询、安装、删除和升级等操作。 1. 软件包查询 在Linux系统中,...

    计算机Linux操作系统案例教程软件包管理PPT课件.pptx

    在Linux中,软件包管理是一项核心功能,使得用户能够方便地安装、更新和移除软件。本教程主要介绍了Linux中的RPM(Red Hat Package Manager)软件包管理系统。 1. RPM软件包管理: RPM是一种用于管理和维护软件的...

    Linux系统配置及运维项目化教程课件—Linux软件包及文档管理.pdf

    Linux系统配置及运维项目化教程课件—Linux软件包及文档管理.pdfLinux系统配置及运维项目化教程课件—Linux软件包及文档管理.pdfLinux系统配置及运维项目化教程课件—Linux软件包及文档管理.pdfLinux系统配置及运维...

    Linux服务器配置与管理:软件包管理与服务进程.pptx

    【Linux服务器配置与管理:软件包管理与服务进程】 在Linux服务器管理中,软件包管理和服务进程是非常关键的环节。了解这些概念和技术可以帮助系统管理员高效地维护和优化服务器。本内容将详细介绍Linux中的RPM...

Global site tag (gtag.js) - Google Analytics