常用的安装程序
windows常用的就是.exe 也叫做绿色安装。指的是下载下来解压就可以直接时候用。
.exe统统称为二进制方式安装。.exe文件是一个源码包
Linux源码包:
实际上,源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。
源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux中最常用的打包格式为“tar.gz”
程序:未执行的代码
进程:执行起来的代码。
线程:进程的真正执行者
Linux二进制包
二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。
默认在/bin或/sbin为系统自带的。
在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin都是用户第三方自己定义的,需要手动配置,否则不会生效。
1.编译安装(二进制安装)通过源码包安装。
程序的编译安装。
编译安装(源代码包安装)的好处:
1.开源,如果能力足够可以修改源代码。
2.可以自由选择所需功能。
3.因为软件是编译安装的,所以更适合自己的系统,更加稳定,效率也更高。卸载方便(源码包直接删除即可)。
坏处:
1.安装过程步骤较多,尤其是安装较大的软件集合时,容易出现拼写错误。
2.编译时间较长,所以安装时间比二进制安装要长。
3.因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决。
步骤:
1.首先把押解包解压在当前路径。
2.安装依赖环境
代码格式:yum install apr* gcc* pcre* -y (过程比较慢)加y会自动同意,不加y要一步一步同意。
3.进到解压出来的源码包里进行操作(进入源码包目录)
./表示在当前目录下执行这个文件。
4.配置安装路径格式:./configure --prefix=/opt/apps/httpd 此命令意为把httpd-2.4.29这个服务装到指定的路径当中。这就是配置路径还可以配置模块和组件。回车就会检查源码包里所提供的相关代码、组件和模块是否完整。检查完配置正确之后 0.33.45
5.make 表示编译可以理解为翻译器 输入make直接回车即可。然后就是把源文件所有的源代码通过make的方式翻译出来告诉下面的安装程序接下来每一步要做什么,这就是编译的过程。
6.最后一步:make install还可以把编译和编译安装放到一起make && make install还可以加-j例如make -j 4 && make install选择用几个处理器来进行处理,代码里加的4代表用4个。
make install指令意为把刚才编译出来的东西交给install安装程序来进行执行。
安装完成。注意,出来之后所在目录是源码包而不是安装文件。
例如图片回到opt目录下会发现新目录apps,这就是新安装的目录。进入目录和httpd子目录就可以找到最终的安装文件。conf:表示配置文件。logs:表示日志文件。modules:表示模块文件。htdocs:默认读取的服务配置文件。cd htdocs会发现有个index.html文件。现在只要在index.html文件输入任意内容,那么打开网址就会呈现所输入的内容。
然后把服务开启就要进入bin的目录里去,目录里有很多可执行文件(绿色的文件)找到程序文件apachectl 然后输入./apachectl start(这里start代表参数)表示开启服务。
最后要关闭防火墙固定格式:
systemctl stop firewalld
setenforce 0
然后输入网址就可以打开了,并看到在服务文件里输入的内容。就相当于打开一个静态网址的页面
关闭只需把先前的指令./apachectl star的star改为stop即可。
到这儿编译安装到此结束,但还有优化方式,因为每次开启都要进入bin的文件下执行,有些麻烦
可以添加到系统服务当中让系统来识别这样就不用每次都到bin目录下执行了。可以以创建软连接的方式实现。
ln -s /opt/apps/httpd/bin* /usr/local/bin 创建bin目录下所有的配置文件的软连接到系统能够识别的第三方应用程序中/usr/local/bin还有其他几个都可以。
然后添加到系统服务当中vim /lib/systemd/system/httpd.service 最后一个文件名可以随意,相当于是一个新文件。但是.service不能少。
然后输入
[Unit] 表示单元,又叫系统服务,就是告诉你我这个系统名称是什么。
Description=The Apache HTTP Server 描述信息
After=network.target 表示依赖于网络服务。没网运行不起来
[Service] 表示对服务具体的操作安排
Type=forking 表示后台运行
PIDFile=/opt/apps/httpd/logs/httpd.pid 表示pid文件的位置,没有pid号服务就运行不起来
ExecStart=/usr/local/bin/apachectl $OPTIONS 表示启动服务
ExecReload=/bin/kill -HUP $MAINPID 重新启动
[Install]
WantedBy=multi-user.target 多用户模式
这是固定格式,不能错
这个指令核心作用就是让系统可以识别bin里的服务。
完成之后直接输入
systemctl restart httpd就可以开启服务了,不需要在进入bin目录下寻找程序文件开启。
编译安装总结
1.先要有源码包,解压
2.安装依赖环境。
3.配置./configure --prefix=/opt/apps/http(指定安装路径)
4.make(编译)
5.make install 安装 也可以make && make install 这样写在一起
rpm -ivh (服务名)是安装服务命令
rpm -q或-qa (服务名)检测服务是否安装
-a:表示显示当前系统中所有以RPM方式安装的包。
用yum的方式进行安装
yum是一个基于RPM包构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间。
1.为什么会有依赖关系?
linux系统自身的原因
因为Linux系统比较简洁,省略了很多不必要的程序,软件。所以当你安装服务的时候需要自行解决程序之间的依赖关系。
yum是由两方面组成:由仓库和客户端组成。
仓库的作用:提供rpm包。仓库分本地仓库(面试会问)和在线仓库
客户端的作用:调用仓库里的包,来实现软件安装 也就是我们的linux系统。
yum的工作原理:
在服务器上建立仓库,仓库里面有很多提供对应服务的rpm包和包的相关的元数据。元数据在特定的目录下(repodata下) 元数据:包的信息:包名称、版本,依赖关系。让软件包管理器知道软件包的信息,如何安装(解决依赖关系),升级、卸载。
总结yum的工作原理:先设置仓库,在仓库中包含的元数据,下载软件包时,通过元数据来查找指定软件包所有信息(名称、版本、依赖关系),然后一步到位,全部安装完成。使用即可。 (rpm和yum方式安装的软件服务,配置文件都在/etc/目录当中)
yum install安装软件的命令
yum remove卸载软件的命令
首先第一步搭建yum仓库(本地yum源)搭建之前查看虚拟机镜像是否连接。一定要连接而且一定要挂载光盘镜像
yum文件的位置是固定的,在指定目录下/etc/yum.repos.d/
然后在yum.repos.d文件下mv CentOS-* backup (backup目录需要自建)
把yum自带的yum源移到backup目录下,要保证yum.repos.d目录下没有.repo结尾的文件
接下来创建本地yum源
同样在yum.repos.d目录下vim (自定义名称).repo输入
[自定义的文件名]
name=(这是描述信息写什么都可以例如local)
baseurl=file:///mnt (这里的/mnt表示光盘挂载点的绝对路径可以随着光盘挂载点的改变而改变)
enabled=1 意为开启yum源。这个是默认项,可以省略不写
gpgcheck=0 意为不检查软件的序列号
保存退出即可
接下来输入指令:yum clean all && yum makecache 这一步是为了清缓存建立元数据。
完毕
现在就可以用yum的方式安装httpd了
输入yum -y install httpd 安装httpd
和之前的编译安装不同,使用yum安装的httpd在 /var/www/html的目录下
在此目录下vim index.html里面编辑的内容,就会在对应IP地址的网页上呈现
而且可以通过systemctl start httpd开启系统命令的方式直接启动,不需要进入/bin下寻找执行文件启动。
而且yum安装的速度比较快
本地在线源:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
输入完回车即可
然后yum clean all && yum makecache清缓存建立元数据
先做yum源再做本地源然后拍快照作为还原点使用。