AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1684306

mpboden's questions

Martin Hope
mpboden
Asked: 2024-07-08 07:58:53 +0800 CST

当以“Debian 方式”编译内核时,如何添加本地版本修饰符?

  • 7

我一直在尝试编译自己的内核,在按照BuildYourOwnKernel的说明进行操作时,添加本地版本修饰符时遇到了困难。这是使用 编译内核的“Debian 方式”,fakefoot debian/rules binary-generic而不是使用 从主线编译make bindeb-pkg。

按照说明操作后,我实际上成功编译了内核。但是,+test1我作为本地版本修饰符添加的后缀仅添加到.deb存档文件中,而不会添加到任何二进制包中。因此,我在安装过程中遇到冲突,因为名称与当前安装的内核匹配。

我正在使用 Ubuntu 22.04 Server。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:    22.04
Codename:   jammy

当前内核:

$ uname -r
5.15.0-113-generic

以下是我遵循的步骤:

1.安装依赖项

sudo apt build-dep linux linux-image-unsigned-$(uname -r)
sudo apt install fakeroot crash kexec-tools kernel-wedge libncurses5 libncurses5-dev binutils-dev

2.下载源码

apt source linux-image-unsigned-$(uname -r)

3. 进入源目录

cd linux-5.15.0

4.修改debian.master/changelog

按照说明:

为了使您的内核比您基于的 Ubuntu 内核“更新”,您应该添加本地版本修饰符。在构建之前,在 debian.master/changelog 文件中的第一个版本号末尾添加类似“+test1”的内容。

+test1因此,我在第一个版本号末尾添加了以下内容:

$ head -n1 debian.master/changelog
linux (5.15.0-113.123+test1) jammy; urgency=medium

5. 构建内核

fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic

编译完成后你会看到+test1所有文件都添加了后缀.deb:

$ tree -L 1 /home/mike
/home/mike
├── linux-5.15.0
├── linux_5.15.0-113.123.diff.gz
├── linux_5.15.0-113.123.dsc
├── linux_5.15.0.orig.tar.gz
├── linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-headers-5.15.0-113_5.15.0-113.123+test1_all.deb
├── linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
└── linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb

但问题是+test1该文件内的任何文件都没有添加后缀.deb,因此在安装内核时会发生冲突。

$ sudo dpkg -i linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb 
dpkg: regarding linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb containing linux-image-unsigned-5.15.0-113-generic:
 linux-image-unsigned-5.15.0-113-generic conflicts with linux-image-5.15.0-113-generic
  linux-image-5.15.0-113-generic (version 5.15.0-113.123) is present and installed.

dpkg: error processing archive linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb (--install):
 conflicting packages - not installing linux-image-unsigned-5.15.0-113-generic
Errors were encountered while processing:
 linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb

但是,标题已安装:

$ sudo dpkg -i linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb 
(Reading database ... 138403 files and directories currently installed.)
Preparing to unpack linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb ...
Unpacking linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) over (5.15.0-113.123+test1) ...
Setting up linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) ...
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.15.0-113-generic
   ...done.

但请注意,没有目录包含本地版本后缀+test。它似乎只是覆盖了现有的标题。

$ tree -L 1 /usr/src
/usr/src
├── linux-headers-5.15.0-113-generic
└── python3.10

以下是内容的片段linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb:

$ dpkg -c linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb | head -n20
drwxr-xr-x root/root         0 2024-07-07 16:31 ./
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/modules/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/modules/5.15.0-113-generic/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/doc/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root    714273 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root      1292 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/copyright
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root    261963 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.config
-rw-r--r-- root/root        39 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.gitignore
-rw-r--r-- root/root      1013 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.missing-syscalls.d
-rw-r--r-- root/root   1818060 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/Module.symvers
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/syscalls/

以下是内容linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb:

