Linux系统及操作 (04)

Linux系统及操作 (03)

RPM 软件包

  • 网络下载对应软件包
  • 光盘镜像文件,具备软件包

Windows 系统软件包的管理

  • 可以指定安装位置
  • 安装是集中安装到一个目录
  • Linux 系统 与 Windows 系统相反。

常见的软件包(生态)类型

  • 电脑入侵99%都是通过软件包的漏洞进行的。
  • window 生态
  • Android 生态
  • ios 生态
  • rpm软件包 :扩展名为 .rpm,适用于 RedHat 系统。
  • deb软件包 : 扩展名为 .deb 适用于 Debian 系统
  • 源代码软件包 :通常以 .tar.gz , .tar.bz2 格式的压缩包提供包含程序的原始代码文件
  • 其他 :提供 instal.sh , setup , *.bin , *.pl 等文件。
  • 其他 : 绿色免安装,提供已编译好的程序及相关文件

RPM的含义

  • RedHat Package Manager : 红帽公司提供,RedHat,SUSE等系统采用

  • 集中数据库,记录软件包的安装卸载等变化

    • http://rpmfind.net/
    • http://www.centos.org/
  • RPM包软件名特征

    • [ 软件名 ] - [ 版本信息 ] . [ 操作系统版本 ] . [ 硬件构造 ] . rpm

      { firefox - 91.9.0-1 . el8_5 . x86_64 . rpm }

    • 软件名 :firefox。 ( 软件名和软件包名需要区分 )

    • 版本信息 :91.9.0-1 ( 数字越大版本越新 )

    • 操作系统版本 : el8_5 ( 大版本为 8 )

    • 硬件构造 : x86_64 ( 64位系统 )

  • Linux软件包的安装是没有下一步,指定默认安装位置,分散的,不集中。

    • 优点 : 简单。

    • 缺点 : 不够灵活。

    • Linux系统 安装的软件名所产生的众文件名 不对应不一样的情况较多。

    • Linux 系统安装程序软件的路径是 :带 /bin 的路径

      • 普通执行程序 : [ /usr/bin/ ] [ /bin/ ]
      • 服务区程序,管理工具 : [ /usr/sbin ] [ /sbin/ ]
    • 配置文件 :决定和修改软件的功能。(配置服务) [ /etc/ ] [ /etc/软件名/ ]

    • 日志文件 :每个软件都会记录其运行轨迹。 [ /var/log/ ] [ /var/log/软件名/ ]

    • 程序文档,man手册页 : [ /usr/share/doc/ ] [ /usr/share/man/ ]

rpm 命令 : 查询系统软件信息

格式 :rpm -q[子选项] [ 软件名称 ]
  • [ rpm -q firefox ] 查看软件 firefox 是否安装。(查询软件)
  • [ rpm -q httpd ] 查看软件 httpd构造Web服务器软件。(查询软件)
  • [ rpm -q vsftpd ] 查看软件包 vsftpd 是否安装。
子选项:
  • [ -a ] : 列出已安装所有软件包

    • [ rpm -qa ] 列出所有已安装包。
    • [ rpm -qa | grep firefox ] 查看所有已安装的 firefox 软件。
    • [ rpm -qa | wc -l ] 查看已安装所有软件的个数。
  • [ -i ] : 查看指定已安装软件的详细信息(软件说明)

    • [ rpm -qi firefox ]

      查 firefox 的文件信息。
      
  • **[ -l ] : 查看指定已安装软件的文件安装清单 **(列出安装清单)

    • [ rpm -ql firefox ]

      查 firefox 都产生了什么 。
      
    • [ rpm -qf /etc/shadow ]

      查是哪个软件包的安装产生了 /etc/shadow 文件。
      

      原软件包已删也可以查出来。

  • [ -qpl ] : 查看未安装的软件包的安装路径和安装清单

    • [ rpm -qpl httpd ]
    • 查看软件包的时候要使用绝对路径
  • [ -qpi ] : 产量未安装的软件包的软件信息

    • [ rpm -qpi httpd ]
    • 查看软件包的时候要使用绝对路径
  • 为了软件包的绿色安全,Linux 会检测软件包有没有红帽签名(商标) ,没有签名的包会现实警告。有红帽签名是Linux官方的安全无害的软件包。无商标不一定不好用,危险。

  • 红帽签名信息是加密的。 /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

  • Linux 系统不认识,不识别红帽签名时也会显示警告。

    • 导入红帽签名识别信息

      [ rpm --import /etc/pki/rpm-gpg/rockyofficial ]

软件的安装/卸载

