软件包管理

软件安装

软件包管理器

APT(Advanced Package Tool):
发行版:主要用于 Debian 及其衍生版(如 Ubuntu)。
常用命令:
apt-get install :安装软件包。
apt-get update:更新软件包列表。
apt-get upgrade:升级已安装的软件包。

YUM(Yellowdog Updater, Modified):
发行版:主要用于 CentOS、Fedora 和 Red Hat Enterprise Linux(RHEL)等。
常用命令:
yum install :安装软件包。
yum update:更新系统中的软件包。
yum remove :删除软件包。

DNF(Dandified YUM):
发行版:取代 YUM,用于 Fedora 和 RHEL 8+。
常用命令:
dnf install :安装软件包。
dnf update:更新系统中的软件包。
dnf remove :删除软件包。

在这里插入图片描述

源代码编译安装软件包

  1. 获取源代码

    • 通常可以从软件官方网站或版本控制系统(如 GitHub)下载源代码压缩包。
  2. 解压源代码

    tar -zxvf source_code.tar.gz
    cd source_code_directory
    
  3. 配置编译选项

    • 运行 ./configure 脚本来配置软件包,可以指定安装路径等选项。
    ./configure
    
  4. 编译源代码

    • 运行 make 命令编译源代码。
    make    # make -j2  使用两个逻辑内核编译,如果有依赖,无法加速
    
  5. 安装软件包

    • 使用 make install 命令安装编译后的软件包到系统中。
    sudo make install
    
  6. 清理编译产生的文件(可选):

    • 可以运行 make cleanmake distclean 来清理编译过程中生成的临时文件。

注意事项:

  • 在编译软件包之前,确保系统已安装必要的开发工具和依赖项(如编译器、开发库)。
  • 某些软件包可能需要特定的依赖项,您可能需要提前安装这些依赖项。
  • 编译过程中可能会出现错误,需要根据错误信息进行调试和解决。

内核升级

内核升级是指对操作系统内核进行更新,以引入新功能、修复安全漏洞、提高性能或支持新硬件。以下是内核升级的一些关键点:

1. 升级的原因
  • 安全性:修复已知的安全漏洞。
  • 性能:优化内核以提高系统性能。
  • 新功能:引入新特性或支持新硬件。
  • 稳定性:修复已知的bug,提高系统稳定性。
2. 升级方式
  • 包管理器:在基于 Linux 的系统中,通常使用包管理器(如 aptyum)进行内核升级。
    • 示例(Debian/Ubuntu):
      sudo apt update
      sudo apt upgrade linux-image-generic
      
  • 手动编译:从源代码编译内核,适用于需要自定义内核配置的情况。
    • 下载内核源代码,解压并进入目录:
      wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.tar.xz
      tar -xf linux-5.x.tar.xz
      cd linux-5.x
      
    • 配置内核:
      make menuconfig
      
    • 编译和安装:
      make
      sudo make modules_install
      sudo make install
      
3. 升级注意事项
  • 备份:在升级前备份重要数据和当前内核,以防升级失败。
  • 兼容性:确保新内核与现有硬件和软件兼容。
  • 测试:在生产环境中升级前,最好在测试环境中验证新内核的稳定性。
4. 升级后的步骤
  • 重启系统:完成内核升级后,重启系统以加载新内核。
  • 验证:使用 uname -r 命令检查当前运行的内核版本。
    uname -r
    
升级内核后引导
  • 内核升级后,通常可以在开机时选择不同的内核版本。这是通过引导加载程序(如 GRUB)实现的。以下是相关的详细信息:

1. GRUB 引导加载程序

  • GRUB(GRand Unified Bootloader)是大多数 Linux 发行版使用的引导加载程序。
  • 在安装新内核时,GRUB 会自动更新其配置文件,以便在启动时列出所有可用的内核版本。

2. 选择内核版本

  • 启动时选择
    • 当计算机启动时,GRUB 会显示一个菜单,列出可用的内核版本。
    • 使用方向键选择所需的内核版本,然后按 Enter 键启动。

