小编max*_*zig的帖子

在 Ubuntu 上镜像 EFI 系统分区 (ESP)

当设置 RAID-1 Ubuntu 系统(即在 RAID-1 镜像上的位置//boot位置)时,我不清楚 Ubuntu 的答案是使 EFI 系统分区(ESP,即/boot/efi)也成为冗余。

Fedora 解决方案,即只是将其放在超级块 1.0 RAID-1 上显然根本不受支持因此会失败。grub-install

似乎有一些支持让 Ubuntu 安装程序创建 2 个 ESP 并将文件安装到它们。但根据最近的错误报告,目前还不清楚定期包更新如何支持该方案:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1876974另请参阅

那么,我如何在两个磁盘上设置 ESP(当目标是使用 Ubuntu 20.04 LTS 设置 RAID-1 时)以使它们冗余并使它们在以后的 Ubuntu 更新中保持同步?

这里的目标是仍然能够启动 Ubuntu 系统,即即使一个磁盘坏了。

我的(或其他相关的)配置文件必须如何/etc/fstab寻找这样的设置?

例如,当第一个 ESP 安装在哪里时,/boot/efi第二个 ESP 需要安装在哪里才能被 Ubuntu 软件包安装后脚本识别?

在安装程序无法正确设置 ESP 后,需要哪些grub-install/ /reinstall 命令来修复 ESP 设置?dpkg-reconfigure

grub boot ubuntu uefi

10
推荐指数
1
解决办法
6871
查看次数

在vim中导航一堆位置?

``在位置 X键入可带您返回到文本文件中上次访问的位置。再次击中它会让你回到 X

这种切换类似于Ctrl+6打开上次打开的文件。

但是我怎样才能向后(然后向前)跳跃几个级别的位置?

我的意思是类似于浏览已访问标签堆栈的Ctrl+]Ctrl+T功能。

vim

9
推荐指数
1
解决办法
199
查看次数

适用于 Linux 发行版的 Rosetta Stone?

对于不同的 Linux 发行版,是否有类似Rosetta Stone 的东西?

也许是一个站点,您可以在其中查找特定任务的命令、配置文件或问题解决方案,这些任务组织为另一个发行版的翻译(您很清楚)。

例如,您非常了解基于 Debian 的发行版,并且您想了解 Fedora 相当于

dpkg -S /bin/bar
Run Code Online (Sandbox Code Playgroud)

或者

dpkg --get-selections > foo
dpkg --set-selections < foo
Run Code Online (Sandbox Code Playgroud)

或者

apt-cache search foobar --names-only
Run Code Online (Sandbox Code Playgroud)

等等。

适用于不同 Unices 的 Rosetta Stone,但它不是那么详细,也没有真正区分不同的发行版。

distros linux

9
推荐指数
1
解决办法
1887
查看次数

不同文件系统的空间开销是多少?

我将文件系统从 Ubuntu 系统备份/恢复到 Fedora 17 系统。我注意到根据df输出,已用空间增加了 30%。这可能是什么原因?

在 Fedora 系统df显示:78 GB used

在 Ubuntu 系统df显示: 60 GB used

系统之间的差异:

Ubuntu:ext3(多年前创建)

Fedora 17:ext4(使用 vanillamkfs.ext4调用创建)

恢复到 XFS 文件系统(在 Fedora 17 上)会产生 78 GB 的已用空间。

备份和恢复是用 GNU tar 完成的。文件系统包含范围广泛的不同类型的文件(即从源树、maildirs 到 ISO 等)。

filesystems

9
推荐指数
1
解决办法
6917
查看次数

在 QEMU 来宾中禁用帧缓冲区

QEMU 选项-display curses-nographic -device sga(串行图形适配器)对于在图形环境之外运行 QEMU 非常方便。

(想想:远程 ssh 连接、救援系统等)

但是,这两种模式都无法与帧缓冲区文本模式一起使用。某些 Linux 发行版(例如 Fedora 25)的新默认值似乎是在启动过程中的某个时刻,帧缓冲区文本模式似乎被激活,因此-display cursesQEMU 仅显示“1024x768 图形模式”。使用 SGA 只是不打印任何内容。

因此我的问题是:如何强制内核(以及启动的其余部分)只使用老式的初始文本模式?

附录

添加nomodeset内核参数(并删除rhgb一个)并没有什么区别。

最方便的是一些 QEMU 配置,它强制内核只检测最基本的文本模式 - 因为来宾不必修改。

设置串行控制台(例如通过将console=ttyS0内核参数添加到来宾)在我的环境中有效,但我观察到 Gnome 终端存在一些转义序列问题。此外,这对已经使用帧缓冲区的引导加载程序(例如 Fedora 25 服务器 ISO 上的那个)没有帮助 - 并且需要修改来宾。

Fedora 访客示例

使用 Fedora 25 作为来宾,切换到帧缓冲区发生在 initrd 运行时,一些日志消息(来自串行控制台):

[    1.485115] Console: switching to colour frame buffer device 128x48
[    1.493184] bochs-drm 0000:00:02.0: fb0: bochsdrmfb frame buffer device
[    1.502492] [drm] …
Run Code Online (Sandbox Code Playgroud)

terminal framebuffer console qemu drm

9
推荐指数
1
解决办法
5695
查看次数

将块设备传递给 Qemu

像这样将块设备传递给 Qemu 3.0.1 可以工作,但会产生弃用警告:

-blockdev file,node-name=f1,filename=/dev/loop0 \
-blockdev raw,node-name=q1,file=f1 \
-device virtio-blk,drive=q1
Run Code Online (Sandbox Code Playgroud)

警告:

qemu-system-x86_64: -blockdev file,node-name=f1,filename=/dev/loop0: 
  warning: Opening a block device as a file using the 'file' driver
    is deprecated
Run Code Online (Sandbox Code Playgroud)

很公平,但是如何在不使用“文件”驱动程序的情况下将块设备传递给 qemu?

block-device qemu

9
推荐指数
1
解决办法
2464
查看次数

Fedora 相当于 Debian/Ubuntu 软件包搜索页面是什么?

Debian的/ Ubuntu的软件包搜索页面是查找什么程序的版本是什么配电系列提供非常有用的,程序如何沿着多个包等分裂

例如,我想调查g++当前 Ubuntu 中可用的版本:

http://packages.ubuntu.com/search?keywords=g%2B%2B&searchon=names&suite=maverick§ion=all

我直接看到默认版本是4.4.4,也可用的是4.5.1。在 Natty 中是 4.5.1:

http://packages.ubuntu.com/search?keywords=g%2B%2B&searchon=names&suite=natty§ion=all

通过http://packages.ubuntu.com/natty/g++,您可以方便地浏览依赖项并直接查看支持哪些架构。

您还可以搜索包的内容。

对于 Fedora 我发现

https://admin.fedoraproject.org/pkgdb

搜索 g++ 不返回任何内容:

https://admin.fedoraproject.org/pkgdb/acls/list/ g++

好吧,也许它的拆分方式不同:

https://admin.fedoraproject.org/pkgdb/acls/list/?searchwords= GCC

这产生了结果,似乎只有一个大gcc包,其中包括g++

https://admin.fedoraproject.org/pkgdb/acls/name/gcc

但是这是错误的。使用yum search上的Fedora 14系统产量:

  gcc-c++
Run Code Online (Sandbox Code Playgroud)

(其中包括 g++)

如果无法访问实际的 Fedora 系统,我真的必须以某种方式期待这一点并向下浏览包 git 树以获取相同的信息吗?我的意思是这样的:

http://pkgs.fedoraproject.org/gitweb/?p=gcc.git;a=blob;f=gcc.spec;h=683faf0cb3d528bd53fe6a4024fda3e84cc986d0;hb=HEAD

(然后搜索“%package”?)

https://admin.fedoraproject.org/pkgdb/acls/name/gcc让我发现gcc的一个软件包可以在Fedora的13和14,但它并不显示:

  • 依赖关系
  • 实际版本
  • 架构
  • 子包

好的,我可以通过访问https://admin.fedoraproject.org/updates/gcc查看版本

因此我的问题是:Fedora 相当于 Debian/Ubuntu 包搜索页面是什么?

你用什么来查找相似的信息?

那么如何为其他基于 rpm 的发行版(如 Cent OS 或 RHEL)获取此类信息呢?

fedora package-management

8
推荐指数
3
解决办法
3331
查看次数

8
推荐指数
2
解决办法
1万
查看次数

如何配置用户的进程打开文件限制?

在 Linux 上,每个进程的默认打开文件限制为 1024。对于某些守护进程,这还不够。因此,问题是:如何更改特定用户的打开文件限制?

process limit open-files ulimit

8
推荐指数
1
解决办法
2万
查看次数

如何找出哪个文件受到坏扇区的影响?

假设您已获悉这样的坏扇区:

[48792.329933] Add. Sense: Unrecovered read error - auto reallocate failed
[48792.329936] sd 0:0:0:0: [sda] CDB:
[48792.329938] Read(10): ...
[48792.329949] end_request: I/O error, dev sda, sector 1545882485
[48792.329968] md/raid1:md126: sda: unrecoverable I/O read error
               for block 1544848128
[48792.330018] md: md126: recovery interrupted.
Run Code Online (Sandbox Code Playgroud)

如何找出哪个文件可能包含该扇区?如何将扇区映射到文件?或者如何确定它是否只是映射到可用的文件系统空间?

映射过程应该能够处理通常的存储堆栈。

例如,在上面的示例中,堆栈如下所示:

/dev/sda+sdb -> Linux MD RAID 1 -> LVM PV -> LVM VG -> LVM LV -> XFS
Run Code Online (Sandbox Code Playgroud)

但是,当然,它甚至可以是这样的:

/dev/sda+sdb -> Linux MD RAID 1 -> DM_CRYPT -> LVM PV -> LVM VG -> LVM LV …
Run Code Online (Sandbox Code Playgroud)

linux filesystems data-recovery disk

8
推荐指数
1
解决办法
2524
查看次数