Linux系统程序安装管理(持续更新)

一、Linux程序与进程

1.基本概念

程序:是一组指令及参数的集合,按既定逻辑控制计算机运行用来完成特定任务,是静态的

进程:是运行的程序,是操作系统执行的基本单位,是程序运行的过程,是动态的,是有生命周期及运行状态的,是操作系统分配内存、cpu使劲啊片等资源的基本单位

线程:是操作系统能够进行运算调度的最小单位,它被包括在进程之中,是进程中的实际运作单位

2.程序和进程的区别

程序是静态的,他只是一组指令的集合,不具有运行意义。而进程是程序运行的动态过程

进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程

进程还具有并发性和交往性,而程序是封闭的

3.进程和线程的区别

一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发拥有多个线程,而一个线程只能同时被一个进程拥有

线程不能单独执行,但每一个线程都有程序入口、执行序列以及程序出口,他必须组成进程才能被执行

二、Linux进程基础(生命周期)

1.进程生命周期

父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个唯一的进程 ID(PID),PID和父进程ID(PPID)是子进程环境的元素,任何进程都可以创建子进程

所有进程都是第一个系统进程的后代:在centos6中,第一个系统进程是init,而在centos7中,第一个系统进程是systemd

2.父子进程的关系

子进程由父进程产生,在linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码。

运行过程:子进程运行时父进程休眠。当子进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境后,剩余释放不掉的资源称之为僵尸进程。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行其自己的程序代码。

三、程序管理

1.常见的软件包类型

rpm包:.rpm为后缀,红帽系列操作系统(RedHat,CentOS,OpenSUSE)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。(相关命令:rpm,yum,dnf)依赖关系是指:安装包安装所需的基础环境

deb包:.deb为后缀,debian系列操作系统(debian,Ubuntu,kali)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。(相关命令:dpkg,apt[-get])

二进制包:一般以.bin为后缀,直接被计算机执行安装

源码包:一般C语言(高级语言中最底层的语言,一般结合汇编进行驱动编写)编写,安装前需要编译为二进制包;配置【如,安装路径,配置文件路径,运行用户,运行组,功能模块】--->编译--->安装;文件比较集中,便于后期进行维护与管理。

2.安装方法

使用独立的rpm包安装

需要下载使用对应的rpm包,一般在系统镜像中存在大量的rpm包

命名方法 :zip-0-11.el7.x86_64.rpm 从左往右分别是,软件名、版本号、安装平台、安装架构平台的位数(32位,x86或者64位,x86_64).rpm

2.1、使用方法

已安装软件包查看选项:

未安装软件包查看选项

安装升级和卸载

3.yum(dnf)安装

yum安装可自动解决安装依赖关系

yum源配置文件 指定yum程序运行时查找软件包存储路径

yum程序配置文件 yum程序运行时的运行配置

缓存保存路径

3.1、yum源类型

网络yum源

网络源配置地: /etc/yum.repos.d/ 下的openEuler.repo(网络资料在系统中所在地)

利用网络存储的软件包路径:http://域名/Path #不常用  https://域名/Path    ftp://域名/Path  #不常用

本地yum源

配置本地yum源

(1)镜像挂载 

(2)创建目录备份网络源文件

(3)创建本地源文件并配置

vim local.repo 输入配置信息  :wq保存退出

 (4)检验

安装  (查看并筛选所需安装包 ls | grep name)

4.yum命令语法

yum [options] command [package ...]

yum -y  install 软件名   非交互式安装

5.源码包(编译)安装

需要依赖gcc和make环境

三步走:配置、编译、安装。

第一步配置:

下载lrzsz

压缩包导入安装系统

解压并进入

配置安装路径 生成makefile文件

注意:安装时若提示缺少"PCRE"和"ZLIB"可尝试安装 yum install pcre/zlib -devel之后再次安装

第二步编译:

make命令生成objs文件

第三步安装:

make install

安装完成后需要命令优化  命令需要放到 echo $PATH路径下才能使用 

注意:源码包安装的命令默认不被systemd 管理

6.二进制安装

只需要运行bin文件  默认不被systemd管理

7.systemd管理机制

init进程是所有进程的父进程,systemd实际上是一种管理init的软件。只能管理rpm安装的

7.1、systemctl启动和查看服务 

安装vsftpd

启动并使用systemctl查看

监听接口查看 netstat -naptu

7.2、常用unit类型

8.运行级别

8.1、运行级别与target的对应关系

查看运行级别

切换运行级别

查看默认运行级别

设置默认运行级别

8.2、systemctl命令的使用

语法:systemctl  服务控制类型    服务名称[.service]

服务控制类型

加载当前systemd配置脚本:systemctl daemon-reload

使用场景1.添加配置文件、2.更改原脚本内容、3.更改原脚本运行配置文件

以上干货均为学习使用!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值