Linux系统命令(安装程序)

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)从源码包安装软件的步骤如下:
  1. 下载源码包:访问软件的官方网站或代码仓库(如 GitHub),下载最新版本的源码包。

  2. 解压源码包:使用 tar 命令解压源码包。例如,如果源码包名为 package-name.tar.gz,可以使用以下命令解压:

 tar -xf httpd-2.4.29.tar.bz2
  1. 安装依赖项:进入解压后的源码目录,根据软件提供的文档安装所需的依赖项。依赖项通常包括其他软件包或库。
 yum install apr* gcc* pcre* -y  #创建本地yum源,后安装依赖环境
  1. 配置和编译:在源码目录中执行配置脚本(通常为 ./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.com/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.com   #这个命令使用刚刚安装的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
  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值