06 03 2021

四、Linux 软件安装

一、软件包安装

        服务器安装原则:最小化安装、使用什么软件安装什么、尽量不卸载

        软件包选择原则:

                如果软件安装之后,是给大量客户端提供访问的,建议源码包安装

                如果软件安装之后,是给本机或者少量用户访问,建议二进制包

        1、软件包分类

                1.1 源码包:

                    优点:开源、自由定制、本机编译,所以效率高

                    缺点:编译时间长,一旦报错,很难解决

              1.2 二进制包:(也叫rpm包)    

                  优点:安装速度快,简易

                    缺点:不再开源、自定义性差、软件效率低、依赖性...

                       a包--->b包--->c包                     树形依赖

                       a包--->b包--->c包--->a包         环形依赖

                       库文件依赖      去 http://www.rpmfind.net   找

        2、rpm安装,两种安装方式(手工RPM命令安装和yum在线安装,yum是二进制的在线安装方式)

                2.1 手工RPM命令安装

                    2.1.1 包命名

                        包名-版本号-发布次数-适合linux系统.适合的硬件平台.rpm

                        E16  --->   RHEL6

                        包全名:操作没有安装的软件包,软件包使用包全名  gvfs-fuse-1.4.3-12.el6.i686.rpm(完整名字是包全名)

                        包名:操作的是已经安装的软件包使用包名  gvfs-fuse(英文是包名)

                    2.1.2 依赖性

                    2.1.3 安装

                        rpm -ivh    包全名(绝对路径)

                            -i 安装    -v 显示详细信息    -h 显示进度

                        安装位置:默认位置       rpm安装最好不要指定安装位置(有卸载命令),源码包一定要指定安装位置(源码包没有卸载命令,直接删除安装目录)

                        rpm -Uvh    包全名

                             -U 升级 

                        启动程序:

                                /etc/rc.d/init.d/httpd restart             其他linux启动命令            

                                service httpd restart                          redhat linux转悠命令,其他Linux没有    

                     2.1.4 卸载

                         rpm  -e  包名

                            在生产服务器不管是安装还是卸载都不允许强制,必须正确解决依赖性

                      2.1.5 查询

                            a:查询软件包是否安装

                                rpm    -q    包名    查询包是否安装

                                rpm    -qa    |    grep    httpd       显示所有安装包

                            b:查询包信息

                                rpm    -qi    包名    查询包的信息        -p 未安装的包

                                图片.png

                                rpm    -qip    包全名    查询没有安装包的信息        -i   information

                                图片.png

                            c:查询软件安装位置

                                rpm    -ql    包名    查询包中文件的安装位置           l -->list   列表的意思

                                rpm    -qlp    包全名    查询没有安装的包,如果安装会安装的位置

                             d:查询系统文件属于哪个包  

                                rpm    -qf    系统文件名

                                图片.png   

                      2.1.6 启动httpd服务

                            service    httpd    start|stop|restart|status            RedHat版本专有命令

                            /etc/rc.d/init.d/httpd start                                    标准启动          

                      2.1.7 网页目录

                            /var/www/html

        3、yum在线安装(前提条件能连网)

                3.1 基本命令

                      yum    -y    install    包名                安装            -y 自动回答yes

                      yum    -y    remove    包名              卸载        当它不存在,不要乱卸载,不知道被谁依赖了,卸载一时爽,一直卸载一直爽,linux系统下再装回去一个软件可就要老命了

                      yum    -y    update    包名               升级

                      yum    list                                        查询所有可以安装的包

                3.2 光盘作为yum源

                     图片.png   

                     3.2.1 cd /etc/yum.repos.d/

                      默认网络yum源生效,在本机不能连网的时候让光盘yum源生效,网络yum源改名

                      图片.png     

                    3.2.2 mount /dev/sr0    /mnt/cdrom

                    

                    3.2.3  vi    /etc/yum.repos.d/

                              baseurl=file:///mnt/cdrom/                指定yum源位置

                              enabled=1                                          yum源文件生效

                              gpgcheck=1                                        rpm验证不生效

                              图片.png  

                             本地光盘yum源起作用

                              图片.png

                              图片.png  

                              pkill    -9    yum-updatesd                  如果yum报错正在升级,执行此命令,强制杀死升级进程

                              yum    -y    install    gcc                     (gcc是C语言编译器,不装gcc,源码包不能安装,并且安装gcc只能rpm方式安装)           

        4、源码包安装

                问题1:是否可以在一台电脑中既安装RPM包Apache,又安装源码包Apache?

                答:可以,安装位置不一样,RPM包默认安装位置,源码包手工指定安装位置,一般    /usr/local/apache2/,只能启动一个80端口。

                问题2:源码包和RPM包如何选择?

                答:如果服务对大量客户端提供访问,建议用源码包,如果服务只给少数人访问,建议RPM包

                问题3:源码包从哪里来?

                答:官方网站下载

                问题3:如何把windows文件拷贝到linux系统中?

                答:1、远程传输工具winscp或者一些其他工具传输到linux

            4.1 使用传输工具把源码包从windows传输到linux系统

            4.2 安装

                4.2.1 解压

                4.2.2 cd    到解压目录

                图片.png

                4.2.3 查看安装文档

                    INSTALL    README

                4.2.4 编译前的装备

                    ./configure  --prefix=/usr/local/apache2

                    功能:

                        1.检测系统环境        生成Makefile

                        2.定义软件选项   

                 图片.png             

                4.2.5 编译  make    clean

                    make

                4.2.6 编译安装 (在这一步之前报错只需要执行make clean就行,这一步报错需要make clean, 并且删除apache2目录重来)

                    make  install

                    报错判断:

                    第一:安装过程是否停止

                    第二:注意 error    warning    no    等错误报警     

             4.3 启动

                    /usr/local/apache2/bin/apachectl    start    

             4.4 删除

                    直接删除安装目录

                

                    RPM包和源码包的区别:

                            启动:

                                RPM包:service    httpd    start|stop|resrart

                                               /etc/rc.d/init.d/httpd start 

                                源码包: /usr/local/apache2/bin/apachectl    start

                            网页:

                                RPM包: /var/www/html/

                                源码包: /usr/local/apache2/logs/

         5.其他

                5.1 date    查看系统时间

                 图片.png

               date    -s    20130310        设定日期

               date    -s    16:20:00          设定时间

               5.2 du -sh 目录名        统计目录大小(统计的文件大小是准确的,包括垃圾文件、缓存等)

                        -s    总和

                        -h    习惯单位

                   图片.png

                 5.3 df    -h     统计分区大小 (统计的分区剩余空间是准确的,统计硬盘容量)