pciutils: Use hwdata package for pci.ids

This commit is contained in:
Xi Ruoyao 2024-03-18 17:59:28 +08:00
parent 7ff7885c8c
commit 1c6da088d0
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3

View File

@ -66,18 +66,12 @@
</para>
</listitem>
</itemizedlist>
<!-- Needed to update the pci-ids. systemd has a unit and timer for this,
but for anyone who updates this file on either platform, it's needed
to download the pci.ids file. -->
<bridgehead renderas="sect3">pciutils Dependencies</bridgehead>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="curl"/>,
<xref linkend="wget"/>, or
<xref linkend="lynx"/>
(for the update-pciids script to function correctly).
<xref role="runtime" linkend="hwdata"/> (runtime)
</para>
</sect2>
@ -85,6 +79,14 @@
<sect2 role="installation">
<title>Installation of PCI Utils</title>
<para>
Prevent the installation of the <filename>pci.ids</filename> file
to avoid a conflict with the <xref linkend='hwdata'/> package:
</para>
<screen><userinput>sed -r '/INSTALL.*(PCI_IDS|update-pciids)/d' \
-i Makefile</userinput></screen>
<para>
Install <application>PCI Utils</application> by
running the following commands:
@ -109,6 +111,11 @@
chmod -v 755 /usr/lib/libpci.so</userinput></screen>
<para>
Now install the <xref linkend='hwdata'/> package for the
<filename>pci.ids</filename> file.
</para>
</sect2>
<sect2 role="commands">
@ -124,66 +131,6 @@ chmod -v 755 /usr/lib/libpci.so</userinput></screen>
the <filename>pci.ids</filename> file.
</para>
</sect2>
<sect2 role="configuration">
<title>Configuring PCI Utils</title>
<para>
The <filename>pci.ids</filename> data file is constantly being
updated. To get a current version of this file, run
<command>update-pciids</command> as the <systemitem
class="username">root</systemitem> user. This program requires the
<xref linkend="which"/> script or program to find <xref linkend="curl"/>,
<xref linkend="lynx"/>, or <xref linkend="wget"/> which are used to
download the most current file, and then replace the existing file in
<filename class="directory">/usr/share/hwdata</filename>.
</para>
<para>
You should update the <filename>/usr/share/hwdata/pci.ids</filename> file
periodically. <phrase revision="sysv">If you've installed
<xref linkend="fcron"/> and completed the section on periodic jobs,
execute</phrase><phrase revision="systemd">Execute</phrase> the following
commands, as the <systemitem class="username">root</systemitem> user,
to create a <phrase revision="sysv">weekly cron job:</phrase>
<phrase revision="systemd">systemd timer to update it weekly on Sundays
at 2:30 A.M. (local time):</phrase>
</para>
<screen role="nodump" revision="sysv"><userinput>cat &gt; /etc/cron.weekly/update-pciids.sh &lt;&lt; "EOF" &amp;&amp;
<literal>#!/bin/bash
/usr/sbin/update-pciids</literal>
EOF
chmod 754 /etc/cron.weekly/update-pciids.sh</userinput></screen>
<screen role="root" revision="systemd"><userinput>cat &gt; /usr/lib/systemd/system/update-pciids.service &lt;&lt; "EOF" &amp;&amp;
<literal>[Unit]
Description=Update pci.ids file
Documentation=man:update-pciids(8)
DefaultDependencies=no
After=local-fs.target network-online.target
Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/update-pciids</literal>
EOF
cat &gt; /usr/lib/systemd/system/update-pciids.timer &lt;&lt; "EOF" &amp;&amp;
<literal>[Unit]
Description=Update pci.ids file weekly
[Timer]
OnCalendar=Sun 02:30:00
Persistent=true
[Install]
WantedBy=timers.target</literal>
EOF
systemctl enable update-pciids.timer</userinput></screen>
</sect2>
<sect2 role="content">
@ -196,7 +143,7 @@ systemctl enable update-pciids.timer</userinput></screen>
<seglistitem>
<seg>
lspci, setpci, and update-pciids
lspci and setpci
</seg>
<seg>
libpci.so
@ -237,21 +184,6 @@ systemctl enable update-pciids.timer</userinput></screen>
</listitem>
</varlistentry>
<varlistentry id="update-pciids">
<term><command>update-pciids</command></term>
<listitem>
<para>
fetches the current version of the PCI ID list. <!-- Requires
<xref linkend="curl"/>, <xref linkend="lynx"/> or
<xref linkend="wget"/>.
-->
</para>
<indexterm zone="pciutils update-pciids">
<primary sortas="b-update-pciids">update-pciids</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpci">
<term><filename class="libraryfile">libpci.so</filename></term>
<listitem>