6_linux软件的安装

前言:
centos 安装软件方式、
nginx 编译安装、
rpm 使用、
yum 使用

导图

6_linux软件的安装_第1张图片

安装方式

  • 源码包安装
  • rpm 安装
  • yum 安装
  • 可执行文件(eg:vmware linux版)
    sh VMware-Workstation-xxxx-xxxxxxx.architecture.bundle
  • 绿色免安装

编译安装

1、获取源代码

Nginx官网:http://nginx.org/
下载地址:http://nginx.org/download/
或者是从GitGub网站查找下载。

# wget http://nginx.org/download/nginx1.16.0.tar.gz
2、解压tar包

安装前准备,下载源码安装所需编译工具:

# yum -y install gcc zlib pcre-devel openssl openssl-devel zlib-devel

PS: pcre :支持正则表达 openssl加密方式,一般配合httpd或nginx,
devel是对软件进行二次开发时候使用的,里边包括头文件、静态库甚至源代码

添加nginx用户

# useradd -M -s /sbin/nologin nginx

解压源码包

# tar -zxf nginx-1.16.0.tar.gz -C /usr/src
3、./config配置
# cd /usr/src/nginx-1.16.0
# ./configure -prefix=/usr/local/nginx --user=nginx --group=nginx --withhttp_stub_status_module
4、make编译

make 编译,生成可执行的二进制文件Makefile

# make
5、安装
# make install
6、配置应用选项

创建链接

# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

检查nginx语法

# nginx -t

开启nginx

# nginx

RPM

1、常用命令
参数 描述
-vh 显示安装进度
-U 升级软件包
-qpl 列出RPM软件包内的文件信息
-qpi 列出RPM软件包的描述信息
-qf 查找指定文件属于哪个RPM软件包
-Va 校验所有的RPM软件包,查找丢失的文件
-qa 查找相应文件,如 rpm -qa httpd
-e 卸载rpm包
-q 查询已安装的软件信息
-i 安装rpm包
-u 升级rpm包
–replacepkgs 重新安装rpm包
–justdb 升级数据库,不修改文件系统
–percent 在软件包安装时输出百分比
–help 帮助
–version 显示版本信息
-c 显示所有配置文件
-d 显示所有文档文件
-h 显示安装进度
-l 列出软件包中的文件
-a 显示出文件状态
-p 查询/校验一个软件包文件
-v 显示详细的处理信息

//安装软件
# rpm -ivh zsh-5.0.2-33.el7.x86_64.rpm

//也可在安装前先进行测试
# rpm -ivh --test gcc-4.8.5-39.el7.x86_64.rpm

–test:只是测试安装,并不会真正安装软件
–nodeps:只安装软件本身,不考虑依赖
–force:强制安装

2、rpm的查询
  • 查询软件包是否安装
# rpm -q zsh
zsh-5.0.2-33.el7.x86_64
# rpm -q abcd
package abcd is not installed
  • 查询系统中所有已经安装的软件包有哪些
    # rpm -qa

  • 统计已经安装的软件包的个数
    # rpm -qa |wc -l

  • 找出vim命令是由哪个软件包安装的

# rpm -qf `which vim`
vim-enhanced-7.4.629-6.el7.x86_64
  • /etc/passwd文件是由哪个软件包安装的
# rpm -qf /etc/passwd
setup-2.8.71-10.el7.noarch
  • 查询软件的配置文件
    # rpm -qc httpd

  • 安装某个软件时,都安装了哪些文件
    # rpm -ql httpd

  • 查询安装的软件包的信息
    # rpm -qi httpd

  • 查询未安装的软件包的相关信息

# rpm -qpi gcc-4.8.5-39.el7.x86_64.rpm

-qpi 未安装的软件包的完整路径和包名 :查询未安装的软件包的详细信息
-qpl:如果安装未安装的软件,会安装哪些文件在系统中
-qpR:查询未安装的软件包的依赖情况
3、卸载、更新
  • 卸载

# rpm -e zsh

  • 更新
# rpm -e zsh

-U : 如果包未安装,等同于-i 进行安装
如果包已安装,是更新版本
4、rpm包的校验: verify

V:后面接软件名称,该软件所含的文件被改动过,才会被列出来;针对一个软件
Va:列出系统上面所有有可能被改动过的文件;针对整个系统
Vp:后面接RPM软件包
Vf:列出某个文件是否被改动过

eg:
# rpm -Vf /usr/sbin/sshd

检测所有的包
# rpm -Va

对于输出中每个标记的含义介绍如下:
S 表示文件长度发生了变化
M 表示文件的访问权限或文件类型发生了变化
5 表示MD5校验和发生了变化
D 表示设备节点的属性发生了变化
L 表示文件的符号链接发生了变化
U 表示文件/子目录/设备节点的owner发生了变化
G 表示文件/子目录/设备节点的group发生了变化
T 表示文件最后一次的修改时间发生了变化

如果在输出结果中有“M”标记出现,那么对应的文件可能已经遭到篡改或替换,
此时可以通过卸载这个rpm包重新安装来清除受攻击的文件。

不过这个命令有个局限性,那就是只能检查通过rpm包方式安装的所有文件,
对于通过非rpm包方式安装的文件就无能为力了。

同时,如果rpm工具也遭到替换,就不能通过这个方法了,
此时可以从正常的系统上复制一个rpm工具进行检测。

yum安装

PS: yum的配置文件在 /etc/yum.repos.d/下面,必须以 .repo结尾

常用yum命令:

命令 说明
<安装>
yum install 全部安装
yum install zsh 安装指定的安装包zsh
yum groupinfo gnome 安装程序组gnome
<更新 升级>
yum update 全部更新
yum update zsh 更新指定程序包zsh
yum check-update 检查可更新的程序
yum upgrade zsh 升级指定程序包zsh
yum groupupdate gnome 升级程序组gnome
<查找 显示>
yum info zsh 显示安装包信息zsh
yum list 显示所有已经安装和可以安装的程序包
yum list zsh 显示指定程序包安装情况zsh
yum groupinfo gnome 显示程序组gnome信息
yum search zsh 根据关键字zsh查找安装包
<删除>
yum remove erase package1 删除程序包package1
yum groupremove gnome 删除程序组gnome
yum deplist package1 查看程序package1依赖情况
<清除缓存>
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean all 清除缓存目录下的软件包及旧的headers

yum clean all (= yum clean packages; yum clean oldheaders)

总结: 一般常用命令
//查看这个命令是由哪个包提供的
# yum provides top

//查看yum仓库中所有的rpm包,通常会和 grep一起使用查看是否有我们需要的包
# yum list | grep httpd

//查看要安装的包的详细信息
# yum info httpd

//安装软件包
# yum install httpd -y

//卸载软软件包
# yum remove httpd
  • 1、配置本地yum源
# mkdir /mnt/cdrom
# mount /dev/sr0 /mnt/cdrom/
# vim /etc/yum.repos.d/local.repo

//添加

[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0

  • 2、配置网络yum源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 3、拓展yum源
# wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-7.repo

或

# yum install epel-release

# yum repolist
# yum makecache fast

修改 yum install之后包,下载位置

# vim /etc/yum.conf
#包存放位置
cachedir=/var/cache/yum/$basearch/$releasever

#是否开启保存rpm包
keepcache=1

# pwd
/var/cache/yum/x86_64/7/epel/packages
# ls
nginx-1.16.1-1.el7.x86_64.rpm
nginx-all-modules-1.16.1-1.el7.noarch.rpm
nginx-filesystem-1.16.1-1.el7.noarch.rpm
nginx-mod-http-image-filter-1.16.1-1.el7.x86_64.rpm
nginx-mod-http-perl-1.16.1-1.el7.x86_64.rpm
nginx-mod-http-xslt-filter-1.16.1-1.el7.x86_64.rpm
nginx-mod-mail-1.16.1-1.el7.x86_64.rpm
nginx-mod-stream-1.16.1-1.el7.x86_64.rpm
  • 4、使用yum查看安装服务的相关包文件
# yum -y install yum-utils
# repoquery -ql nginx
  • 5、在下载的的时候,可以选择将rpm包下载到本地
# yum install htop --downloadonly --downloaddir=/tmp/download

你可能感兴趣的:(《我曾来过》,云计算,linux,运维)