您的位置:首页 > 运维架构 > Shell

软件安装与维护【Linux-shell】

2017-08-01 13:26 155 查看

软件安装与维护:

常用Linux软件安装方式:
1.以源代码方式安装
2.以软件包方式安装:【软件包分2种】
1).rpm软件包。-->在RedHat红帽企业的RedHat,Fedora,CentOS等发行版Linux上,软件包的管理工具:rpm包管理器
2).deb软件包。-->在Debian的Debian,Ubuntu等Linux发行版上,软件包的管理工具:dpkg
3.以在线方式安装:【在线软件安装和更新-方式分2种】
1)yum   #---->对应.rpm软件包
2)apt   #---->对应.deb软件包
-------------------------------------------------------------------------------------------
rpm管理器:

软件包文件名基本格式:【软件名称-版本号-发布版本次数.硬件架构.rpm】
# i686->Intel 686,i386,x86-->32位,x86_64-->64位
rpm [选项】 【rpm软件包文件位置/软件名称】:安装、维护软件包
-i:安装指定软件包文件,加软件包文件路径参数
-v:显示详细过程信息
-h:显示进度,结合-v
-q:查询指定软件,给出软件名称参数。
-U:升级软件包,加软件包路径参数
-V:加软件名称,验证指定软件
-e:给出软件名称参数,删除指定软件
-K:给出软件包文件路径参数,检查签名
rpm -V apache2
#标志信息,标志:S文件大小发生改变,M文件访问权限或类型发生改变,5文件内容发生变化而使MD5发生变化,L符号链接发生变化,D设备主次编号改变,U软件用户归属关系改变,G软件组群归属关系改变,T文件修改时间改变,P软件执行权限改变。

rpm -Vf   /etc/crontab
#标志信息与文件名之间的文件类型标志:
#c配置文件,d文档,g不被软件包含的文件,l授权文件,r自述文件

ls -l /etc/pki
#查看rpm数字签名认证的Linux发行版公钥文件目录
----------------------------------------------------------------------------------
使用yum服务:

yum客户端使用yum服务的全局配置文件:cat /etc/yum/yum.conf

配置客户端连接yum容器:
#网易的CentOS源
1.先将/etc/yum/repos.d/下的文件备份,然后从http://mirrors.163.com/.help/centos.html下载yum容器的.repo文件(CentOS6)----CentOS6-Base-163.repo保存在/etc/yum/repos.d/目录下。
2.编辑上述的.repo文件,将所有的$releasever替换为6。
3.cd /etc/yum/repos.d
ls
yum clean all
yum makecache
||
||
||
#再配置本地yum源:
1.挂载光盘在/mnt/cdrom。
2.在/etc/yum/repos.d目录下创建local.repo文件。编辑local.repo文件:
[local]
name=local
baseurl=file:///mnt/cdrom/Server
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
enabled=1
||
||
||
yum clean all
yum makecache
--------------------------------------------------------------------
local.repo的配置信息:
[local]:标记了关于local这个yum容器的配置信息起始位置。
name=local:yum容器的全名
baseurl=记录了yum容器的所在位置。
gpgcheck=1是否检查rpm软件包的签名。
gpgkey=用于验证rpm软件包数字签名的公钥文件存放位置。
enabled=1该容器是否启用。
-------------------------------------------------------------------
在线软件安装和更新:
yum install [软件名列表】:安装列表中的软件包
yum update [软件名列表】:更新列表中的软件包
yum remove [软件名列表】:移除列表中的软件包
yum list 【软件名列表】:列出可用软件包的各种信息
yum info [软件名列表】:显示可用软件包的描述和总体信息
yum provides [特征】:找出所有符合特征信息的软件包
yum clean:清除缓存
yum makecache:重新生成缓存。
yum repolist:列出当前所有的容器。
-----------------------------------------------------------------
编译源代码与软件安装:
gcc [选项】 【输入文件】:编译源代码
-o:后加输出文件路径参数-->生成可执行二进制文件。
-c:只对源代码进行预处理、编译和汇编,不进行连接,即:只生成目标文件.o
-I:后加目录参数,编译器从目录中查找是否有所需的头文件.h
-----------------------------------------------------------------------
make和makefile:
cd ~/makehello

#include "world1.h"
#include "world2.h"
int main()
{
hello1();
hello2();
return 0;
}
#保存为main.c

void hello1();
#保存为world1.h

void hello2();
#保存为world2.h

#include "world1.h"
#include <stdio.h>
void hello1()
{
printf("hello world\n");
}
#保存为hello1.c

#include "world2.h"
#include <stdio.h>
void hello2()
{
printf("hello world2\n");
}
#保存为world2.h

首先:
gcc -c main.c
gcc -c hello1.c
gcc -c hello2.c
gcc -o makehello main.o hello1.o hello2.o
./makehello

然后:
vim  ./makefile---->:
makehello:main.o  hello1.o  hello2.o
gcc -o makehello main.o hello1.o hello2.o
hello1.o:hello1.c world1.h
gcc -c hello1.c
hello2.o:hello2.c world2.h
gcc -c hello2.c
main.o:main.c world1.h world2.h
gcc -c main.c
#:wq保存退出---->
rm -f main.o hello1.o hello2.o
make
./makehello
----------------------------------------------------------------------
make [选项】 【目标】:自动确定源代码的编译部分并执行对应的编译命令。
-f:后加文件路径参数用于指定一个文件作为makefile
-I:后加目录路径参数,用于指定一个包含了makefile文件的目录。

makefile文件每条规则的定义格式:
目标:相关文件列表
制表符(Tab键) 执行命令
#清理目标文件clean:
rm -f main.o hello1.o hello2.o
---->命令行:
make clean
make main.o
make
./makehello

make命令安装软件:
install:
@cp makehello /usr/local/bin
@echo "install finish."   # @:make执行命令后不输出内容

---->命令行:
make clean
make
make install
which makehello
-----------------------------------------------------------------------
vim makefile--->:
all:makehello install clean
hello1.o:hello1.c world1.h
gcc -c hello1.c
hello2.o:hello2.c world2.h
gcc -c hello2.c
main.o:main.c world1.h world2.h
gcc -c main.c
makehello:main.o hello1.o hello2.o
gcc -o makehello main.o hello1.o hello2.o
install:
@cp makehello /usr/local/bin
@echo "安装完成"
clean:
@rm -f main.o hello1.o hello2.o
@echo "清除临时文件"
----->
make

makefile文件中宏定义的使用:
INSTALLDIR=/usr/local/bin
#install:
#   @cp makehello $(INSTALLDIR)
#   @echo "安装完成"
----------------------------------------------------------------------------
制定软件验证的周期性作业:
rpm -Va

#!/bin/bash
rpm -Va > /tmp/rpmVResult
cat /tmp/rpmVResult | while read line
do
i=`expr index "$line" 5`
if [ $i -eq 3 ]
then
echo $line>>/tmp/rpmVResult_md5
fi
done
if [ -e /tmp/rpmVResult_md5 ]
then
mail root< /tmp/rpmVResult_md5
rm -f /tmp/rpmVResult_md5
fi
#保存为rpmVerify.sh

设定脚本的执行周期:
0 0 * * 1 root  /root/cron/rpmVerify.sh

date
tail /var/log/cron
mail
---------------------------------------------------------------------------
tarball软件的编译及安装:
1.从https://nmap.org/download.html下载nmap网络安全扫描软件的tarball文件,保存在/root/nmap下
2.解压:tar -zxvf nmap-6.49BETA5.tgz
ls
cd nmap-6.49BETA5
ls
3.执行configure脚本:
./configure
make #编译
make install #安装软件
nmap -V #检查nmap软件的安装版本


补充:

其他资料:【Linux 下软件安装】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: