zoukankan      html  css  js  c++  java
  • Linux软件包管理

    软件包分类:源代码包 .tar.gz tar.bz2等格式,能够看到所有的源代码,分为脚本安装(专门人员写好的shell脚本,也属于源代码包)、编译安装等;二进制包:RPM包、系统默认包

    二进制包缺点是依赖性问题;源代码包都是编译,所以避免的依赖性问题

     

    RPM包命令规则:httpd-2.2.15-15.el6.centos.1.i686.rpm

    httpd 软件包名

    2.2.15 软件版本

    15 发布次数

    el6 redhat6系列

    centos 适用于centos平台

    i686 32位计算机系统,x86_64 64位计算机操作系统

    rpm rpm后缀名

     

    centos系统自带的rpm包都在安装光盘下的Packages下,在虚拟机中直接使用mount /dev/sr0 /mnt/cdrom 挂载后即可查看

     

    模块(单个文件)依赖问题解决:

    当安装mysql时:rpm -ivh mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm

    会提示需要依赖libodbcinst.so.2,而这个模块存在于某个rpm包中

    这时候去网站www.rpmfind.net可以查询依赖模块存在于哪个rpm包中,从而安装该依赖包

    通过快捷搜索centos,选择相应的版本

     

    rmp包安装:rpm -ivh 包名 根据依赖继续往下安装,需要安装一大堆

    rpm依赖分为:树形依赖、环形依赖、库文件依赖

    yum是rpm包的在线安装,yum只能安装和卸载包,而查询和校验需要使用rpm命令

     

    rpm包升级命令:rpm -Uvh 包全名  如果没有原始包,那么升级和安装效果一样,如果当前操作版本比已经安装的包版本高,那么就是升级包

     

    所有rpm包安装记录都在:/var/lib/rpm/下的数据库文件中

    rpm包卸载:rpm -e 包名(不是包全名),比如:rpm -e httpd

    卸载时也需要根据依赖性卸载,必须根据提示卸载错误提示的依赖包

    无论安装或者卸载都不要使用:--nodeps (不检查依赖性) 这样会引起很多残留,导致依赖的其他包失效

    Linux删除安装包不会产生任何垃圾,只是删除所有的安装文件即可

     

    rpm包查询,比如:rpm -q httpd

    查询所有的rpm包:rpm -qa

    更常用的是利用管道匹配(包含匹配,查的更全):rpm -qa | grep httpd

    查询软件包详细信息:rpm -qi httpd

    查询未安装的软件包信息:rpm -qip 包全名 查询包全名必须进入目录当中查询,而且必须输入包全名

    查询包的文件释放位置:rpm -ql httpd 可以查看所有文件的列表

    查询未知安装包将要安装的位置:rpm -qlp 包全名 

    根据系统文件名查询属于哪个rpm包:rpm -qf 文件名

    查询rpm包依赖的包:rpm -qR httpd 一般情况下直接安装即可,会给出提示(同样可以使用-q)

     

    rpm包校验:rpm -V httpd 测试软件包所有文件信息是否被篡改,包括内容,大小,属性,权限等

    检验信息:S 大小修改 M权限修改 5 MD5校验修改,,可以用来判断系统是否被入侵

     

    系统命令丢失后,利用rpm包提取恢复过程:比如ls命令丢失:/bin/ls 通过whereis ls查询

    1、查询ls命令属于哪个rpm包:rpm -qf /bin/ls

    2、在光盘rpm包目录外执行(比如家目录):

    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-37.el6.x86_64.rpm | cpio -idv ./bin/ls

    现在就提取到当前目录下

    3、cd ./bin/然后转移文件:cp ls /bin/

    然后ls命令就可以用了

     

    yum源文件位置:/etc/yum.repos.d/

    默认的源文件是:CentOS-Base.repo

    [base] 基本yum源

    name 容器说明

    mirrorlist 镜像源 url备用站点默认注释

    enabled默认为1 生效

    gpgcheck 数字证书验证,建议为1,提高安全性

    gpgkey 证书位置,计算机默认有,在目录/etc/pki/rpm-pgp/下

     

    搭建光盘yum源:

    cd /etc/yum.repos.d/

    使本地yum源失效:mv CentOS-Base.repo CenOS-Bask.repo.bak

    放入光驱,挂载好光盘:mount /dev/sr0 /mnt/cdrom

    vim /etc/yum.repos.d/CentOS-Media.repo

    修改baseurl=file:///mnt/cdrom 剩余两行添加注释

    修改enabled=1 使光盘yum源生效

    然后保存退出

    yum list 可以查看所有的yum源软件列表,查看的同时首先更新本地数据库, 后面的yum源位置和我们设置光盘yum源[media]名称一致,说明yum正常生效

    yum search 关键字 查看yum源相关包,比如:yum search httpd

    yum源安装:yum -y install 包名 (在yum安装中,只有包名,不用包全名;-y是自动回答yes,全自动执行)

    yum -y install gcc 安装C语言编译器

    软件升级:yum -y update httpd (升级的时候一定要做好准备,比如:关闭指定的服务,重启服务器,平台代码更改等,如果有重大漏洞,建议升级,服务器正常运行过程当中,建议稳定性为先,新服务器搭建前考虑所有环境升级到最新稳定版本)

    yum -y update 后面不加软件包,更新所有的软件,包括内核,生产过程中慎用

     

    yum -y remove 包名   卸载指定包

    建议服务器初始使用最小化安装,需要什么软件就安装,尽量不卸载,卸载可能使其他软件或者系统依赖丢失,影响稳定性

     

    LANG=en_US 更改语系为英语

    LANG=zh_CN.utf8 更改为中文

    以上是临时修改

    yum grouplist 列出所有可用的软件组列表

    yum groupinstall 组名 安装指定的组包

    yum groupremove 组名 卸载指定的组包

    关于软件查询,要使用rpm -q一系列的命令查询

     

    rpm或者yum安装,一般不要指定安装位置,否则启动或者卸载会出现位置,建议全部默认

    源码包安装位置一般位于:/usr/local/软件目录或者/usr/软件目录  需要自己指定

    源码包启动一般使用绝对路径加参数启动,或者使用环境变量

    源码包卸载直接删除安装目录即可,不会残留任何垃圾文件

     

    服务器软件有大量用户访问,建议手动安装官方源码包,效率更高,性能更好

    底层支持软件比如gcc之类的建议使用自带的yum源安装或者rpm包即可

     

    安装源码包报错现象:安装终止或者出现error,no等提示

     

    比如Apache源码包安装:httpd-2.4.18.tar.bz2

    tar -jxvf httpd-2.4.18.tar.bz2

    cd httpd-2.4.18

    软件配置检查,定义功能选项,检测环境是否符合要求,一般情况下必须指定安装位置,目录不需要手工建立:

    ./configure --prefix=/usr/local/apache

    编译:make

    如果编译报错,则清除编译的缓存和临时文件,重新开始:make clean

    安装:make install 如果这一步报错,需要执行make clean 并且删除目录:rm -rf /usr/local/apache

  • 相关阅读:
    DBCC CHECKDB 数据库或表修复
    数据一致性错误
    SQL Server如何用最小的磁盘来时时访问Oracle
    What 's the meaning of "WindowsonWindows" layer?
    linux解压 tar命令
    ZendStudio中设置SVN:ignore
    微盾PHP脚本加密专家解密算法
    修改linux服务器的时间
    phpmyadmin是空白或很慢的解决办法
    linux 下安装json
  • 原文地址:https://www.cnblogs.com/wxisme/p/5198901.html
Copyright © 2011-2022 走看看