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

来源:互联网 发布:windows10自带录屏软件 编辑:程序博客网 时间:2024/06/05 19:51

软件安装与维护:


    常用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替换为63.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 下软件安装】

原创粉丝点击