$ dpkg -c linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
drwxr-xr-x root/root         0 2024-07-07 16:29 ./
drwxr-xr-x root/root         0 2024-07-07 16:26 ./boot/
-rw------- root/root  11680480 2024-07-07 16:26 ./boot/vmlinuz-5.15.0-113-generic
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/linux/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/linux/triggers/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/
-rw-r--r-- root/root    714273 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root      1292 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/copyright

以下是构建过程结束时的一些尾部输出。请注意指示构建包的行,其中包尚未+test1包含.deb。

dpkg-deb: building package 'linux-image-unsigned-5.15.0-113-generic' in '../linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-5.15.0-113-generic
dh_installdocs -plinux-modules-5.15.0-113-generic
dh_compress -plinux-modules-5.15.0-113-generic
dh_fixperms -plinux-modules-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-5.15.0-113-generic 
dh_installdeb -plinux-modules-5.15.0-113-generic
dh_installdebconf -plinux-modules-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Depends field of package linux-modules-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-modules-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-5.15.0-113-generic
dh_builddeb -plinux-modules-5.15.0-113-generic
dpkg-deb: building package 'linux-modules-5.15.0-113-generic' in '../linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
if [ -f debian.master/control.d/generic.inclusion-list ] ; then \
                dh_installchangelogs -plinux-modules-extra-5.15.0-113-generic; \
dh_installdocs -plinux-modules-extra-5.15.0-113-generic; \
dh_compress -plinux-modules-extra-5.15.0-113-generic; \
dh_fixperms -plinux-modules-extra-5.15.0-113-generic -X/boot/; \
dh_shlibdeps -plinux-modules-extra-5.15.0-113-generic ; \
dh_installdeb -plinux-modules-extra-5.15.0-113-generic; \
dh_installdebconf -plinux-modules-extra-5.15.0-113-generic; \
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-extra-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' ; \
dh_md5sums -plinux-modules-extra-5.15.0-113-generic; \
dh_builddeb -plinux-modules-extra-5.15.0-113-generic; \
fi
dpkg-gencontrol: warning: Depends field of package linux-modules-extra-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-deb: building package 'linux-modules-extra-5.15.0-113-generic' in '../linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdocs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_compress -plinux-modules-iwlwifi-5.15.0-113-generic
dh_fixperms -plinux-modules-iwlwifi-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-iwlwifi-5.15.0-113-generic 
dh_installdeb -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdebconf -plinux-modules-iwlwifi-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-iwlwifi-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Built-Using field of package linux-modules-iwlwifi-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-iwlwifi-5.15.0-113-generic
dh_builddeb -plinux-modules-iwlwifi-5.15.0-113-generic; 
dpkg-deb: building package 'linux-modules-iwlwifi-5.15.0-113-generic' in '../linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-buildinfo-5.15.0-113-generic
dh_installdocs -plinux-buildinfo-5.15.0-113-generic
dh_compress -plinux-buildinfo-5.15.0-113-generic
dh_fixperms -plinux-buildinfo-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-buildinfo-5.15.0-113-generic 
dh_installdeb -plinux-buildinfo-5.15.0-113-generic
dh_installdebconf -plinux-buildinfo-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-buildinfo-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Depends field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-buildinfo-5.15.0-113-generic
dh_builddeb -plinux-buildinfo-5.15.0-113-generic
dpkg-deb: building package 'linux-buildinfo-5.15.0-113-generic' in '../linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-headers-5.15.0-113-generic
dh_installdocs -plinux-headers-5.15.0-113-generic
dh_compress -plinux-headers-5.15.0-113-generic
dh_fixperms -plinux-headers-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-headers-5.15.0-113-generic 
dh_installdeb -plinux-headers-5.15.0-113-generic
dh_installdebconf -plinux-headers-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-headers-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-headers-5.15.0-113-generic
dh_builddeb -plinux-headers-5.15.0-113-generic
dpkg-deb: building package 'linux-headers-5.15.0-113-generic' in '../linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-tools-5.15.0-113-generic
dh_installdocs -plinux-tools-5.15.0-113-generic
dh_compress -plinux-tools-5.15.0-113-generic
dh_fixperms -plinux-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-tools-5.15.0-113-generic 
dh_installdeb -plinux-tools-5.15.0-113-generic
dh_installdebconf -plinux-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-tools-5.15.0-113-generic
dh_builddeb -plinux-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-tools-5.15.0-113-generic' in '../linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-cloud-tools-5.15.0-113-generic
dh_installdocs -plinux-cloud-tools-5.15.0-113-generic
dh_compress -plinux-cloud-tools-5.15.0-113-generic
dh_fixperms -plinux-cloud-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-cloud-tools-5.15.0-113-generic 
dh_installdeb -plinux-cloud-tools-5.15.0-113-generic
dh_installdebconf -plinux-cloud-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-cloud-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-cloud-tools-5.15.0-113-generic
dh_builddeb -plinux-cloud-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-cloud-tools-5.15.0-113-generic' in '../linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.

