wzh 发布的文章

https://fohdeesha.com/docs/H310-full.html

H310 全尺寸 IT 模式闪烁
关于刷新H310全尺寸的继续说明。只有在遵循介绍页面后,您才应继续此处。如果您还没有这样做,请返回。

验证和 SAS
您应该仍然在 FreeDOS 实时启动映像中。通过再次运行以下命令,仔细检查您是否在正确的指南上:

info
您的输出应与以下内容完全匹配:
Product Name : H310 Adapter
ChipRevision : B2
SAS Address : xxxx (will differ)
如果是这样,请继续!如果没有,请停止并返回介绍页面并获取正确的指南。
您还需要从上面的输出中记下卡的 SAS 地址,以便我们稍后可以对其进行编程。截取控制台的屏幕截图,或以其他方式记下地址,以便在指南末尾写回。如果你丢失了它,这没什么大不了的,但最简单的方法是编程回原始地址而不是生成一个新地址。

清洁卡
仍在FreeDOS中,运行以下命令以擦除卡上的闪存并卸下所有戴尔固件。这也将刷新所需的 SBR:

310FLCRS
按照提示操作。如果它没有错误地完成,那么是时候重新启动到 Linux 了。从 ZIP 获取 Linux live ISO 以准备启动,然后告诉 FreeDOS 重新启动:
reboot
Linux时间
您现在应该从 ZIP 引导到 Linux ISO。使用以下凭据登录:用户/实时

我们强烈建议对实时 ISO 进行 SSH 操作,以便您可以复制/粘贴命令,而不必使用 iDRAC 虚拟控制台。为此,请运行以下命令以查找安装的 IP:

ipinfo
它应该吐出一个IP。使用相同的用户/实时凭据通过 SSH 连接到它。这不是必需的,您可以继续使用 iDRAC(或物理)控制台,但会稍微不方便一些。
刷新 IT 固件
现在,仍然在 Linux 中,我们需要更改为 root 用户:

sudo su -
现在我们运行刷写脚本。发出以下命令以开始该过程:
H310
它应该自动执行刷新卡所需的一切。如果没有收到任何意外错误并且它完成,我们需要重新启动并对 SAS 地址进行编程以完成。请参阅以下注释。
注意:出于某种原因,交叉刷卡后的第一次启动会导致内核恐慌 - 我相信是 iDRAC 没有放开某些东西(发生这种情况时,我能够通过调试 UART 看到卡处于故障状态)。这仅在交叉刷新后的第一次重新启动时发生。当您引导回实时 ISO 并出现死机时,要么让它自行重启,要么使用 iDRAC 强制重启。之后再次启动回到实时ISO,一切都会好起来的。

对 SAS 地址返回进行编程
现在重新启动回实时 Linux 映像,只需运行以下命令,用你自己的地址填写示例地址,你之前记下了:

sudo su -
setsas 500605b123456777
它应该成功而没有错误。就是这样!可以运行以下命令来获取有关新卡的一些信息。您应该能够看到您的 SAS 地址和相同的固件版本:
info

    Controller Number              : 0
    Controller                     : SAS2008(B2)
    PCI Address                    : 00:02:00:00
    SAS Address                    : 5b8ca3a-0-f37a-4500
    NVDATA Version (Default)       : 14.01.00.08
    NVDATA Version (Persistent)    : 14.01.00.08
    Firmware Product ID            : 0x2213 (IT)
    Firmware Version               : 20.00.07.00
    NVDATA Vendor                  : LSI
    NVDATA Product ID              : SAS9211-8i
    BIOS Version                   : N/A
    UEFI BSD Version               : N/A
    FCODE Version                  : N/A
    Board Name                     : SAS9211-8i
    Board Assembly                 : N/A
    Board Tracer Number            : N/A

除非您还需要闪存启动映像以启动卡,否则您现在可以放弃所有实时映像并重新启动回正常系统,并享受您的 IT 模式卡。
可选:启动映像
注意:如果您有很多驱动器,刷新这些驱动器可能会增加长达 2 分钟的服务器启动时间。确保你需要它们!

