linux系统 安装、管理程序

简介: linux系统 安装、管理程序

linux系统主要有三种方法

1,编译安装

优点:灵活性较高,可以装较新的版本

缺点:难度较大

2,rpm安装

红帽公司做的类似360安装软件,  rpm 跟软件名 (后缀名必须.rpm) 就可以安装。

一般用来查信息, 看程序是否安装。

缺点:只能检测各个程序的依赖关系,不能解决

3,yum

yum是rpm升级版本,可以解决各个程序的依赖关系

注意:2,3用的都是红帽打包好的软件包,能不能用2,3 就要看红帽有没有包

一,linux 程序基础知识

(一)应用程序与系统命令的区别

角色 系统命令 应用程序
文件位置 一般在/bin和/sbin目录中,或为shell内部指令 通常在user/bin和user/sbin目录中
主要用途 完成对系统的基本管理工作,例如IP配置工具 完成相对独立的其他辅助任务,例如网页浏览器
适用环境 一般只在字符操作界面中运行 根据实际需要,有些程序可在图形界面中运行
运行格式 一般包括命令字、命令选项和命令参数 通常没有固定的执行格式

(二)典型应用程序所在目录

文件类型 保存目录
普通执行程序文件 /usr/bin
服务器执行程序文件和管理程序文件 /usr/sbin
应用程序配置文件 /etc
日志文件 /var/log
应用程序参考文档文件 /usr/share/doc
应用程序手册页文件 /usr/local/share/man

(三)常见的软件区包封装类型

文件类型 保存目录 解释
RPM软件包 扩展名为“.rpm” RPM Package Manager的缩写 是红帽公司自主研发的一款工具,实用性强。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在相互依赖的情况。
DEB软件包 扩展名为“.deb" 在Linux系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。此外,deb广泛应用于越狱后iOS软件及MeeGo(含Maemo软件)中。Debian包是将包的文件信息以及包内容,经过gzip和tar打包而成。
源代码软件包 一般为“.targz",".tar.bz2"等格式的压缩包包含程序的原始代码 是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。
绿色免安装的软件包 软件包的扩展名不一,以TarBall格式的居多在压缩包内提供已编译好的执行程序文件解开压缩包后的文件即可直接使用 顾名思义自行理解比如Windows的截图软件

二,RPM包管理工具

(一)RPM 是什么

Red-Hat Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的数据库文件(一张对应表将信息写入)

详细记录软件包安装、卸载等变化信息

自动分析软件包依赖关系

(二)命名格式

bash-4.1.2-15.el6_4.x86_64.rpm

bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件

(三)相关文件

  1. 包文件组成 (每个包独有)
  • 包内的文件
  • 元数据,如:包的名称,版本,依赖性,描述等
  • 可能会有包安装或卸载时运行的脚本
  1. 数据库(公共):/var/lib/rpm (安装好后会将一些公共的数据放入数据库中)
  • 程序包名称及版本
  • 依赖关系
  • 功能说明
  • 包安装后生成的各文件路径及校验码信息

(四)安装条件

软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包

安装软件包时,会因为缺少依赖的包,而导致安装包失败。rpm只能检测各个程序的依赖关系,不能解决.

(五)rpm相关命令

1,查询

选项 功能效果
rpm -qa(all) 显示当前系统中以 RPM 方式安装的所有软件列表
rpm -q 软件名 查询指定软件是否已安装
rpm -qi 软件名 查看指定软件包的名称、版本、许可协议、用途描述等详细信息
rpm -ql(list) 软件名 显示指定的软件包在当前系统中安装的所有目录、文件列表
rpm -qc (configfiles ) 软件名 列出已安装的指定软件的配置文件(以.cof结尾)
rpm -qd(docfiles) 软件名 列出已安装的指定软件的软件包文档所在位置
rpm -qR (requires) 软件名 列出已安装的指定软件的依赖的软件包及文件
rpm -qf(file) 软件名 查看指定的文件或目录是由哪个软件包所安装的
rpm-qpd 查询未安装指定软件包的文档位置
rpm -qpi 查询未安装指定软件包的完整名称详细信息
rpm -qpl 查询未安装指定软件包的文件列表
rpm -qpc 查询未安装指定软件包的配置文件位置