3. GRUB 配置文件

  • GRUB 的配置文件通常位于 /boot/grub/grub.cfg,该文件会在安装新内核时自动生成。
  • 如果需要手动修改 GRUB 设置,可以编辑 /etc/default/grub 文件,然后运行 update-grub 命令以更新配置。

4. 设置默认内核

  • 可以在 GRUB 配置中设置默认启动的内核版本。修改 /etc/default/grub 文件中的 GRUB_DEFAULT 选项:
    GRUB_DEFAULT="1>2"  # 选择第二个内核
    
  • 修改后,运行 sudo update-grub 更新配置。

5. 其他引导加载程序

  • 除了 GRUB,其他引导加载程序(如 LILO、systemd-boot)也支持选择内核,但具体操作和配置方式可能不同。

忘记root密码

如果您忘记了 Linux 系统的 root 密码,可以通过 GRUB 引导加载程序进入单用户模式(或恢复模式)来重置密码。以下是步骤:

1. 重启系统

  • 在启动时,按住 Shift 键(对于某些系统可能是 Esc 键)以显示 GRUB 菜单。

2. 选择内核

  • 在 GRUB 菜单中,选择您要启动的内核,但不要按 Enter 键。

3. 编辑启动参数

  • 按下 e 键进入编辑模式。
  • 找到以 linux 开头的行,通常是包含内核路径的行。
  • 在该行的末尾添加以下内容:
    init=/bin/bash
    
  • 这将使系统在启动时进入一个 bash shell,而不是正常的启动过程。

4. 启动系统

  • 按下 Ctrl + XF10 启动系统。

5. 重新挂载根文件系统

  • 系统启动后,您将进入一个只读的 shell。需要将根文件系统重新挂载为可写:
    mount -o remount,rw /
    

6. 重置 root 密码

  • 使用以下命令重置 root 密码:
    passwd root
    
  • 按照提示输入新密码。

7. 重新启动系统

  • 重置密码后,输入以下命令以重新启动系统:
    exec /sbin/init
    
  • 或者,您也可以使用:
    reboot
    

8. 登录

  • 系统重启后,使用新设置的 root 密码登录。

注意事项

  • 这个方法需要物理访问计算机,且在某些情况下可能会被安全策略(如 BIOS 密码或启动密码)限制。
  • 在生产环境中,重置 root 密码可能会违反安全政策,请确保您有权限进行此操作

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

[项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]

YOLOv5是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv5具有更高的…

Linux逻辑卷

文章目录 逻辑卷 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月12日11点09分 逻辑卷 LVM逻辑卷管理是Linux环境中对磁盘分区进行管理的一种机制,建立在硬盘和分区之…

【设计模式】创建型设计模式-工厂模式的实现

工厂模式实现 定义例子UML类图理解Java代码实现总结 定义 工厂方法模式定义了一个接口用于创建对象,该模式由子类决定实例化哪个工厂类。该模式把类的实例化推迟到了子类。 例子 通过一个公共的类方法来管理画图对象的创建。 UML类图理解 Java代码实现 定义接口…

Spring Boot实战:编程训练系统开发手册

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理编程训练系统的相关信息成为必然。开发合适…

方案丨车险保单OCR:3秒钟完成保单审核

在涉及车辆交易的各种情况下,记录和管理车险保单信息是一项必不可少的任务。然而,面对数量庞大的电子保单,传统的手工录入方式显得尤为低效——它不仅消耗大量时间,而且容易出现错误,这不仅影响了用户的满意度&#xf…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中,接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用,被广泛用于进行各种性能测试,包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言:在我们的日常使用中,MOS就是个纯粹的电子开关,虽然MOS管也有放大作用,但是几乎用不到,只用它的开关作用,一般的电机驱动,开关电源,逆变器等大功率设备,全部使用MOS管…

如何优化开放数据湖仓一体的性能