如果需要从连接到此适配器的驱动器启动,则需要将启动映像切换到该驱动器。否则,请跳过它。这就是在服务器启动时为您提供“按 blahblah 进入 LSI 启动配置实用程序”文本的原因。要刷新常规 BIOS 启动映像:

flashboot /root/Bootloaders/mptsas2.rom
如果要从连接到此适配器的驱动器进行 UEFI 启动,则需要刷新 UEFI 启动映像(该卡可以同时刷新 UEFI 和 BIOS 启动映像):
flashboot /root/Bootloaders/x64sas2.rom
您现在可以放弃实时映像并启动回正常系统。
可选:还原
如果由于某种原因您需要恢复到现有的戴尔PERC固件,这很容易。引导至 FreeDOS 实时映像,然后运行以下命令:

310FLRVT
就是这样!完成后,只需使用该命令重新启动回正常系统即可。reboot
注:这使用从此处找到的更新EXE中提取的未修改的最新戴尔固件。20.13.3-0001,A11

以前一直没搞清 update 和 upgrade 这二个词的意思,特别是linux软件管理的时候,用update和upgrade一直没弄明白,本篇文章重点为大家讲解一下apt 的 update 和 upgrade 的区别。

一些以前的教程也会提到 sudo apt-get update 和 sudo apt-get upgrade。apt 和 apt-get 命令运行起来几乎一样,除了一些细微的差别,后面我会讨论。我们首先讨论一下 update 和 upgrade 的区别。这两个难道不是一样的吗?

apt 的 update 和 upgrade 的区别
尽管听上去运行 apt update 可以给你一个包的最新版本,然而这并不正确。update 命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是 apt upgrade 命令来把这些包下载和升级到最新版本。

还是有点困惑?让我来接着解释。我建议阅读 包管理器的概念。这个会帮你更好的理解这些东西。

apt的update和upgrade区别apt的update和upgrade区别
apt的update和upgrade区别apt的update和upgrade区别
基本上,你的系统围绕着一个所有可用包的数据库(缓存)工作。注意,这个缓存(或者数据库)并不包含这些包本身,仅仅是关于包的元数据(版本、仓库、依赖等)。

如果你不更新这个数据库,系统就不会知道是否有更新的版本。

当你运行 apt update 或者 apt-get update 命令,它会获取这些包的最新元数据(包的版本等)。

apt的update和upgrade区别apt的update和upgrade区别
这时候本地缓存就被更新了,有一些包可以升级。用 sudo apt upgrade 可以升级所有(可升级的)包。

它会显示要升级的包,并且通过回车(默认选择是 Y)或者按下 Y 键进行确认。要在这个阶段取消升级,可以按下 N。

apt的update和upgrade区别apt的update和upgrade区别
下面这些可能会帮助你记忆:

apt update:更新包缓存(可以知道包的哪些版本可以被安装或升级)

apt upgrade:升级包到最新版本

因为有一些管理员命令,需要作为 root 运行。因此需要使用 sudo 配合其他命令。sudo 使你能够作为 root 在 Ubuntu 和 Debian 上运行命令。

既然理解了 update 和 upgrade 是如何一起运行的,我们接下来来讨论一下 apt 和 apt-get 的用法。

apt和apt-get应该用哪个?
Debian 和 Ubuntu 使用的是 APT 包管理系统。不要和 apt 命令弄混了。

有许多和 APT 包管理交互的命令;apt-get、apt、dpkg、aptitude 等。

这里面最受欢迎的就是 apt-get 命令。它是一个低层级low-level且功能丰富的命令。apt 是 apt-get 命令的一个更新而更简单的版本。

可以读一下这篇文章来 了解 atp 和 apt-get 命令的不同。下面重点讨论这些命令中 update 和 upgrade 选项的区别。

apt update vs apt-get update
apt-get update 和 apt update 做的是同样的事,都是更新本地包缓存,这样的话你的系统就知道有哪些包的版本是可用的。

从技术上讲,其实并没有区别。然而,apt update 在一个方面比 apt-get update 做的好,它会告诉你可升级的包的数量。