发生什么了?

  • 这是一个错误吗?
  • 这是故意的吗?我没有正确理解这个过程?
  • 或者我做错了什么?
kernel
  • 1 个回答
  • 113 Views
Martin Hope
mpboden
Asked: 2024-06-13 11:17:03 +0800 CST

为什么当路径以“/usr/lib/”开头时,“dpkg -S”返回“未找到路径”,但以“/lib/”开头时却可以成功?

  • 5

我正在尝试查找libnss_mdns4_minimal.so.2使用安装的软件包。当文件路径以 开头时,dpkg -S输出会显示 ,但当文件路径以 开头时会成功。no path found/usr/lib//lib/

我正在使用 Ubuntu 22.04 Server。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

为了找到文件的位置,我运行了以下命令:

$ sudo updatedb
$ locate mdns4_minimal
/usr/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2

接下来,我使用dpkg -S查找安装了 的包libnss_mdns4_minimal.so.2。输出显示:no path found matching pattern。

$ dpkg -S /usr/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
dpkg-query: no path found matching pattern /usr/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2

但是,下面的操作成功了:

$ dpkg -S /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
libnss-mdns:amd64: /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2

我注意到这/lib是一个符号链接/usr/lib:

$ ls -l /lib
lrwxrwxrwx 1 root root 7 Mar 19  2023 /lib -> usr/lib

我不明白为什么no path was found使用完整路径时/usr/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2,使用时却成功/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2。无论我通过直接路径还是通过符号链接引用,文件不是都一样吗?

有人能解释一下吗?

package-management
  • 1 个回答
  • 23 Views
Martin Hope
mpboden
Asked: 2024-02-27 12:47:40 +0800 CST

为什么我的笔记本电脑从屏幕锁定、睡眠或挂起状态恢复后屏幕变暗?

  • 7

每次从屏幕锁定、睡眠或挂起恢复后,我的笔记本电脑屏幕都非常暗。如果我输入Fn+ F6,那么屏幕会立即跳到 100% 亮度。(F5和F6是我的亮度控制键。)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:    20.04
Codename:   focal

$ lspci -nnk | grep -EA3 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:25b8] (rev a1)
    Subsystem: Lenovo Device [17aa:22d8]
    Kernel driver in use: nouveau
    Kernel modules: nvidiafb, nouveau

$ sudo lshw -c video
  *-display                 
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: /dev/fb0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=nouveau latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080
       resources: iomemory:400-3ff iomemory:410-40f irq:199 memory:ab000000-abffffff memory:4000000000-40ffffffff memory:4100000000-4101ffffff ioport:3000(size=128) memory:ac080000-ac0fffff

