程序包管理:
应用程序的安装,实际上是解压缩并复制程序包中的文件到指定目录的过程;

应用程序的结构形式:
    源代码:
        包含了整个应用程序完整的编程语言的所有代码的文本文件集合;

        使用源代码安装应用程序:
            编译开发环境:编译器(gcc,GNU C Compiler),开发库,头文件,...

            预处理(预处理器) --> 编译(编译器) --> 汇编(汇编器) --> 链接(链接器) -->可以直接在cpu上运行的二进制程序文件;

        API:Application Programing Interface,应用编程接口;
            POSIX:POS,Portable Operating System,可移植操作系统;

        ABI:Application Binary Interface,应用二进制接口;
            MysqL:
                windows系统:exe,msi
                Unix-like:ELF

    应用程序编程语言:
        系统级编程语言:
            C/C++/go

        应用级编程语言:
            Java/Python/perl/ruby/PHP/bash

    通常情况下,源代码文件是多个文件文档,而且这些文档之间存在着某种联系,可以通过软件项目构建工具,自动的根据程序员提供的文件之间的依赖关系,自动完成应用程序编译;
        软件项目的构建工具:
            C/C++:make
            Java:maven
            Python:buildout

    二进制:
        将源代码经过一系列的编译、汇编、链接等操作之后,得到的可以直接执行的二进制程序及与之相关的其他文件;

    程序包:
        使用分包的方法,将已经编译过的二进制文件及与之相关的其他文件,根据功能分别放入不同的程序包中,以供终端用户自行选择所需功能;并且可以自动的将用户选择的程序包中的文件展开到指定的目录中;也可以在卸载应用程序时,自动将所有文件统一删除;

程序包管理器:
    方便终端用户进行程序的安装、卸载、升级、安装信息查询及校验等工作;

    不同的Linux的发行版本中,有不同的程序包管理器:
        Debian:dpt,Debian Package Toolkits;.deb后缀名的软件包;
        Redhat:rpm,RedHat Package Manager;.rpm后缀名的软件包;
            rpm成为Linux系统中的程序包管理的行业标准;
            rpm is Package Manager;
            rpm使用perl语言编写的,后来又使用C语言将其重写;
        S.u.S.E:rpm,.rpm后缀名的软件包;

        Gentoo:借鉴了FREEBSD的portage程序包管理机制,ports方式,emerge工具;
        ArchLinux:pacman

以CentOS为例,rpm程序包管理器的相关内容:
rpm程序包的命名规则:
源代码包:
name-Version(以后这就代表版本号).tar.gz(纯源代码包)
name-Version.src.rpm(rpm封包的源代码包)
VERSION: Major.Minor.Release
Major:主版本号,通常只有程序进行了重大的功能改进才会修改;
Minor:次版本号,通常在某个主版本中的对某个特定功能进行改进或添加新功能才会修改;
Release:发行版本号,一般修复bug或进行了代码优化都会更改;

如:apache-tomcat-7.0.63.tar.gz

二进制包:
 name-Version-[release].[os].arch.rpm
    VERSION: Major.Minor.Release
    [release]: rpm封包的发行版本号;
    [os]: 此程序包所能够支持的操作系统的版本;如:el7(RHEL7,CentOS7),suse11,fedora21,...
    arch: 此程序包所依赖的硬件平台类型:i386,x86_64(amd64),ppc,sparc,noarch,...
     如:hping3-0.0.20051105-24.el7.x86_64.rpm

    在制作rpm程序包时,通常其制作者会根据自己的理解将程序编译后的结果分别放置于不同的rpm包中,用以实现对于该程序的不同需求;将此种封包方式,称为分包技术;一旦程序被分包,则程序包就被分为两类:
        主程序包:
            name-Version-[release].[os].arch.rpm
        子程序包(分支程序包):
            name-function-Version-[release].[os].arch.rpm
                function:
                    devel:开发包;
                    utils:工具包;
                    libs:共享库包;
                    manual:离线帮助文档包;
                    ...
    程序包的依赖关系:
        程序包的安装顺序,被需要的应该先被安装;

        X,Y,Z --> A
        A --> B,C 
        B --> X
        依赖地狱;

程序包管理的前端工具:
    就是为了解决各个程序包之间的依赖关系,阻止依赖地狱出现;

