小编Bri*_*ard的帖子

有哪些方法可以恢复 Linux 内核配置?

我目前正在尝试为专有设备重建内核。为此,我需要为设备生成内核配置。虽然我可以通过反复试验来做到这一点,但最好看看我是否可以从正在运行的主机中提取配置。

话虽如此,正在运行的内核不是用编译的CONFIG_IKCONFIG(因此也不CONFIG_IKCONFIG_PROC是)。这意味着没有/proc/config.gz提取。

此外,他们也没有费心将配置打包/boot。因此,通常存储内核配置的两个常见位置是不走运的。

大多数东西都是静态编译到这个内核中的:

 # cat /proc/modules
 linux_user_bde           12327 0                         - Live 0xf8536000 (PO)
 linux_kernel_bde         29225 1           linux_user_bde, Live 0xf8524000 (PO)
 pciDrv                    1448 0                         - Live 0xf8510000 (O)
 iTCO_wdt                  4456 0                         - Live 0xf83fb000 
 iTCO_vendor_support       2003 1                 iTCO_wdt, Live 0xf83f7000 
 i2c_dev                   5443 0                         - Live 0xf83f2000 
 i2c_i801                  9421 0                         - Live 0xf83eb000 
 i2c_core                 20859 3 i2cscan,i2c_dev,i2c_i801, Live 0xf83e0000 
 igb                     148294 0                         - Live 0xf83ae000 (O)
 dca                       4665 0                         - Live 0xf804c000 
 # …
Run Code Online (Sandbox Code Playgroud)

kernel-modules linux-kernel kernel-parameters

5
推荐指数
1
解决办法
998
查看次数

如何从 DNF 和 YUM 命令中删除换行?

当在基于 rpm 的 Linux 发行版(RHEL/Red Hat、Fedora、CentOS 等)上使用时,dnfyum实用程序将自动换行以使其更适合用户阅读。这是有问题的,因为它使得通过管道处理数据变得非常烦人。

例如:

$ dnf search jenkins-ssh-credentials-plugin-javadoc
Last metadata expiration check: 6 days, 15:30:08 ago on Thu Sep  1 21:09:10 2016.
============= N/S Matched: jenkins-ssh-credentials-plugin-javadoc =============
jenkins-ssh-credentials-plugin-javadoc.noarch : Javadoc for jenkins-ssh-credentials-plugin
$ dnf search jenkins-ssh-credentials-plugin-javadoc | grep ssh
====== N/S Matched: jenkins-ssh-credentials-plugin-javadoc =======
jenkins-ssh-credentials-plugin-javadoc.noarch : Javadoc for
                                              : jenkins-ssh-credentials-plugin
Run Code Online (Sandbox Code Playgroud)

您可以看到,一旦 DNF 的输出通过,grep它就会决定以与通常向用户显示时完全不同的方式包装数据。

关于此行为已提交多个问题(#584525#986740),并且这些问题始终被关闭,CLOSED NOTABUG因为“Yum 是一个基于交互式文本的 ui,不适合也不适合管道。”。红帽开发人员的解决方案是“使用不同的工具来完成这项工作”。

必须这样做似乎是不合理的,特别是当提供的方法(repoquery例如安装)甚至不存在dnf实用程序中并且需要安装更多的软件包才能解析此数据的输出时。 …

yum fedora rhel dnf wrap

5
推荐指数
1
解决办法
1351
查看次数

在每第 N 次出现分隔符后添加新行

我有一个roll.txt包含以下数据的文件,以逗号分隔格式,没有任何换行符。

'123456789','987651234','129873645','213456789','987612345','543216789','432156789','876543291','213465789','542637819','123456','23456','22234','3456','7890543','34567891,'2345','567'
Run Code Online (Sandbox Code Playgroud)

我需要在每 6出现逗号分隔符后插入一个新行,并且每行末尾没有逗号。

以下是预期的输出:

'123456789','987651234','129873645','213456789','987612345','543216789'
'432156789','876543291','213465789','542637819','123456','23456'
'22234','3456','7890543','34567891,'2345','567'
Run Code Online (Sandbox Code Playgroud)

我正在使用以下sed不起作用的命令。

sed 's/[^,]//g'
Run Code Online (Sandbox Code Playgroud)

sed text-processing

5
推荐指数
2
解决办法
7125
查看次数

如何使用 Linux 中的设备固件更新 (DFU) 文件更新 USB 设备上的固件?

我有一个 USB 扬声器(Jabra Speak 410),我需要更新其固件。当我尝试使用fwupdmgr它时,它会看到设备,通知我现有的固件版本(1.9),但不执行任何更新:

$ fwupdmgr get-devices
Jabra SPEAK 410 USB
  DeviceId:             87caecc4e6db7e3c335deedfef38666e7f279a03
  Guid:                 537f7800-8529-5656-b2fa-b0901fe91696
  Guid:                 a607e767-5dfd-5f21-ac0f-c774dbd6fed5
  Guid:                 1764c519-4723-5514-baf9-3b42970de487
  Plugin:               dfu
  Flags:                updatable|registered
  VendorId:             USB:0x0B0E
  Version:              1.9
  Icon:                 drive-harddisk-usb
  Created:              2018-09-12
$ fwupdmgr update
$
Run Code Online (Sandbox Code Playgroud)

我确认有可用的更新文件(版本 1.12)。当我下载更新文件 ( Jabra_SPEAK_410_USB-1-12-0.dfu) 并尝试使用它时,fwupdmgr write它似乎没有执行任何操作。

usb firmware usb-device

5
推荐指数
1
解决办法
4525
查看次数