$ sudo lshw | grep -i lenovo
    product: 20YU002HUS (LENOVO_MT_20YU_BU_Think_FM_ThinkPad P17 Gen 2i)
    vendor: LENOVO
    configuration: administrator_password=disabled chassis=notebook family=ThinkPad P17 Gen 2i power-on_password=disabled sku=LENOVO_MT_20YU_BU_Think_FM_ThinkPad P17 Gen 2i uuid=4C043C28-3F2B-B211-A85C-940FFC06910B
       vendor: LENOVO
          vendor: LENOVO

在屏幕锁定、睡眠或挂起之前:

$ cat /sys/class/backlight/nv_backlight/actual_brightness 
100

之前的电源设置 亮度设置前

屏幕锁定、睡眠或挂起后:

$ cat /sys/class/backlight/nv_backlight/actual_brightness 
33

电源设置后 亮度设置后


我通过以下任一方式进入锁定模式:

  • 通过不活动
  • 从命令行:xdg-screensaver lock
  • 从下拉菜单中单击:Lock

我通过以下任一方式进入睡眠/挂起模式:

  • 从命令行:systemctl suspend
  • 从下拉菜单中单击:Power Off/Log Out>Suspend

请注意,从锁定/睡眠/挂起恢复后, 的内容/sys/class/backlight/nv_backlight/actual_brightness是33,而不是100。

要再次达到全亮度,我只需输入Fn+F6一次。我觉得这有点奇怪,因为通常情况下,如果亮度那么低,则需要按几次按键。例如,要从30到100,通常需要按七次按键。

此外,您还会注意到Settings/Power窗口中的亮度级别表明在锁定/睡眠/挂起之前和之后都处于 100%。

最后,您会注意到我禁用了设置Dim Screen When Inactive。


在我尝试提出某种解决方案时,我安装了xbacklight一个想法,即我可以在脚本中使用它来自动重置我的亮度。但这没有影响。

我还尝试了以下命令,但亮度级别没有改变,并且我无法写入文件。也许这是错误的做法。

$ sudo chmod 644 /sys/class/backlight/nv_backlight/actual_brightness

$ sudo tee /sys/class/backlight/nv_backlight/actual_brightness <<< 100
100
tee: /sys/class/backlight/nv_backlight/actual_brightness: Input/output error

$ sudo su

# echo 100 > /sys/class/backlight/nv_backlight/actual_brightness
bash: echo: write error: Input/output error

为什么会出现这种症状?如何解决?理想情况下,我不想合并在登录时运行的脚本。这似乎是治标不治本。


更新

我尝试了以下两个建议的解决方案,但都不起作用。

建议 1 - Systemd 服务

  • 创建文件:

     $ cat /etc/systemd/system/nvidia-backlight-sleep
    
     [Unit]
     Description=Fix Nvidia backlight after suspend
     Before=sleep.target
     StopWhenUnneeded=yes
    
     [Service]
     Type=oneshot
     RemainAfterExit=yes
     ExecStart=/bin/bash -c "cat /sys/class/backlight/nv_backlight/actual_brightness > /run/previous_nv_backlight_brightness"
     ExecStop=/bin/bash -c "sleep 1; cat /run/previous_nv_backlight_brightness > /sys/class/backlight/nv_backlight/brightness"
    
     [Install]
     WantedBy=sleep.target
    
  • 重新加载 systemd 守护进程:sudo systemctl daemon-reload

  • 启用服务:sudo systemctl enable nvidia-backlight-sleep

建议 2 - 创建脚本/lib/systemd/system-sleep

  • 创建文件:

     $ cat /lib/systemd/system-sleep/nvidia-backlight-sleep
    
     #!/bin/bash
    
     case $1 in
       post)
         sleep 1
         echo 50 > /sys/class/backlight/nv_backlight/brightness
         ;;
     esac
    
  • 使可执行:sudo chmod 755 /lib/systemd/system-sleep/nvidia-backlight-sleep

nvidia
  • 2 个回答
  • 82 Views
Martin Hope
mpboden
Asked: 2023-09-19 09:52:50 +0800 CST

