我目前正在尝试为专有设备重建内核。为此,我需要为设备生成内核配置。虽然我可以通过反复试验来做到这一点,但最好看看我是否可以从正在运行的主机中提取配置。
话虽如此,正在运行的内核不是用编译的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) 当在基于 rpm 的 Linux 发行版(RHEL/Red Hat、Fedora、CentOS 等)上使用时,dnf该yum实用程序将自动换行以使其更适合用户阅读。这是有问题的,因为它使得通过管道处理数据变得非常烦人。
例如:
$ 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实用程序中并且需要安装更多的软件包才能解析此数据的输出时。 …
我有一个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) 我有一个 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它似乎没有执行任何操作。
dnf ×1
fedora ×1
firmware ×1
linux-kernel ×1
rhel ×1
sed ×1
usb ×1
usb-device ×1
wrap ×1
yum ×1