Linux软件包安装--三魔鬼

第1章 yum

1.1 命令说明

yum是基于rpm的软件包管理器,他可以使系统管理人员交互和自动化地更细与管理rpm包,他能自动从服务器下载RPM包并安装,他可以自动处理依赖关系,自动安装所有需要的软件包

1.2 命令格式

yum [options] 参数

1.3 命令选项

1.3.1 -y 对所有的交互都提示“yes” 1.3.2 -q 安静模式,不输出安装过程 1.3.3 install 安装指定的软件包 1.3.4 remove 卸载指定的安装包 1.3.5 update 更新指定的rpm包 1.3.5.1 makecache 生成本地缓存 1.3.6 clean all 清除所有yum的过期的缓存 1.3.7 localinstall 安装本地的rpm包(如果有依赖关系也会自动解决) 1.3.8 list 显示list列表 1.3.9 grouplist 显示可用的软件包组 1.3.10 groupinstall 安装软件包组 1.3.11 groupupdate 更新软件包组 1.3.12 groupremove 删除软件包组

1.4 本地的yum源,和网络的yum源

1.4.1 本地的yum源

搭建本地的yum源的时候我们需要用到镜像文件,一个镜像文件3.7个G里面装的全是rpm包 搭建本地yum源的第一步就是挂载光盘 mount /dev/cdrom /mnt 临时挂载 echo " mount /dev/cdrom /mnt " >>/etc/rc.local 写到开机自启动的文件里面,达到永久挂载的效果,方便我们以后使用 然后进入到/ect/yum.repos.d/目录下,删除这个目录下的其他文件(不建议),或剪切走。 然后开始写一个 XXXX.repo 文件,这个文件必须以.repo结尾

[root@oldboy_50 yum.repos.d]# cat >>Centos.repo<<EOF
> [Centos_local_yum]
> name=Centos_local_install
> baseurl=file:///mnt
> enabled=1
> gpgcheck=0
> EOF
第一行:本地仓库的说明信息
第二行:本地仓库的名称
第三行:通过哪种方式来确定yum源的地址
        file://  本地文件
        http://  通过http协议访问
        ftp://   通过ftp访问,集群定制软件仓库最常用的方法
第四行:是否启动这个源,0表示不启用,1表示启用
第五行:是否检测,我们基本上都选择0,不检测
然后便可以使用了

1.4.2 搭建网络yum源

前提准备:服务器必须能通过域名上网,环境准备完成开始操作 寻找一个国内的yum源-阿里的yum源:https://opsx.alibaba.com/mirror

寻找合适的yum源

然后把上面的命令复制一下放到服务器上下载下来。 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo sed -i 's#$releasever#6.9#gp' CentOS-Base.repo 把里面的版本型号替换成你当前的系统版本 yum clean all 先清空以前的本地缓存 yum makecache 生成本地缓存 能正常使用

1.4.3 制定本地yum仓库

工作场景:在实际的工作环境中,我们的集群服务器有好多是不能直接访问外网的,我们安装软件的时候不可能在每台服务器上都挂载一个光盘(费时又费力),这个时候我们就需要找一台服务来充当本地的yum源服务器。来定制我们自己需要软件仓库。有什么需要安装的软件,我们直接放到这台服务器上,因为在内网,所以网络传输速度快,实现了高速,高效率的安装。 我们今天就通过ftp的方式来搭建本地的yum仓库 1)安装vsftp服务,

yum -y install vsftpd

2)安装指定yum仓库必要的软件包createrepo.noarch

yum -y install createrepo.noarch   生成yum索引的时候需要

3)在/vat/ftp目录下创建Packet目录

mdkir -p /var/ftp/Packet
然后把我们定制需要的rpm包上传至这个里面。

4)然后执行命令生成yum索引列表

cd /var/ftp/ ; createrepo ./

5)关闭防火墙或放行FTP端口

关闭的命令 /etc/init.d/iptables stop  最好执行两次以上
放行端口的命令 iptables -I INPUT -p tcp --dprot 21 -j ACCEPT
                 iptables -I INPUT -p tcp --dprot 20 -j ACCEPT

6)然后到客户端里面配置,只需要把baseurl更改一下就行

[root@oldboy_50 yum.repos.d]# cat >>Centos.repo<<EOF
> [Centos_local_yum]
> name=Centos_local_install
> baseurl=ftp://yum_server_IP/Packet
> enabled=1
> gpgcheck=0
> EOF

第2章 rpm软件包管理工具

2.1 命令说明

RPM原本是Red Hat Linux 发行版专门用来管理LInux各项套件的程序,由于他遵循GPL规则且功能强大方便,因此广受欢迎。yum相当于他的升级版本,它不能自动解决依赖关系,需要自己手动的解决依赖关系,比较麻烦。

2.2 命令格式 rpm [options] 参数 2.3 命令选项 2.3.1 -i (install) 安装软件包 2.3.2 -v 显示安装过程 2.3.3 -h 用#号代表进度 安装rsync软件包 rpm -ivh rsync-3.0.6-12.el6.x86_64.rpm 2.3.4 -q 询问模式,碰到问题rpm指令会先询问用户 2.3.5 -l 列出软件包安装生成的所有文件位置