为什么在取消压缩 squashfs 文件系统后,我会从任何命令收到“警告:无法打开目录”?

  • 5

我一直在尝试创建自定义 ISO 映像,并且取得了成功。然而,在这个过程中,我遇到了一个我不明白的情况。

我的系统是 Ubuntu 20.04.6 LTS Desktop。

基本上,在我运行到一个目录,然后列出生成的squashfs-rootsudo unsquashfs ubuntu-server-minimal.squashfs目录所在的父目录的内容后,我收到以下内容和许多警告:

$ ls -l
total 2231416
dr-xr-xr-x  9 mike mike       4096 Aug  9 22:06 extracted-iso
drwxr-xr-x 18 root root       4096 Aug  9 17:20 squashfs-root
-rw-rw-r--  1 mike mike 2133391360 Sep 18 18:13 ubuntu-22.04.3-live-server-amd64.iso
-r--r--r--  1 mike mike  151560192 Sep 18 18:15 ubuntu-server-minimal.squashfs
warning: could not open directory 'iso/squashfs-root/var/lib/polkit-1/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/apt/lists/partial/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/snapd/void/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/log/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/pollinate/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/ldconfig/': Permission denied
warning: could not open directory 'iso/squashfs-root/root/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lock/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/polkit-1/localauthority/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/ssl/private/': Permission denied

这就是我感到困惑的地方。我知道squashfs-root归 root 所有,但每个人都对其具有读取权限。chroot其次,在创建进入squashfs-root时所需的各种安装后,警告数量会增加,如下所示:

mount --bind /etc/resolv.conf squashfs-root/etc/resolv.conf
mount -t proc none squashfs-root/proc
mount -t sysfs none squashfs-root/sys
mount -t devpts none squashfs-root/dev/pts

此外,这些警告现在出现在任何命令中,例如lsb_release -a和pwd:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:    20.04
Codename:   focal
warning: could not open directory 'iso/squashfs-root/var/lib/polkit-1/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/apt/lists/partial/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/snapd/void/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/log/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/pollinate/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/ldconfig/': Permission denied
warning: could not open directory 'iso/squashfs-root/root/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lock/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/polkit-1/localauthority/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/ssl/private/': Permission denied

$ pwd
/home/mike/custom-iso/iso
warning: could not open directory 'iso/squashfs-root/var/lib/polkit-1/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/apt/lists/partial/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/lib/snapd/void/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/log/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/private/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/pollinate/': Permission denied
warning: could not open directory 'iso/squashfs-root/var/cache/ldconfig/': Permission denied
warning: could not open directory 'iso/squashfs-root/root/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lock/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/run/lvm/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/polkit-1/localauthority/': Permission denied
warning: could not open directory 'iso/squashfs-root/etc/ssl/private/': Permission denied
  • 如果我sudo su,所有警告都会消失。
  • 使用删除squashfs-rootsudo rm -fr squashfs-root后,所有警告都会消失。

那么这是怎么回事呢?为什么我会收到这些警告?又如何能够压制他们呢?我在这方面做错了什么吗unsquashfs?

更新:

作为测试,我在 VirtualBox 中创建了两个虚拟机,一个使用 Ubuntu 20.04.6 LTS Desktop,另一个使用 22.04.3 LTS Desktop。我下载了相同的 ISO,解压并解压了所有的 squashfs,就像以前一样到两个系统上。我在任一虚拟机中都没有收到任何警告。

因此,我当前的系统似乎存在问题,需要帮助进行故障排除。关于从哪里开始有什么想法吗?

permissions
  • 1 个回答
  • 53 Views
Martin Hope
mpboden
Asked: 2023-03-27 03:31:48 +0800 CST

为什么在将 Ubuntu 服务器升级到 22.04 的情况下运行 Nala 时出现 ImportError?

  • 7

ImportError安装后尝试使用 Nala 时出现以下问题:

$ sudo nala update
Traceback (most recent call last):
  File "/usr/bin/nala", line 5, in <module>
    from nala.__main__ import main
  File "/usr/lib/python3/dist-packages/nala/__main__.py", line 30, in <module>
    import nala.fetch as _fetch  # pylint: disable=unused-import
  File "/usr/lib/python3/dist-packages/nala/fetch.py", line 37, in <module>
    import typer
  File "/usr/lib/python3/dist-packages/typer/__init__.py", line 12, in <module>
    from click.termui import get_terminal_size as get_terminal_size
ImportError: cannot import name 'get_terminal_size' from 'click.termui' (/usr/lib/python3/dist-packages/click/termui.py)

这是在已升级到 22.04 的服务器安装上,而不是从 22.04 的全新安装。从历史上看,这台服务器最初是用12.04搭建的,后来升级了几次到22.04。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy

Nala 的安装如下:

sudo apt install nala

作为测试,我在 Virtual Box 机器上全新安装的 Ubuntu 22.04 上安装了 Nala,它运行良好。所以看起来问题与该系统升级到 22.04 有关。

我还做了以下事情:

wget https://gitlab.com/volian/volian-archive/uploads/b20bd8237a9b20f5a82f461ed0704ad4/volian-archive-keyring_0.1.0_all.deb\
wget https://gitlab.com/volian/volian-archive/uploads/d6b3a118de5384a0be2462905f7e4301/volian-archive-nala_0.1.0_all.deb
sudo apt install ./volian-archive*.deb
sudo apt --purge autoremove nala
sudo apt install nala

附加信息:

  • 那拉版本:

    $ apt policy nala
    nala:
      Installed: 0.12.3
      Candidate: 0.12.3
      Version table:
     *** 0.12.3 100
            100 https://deb.volian.org/volian scar/main amd64 Packages
            100 https://deb.volian.org/volian scar/main i386 Packages
            100 /var/lib/dpkg/status
         0.12.2 100
            100 https://deb.volian.org/volian scar/main amd64 Packages
            100 https://deb.volian.org/volian scar/main i386 Packages
         0.11.1~bpo22.04.1 100
            100 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages
            100 http://us.archive.ubuntu.com/ubuntu jammy-backports/universe i386 Packages
    
  • python3-pip版本:

    $ apt policy python3-pip
    python3-pip:
      Installed: 22.0.2+dfsg-1ubuntu0.2
      Candidate: 22.0.2+dfsg-1ubuntu0.2
      Version table:
     *** 22.0.2+dfsg-1ubuntu0.2 500
            500 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
            500 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe i386 Packages
            500 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages
            500 http://security.ubuntu.com/ubuntu jammy-security/universe i386 Packages
            100 /var/lib/dpkg/status
         22.0.2+dfsg-1 500
            500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
            500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
    
  • python3-typer版本:

    $ apt policy python3-typer
    python3-typer:
      Installed: 0.4.0-1
      Candidate: 0.4.0-1
      Version table:
         0.7.0-1 100
            100 https://deb.volian.org/volian scar/main amd64 Packages
            100 https://deb.volian.org/volian scar/main i386 Packages
     *** 0.4.0-1 500
            500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
            500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
            100 /var/lib/dpkg/status
    
  • python3-click版本:

    $ apt policy python3-click
    python3-click:
      Installed: 8.1.3-2
      Candidate: 8.1.3-2
      Version table:
     *** 8.1.3-2 100
            100 https://deb.volian.org/volian scar/main amd64 Packages
            100 https://deb.volian.org/volian scar/main i386 Packages
            100 /var/lib/dpkg/status
         8.0.3-1 500
            500 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
            500 http://us.archive.ubuntu.com/ubuntu jammy/main i386 Packages
    
  • 以下导致没有输出:

    $ sudo apt-mark showhold
    

我不知道如何解决这个问题。有没有人有什么建议?

apt
  • 1 个回答
  • 150 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve