admin管理员组文章数量:1657458
Linux系统(安装程序)
1.tar命令
一个在 Linux 系统中用于创建和处理文件归档的工具
tar [选项] 文件名
● -c 创建.tar 格式的包文件。
● -x 解开.tar 格式的包文件。
● -C 解压时指定释放的目标文件夹。需绝对路径
● -f 表示使用归档文件。
● -v 输出详细信息(Verbose)
● -j 调用 bzip2 程序进行压缩或解压
● -2 调用 gzip 程序进行压缩或解压。
##示例
tar -zcvfdntest.tar.gz123.txt 打包
tar -zxvf dntest.tar.gz-C/opt/dntest 解包到指定位置
2.Linux源码包
●源码包是指包含软件源代码的文件集合,通常以 tarball(如 .tar
.gz
或 .tar
.bz2
)的形式提供。
1)源码包安装的好处
①开源。如果你有足够的能力,则可以修改源代码。
②可以自由选择所需的功能。
③因为软件是编译安装的,所以更适合自己的系统,更加稳定,效率也更高。
2)缺点
①装步骤繁琐:源码包安装涉及多个步骤,包括下载、解压、配置、编译和安装,这些步骤对于新手来说可能较为复杂,容易出现拼写错误。
②编译时间长:与预编译的二进制包相比,源码包需要从头开始编译,这个过程通常比较耗时,尤其是在硬件配置较低的系统中.
③依赖关系处理:源码包安装过程中,可能需要处理复杂的依赖关系,这可能需要额外的时间和努力来确保所有依赖项都已正确安装。
④版本控制问题:手动安装的源码包可能难以与系统其他软件保持版本一致性,这可能导致兼容性问题或升级困难。
⑤自动化运维困难:与使用包管理器安装的二进制包相比,源码包的安装和管理在自动化运维中更加复杂,不易于版本控制和批量部署。
3)从源码包安装软件的步骤如下:
-
下载源码包:访问软件的官方网站或代码仓库(如 GitHub),下载最新版本的源码包。
-
解压源码包:使用
tar
命令解压源码包。例如,如果源码包名为package-name.tar.gz
,可以使用以下命令解压:
tar -xf httpd-2.4.29.tar.bz2
- 安装依赖项:进入解压后的源码目录,根据软件提供的文档安装所需的依赖项。依赖项通常包括其他软件包或库。
yum install apr* gcc* pcre* -y #创建本地yum源,后安装依赖环境
- 配置和编译:在源码目录中执行配置脚本(通常为
./configure
),然后编译源码(通常使用make
命令)。配置脚本可以接受一些选项,用于自定义安装路径和功能。例如:
./configure --prefix=/usr/local
5.安装软件:使用 make ## make install
命令(可能需要 sudo
权限)将编译好的软件安装到系统中。
make ## make install
6.清理临时文件:完成安装后,可以清理编译过程中生成的临时文件,例如使用 make clean
命令。
7.检测是否成功
①检查端口是否开启
netstat -natp | grep 'PORT_ID'
netstat
是一个用于显示网络连接、路由表和网络接口状态等信息的命令行工具。-n
选项表示以数字形式显示地址和端口号,不进行域名解析;-a
选项表示显示所有连接和监听端口;-t
选项表示仅显示TCP连接;-p
选项表示显示与每个套接字关联的进程ID和程序名称。
grep 'PORT_ID'
:grep是一个文本搜索工具,此处用来找到所需查看的端口号PORT_ID
。
②访问测试
curl HOST或IP ## curl(访问,请求) host(服务器的域名) IP(服务器的IP)
或者domain/server name ##域名(Domain Name) 服务器名称(Server Name)
或直接网页打开,输入ip或者域名测试访问
请注意,从源码包安装软件可能需要一定的技术背景和经验。对于大多数用户而言,使用软件包管理器(如 apt、yum 或 pacman)安装预编译的二进制软件包可能更为方便。
3.程序
●程序是计算机指令和数据的集合,用于执行特定任务。它可以是源代码形式,也可以是编译后的机器语言可执行文件
1)程序的执行
程序:未执行的代码 (未打开时)
进程:执行起来的代码 (系统执行这个程序的代码)
线程:进程的真正执行者
2)一个程序从开发到可以被用户简易使用需要通过:
①代码编写
②编译、打包(war、jar格式)
③运行(起一个进程后运行其编译的代码,实现其定义的功能)
④发布
4.RAM包管理工具
● RPM包管理工具是Linux系统中用于管理软件包的重要工具,它支持软件包的安装、升级、查询和卸载等操作。RPM包管理工具具有简单、快速的特点。
1)RPM(Red Hat Package Manager)包管理工具的功能
常用选项:
-i:安装一个新的 RPM 软件包。
-U:升级某个软件包,若未安装过,则进行安装。
-F:升级某个软件包,若未安装过,则放弃安装。
-h:在安装或升级软件包的过程中,以“#”号显示安装进度。
-v:显示软件安装过程中的详细信息。
-e:卸载软件
--force:强制安装某个软件包,比如要安装版本更旧的软件包
查询已安装的rpm软件信息
rpm -q 软件名 #查询指定软件是否已安装
rpm -qi 软件名 #显示已安装的指定软件的详细信息
rpm -ql 软件名 #显示已安装的指定软件的文件列表
rpm -qc 软件名 #列出已安装的指定软件的配置文件
rpm -qd 软件名 #列出已安装的指定软件的软件包文档所在位置
rpm -qR 软件名 #列出已安装的指定软件的依赖的软件包及文件
rpm -qf 文件或目录 #查询已安装的指定软件属于哪个安装包
rpm -qa 软件名 #显示当前系统中以 rpm方式安装的所有软件列表
rpm -qa | grep postfix #查询软件postfix是否已安装
查询未安装的 RPM 软件包文件中信息
rpm -qpi RPM包文件名 #查询指定软件包的详细信息
rpm -qpl RPM包文件名 #查询指定软件包的文件列表
rpm -qpc RPM包文件名 #查询指定软件包的配置文件
rpm -qpd RPM包文件名 #查询指定软件包的软件包文档的位置
示例:
- 安装软件包
rpm -ivh package.rpm ##命令安装软件包
- 卸载软件包
rpm -e package_name ##命令卸载软件包
- 查询已安装的软件包
rpm -qa ##命令列出所有已安装的软件包
- 升级软件包
rpm -Uvh package.rpm ##命令升级软件包
- 升级软件包
rpm -Uvh package.rpm ##命令升级软件包
- 升级软件包
rpm -Uvh package.rpm ##命令升级软件包
2)维护RPM数据库
1.重建 RPM 数据库
当 RPM 数据库发生损坏,可通过重建RPM数据库 修复
rpm --rebuilddb 或者 rpm --initdb
2.导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。
需要向RPM数据库中导入位于光盘根目录下的公钥文件
mount /dev/sr0 /mnt/ #将设备 /dev/sr0 挂载到目录 /mnt/ 下
rpm --import /mnt/RPM-GPG-KEY-CentOS-7 #用于导入RPM软件包管理器的GPG公钥
5.挂载(挂载iso文件)
挂载方式:
mount 设备 加文件夹路径 (已存在且是空的文件夹,原来的数据将被隐藏)
挂载规则
① 一个挂载点同一时间只能挂载一个设备
② 一个设备可以同时挂载到多个挂载点
③ 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
④ 一个设备可以同时挂载到多个挂载点
⑤ 通常挂载点一般是已存在空的目录
⑥ 一个设备就挂载在一个挂载点,否则会显示错误;
6.YUM(Yellow dog Updater,Modified)
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,
能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间.
1)yum的工作原理:
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
2)安装过程:
①本地安装
先配置本地yum源
mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/ ` #切换到YUM软件包管理器的配置文件目录
mkdir repos.bak` #建立备份文件夹
mv * repos.bak` #备份文件
vim local.repo #编辑配置文件
配置文件内容
[local] #文件名
name=local #描述
baseurl=file:///mnt #指定光盘挂载目录作为软件仓库源
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不去检查软件序列号
yum clean all && yum makecache #删除yum缓存并刷新
②在线安装
使用yum方式进行安装
yum install -y gcc gcc-c++ make #在Linux系统上安装C和C++编译器以及make构建工具
–创建在线yum
wget http://mirrors.aliyun/repo/Centos-7.repo
#使用wget命令下载阿里云镜像站的Centos-7.repo文件
–创建在线yum
#时间同步
作用:在Linux系统上安装ntpdate工具,并使用它从阿里云NTP服务器同步系统时间
yum install ntpdate -y #使用YUM软件包管理器在Linux系统上安装ntpdate软件包。ntpdate是一个用于从
时间服务器同步系统时间的命令行工具。-y参数表示自动回答"yes",以避免安装过程中的确认提示。
ntpdate ntp.aliyun #这个命令使用刚刚安装的ntpdate工具从指定的NTP(网络时间协议)服务器同步系
统时间。执行此命令后,系统时间将与阿里云NTP服务器的时间保持同步。
③yum常用指令
yum list #显示所有可用包 单个的可安装包
yum info #显示所有可用包的信息 单个具体的信息
yum search #模糊查找所有的相关信息
yum provides #精确查找
yum grouplist #显示所有可用包组 显示具体的包组
yum groupinfo #显示所有的包组具体信息 显示具体的包组的具体信息
yum install #安装具体软件包
yum groupinstall #安装具体软件包组
yum whatprovides #精确查找
yum remove #删除指定软件包及依赖文件
7.手动编译安装httpd的步骤
1、解压源码包
tar -xf httpd-2.4.29.tar.bz2
2、安装依赖环境:创建本地yum源后,安装依赖环境
yum install apr* gcc* pcre* -y
3、进入httpd-2.4.29目录下,带安装路径执行./configure (也可安装到/usr/local/httpd下)
./configure --prefix=/opt/apps/httpd #配置安装路径
4、编译和安装
make && make install #应该两条命令用时长,故使用&& 。
6、关闭防火墙和安全机制
systemctl stop firewalld #关闭防火墙服务
systemctl disable firewalld #禁止开机自启
setenforce 0 #核心防护关闭
##附加防火墙相关指令
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙(本次
systemctl disable firewalld #关闭防火墙(以后
setenforce 0 #关闭核心防护(本次
vi /etc/selinuxconfig #关闭核心防护(以后
7、开启服务
/opt/apps/httpd/bin/apachectl start #开启服务
/opt/apps/httpd/bin/apachectl stop #停止服务
开启服务后会报警告
AH00558: httpd: Could not reliably determine the server's fully qualified do main name,
using localhost.localdomain.Set the 'ServerName' directive globally to suppress this message
调试状态下暂时可以忽视
8、使用curl命令模拟一个HTTP的形式来访问目标,再使用浏览器访问目标IP
curl IP
或浏览器访问
9、查看与httpd对应的80端口工作状态
netstat -natp | grep 80
10、优化管理
1)需要在/lib/systemd/system/创建httpd.service文件并添加配置信息
vim /lib/systemd/system/httpd.service
2)定义文件配置,将服务路径添加到systemd,才可以识别
[Unit] 系统服务的属性的配置文件
Description=The Apache HTTP Server #描述
After=network.target #描述服务类别
[Service] 控制和管理的配置文件
Type=forking #后台运行方式
PIDFile=/opt/apps/httpd/logs/httpd.pid #PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS #启动服务
ExecReload=/bin/kill -HUP $MAINPID #根据PID重载配置
[Install] 指定服务的安装和激活行为
WantedBy=multi-user.target #表示服务在系统启动并进入多用户模式时自动运行。
3)此时,systemctl已经可以控制httpd服务
systemctl start httpd #启动名为httpd的服务。
systemctl status httpd #查看名为httpd的服务的当前状态
4)、在使用systemctl关闭前,最好先使用apachectl关闭
apachectl stop #停止Apache Web服务器
5)使用netstat 查看到80端口状态
netstat -natp | grep 80
版权声明:本文标题:Linux系统命令(安装程序) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729789453a1212649.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论