• 安装软件包


     安装软件包命令:

    一、rpm -i 命令

    [root@localhost Packages]# rpm -i vsftpd-3.0.2-22.el7.x86_64.rpm

    警告:vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

    查看软件包的详细信息:

    [root@localhost Packages]# rpm -qi vsftpd

    Name        : vsftpd

    Version     : 3.0.2

    Release     : 22.el7

    Architecture: x86_64

    Install Date: 2017年11月02日 星期四 06时08分55秒

    Group       : System Environment/Daemons

    Size        : 356236

    License     : GPLv2 with exceptions

    Signature   : RSA/SHA256, 2017年08月11日 星期五 04时17分26秒, Key ID 24c6a8a7f4a80eb5

    Source RPM  : vsftpd-3.0.2-22.el7.src.rpm

    Build Date  : 2017年08月03日 星期四 14时10分20秒

    Build Host  : c1bm.rdu2.centos.org

    Relocations : (not relocatable)

    Packager    : CentOS BuildSystem <http://bugs.centos.org>

    Vendor      : CentOS

    URL         : https://security.appspot.com/vsftpd.html

    Summary     : Very Secure Ftp Daemon

    Description :

    vsftpd is a Very Secure FTP daemon. It was written completely from

    scratch.

    [root@localhost Packages]#

    软件包安装在哪里

    [root@localhost Packages]# rpm -ql vsftpd

    系统中安装了多少个rpm包,可以验证到底是否成功安装

    [root@localhost Packages]# rpm -qa

    [root@localhost Packages]# rpm -qa | grep vsf

    vsftpd-3.0.2-22.el7.x86_64

    [root@localhost Packages]#

    知道了某个文件,要查哪个软件包产生:

    [root@localhost Packages]# rpm -qf slapi-nis-0.56.0-4.el7.x86_64.rpm

    文件 /run/media/root/CentOS 7 x86_64/Packages/slapi-nis-0.56.0-4.el7.x86_64.rpm 不属于任何软件包

    [root@localhost Packages]#

    删除软件

    [root@localhost Packages]# rpm -e vsftpd

    查看是否删除成功

    [root@localhost Packages]# rpm -q vsftpd

    未安装软件包 vsftpd

    [root@localhost Packages]#

    rpm –i的问题:httpd-2.4.6-67.el7.centos.x86_64.rpm依赖别的软件包,需要先按照别的软件包

    [root@localhost Packages]# rpm -i httpd-2.4.6-67.el7.centos.x86_64.rpm

    警告:httpd-2.4.6-67.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

    错误:依赖检测失败:

            /etc/mime.types 被 httpd-2.4.6-67.el7.centos.x86_64 需要

            httpd-tools = 2.4.6-67.el7.centos 被 httpd-2.4.6-67.el7.centos.x86_64 需要

            libapr-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要

            libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要

    [root@localhost Packages]#

    二、yum命令

    解决这个问题的方法:
    yum 需要有目录,帮你解决依赖性,不过依赖性需要提前在目录上写好

    依赖性文件repodata

    由于目录如果有空格就会影响结果,

    [root@localhost CentOS 7 x86_64]# pwd

    /run/media/root/CentOS 7 x86_64

    [root@localhost CentOS 7 x86_64]# df

    文件系统          1K-块    已用     可用 已用% 挂载点

    /dev/sda3      18351104 6310516 12040588   35% /

    devtmpfs         485108       0   485108    0% /dev

    tmpfs            499848       0   499848    0% /dev/shm

    tmpfs            499848    7308   492540    2% /run

    tmpfs            499848       0   499848    0% /sys/fs/cgroup

    /dev/sda1        508580  154480   354100   31% /boot

    tmpfs             99972       8    99964    1% /run/user/42

    tmpfs             99972      20    99952    1% /run/user/0

    /dev/sr0        4414592 4414592        0  100% /run/media/root/CentOS 7 x86_64

    所以挂载到没有空格的目录中

    [root@localhost CentOS 7 x86_64]# mount /dev/sr0 /opt

    进入下面这个目录,这个目录存放yum的配置文件

    [root@localhost CentOS 7 x86_64]# cd /etc/yum.repos.d/

    [root@localhost yum.repos.d]# ls

    我们看到很多网络配置的文件

    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

    我们为了学习写配置文件,现在把他们都移到一个文件夹中,让这个文件夹为空

    [root@localhost yum.repos.d]# mkdir /tmp/bak

    [root@localhost yum.repos.d]# mv * /tmp/bak

    [root@localhost yum.repos.d]# ls

    要以repo结尾

    vim local.repo

    [local]    -- 随便写

    name=local repo -- 随便写

    baseurl=file:///opt

    enable=1    -- 开启

    gpgchek=0   -- 不检测

    上面配完本地yum

    清除yum的本地缓存

    yum clean all

    安装httpd

    yum install httpd

    如果不是按yes的话,就yum install httpd -y

    卸载

    yum -y erase httpd或者rpm -e httpd

    [root@localhost yum.repos.d]# mv /tmp/bak/*

    mv: 目标"/tmp/bak/CentOS-Vault.repo" 不是目录

    [root@localhost yum.repos.d]# ls

    local.repo

    记住要加点

    [root@localhost yum.repos.d]# mv /tmp/bak/* .

    [root@localhost yum.repos.d]# ls

    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  local.repo

    yum能解决依赖性,是因为yum仓库cd /opt 中有repodata

    [root@bogon yum.repos.d]# yum -y install httpd

    已加载插件:fastestmirror, langpacks

    local                                                           | 3.6 kB  00:00:00    

    (1/2): local/primary_db                                         | 5.7 MB  00:00:00    

    (2/2): local/group_gz                                           | 156 kB  00:00:00    

    Loading mirror speeds from cached hostfile

    正在解决依赖关系

    --> 正在检查事务

    ---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装

    --> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要

    --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要

    --> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要

    --> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要

    --> 正在检查事务

    ---> 软件包 apr.x86_64.0.1.4.8-3.el7 将被 安装

    ---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装

    ---> 软件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 将被 安装

    ---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装

    --> 解决依赖关系完成

    依赖关系解决

    =======================================================================================

     Package             架构           版本                           源             大小

    =======================================================================================

    正在安装:

     httpd               x86_64         2.4.6-67.el7.centos            local         2.7 M

    为依赖而安装:

     apr                 x86_64         1.4.8-3.el7                    local         103 k

     apr-util            x86_64         1.5.2-6.el7                    local          92 k

     httpd-tools         x86_64         2.4.6-67.el7.centos            local          87 k

     mailcap             noarch         2.1.41-2.el7                   local          31 k

    事务概要

    =======================================================================================

    安装  1 软件包 (+4 依赖软件包)

    总下载量:3.0 M

    安装大小:10 M

    Downloading packages:

    ---------------------------------------------------------------------------------------

    总计                                                      6.3 MB/s | 3.0 MB  00:00    

    Running transaction check

    Running transaction test

    Transaction test succeeded

    Running transaction

      正在安装    : apr-1.4.8-3.el7.x86_64                                             1/5

      正在安装    : apr-util-1.5.2-6.el7.x86_64                                        2/5

      正在安装    : httpd-tools-2.4.6-67.el7.centos.x86_64                             3/5

      正在安装    : mailcap-2.1.41-2.el7.noarch                                        4/5

      正在安装    : httpd-2.4.6-67.el7.centos.x86_64                                   5/5

      验证中      : httpd-2.4.6-67.el7.centos.x86_64                                   1/5

      验证中      : mailcap-2.1.41-2.el7.noarch                                        2/5

      验证中      : apr-1.4.8-3.el7.x86_64                                             3/5

      验证中      : httpd-tools-2.4.6-67.el7.centos.x86_64                             4/5

      验证中      : apr-util-1.5.2-6.el7.x86_64                                        5/5

    已安装:

      httpd.x86_64 0:2.4.6-67.el7.centos                                                  

    作为依赖被安装:

      apr.x86_64 0:1.4.8-3.el7                        apr-util.x86_64 0:1.5.2-6.el7      

      httpd-tools.x86_64 0:2.4.6-67.el7.centos        mailcap.noarch 0:2.1.41-2.el7      

    完毕!

    [root@bogon yum.repos.d]#

    现在把之前剪切到/tmp/bak/,移到mv /tmp/bak/* .

    [root@bogon opt]# cd /etc/yum.repos.d/

    [root@bogon yum.repos.d]# ls

    local.repo

    [root@bogon yum.repos.d]# mv /root/aa/* .

    [root@bogon yum.repos.d]# ls

    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  local.repo

    [root@bogon yum.repos.d]#

    查看是否安装成功

     [root@bogon yum.repos.d]# rpm -qa |grep httpd

    httpd-tools-2.4.6-67.el7.centos.x86_64

    httpd-2.4.6-67.el7.centos.x86_64

    [root@bogon yum.repos.d]#

    卸载软件

    [root@bogon /]# yum -y erase httpd

    从下面看到,包已经卸载完,依赖性包没卸载

    root@bogon /]# rpm -qa |grep httpd

    httpd-tools-2.4.6-67.el7.centos.x86_64

    [root@bogon /]#

    local.repo的格式都差不多

    [root@bogon /]# cd /etc/yum.repos.d/

    [root@bogon yum.repos.d]# vim CentOS-Base.repo

    清理一下

    [root@bogon yum.repos.d]# yum clean all

    重启网络服务

    [root@bogon yum.repos.d]# service  network restart

    安装ceph

    [root@bogon yum.repos.d]# yum -y install ceph

    [root@bogon ceph]# yum -y install epel安装不成功,因为名字错了

    但是如果不知道后面是什么,就加-*

    [root@bogon ceph]# yum -y install epel-*

    得到了扩展源

     

    建缓存,让安装速度提高

    [root@bogon yum.repos.d]# yum makecache -y

    三、一般yum安装完的话,就会把软件包删掉,如果我们要保留这些软件包的话,可以这样:这样我们不受官网老更新的影响。

    vim /etc/yum.conf

    把红框和上面一行修改为

    cachedir=/rpm_bak

    keepcache=1

    意思是把软件包保存到/rpm_bak文件夹中

    查看是否修改成功

    [root@bogon yum.repos.d]# vim /etc/yum.conf

    [root@bogon yum.repos.d]# head -10 /etc/yum.conf

    建保存目录,那以后安装什么包都会保存到这里,不会被删

    [root@bogon yum.repos.d]# mkdir /rpm_bak

    查看是否下载成功

    [root@localhost yum.repos.d]# cd /rpm_bak

    [root@localhost rpm_bak]# ls

    base  epel  extras  local  timedhosts  timedhosts.txt  updates

    [root@localhost rpm_bak]# cd epel

    [root@localhost epel]# ls

    [root@localhost epel]# cd packages

    [root@localhost packages]# ls

    epel-release-7-11.noarch.rpm

    清理yum的程序

    yum clean all

    重新安装

    yum reinstall

    如果epel安装不成功,就用下面的程序

    yum reinstall epel-release -y

    更新操作系统

    yum update

    四、yum连接网上的URL来安装

    看看epel.repo文件,红色字的URL跟直接上网打网址的效果是一样的。

    [root@localhost ~]# cd /etc/yum.repos.d/

    [root@localhost yum.repos.d]# ls

    CentOS6-Base-163.repo  CentOS-CR.repo         CentOS-Media.repo    epel.repo

    CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  epel-testing.repo

    CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo    local.repo

    [root@localhost yum.repos.d]# cat epel.repo

    [epel]

    name=Extra Packages for Enterprise Linux 7 - $basearch

    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch

    metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch

    failovermethod=priority

    enabled=1

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

    可以建httpd的yum仓库和yum源

    mkdir /cangku_httpd(看截图)

    createrepo /cangku_httpd

    cd /cangku_httpd

    ls

    cd /etc/yum.repos.d/

    ls

    mv * /tmp/bak/

    ls

    vim httpd.repo

    [httpd]

    name=httpd server

    baseurl=file:///cangke_httpd

    enabled=1

    gpgcheck=0

    yum install httpd -y

    添加完后记得要刷新下,命令是createrepo /cangku_httpd

     

    如果仓库url是来自网络的话,可以这样做:

    [root@localhost media]# cd /etc/yum.repos.d/

    [root@localhost yum.repos.d]# ls

    CentOS6-Base-163.repo  CentOS-CR.repo         CentOS-Media.repo    epel.repo

    CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  epel-testing.repo

    CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo    local.repo

     [root@localhost yum.repos.d]# cat CentOS-Base.repo

     

    复制红框的网址http://mirror.centos.org/centos/

    如何知道Cento是哪个版本

    [root@localhost yum.repos.d]# cat /etc/redhat-release

    CentOS Linux release 7.4.1708 (Core)

     

    点击进入下面网址

    http://mirror.centos.org/centos/7.4.1708/os/x86_64/repodata/

    我们可以用这个网址来配置网络yum名

    http://mirror.centos.org/centos/7.4.1708/os/x86_64

    建repo

    [root@localhost yum.repos.d]# vim centos-7.repo

    [centos]

    name=centos

    baseurl=http://mirror.centos.org/centos/7.4.1708/os/x86_64/

    enable=1

    gpgcheck=0

    [root@localhost yum.repos.d]# cat centos-7.repo

    [root@localhost yum.repos.d]# yum install lrzsz –y

    本地与虚拟机建远程,安装Xshell 5

    192.164.220.120就是IP地址

    [root@bogon ~]# ifconfig

    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

            inet 192.164.220.120  netmask 255.255.255.0  broadcast 192.168.220.255

            inet6 fe80::fc58:9f42:ca29:1b05  prefixlen 64  scopeid 0x20<link>

            ether 00:0c:29:65:77:b2  txqueuelen 1000  (Ethernet)

    点击确定后,点击链接并保存,然后输入虚拟机用户名root,和root的密码,得到:

     

    这样我就可以在上面输入命令,而不需要在虚拟机界面了。在百度搜python-3.5.1-tgz,在官网或 http://www.linuxidc.com/Linux/2016-04/129784.htm看到并下载(因为公司都不用3.6,都用2.7和3.5的)

    为了把PYTHON 3.5放进去,还要安装一个软件lrzsz-0.12.20-36.el7.x86_64.rpm:

    [root@bogon opt]# mount /dev/sr0 /opt

    mount: /dev/sr0 写保护,将以只读方式挂载

    [root@bogon opt]# cd /opt/Packages/

    [root@bogon Packages]# rpm -i lrzsz-0.12.20-36.el7.x86_64.rpm

    由于我们在光盘目录里,是只读,所以要到别的目录中,把PYTHON 3.5放进去

    [root@bogon Packages]# cd /root

    [root@bogon ~]# rz –E

    查看大小

    [root@bogon ~]# cd /root

    [root@bogon ~]# ll -h Python-3.5.0.tgz

    -rw-r--r--. 1 root root 20M 11月 11 11:29 Python-3.5.0.tgz

    源码安装python到硬盘中

    源码(C语言代码)要翻译为二进制,要安装个软件包

    由于opt目录挂载到光盘,所以local.repo就够用了

    [root@bogon ~]# cd /etc/yum.repos.d/

    [root@bogon yum.repos.d]# ls

    CentOS6-Base-163.repo  CentOS-Debuginfo.repo  epel.repo

    CentOS7-Base-163.repo  CentOS-fasttrack.repo  epel-testing.repo

    centos-7.repo          CentOS-Media.repo      local.repo

    CentOS-Base.repo       CentOS-Sources.repo

    CentOS-CR.repo         CentOS-Vault.repo

    [root@bogon yum.repos.d]#

    [root@bogon yum.repos.d]# cat local.repo

    [local]

    name=local repos

    baseurl=file:///opt

    enable=1

    gpgcheck=0

    所以只要local.repo就足够了,其他先移到别的文件夹中

    [root@bogon yum.repos.d]# mv * /root/aa

    [root@bogon yum.repos.d]# ls

    [root@bogon yum.repos.d]# mv /root/aa/local.repo .

    [root@bogon yum.repos.d]# ls

    local.repo

    [root@bogon yum.repos.d]#

    [root@bogon yum.repos.d]# yum clean all

    看看软件包组有什么

    [root@bogon yum.repos.d]# yum grouplist

    已加载插件:fastestmirror, langpacks

    没有安装组信息文件

    Maybe run: yum groups mark convert (see man yum)

    local                                      | 3.6 kB     00:00    

    (1/2): local/group_gz                        | 156 kB   00:00    

    (2/2): local/primary_db                      | 5.7 MB   00:00    

    Determining fastest mirrors

    可用的环境分组:

       最小安装

       基础设施服务器

       计算节点

       文件及打印服务器

       基本网页服务器

       虚拟化主机

       带 GUI 的服务器

       GNOME 桌面

       KDE Plasma Workspaces

       开发及生成工作站

    可用组:

       传统 UNIX 兼容性

       兼容性程序库

       图形管理工具

       安全性工具

       开发工具

       控制台互联网工具

       智能卡支持

       科学记数法支持

       系统管理

       系统管理工具

    完成

    下面命令为了安装把python的源代码变为二进制的包

    [root@bogon yum.repos.d]# yum groupinstall '开发工具' -y

    解压

    [root@bogon ~]# ls

    aa               initial-setup-ks.cfg  公共  视频  文档  音乐

    anaconda-ks.cfg  Python-3.5.0.tgz      模板  图片  下载  桌面

    [root@bogon ~]# tar xf Python-3.5.0.tgz

    [root@bogon ~]# cd Python-3.5.0/

    configure是脚本文件

    [root@bogon Python-3.5.0]# ls

    aclocal.m4    Include          Modules        Python

    config.guess  install-sh       Objects        README

    config.sub    Lib              Parser         setup.py

    configure     LICENSE          PC             Tools

    configure.ac  Mac              PCbuild

    Doc           Makefile.pre.in  Programs

    Grammar       Misc             pyconfig.h.in

    [root@bogon Python-3.5.0]#

    源码包安装到/usr/local/python3.5目录下

    ./configure --prefix=/usr/local/python3.5

    编译、编译后自动安装,如果编译不成功,就不会安装

    make && make install

    报错:说没有zlib,所以安装zlib

    我安装时遇到:

    Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

    [root@bogon Python-3.5.0]#

    说明要安装

    由于yum install SSL-* -y没结果,于是改为

    yum install *SSL-* -y有结果

    然后重新进去[root@bogon Python-3.5.0]目录下,运行make install

    结果还是Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

    百度写yum install openssl-devel;可以了,pip是Python2里面的一个安装命令

    [root@bogon Python-3.5.0]# cd /usr/local/python3.5/

    下面表示安装成功,bin目录是可执行文件

    [root@bogon python3.5.1]# ls

    bin  include  lib  share

    [root@bogon python3.5.1]# cd bin

    [root@bogon bin]# ls

    2to3              pip3      python3.5          pyvenv

    2to3-3.5          pip3.5    python3.5-config   pyvenv-3.5

    easy_install-3.5  pydoc3    python3.5m

    idle3             pydoc3.5  python3.5m-config

    idle3.5           python3   python3-config

    执行python3.5,得到python的界面

    [root@bogon bin]# ./python3.5

    >>> print('hello word')

    hello word

    >>> 

    退出用exit()或ctrl+D

    如果我不在bin目录下打开python 3.5,则可以这样做,先定义路径,下面的方法只在当前终端有效

    [root@bogon /]# PATH=/usr/local/python3.5.1/bin:$PATH

    [root@bogon /]# echo $PATH

    /usr/local/python3.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    [root@bogon /]# python3.5

    Python 3.5.1 (default, Nov 11 2017, 22:40:35)

    [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux

    Type "help", "copyright", "credits" or "license" for more information.

    >>> 

    下面的方法是永久有效

    在文件vim /etc/profile的最后加上,然后把path变为环境变量,即export PATH

    PATH=/usr/local/python3.5.1/bin:$PATH

    export PATH

    这样关闭后打开都可以

    [root@bogon ~]# python3.5

    Python 3.5.1 (default, Nov 11 2017, 22:40:35)

    [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux

    Type "help", "copyright", "credits" or "license" for more information.

    >>> 

    大概步骤

    Centos7自带

    python2.7,所以python要加型号

  • 相关阅读:
    【XSY1544】fixed 数学 强连通图计数
    【XSY1538】连在一起的幻想乡 数学 无向连通图计数
    拉格朗日插值
    【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
    【XSY1528】azelso 概率&期望DP
    【BZOJ2655】calc DP 数学 拉格朗日插值
    【XSY1529】小Q与进位制 分治 FFT
    【XSY1519】彩灯节 DP 数学 第二类斯特林数
    CODEFORCES掉RATING记 #5
    【BZOJ3992】【SDOI2015】序列统计 原根 NTT
  • 原文地址:https://www.cnblogs.com/jensenxie/p/7815422.html
Copyright © 2020-2023  润新知