数据湖仓一体架构由 Apache Hudi、Apache Iceberg 和 Delta Lake 等开放表格式提供支持,提供了一种开放且经济高效的方式来管理组织不断增长的数据和分析需求。它提供了在同一数据存储上运行并发事务的可靠性,从而提高了效率。数据湖仓一体支持关键功能&…

比较基因组分析

比较基因组分析(Comparative Genomics Analysis)是一门通过比较不同物种或个体的基因组序列来研究其相似性与差异性的科学方法。它有助于揭示物种间的进化关系、基因功能、生物适应性及潜在的疾病机制。近年来,随着高通量测序技术的发展&…

leetcode 148. 排序链表 中等

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3: …

基于单片机的智能小车(论文+源码)

1系统整体方案 此次多功能智能小车的设计系统,其整个控制电路的框架如下图所示。整个系统采用STM32单片机为控制器其中:LCD液晶负责显示当前信息,蜂鸣器负责特殊情况下进行报警提醒,红外遥控模块方便用户进行远程操作小车,电机模块拟采用前驱的方式&…

基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面

文章目录 前言🎓一、数据集准备🎓二、模型训练🍀🍀1.初始化🍀🍀2.加载数据集🍀🍀3.划分数据集,并保存到新的文件夹🍀🍀4.可视化数据集🍀🍀5.模型构建🍀🍀6.数据增强🍀🍀7.设置训练参数🍀🍀8.训练与测试🎓三、模型测试🍀🍀1.初始化�…

UCSD:LLM通过工具使用解决科学问题

📖标题:Adapting While Learning: Grounding LLMs for Scientific Problems with Intelligent Tool Usage Adaptation 🌐来源:arXiv, 2411.00412 🌟摘要 🔸大型语言模型(LLMs)在解…

【时间之外】IT人求职和创业应知【34】-人和机器人,机器人更可靠

目录 新闻一:人形机器人产业持续高速增长,2026年中国市场规模将突破200亿元 新闻二:AI技术驱动设备厂商格局变化,部分厂商市占率快速提升 新闻三:华为与江淮汽车携手打造超高端品牌“尊界”,计划于明年春…

MyBatis及相关文件配置

MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。以下是对MyBatis的详细讲解: 一、MyBatis的起源与发展 MyBatis最初是Apache的一个开源项目iBATIS,2010年迁移到Google Code并改名为MyBatis,2013年11月又…

【FastAPI】1-url参数

fastapi的核心功能是提供HTTP请求接口 “幂等”和“非幂等” 幂等(idempotent):如果一个方法重复执行多次,产生的效果是一样的,那么这个方法就是幂等的 “Methods can also have the property of “idempotence” in …

CentOS Stream 9设置静态IP

CentOS Stream 9设置静态IP CentOS Stream 9作为CentOS Stream发行版的下一个主要版本,已经发布有一段时间,但与目前广泛使用的CentOS7有较大区别。安装试用Stream 9的过程中,就发现设置静态IP的方式和CentOS7/8差别较大,在此记录…

机器人学 雅可比矩阵

雅可比矩阵(Jacobian Matrix)是机器人学中一个非常重要的工具,广泛应用于分析机器人末端执行器的速度和力学(静力)关系。理解雅可比矩阵的速度和静力作用对于机器人运动控制、动力学分析以及优化设计具有重要意义。 一…

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最小的数

CL13 最小的数(20 分) 输入一个有 n 个无重复元素的整数数组 a&#xff0c;输出数组中最小的数。提示&#xff1a;如使用排序库函数 sort()&#xff0c;需要包含头文件#include 。输入&#xff1a; 第一行一个正整数 n(2<n<20)&#xff1b; 第二行 n 个不重的整数 a[i]…

python数据写入excel文件

主要思路&#xff1a;数据 转DataFrame后写入excel文件 一、数据格式为字典形式1 k e &#xff0c; v [‘1’, ‘e’, 0.83, 437, 0.6, 0.8, 0.9, ‘好’] 1、这种方法使用了 from_dict 方法&#xff0c;指定了 orient‘index’ 表示使用字典的键作为行索引&#xff0c;然…