依赖关系

  • Linux 操作系统中,一个软件包在运行时所需的其他软件包或库文件。

  • 解决依赖关系 :

    • 先安装/卸载要求的包。
    • 如果RPM包齐全,但比较多。
  • 忽略依赖关系 :

    • 可能会导致软件运行异常
    • 辅助选项 [ -nodeps ]

rpm安装

  • rpm安装 :无法解决依赖关系。

  • 格式 :[ rpm -i RPM包文件… ]

  • 辅助选项:

    • [ -v ] : 显示细节信息
    • [ -h ] :以 # 号显示安装进度
    • [ rpm -ivh RPM包文件绝对路径 ] :安装软件
  • 卸载RPM软件

    • 格式 :[ rpm -e 软件名… ]

Yum 软件安装

Yum软件安装 :自动解决软件的依赖关系。
  • YUM : Yellowdog Updater Modified
    • 基于RPM包构建的软件更新机制
    • 自动解决软件的依赖关系
    • 所有软件包由集中的YUM软件仓库提供
    • 使用前提 构建软件仓库
    • 是一种基于“C/S”结构的RPM软件更新机制,所有的软件包由集中的软件仓库提供,能够自动分析并解决软件包之间的依赖关系。
构建软件仓库
  • 任意目录即可 (仓库地址)

  • 拥有众多软件(解决依赖关系)

  • 软件清单文件 (仓库内软件的信息汇总文件)

    • /AppStream/ (完美的软件仓库)下 Package 是众多软件repodata 是软件清单文件(软件数据文件)
  • RPM软件包来源

    • Red Hat发布的RPM包集合(系统光盘内容)
  • yum程序(命令)不知道软件仓库路径。

  • 需要指明仓库文件的位置给yum命令 , 写一个仓库配置文件(手写)

    • yum命令 ==> 仓库配置文件 ==> 软件仓库
  • 手写并背诵仓库配置文件

    • 位置固定 :[ /etc/yum.repos.d/ ] (存在多种仓库)
    • 命名为 :*[ .repo ]
    • 错误文件会影响正确文件。保持所有仓库文件正确。(yum不会递归读
    • /yum.repos.d/ 下建立新的目录 ,把干扰文件mv。清除其他配置文件的影响。
  • 仓库配置文件**[ .repo ]* 内容 :

    **[ appstream ]									-----自定义名称,具有唯一性****name=appstream							-----本软件源的描述字符串****baseurl=file:///mnt/AppStream	 -----指定YUM服务端的URL地址(仓库的位置)***[file://] 代表本机路径(本地yum仓库)         [http://] 代表网络服务路径***enabled=1										 -----是否启用此频道**[ 1 ] 仓库提供服务      [ 0 ] 仓库不提供服务**gpgcheck=1									   -----是否验证待安装的RPM包**[ 1 ] 检测红帽签名是否存在    [ 0 ] 不检测红帽签名信息**gpgkey=0										   -----用于RPM软件包验证的密匙文件**[ gpgcheck=1 ]时 ,需要输入密匙
    
  • [ yum repoinfo ] 查看本机识别的软件仓库,列出仓库信息。

  • 除了 [ /mnt/AppStream] 还有 [ /mnt/BaseOS ] 有仓库的情况(多包)

    **[ appstream ]									-----自定义名称,具有唯一性****name=appstream							-----本软件源的描述字符串****baseurl=file:///mnt/AppStream  -----指定仓库位置的绝对地址****enabled=1										 -----是否启用此频道****gpgcheck=1									   -----是否验证待安装的RPM包****gpgkey=0										   -----用于RPM软件包验证的密匙文件****[ baseos ]**
    **name=baseos**
    **baseurl=file:///mnt/BaseOS**
    **enabled=1**
    **gpgcheck=1**
    **gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial**
    
  • Yum判断配置文件个数只认 [ ] 中的自定义名称个数。

安装/卸载软件包
  • 软件包基本操作,安装软件包测试
  • 格式 : yum [ -y ] [ 指令 ] [ 软件名 ] …
  • [ -y ] : 安装
  • 常用指令 :
    • [ install ] : 安装指定软件包, 类似 [ rpm -i ]
      [ yum -y install 软件包 ]
    • [ remove ] : 卸载指定软件包, 类似 [ rpm -e ]
      [ yum remove 软件包 ] ---------卸载并询问是否操作
      [ yum -y remove 软件包 ] ---------卸载并不询问是否操作
查询软件信息
  • [ yum info 软件名 ] 查询对应软件的具体信息。

  • [ yum list 需要软件名 ] 查询仓库是否有该软件 ,精准文字符串。

  • **[ yum search 软件名的关键词 ] ** 查询仓库是否有该软件或功能类似的文件,模糊文字符串。

  • [ yum provides 文档路径 ] 查看哪些软件能够提供对应文件。

    • [ rpm -qf xxxx ] 只能检测已安装的软件。
    • [ rpm provides xxxx ] 可以检测尚未安装的软件。
  • [ yum -y reinstall xxxx ] 修复/覆盖重新安装软件

  • [ yum clean all ] 清空Yum的缓存

  • [ yum repoinfo ] 列出仓库信息

总结 :本地Yum仓库构建方法
  1. 显示光盘的内容,挂载光驱设备[ mount /dev/cdrom /mnt ]
  2. 书写仓库配置文件,指定仓库位置[ /etc/yum.repos.d/.repo ]*
  3. 检查配置文件,[ yum repoinfo ]
  4. 安装软件 , [ yum -y install 软件名]
  5. 检查是否安装成功 ,[ rpm -q 软件名 ]

命令补充

获得命令帮助

实用技巧

[ date ]
  • 查看/调整系统时间

    • [ date ] 显示现在时间

    • [ date -s ‘yyyy-mm-dd hh:mm:ss’ ] 修改时间为 yyyy-mm-dd hh:mm:ss

    • [ +%Y ] 显示年 ; [ +%m ] 显示月 ; [ +%d ] 显示日期 ; [ +%F ]显示年-月-日 ;

      [ +%H ] 显示时 ; [ +%M ] 显示分 ; [ +%S ] 显示妙 ; [ +%T ]显示时:分:秒 ;

[ history ]
  • 管理/调用曾经执行过的命令,记录1000条命令。
    • [ history ] : 查看历史命令列表。
    • [ history -c ] : 清空历史命令。
    • [ history -w ] : 记录历史命令为空的状态。
    • [ !n ] : n 代表任意数字,把历史记录中编号为 n 的命令再执行一遍。
    • [ !str ] : str 代表文字符或文字串,把历史记录中最近一次以 str 开头的历史命令。
[ du ]
  • 统计目录占用硬盘空间。

    • [ -s ] : 只统计每个参数所占用的总空间大小。

    • [ -h ] : 提供易读容量单位(K,M等)。

      [ du -sh /root ]

      [ du -sh /etc ]

制作快捷方式(链接文件/符号链接)
软链接
  • 若原始文件或目录被删除,则链接失效
  • 改快捷方式相当于改原文件/目录
  • 可存在于不同的分区/文件系统。
  • [ ln -s 原始文件/目录 链接文件 ]
  • 红色快捷方式表示bug。正确的快捷方式是天青色。
硬链接
  • 若原始文件或目录被删除,链接依然可用
  • 只能针对文件制作快捷方式,不支持支持跨分区。
  • [ ln 原始文件/目录 链接文件 ]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ai制图常用的软件有哪些?这5款ai生图工具值得推荐!

过去提起制图,它是一项具备高度专业化的创作活动,需要由熟练掌握制图技能的人完成,且制图通常包含的步骤繁多,很容易劝退想学习或者入门制图的新手,但随着 ai 人工智能技术在各个领域的落地,我们有机会用上…

MYSQL索引、事务、存储引擎(一)

目录 一、索引 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 二、索引的分类 1、普通索引 1.直接创建索引 2.修改方式创建索引 3.创建表的时候指定索引 2、唯一索引 1.直接创建唯一索引 2.修改表方式创建索引 3.创建表的时候指定索引 3、…

以题为例浅谈双指针算法

什么是双指针算法 双指针是指在遍历元素时,不是使用单个指针进行遍历而是使用两个指针进行访问,从而达到相应目的;注意这个指针不是c语言中那个指向地址的指针; 双指针分类 双指针分为对撞指针和快慢指针; 对撞指针…

JetBrains全家桶激活,分享 IntelliJ IDEA 2024 激活的方案

大家好,欢迎来到金榜探云手! IDEA 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具被…

Vulnhub靶机:Kioptrix_2014

一、介绍 运行环境:Virtualbox和vmware 攻击机:kali(192.168.56.101) 靶机:Kioptrix: 2014(192.168.56.108) 目标:获取靶机root权限和flag 靶机下载地址:https://ww…

mac硬盘拷贝到另外硬盘 苹果电脑怎么拷贝到移动硬盘

在当今的信息时代,数据的存储和传输是我们日常生活和工作中不可或缺的一部分。我们经常需要使用各种硬盘来保存和备份我们的数据,比如内置硬盘、移动硬盘、U盘等。但是,不同的硬盘可能使用不同的文件系统,这给我们的数据拷贝带来了…

【SpringSecurity】十七、OAuth2授权服务器 + 资源服务器Demo

文章目录 0、库表准备1、项目结构2、基于数据库的认证3、授权服务器配置4、授权服务器效果测试5、资源服务器配置6、其他授权模式测试6.1 密码模式6.2 简化模式6.3 客户端模式6.4 refresh_token模式 相关📕:【Spring Security Oauth2 配置理论部分】 0、…

完全不懂编程的话,如何系统的学习Python?

对于完全不懂编程的人来说,系统地学习Python可以按照步骤来,虽然开始的几步,难以理解,不懂,不知道什么意思,没关系,不用记不用懂,继续往下进行,也许到第二步第三步&#…

《InfMAE: A Foundation Model in Infrared Modality》CVPR2024

基础模型vs大模型:大模型,也称基础模型,是指具有大规模参数和复杂计算结构的机器学习模型 以后的研究中必须把大模型和基础模型耦合进来 总结:占坑 1. AB 多光谱的基础模型 红外的基础模型 可见光的基础模型 整体架构差不多…

贪心+位运算,LeetCode 1969. 数组元素的最小非零乘积

一、题目 1、题目描述 给你一个正整数 p 。你有一个下标从 1 开始的数组 nums ,这个数组包含范围 [1, 2p - 1] 内所有整数的二进制形式(两端都 包含)。你可以进行以下操作 任意 次: 从 nums 中选择两个元素 x 和 y 。选择 x 中的…

微信小程序小案例实战

.wxml: <view class "title">狂飙经典语录 </view> <view class"out"><block wx:if"{{listArr.length}}"> <!-- bloock不会影响排版--><view class"list"><view class"row" wx:…

mysql性能调优

mysql性能调优 sysbench压测调优到百万级别qps sysbench压测调优到百万级别qps 这篇文章https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads/#:~:textWe%20contacted%20SysBench%20author%20Alex…

seata安装

seara-Server下载 数据库建库seata 建表SQL地址:https://github.com/apache/incubator-seata/blob/develop/script/server/db/mysql.sql 表结构: 更改配置: # Copyright 1999-2019 Seata.io Group. # # Licensed under the Apache License, Version 2.0 (the "Licens…

Java学习笔记NO.24

T1.完成理工超市系统的商品类及其子类的定义&#xff0c;实现“浏览商品”及“查看商品详情”功能 &#xff08;1&#xff09;商品类 public class Goods {public String name;public double price;public int count;public String desc;public Goods(String name, double p…

89380-[82

CSDN是鼓励用户创作的一个平台&#xff0c;作为一个创作平台&#xff0c;可能很多博客新手不知道如何在CSDN写博客&#xff0c;如何使用编辑器&#xff0c;所以这篇文章将教你如何发布CSDN博文以及发布博文的一些规则。 如何创作博客&#xff1f; 第一步&#xff1a;首先在网站…

程序员排查BUG指南

程序员排查BUG&#xff08;错误&#xff09;是软件开发过程中的重要一环, 以下是一份程序员排查BUG的指南&#xff0c;帮助你更有效地识别、定位和修复问题&#xff1a; 1、重现BUG&#xff1a;确保能够准确地重现BUG&#xff0c;这是解决问题的第一步。尽量记录重现BUG的步骤。…

AcWing 278.数字组合

首先就是可以给出DFS的思路&#xff0c;也就是指数型递归的操作&#xff1a; #include<iostream> #include<stdio.h> #include<cstring> #include<cstdlib> #include<cmath> #include<vector> #include<algorithm> #include<st…

ORA-02270-此列列表的唯关键字或主键不匹配

学习场景 数据库约束学习 -- 主表 班级表 create table classinfo(cid number(4), -- 班级编号cname varchar2(100), -- 班级名称cyear number(4), -- 入学年份clen number(1) -- 学制 );-- 从表 学生表 create table stuInfo(stuNo number(10) primary key, cid number(4)…

Linux/Uinx 系统编程:定时器以及时钟同步

本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intel x86 的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定时器生成的信号&#xff0c;并通过示例演示了进程间隔定时器。编程…

C语言经典算法-6

文章目录 其他经典例题跳转链接31.数字拆解32.得分排行33.选择、插入、气泡排序34.Shell 排序法 - 改良的插入排序35.Shaker 排序法 - 改良的气泡排序 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官&#xff08;一&…