Hit:15 https://ppa.launchpadcontent.net/slimbook/slimbook/ubuntu jammy InRelease
Fetched 213 kB in 4s (55.8 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
6 packages can be upgraded. Run 'apt list --upgradable' to see them.
apt-get update 甚至不会告诉你包是否可以升级。

apt的update和upgrade区别apt的update和upgrade区别apt的update和upgrade区别apt的update和upgrade区别

从 apt 中可以看到 列出可升级的包,而 apt-get 甚至没有这个选项。

# apt list --upgradable
Listing... Done
fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
gnome-control-center-data/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
gnome-control-center-faces/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
gnome-control-center/jammy-updates 1:41.7-0ubuntu0.22.04.4 amd64 [upgradable from: 1:41.7-0ubuntu0.22.04.1]
libpam-fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
vivaldi-stable/stable 5.4.2753.40-1 amd64 [upgradable from: 5.4.2753.37-1]
现在来比较一下两个命令中 upgrade 的选项。

apt upgrade vs apt-get upgrade
apt-get upgrade 和 apt upgrade 命令根据本地包缓存(通过 update 命令更新)的数据,安装可升级包的最新版本。

然而,apt upgrade 命令会做两件与 apt-get upgrade 不同的事情。

apt upgrade 命令可以升级 Linux 内核版本,apt-get upgrade 不能。apt-get 命令需要使用 apt-get dist-upgrade 来升级内核版本。

apt的update和upgrade区别apt的update和upgrade区别
这是因为升级内核版本意味着安装一个全新的包。apt-get upgrade 命令不能安装一个新的包。它只能升级现有的包。

apt upgrade 比 apt-get 做的好的另一件小事是,它会在底部显示一个进度条。

apt的update和upgrade区别apt的update和upgrade区别
总结
update 和 upgrade 两个词很相似,这就是为什么很多新用户会感到困惑。有时候,我觉得 apt update 命令应该和 apt upgrade 命令合并。

我意思是 upgrade(所有已安装的包)和 update(本地包元数据缓存)一起完成工作。为什么要有两个分开的命令呢?把这两个领命合成一个 upgrade 命令吧。Fedora 就是这样对 DNF 命令进行了改进。不过这只是我的观点。

我希望这篇文章可以解释一些关于 apt-get update、apt-get upgrade 和 apt update 以及 apt upgrade 命令的问题

apt install update:
将远程软件库和本地软件库做对比,检查哪些软件可以更新,以及软件包依赖关系,给出一个分析报告。只检查不更新。

apt install upgrade:
在执行upgrade 之前要先执行update ,根据update的分析报告去下载并更新软件。在以下几种情况,某个待升级的软件包不会被升级。
新软件包和系统的某个软件包有冲突
新软件包有新的依赖,但系统不满足依赖
安装新软件包时,要求先移除旧的软件包

apt install dist-upgrade:
在执行dist-upgrade 之前也要先执行update ,dist-upgrade 包含upgrade,同时增添了以下功能:
可以智能处理新软件包的依赖
智能冲突解决系统
安装新软件包时,可以移除旧软件包,但不是所有软件都可以。

apt install full-upgrade:
在执行full-upgrade 之前也要先执行update ,升级整个系统,必要时可以移除旧软件包。

更新所有包(系统和已安装软件)
apt-get update && apt-get upgrade

更新单个包
要更新系统上的单个程序包,请使用 apt-get 命令 + 我们要更新的程序包名称。要更新 3CX SBC,请运行以下命令:
apt-get update && apt-get upgrade 3cxsbc

查看系统上已经安装的包,执行下列命令:
dpkg -l | more

按“空格”滚动已安装的软件包列表。查看他们的版本,当然获取确切的包名称,以便使用以下内容进行更新:
apt-get update && apt-get upgrade 包名

配置服务端 systemctl start frps
cat > /etc/systemd/system/frps.service << EOF
[Unit]
Description = frps
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.ini

[Install]
WantedBy = multi-user.target
EOF


配置客户端systemctl start frpc
cat > /etc/systemd/system/frpc.service << EOF
[Unit]
Description = frpc
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = /usr/local/frp/frpc -c /usr/local/frp/frpc.ini

[Install]
WantedBy = multi-user.target
EOF