2,安装

使用rpm安装,当前目录下一定要有安装包

rpm  -ivh

i  指安装     v  指显示过程    h   指进度条

 

3,卸载

rpm    -e

(六)维护RPM 数据库

1.重建RPM数据库

当RPM 数据库发生损坏,可通过 重建RPM 数据库 修复

rpm --rebuild 或者 rpm --initdb

2.导入验证公钥

在没有导入用于数字签名验证的公钥之前,安装光盘中的一部分RPM 包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件。

三,挂载

1,挂载格式:

mount 设备 加文件夹路径

挂载光盘:mount /dev/cdrom /mnt/

2,挂载规则

  • 一个挂载点同一时间只能挂载一个设备
  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
  • 一个设备可以同时挂载到多个挂载点
  • 通常挂载点一般是已存在空的目录,挂载后挂载点的文件可能消失
  • 只要是外来设备想要在linux系统中使用都要挂载
  • 挂载是临时的,如果永久需要,要写到文件中去 /etc/fstab

3,挂载相关命令

①挂载光盘

②解挂载   unmount

③ 看挂载情况   df

四,yum

(一)yum介绍

为了解决依赖关系,发明yum命令。yum 不但可以检测依赖关系,还可以解决依赖关系。

yum是 c/s架构 分为客户端 服务端

客户端:配置文件指向服务端

服务端:提供软件包

(二)yum仓库

本地仓库:自己是客户端也是服务端 (救急的,没网的情况,)

网络仓库:客户端和服务端分开

(三)yum安装过程

1,客户端  根据配置文件找到服务端

2,客户端将元信息下载到本地  (元信息:安装包的位置,以及安装的依赖关系)

3,根据元信息去下载对应的安装包到本地后,然后安装

4,安装完成后,删除安装包

网络yum一定要有网,无网用rpm 或者 本地yum仓库。

(五)网络yum 下载程序

系统一安装好,  无需操作,自带网络yum源

yum   install    软件名    -y

install    指安装       -y 指同意

(六) 本地yum

1,服务端和客户端

服务端我们不需要修改,服务端配置软件在 vim /ect/yum.cof

客户端的配置文件需要改,在 cd /etc/yum.repos.d/ 文件夹里面

必须要放在/etc/yum.repos.d/文件夹下,配置文件必须要以 .repo结尾

2,实验本地yum  安装并运行tree程序

gpgcheck  检测软件的安全性

=0      不需要检测

=1      需要检测

3,可能会出现的问题

解决办法:

kill 114533 不成功的话

rm -rf /var/run/yum.pid

五,编译

(一)编译步骤

1      ./configure            

①,选择装在哪里   ②,检测编译环境   ③,选择安装模块(选择安装基础版也就是默认版或者一些额外的功能)

./configure  --help   看到     可以安装的模块

2,make                    将所有的源代码翻译成二进制,会形成一个绿色的可执行文件

3,make install          将执行文件及相关的一些依赖文件拷贝到之前指定的目录中

(二)实验步骤

注意:

1,每个软件的安装编译环境不一样

2,去官网复制网络地址时,要看到packages  和  repodata   再复制

repodata  这个名字不能改    这个文件夹是后面生成的

packages  名字可以改

(三)可能会出现的问题以及排错

装好了会生成这个文件,如果报错先把这个文件删了

遇到问题:少编译工具,先把这个文件删了,百度缺什么

然后用 yum install 去装

相关文章
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
104 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
88 2
|
18天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
151 78
|
22天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
54 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
16天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
18天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
104 20
|
2月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
158 48
|
12天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
125 7
|
18天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
84 13
|
19天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
37 2