前言:
centos 安装软件方式、
nginx 编译安装、
rpm 使用、
yum 使用
sh VMware-Workstation-xxxx-xxxxxxx.architecture.bundle
Nginx官网:http://nginx.org/
下载地址:http://nginx.org/download/
或者是从GitGub网站查找下载。
# wget http://nginx.org/download/nginx1.16.0.tar.gz
安装前准备,下载源码安装所需编译工具:
# 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
# cd /usr/src/nginx-1.16.0
# ./configure -prefix=/usr/local/nginx --user=nginx --group=nginx --withhttp_stub_status_module
make 编译,生成可执行的二进制文件Makefile
# make
# make install
创建链接
# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
检查nginx语法
# nginx -t
开启nginx
# nginx
参数 | 描述 |
---|---|
-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:强制安装
# 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
# 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:查询未安装的软件包的依赖情况
# rpm -e zsh
# rpm -e zsh
-U : 如果包未安装,等同于-i 进行安装
如果包已安装,是更新版本
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工具进行检测。
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
# 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
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 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
# yum -y install yum-utils
# repoquery -ql nginx
# yum install htop --downloadonly --downloaddir=/tmp/download