各个发行版中的前端工具:
    RHEL/CentOS系统:
        yum,Yellow dog Update Modifier
            yum在实施程序包安装、升级、卸载等过程中,会开启事务;
            事务一般具有四个特性:ACID
                所谓事务,即将整个操作过程视为一个不可分割的整体,其中的操作要么全部都执行,要么全部都不执行;

        dnf:Fedora22+

    Debian/Ubuntu系统:
        apt-get:实现安装、卸载、升级、降级等deb包的管理工作;
        apt-cache:实现基于关键字进行搜索功能,管理本地缓存及缓存的元数据;

    S.u.S.E系统:
        zypper

在CentOS系统中,程序包管理器的核心是rpm;
其后端使用rpm命令行工具;
前端使用yum命令行工具或dnf命令行工具;

rpm命令行工具:
    功能:
        1.将编译好的应用程序的各个文件打包成一个或多个程序包;
        2.支持rpm程序包的安装、卸载、升级、降级、查询、校验及程序包信息数据库管理功能;

rpm程序包文件的组成:
    1.被封包的程序文件;
    2.文件清单;
    3.程序在安装或卸载时所需要运行的脚本,共有四种:
        preinstall:在正式的安装操作开始之前所需要运行的脚本,标识为"%pre";
        postinstall:在安装完成之后所需要运行的脚本,标识为"%post";
        preuninstall:在正式的卸载操作开始之前所需要运行的脚本,标识为"%preun";
        postuninstall:在卸载完成之后所需要运行的脚本,标识为"%postun";

    注:在一个rpm程序包中,并不一定同时有这四类脚本,也可以没有这些脚本;

rpm数据信息的数据库(公共):
    目录:/var/lib/rpm

rpm程序包的获取途径:
    1.系统的发行版关盘;
    2.官方的文件服务器或者镜像站点;
        阿里云镜像
        网易镜像
        搜狐镜像
        ...
    3.某个应用程序项目的官方站点;
    4.第三方组织制作的rpm程序包站点:
        Fedora EPEL:Extra Package for Enterprise Linux;红帽官方的社区组织,通常来说,在上述的镜像站点中也会包括EPEL镜像;
    5.某些专用的搜索引擎:
        http://pkgs.org
        http://rpmfind.net
        http://rpm.pbone.net
    6.自己动手制作rpm程序包;

注:除了自己制作的rpm程序包之外,建议在获取程序包后,对其实施完整性校验;

软件包管理器(2)
rpm和yum两个命令行工具

rpm命令行工具:
rpm - RPM Package Manager

QUERYING AND VERIFYING PACKAGES:
   rpm {-q|--query} [select-options] [query-options]

   rpm {-V|--verify} [select-options] [verify-options]

INSTALLING,UPGRADING,AND REMOVING PACKAGES:
rpm {-i|--install} [install-options] PACKAGE_FILE ...

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

   rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

   rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
       [--notriggers] [--test] PACKAGE_NAME ...

安装:rpm {-i|--install} [install-options] PACKAGE_FILE ...
install-options
-h,--hash:用"#"表示安装进度条;
--force:强制安装进行,无论是否有错误发生;不建议使用;
--test:并非真正安装程序包,仅仅是测试安装过程是否能够正常进行;dry run
--nodeps:忽略因为依赖关系导致的安装错误;不建议使用;
--replacefiles:在安装程序包时,程序包中的文件会直接替换已经存在的文件;若不使用该选项,在安装程序包中的文件之前,先将原有的同名文件改名为filename.rpmsave;
--replacepkgs:无需卸载已安装程序包而重新安装之;
--noscripts:在安装前及安装后均不允许安装相关脚本;
--nopre:
--nopost:
--nosignature:跳过校验程序包来源的合法性;
--nodigest:跳过校验程序包完整性;
--oldpackage:降级安装,指定的安装的程序包的版本低于当前已经安装的程序包的版本;

示例:]# rpm -ivh finger-0.17-52.el7.x86_64.rpm

升级:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

相比较而言,两个选项有下列特点:
    -U:既可以对已经安装的程序包进行升级或降级安装,又可以在未安装该程序包时进行全新安装;可以包括部分-i安装模式的功能;
    -F:仅能够对已经安装的程序包进行升级安装;

install-options
    -h,--hash:用"#"表示安装进度条;
    --force:强制安装进行,无论是否有错误发生;不建议使用;
    --test:并非真正安装程序包,仅仅是测试安装过程是否能够正常进行;dry run
    --nodeps:忽略因为依赖关系导致的安装错误;不建议使用;
    --replacefiles:在安装程序包时,程序包中的文件会直接替换已经存在的文件;若不使用该选项,在安装程序包中的文件之前,先将原有的同名文件改名为filename.rpmsave;
    --replacepkgs:无需卸载已安装程序包而重新安装之;
    --noscripts:在安装前及安装后均不允许安装相关脚本;
        --nopre:
        --nopost:
    --nosignature:跳过校验程序包来源的合法性;
    --nodigest:跳过校验程序包完整性;
    --oldpackage:降级安装,指定的安装的程序包的版本低于当前已经安装的程序包的版本;

注意:
1.强烈建议,不要使用此方法对内核进行升级操作;
2.升级安装程序包可能会带来文件的变化,或引入未知的BUG或漏洞,因此,在实施升级操作之前,必须要进行可行性分析;

卸载:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

注意:卸载程序包时,rpm命令的参数时程序名称而非程序包的名称;
    --allmatches:卸载所有能够匹配指定名称的程序包的各个版本;
    --nodeps:卸载时忽略依赖关系;
    --test:并非真正的卸载而是测试卸载过程是否能够正常完成;dry run

查询:rpm {-q|--query} [select-options] [query-options]
select-options
PACKAGE_NAME:指定要查询的程序名称,不是程序包名称;
-a,--all:查询所有已经安装的程序包名称;
-f,--file FILE:查询指定的文件是由哪个程序包提供的;
-p,--package PACKAGE_FILE:查看尚未安装的程序包文件中的文件清单;
--whatprovides CAPABILITY:查询指定的CAPABILITY是由哪个程序包提供的;
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个程序包所依赖;

query-options
    --changelog:查询程序包的历次的版本变更记录;
    -c,--configfiles:查询指定的程序包中包含哪些配置文件;
    -d,--docfiles:查询指定的程序包中有哪些文件文件;
    -i,--info:查询指定程序包的相关属性信息;
    -l,--list:列表显示;
    --provides:列出指定程序包所提供的所有的CAPABILITY;
    -R,--requires:列出指定程序包的依赖关系;
    --scripts:查询程序包所携带的脚本的内容;

常用的选项组合:
    -qa 
    -qf | -qc | -qd | -ql PACKAGE_NAME
    -qpl | -qpc | -qpd | -qpl PACKAGE_FILE

校验:rpm {-V|--verify} [select-options] [verify-options]
校验的状态
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ

认证:
    rpmkeys --import PUBKEY ...
        导入指定的认证密钥的路径;

    rpmkeys {-K|--checksig} PACKAGE_FILE ...
        检查指定的程序包的数字签名信息;

数据库管理:
    rpmdb命令:
    /var/lib/rpm
        --initdb:初始化数据库
        --rebuilddb:从已安装软件包包头重建数据库反向列表

程序包管理的前端工具:
RHEL/CentOS系列发行版Linux中,yum和dnf;

yum命令行工具:
    Yellow dog Updater Modifier

软件仓库:Package Repository
    在软件仓库中,存放有大量的rpm程序包,将所有的rpm程序包的属性信息提取出来,保存于xml格式的文档之中;