[root@oldboy_50 Packages]# rpm -ql openssh-5.3p1-122.el6.x86_64
/etc/ssh
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ssh-keysign
/usr/share/doc/openssh-5.3p1
/usr/share/doc/openssh-5.3p1/CREDITS
/usr/share/doc/openssh-5.3p1/ChangeLog
/usr/share/doc/openssh-5.3p1/INSTALL
/usr/share/doc/openssh-5.3p1/LICENCE
/usr/share/doc/openssh-5.3p1/OVERVIEW
/usr/share/doc/openssh-5.3p1/PROTOCOL
/usr/share/doc/openssh-5.3p1/PROTOCOL.agent
/usr/share/doc/openssh-5.3p1/PROTOCOL.certkeys
/usr/share/doc/openssh-5.3p1/README
/usr/share/doc/openssh-5.3p1/README.dns
/usr/share/doc/openssh-5.3p1/README.nss
/usr/share/doc/openssh-5.3p1/README.platform
/usr/share/doc/openssh-5.3p1/README.privsep
/usr/share/doc/openssh-5.3p1/README.smartcard
/usr/share/doc/openssh-5.3p1/README.tun
/usr/share/doc/openssh-5.3p1/TODO
/usr/share/doc/openssh-5.3p1/WARNING.RNG
/usr/share/man/man1/ssh-keygen.1.gz
/usr/share/man/man8/ssh-keysign.8.gz

2.3.6 -a 查询所有安装的软件包,配合grep使用,查询软件包是否安装

[root@oldboy_50 Packages]# rpm -qa | grep ssh
openssh-clients-5.3p1-122.el6.x86_64
openssh-5.3p1-122.el6.x86_64
openssh-server-5.3p1-122.el6.x86_64
libssh2-1.4.2-2.el6_7.1.x86_64

2.3.7 -c 查询跟指定软件包相关的配置,服务进程的文件

[root@oldboy_50 Packages]# rpm -qc openssh-server-5.3p1-122.el6.x86_64
/etc/pam.d/ssh-keycat
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

2.3.8 -f 通过文件,查询属于哪个rpm包

[root@oldboy_50 Packages]# rpm -qf `which ssh-keygen` 
openssh-5.3p1-122.el6.x86_64

2.3.9 -i 查询软件包的版本信息,说明信息

[root@oldboy_50 Packages]# rpm -qi openssh-5.3p1-122.el6.x86_64
Name        : openssh                      Relocations: (not relocatable)
Version     : 5.3p1                             Vendor: CentOS
Release     : 122.el6                       Build Date: Wed 22 Mar 2017 04:33:21 AM EDT
Install Date: Tue 10 Jul 2018 11:13:19 AM EDT      Build Host: c1bm.rdu2.centos.org
Group       : Applications/Internet         Source RPM: openssh-5.3p1-122.el6.src.rpm
Size        : 787618                           License: BSD
Signature   : RSA/SHA1, Thu 23 Mar 2017 10:58:59 AM EDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.openssh.com/portable.html
Summary     : An open source implementation of SSH protocol versions 1 and 2
Description :
SSH (Secure SHell) is a program for logging into and executing

2.3.10 -e 卸载指定的软件包 [root@oldboy_50 Packages]# rpm -e openssh-5.3p1-122.el6.x86_64

第3章 编译安装

3.1 编译安装的三部曲:./configure ----->make----------->make install

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java架构师

Hadoop学习6--里程碑式的开始之执行第一个程序wordcount

一、先在HDFS文件系统创建对应的目录,具体如下: 1、待处理文件存放目录  /data/wordcount(之所以创建wordcount,是为了对文件分类,对...

27560
来自专栏Java帮帮-微信公众号-技术文章全总结

Java模板生成word文档/POI生成Excel【面试+工作】

首先要指出的是,实现的思路和freeMarker差不离,将.doc的文档做相应的转换后转为.ftl文档,其中的变量会以${xxx}来代替,这样就可以

69220
来自专栏FreeBuf

Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞

以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。 Sqlmap是一个开源的SQL注入漏洞检测工具,Nginx是高性能的WEB...

39180
来自专栏菩提树下的杨过

eclipse/intellij Idea集成jetty

jetty相对weblogic、jboss、tomcat而言,启动速度快,十分方便开发调试,以下是eclipse里的使用步骤: 一、eclipse->Marke...

43680
来自专栏散尽浮华

nginx应用总结(1)--基础认识和应用配置

在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结。 一、nginx服务简介 Ng...

48460
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装和使用CFEngine Community Edition

如果您正在为IT基础架构寻找快速且高度可扩展的配置管理工具,那么您应该尝试使用CFEngine。虽然它提供的功能与其他流行工具(如Puppet和Chef)提供的...

9600
来自专栏乐沙弥的世界

Percona XtraDB Cluster集群线程模型

Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:

8900
来自专栏北京马哥教育

Linux 系统结构详解

Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管...

63530
来自专栏程序员互动联盟

【专业技术】arm中的7种执行模式

嵌入式设备已经越来越与我们的日常生活密切相关了,由此带来了ARM的高速发展。就拿我们的手机来说吧,几乎所有的手机都是ARM体系的。这里大致介绍下ARM 的7种执...

40790
来自专栏IT笔记

Tomcat优化之配置线程池

简介 线程池作为提高程序处理数据能力的一种方案,应用非常广泛。大量的服务器都或多或少的使用到了线程池技术,不管是用Java还是C++实现,线程池都有如下的特点:...

35980

扫码关注云+社区

领取腾讯云代金券