利用URL标记并定位软件仓库的位置,并且可以直接读取和缓存软件仓库中事先创建的xml文档的内容到本地;
    URL:统一资源定位符;
        schema://[username@]hostname[:port][/PATH/TO/RESOURCE][parameters][flag]
            schema:
                http
                ftp
                file
                ...

    yum是C/S架构的模型,服务器端其实就是软件仓库,客户端需要在指定的配置文件中填写正确的URL,以能够通过正确的协议访问到软件仓库中的各程序包;
        在服务器上,软件仓库其实就是一个目录,在目录中包含了程序包文件及与这些程序包对应的元数据文件;所有的元数据文件统一放置于名为"repodata"目录中;程序包的元数据通过createrepo命令来构建:

            createrepo命令:
                createrepo - Create repomd (xml-rpm-Metadata) repository
                createrepo [options] <directory>

        在客户端上,使用配置文件到服务器的URL的指向;
            yum的主配置文件:/etc/yum.conf
            yum的片段配置文件:/etc/yum.repos.d/*.repo
                片段配置文件拥有ini风格的配置模式:即分段式配置内容;
                    1.使用"[Repositoryid]"唯一标识出软件仓库;
                    2.其他的配置信息都类似于变量的复制,即key=value;
                    3.在软件仓库的标记下面的所有的配置信息都针对其上面的仓库生效,直到遇到下一对"[]"为止;

                每个片段配置文件中,都可以配置一个或多个仓库的指向;而且,yum程序在查找各个仓库的时候,每一次都可能会查找多个yum仓库,并且从所有的可以使用的仓库中选择所需程序包的最新版本并缓存到本地进行安装、升级等操作;
                    同一个repoid下的多个仓库被称为镜像,只有一个仓库会被使用;
                    多个不同repoid的仓库,可以同时被使用;

.repo文件的内容格式:
[repositoryid]
name=Full name of Repository
baseurl=schema1://hostname/PATH
schema2://hostname/PATH
schema3://hostname/PATH
schema4://hostname/PATH
...
enabled={0|1}
gpgcheck={0|1}
gpgkey=schema://hostname/PATH/TO/PUBLIC_KEY
如:gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
failovermethod={roundrobin|priority}
cost=NUMBER

.repo文件的格式示例:
[myrepo]
name=repository on localhost cdrom
baseurl=
#mirrorlist=
enabled=1
gpgcheck=0
#gpgkey=

yum命令行工具:
yum - Yellowdog Updater Modified
command is one of:

  • install package1 [package2] [...]
  • update [package1] [package2] [...]
  • update-to [package1] [package2] [...]
  • update-minimal [package1] [package2] [...]
  • check-update
  • upgrade [package1] [package2] [...]
  • upgrade-to [package1] [package2] [...]
  • distribution-synchronization [package1] [package2] [...]
  • remove | erase package1 [package2] [...]
  • autoremove [package1] [...]
  • list [...]
  • info [...]
  • provides | whatprovides feature1 [feature2] [...]
  • clean [ packages | Metadata | expire-cache | rpmdb | plugins | all ]
  • makecache [fast]
  • groups [...]
  • search string1 [string2] [...]
  • shell [filename]
  • resolvedep dep1 [dep2] [...]
    (maintained for legacy reasons only - use repoquery or yum provides)
  • localinstall rpmfile1 [rpmfile2] [...]
    (maintained for legacy reasons only - use install)
  • localupdate rpmfile1 [rpmfile2] [...]
    (maintained for legacy reasons only - use update)
  • reinstall package1 [package2] [...]
  • downgrade package1 [package2] [...]
  • deplist package1 [package2] [...]
  • repolist [all|enabled|disabled]
  • repoinfo [all|enabled|disabled]
  • repository-packages <enabled-repoid> <install|remove|remove-or-rein‐
    stall|remove-or-distribution-synchronization> [package2] [...]
  • version [ all | installed | available | group- | nogroups | grouplist |
    groupinfo ]
  • history [info|list|packages-list|packages-info|summary|addon-
    info|redo|undo|rollback|new|sync|stats]
  • load-transaction [txfile]
  • updateinfo [summary | list | info | remove-pkgs-ts | exclude-updates |
    exclude-all | check-running-kernel]
  • fssnapshot [summary | list | have-space | create | delete]
  • fs [filters | refilter | refilter-cleanup | du]
  • check
  • help [command]

    常用选项:
    -y,--assumeyes:对于yum执行过程中与用户交互的问题,全部以"yes"回答;
    -q,--quiet:安静模式,在一次安装事务中,不输出任何信息;
    --enablerepo=repoidglob:
    即使被指定的repoid是被禁用的,也可以通过该选项将其启用;
    --disablerepo=repoidglob:
    即使卑职的repoid是被正常启用的,也可以通过该选项将其禁用;
    --noplugins:在yum执行过程中,明确指出不使用任何插件;
    --nogpgcheck:在yum的执行过程中,明确指出不进行程序包完整性认证;

    command:
    安装程序包:

  • install package1 [package2] [...]

    注意:
        1.如果启用安装时仅给出程序名称,并没有给出程序版本,平台类型及操作系统类型等信息的话,yum将会搜索所有的处于启用状态的仓库,并找到版本最新的程序包进行安装;
        2.如果启用安装时给出的是带有程序版本,平台类型及操作系统类型等信息的程序名称,则在所有的仓库中查找与之完全匹配的程序包进行安装;
        3.如果启用安装时给出的是完整的程序包名称,则只查找特定的程序包进行安装;
        4.程序包名或程序名可以使用通配符(Globbing),* ? [] [^]
    
    升级和降级安装程序包,让程序包在不同的版本之间更迭:
  • update [package1] [package2] [...]
  • downgrade package1 [package2] [...]

    卸载程序包:
  • remove | erase package1 [package2] [...]

    查看程序包:

  • list [available|installed|all]

    查看程序包的相关信息:

  • info [...]

    清除本地相关缓存信息:

  • clean [ packages | Metadata | expire-cache | rpmdb | plugins | all ]

    手动构建本地缓存:

  • makecache [fast]

    显示所有可用的仓库的相关信息,如果缓存消失,则先缓存再显示:

  • repolist [all|enabled|disabled]

    模糊搜索:

  • search string1 [string2] [...]

    程序包组管理命令:

  • groups [...]
    group install
    group update
    group list
    group remove
    group info

    显示指定程序包的所有的依赖关系:

  • deplist package1 [package2] [...]

    恢复yum的安装事务:

  • load-transaction [txfile]

    Fedora提供的第三EPEL仓库,到任何一个镜像站点下载epel-release-latest-7.noarch.rpm程序包,在linux本地使用rpm或yum直接安装,即可在/etc/yum.repos.d目录中生成一个epel.repo的配置文件;

    yum的repo配置文件中的常用变量:
    $basearch:当前计算机所使用的基础平台架构类型:
    i686
    x86_64(amd64)
    ppc
    ppc64

    $releasever:当前操作系统发行版本的主版本号:
    如:CentOS 7.2-1511,其发行版本的主版本号是7;
    CentOS 6.9,其发行版本的主版本号是6;

    $arch:平台架构类型

    $YUM0~$YUM9:yum内置的可以由用户自定义的10个变量;

    http://mirrors.sohu.com/fedora-epel/6/x86_64/
    http://mirrors.sohu.com/fedora-epel/7/x86_64/

    [epel]
    name
    baseurl=http://mirrors.sohu.com/fedora-epel/$releasever/$basearch/

CentOS程序包管理、上的更多相关文章

  1. 如何在iTunes上获取我的应用统计数据?

    我最近发布了一个iPhone应用程序,但我没有看到任何方法来检查应用程序统计数据,就像在GooglePlay中一样.你能告诉我怎么做吗?

  2. ios6 – iOS:在Xcode 4.5中绝对没有办法构建armv6?

    从Xcode4.5开始,不再提供构建armv6设备的可能性.这意味着我们的iPhone2G和3G应用程序没有新版本,这是非常不幸的.有人知道是否会有解决方法?

  3. 使用swiftenv管理swift版本

    swiftenv可以让你轻松安装和快速切换在多个版本之间切换的工具安装swiftenv1、下载swifenv你可以将~更改为你喜欢的目录;2、设置环境变量如果你自定义了[1]中的目录,请将将$HOME更改为您自动的目录3、重启shell安装swift1、使用swiftenv安装swift指定版本还可以列出所有swift版本以及所有快照2、局部安装在你需要安装的目录下执行会在当前目录下生成.swift-version文件,该文件能够覆盖全局,达到局部自定义版本;3、全局安装

  4. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. 利用n工具轻松管理Node.js的版本

    我们在测试写的Nodejs的程序在不同Nodejs版本下是否能正常运行,或是我们想要尝试下最新版 Nodejs 的新特性,但常用的代码需要旧版本的 Nodejs的时候就需要用 Node 版本管理工具,本文介绍的是利用n工具如何轻松管理Node.js的版本,需要的朋友可以参考下。

  6. centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    这篇文章主要介绍了centos+php+coreseek+sphinx+mysql之一coreseek安装篇的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

  7. Centos7 中 Node.js安装简单方法

    这篇文章主要介绍了Centos7 中 Node.js安装简单方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

  8. nodejs脚本centos开机启动实操方法

    在本篇文章里小编给大家整理的是关于nodejs脚本centos开机启动实操方法,有兴趣的朋友们参考下。

  9. Centos PHP 扩展Xchche的安装教程

    这篇文章主要介绍了Centos PHP 扩展Xchche的安装教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  10. Linux CentOS系统下安装node.js与express的方法

    这篇文章主要给大家介绍了在Linux CentOS系统下安装node.js与express的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部