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-514711

yaobin's questions

Martin Hope
yaobin
Asked: 2021-06-25 15:27:14 +0800 CST

重新启动后,`kernel.core_pattern` 在我的 Ubuntu 18.04 VM 上无效

  • 0

测试环境

我使用ubuntu/bionic64Vagrant box作为我的测试环境。

前置条件

创建VM后,我只是ansible 2.9.23按照官方文档中的说明进行安装。

我还安装了ansible.posix集合 ( ansible-galaxy collection install ansible.posix),因为我想使用该模块ansible.posix.sysctl。

验证当前的核心模式不是我想要的:

vagrant@ubuntu-bionic:~$ sysctl kernel.core_pattern
kernel.core_pattern = |/usr/share/apport/apport %p %s %c %d %P %E

此外,/etc/sysctl.conf没有核心模式:

vagrant@ubuntu-bionic:~$ grep "core_pattern" /etc/sysctl.conf
vagrant@ubuntu-bionic:~$

我的意图

我想将核心模式更改为/var/tmp/core.%h.%e.%t.

我做了什么

我运行了以下ansible命令:

ansible -bKvvv -m "sysctl" -a "name=kernel.core_pattern state=present value='/var/tmp/core.%h.%e.%t' reload=yes" localhost

并成功输出:

localhost | CHANGED => {
    "changed": true, 
    "invocation": {
        "module_args": {
            "ignoreerrors": false, 
            "name": "kernel.core_pattern", 
            "reload": true, 
            "state": "present", 
            "sysctl_file": "/etc/sysctl.conf", 
            "sysctl_set": false, 
            "value": "/var/tmp/core.%h.%e.%t"
        }
    }
}

我还检查了当前配置:

vagrant@ubuntu-bionic:/etc$ sysctl kernel.core_pattern
kernel.core_pattern = /var/tmp/core.%h.%e.%t

我还确认core_pattern已写入/etc/sysctl.conf:

vagrant@ubuntu-bionic:~$ grep "core_pattern" /etc/sysctl.conf 
kernel.core_pattern=/var/tmp/core.%h.%e.%t

然后我重新启动了我的虚拟机。重启后,当前生效的core_pattern被回滚:

vagrant@ubuntu-bionic:~$ sysctl kernel.core_pattern
kernel.core_pattern = |/usr/share/apport/apport %p %s %c %d %P %E

我的想法和我的尝试

这个问题似乎不适用于我,因为首先,它是在大约 10 年前被问到的,其次,Ubuntu Server 18.04 似乎不再使用upstart了。

我认为其他一些.conf文件可能会晚于读取,/etc/sysctl.conf因此设置在某处被覆盖。但是sysctl(8)手册页列出了.conf要读取的文件的顺序,看起来/etc/sysctl.conf应该是最后一个覆盖其他所有文件的文件。

sysctl.conf(5)手册页提供了与sysctl(8).

我也没有找到任何东西sysctl.d(5)。事实上,它的“配置目录和优先级”部分证实了我的理解:

/etc/ 中的文件会覆盖 /run/ 和 /lib/ 中的同名文件。/run/ 中的文件会覆盖 /lib/ 中的同名文件。

我发现手动kernel.core_pattern运行后会按预期设置。sudo sysctl --system这可能意味着默认情况下不会读取这些系统设置。

18.04
  • 1 个回答
  • 755 Views
Martin Hope
yaobin
Asked: 2021-03-04 19:06:01 +0800 CST

从 USB 闪存驱动器安装 Ubuntu 18.04.5 Desktop 时,如何禁用 `iio-sensor-proxy`?

  • 1

我正在尝试使用 USB 闪存驱动器(我使用官方 ISO 文件制作)在计算机上安装 Ubuntu 18.04.5 Desktop。但是,由于某种原因,加载安装程序后屏幕方向总是错误的。

我的同事告诉我这是由iio-sensor-proxyso引起的,安装操作系统后,我们只是运行apt remove iio-sensor-proxy删除它,删除不会造成任何问题。

但是由于屏幕方向错误以及奇怪的鼠标移动映射,在操作系统安装过程中非常痛苦。但是出于测试目的,我们想经常清理机器并重新安装操作系统,所以我想看看我是否可以修复或解决这个问题。

因为错误的方向是由 引起的iio-sensor-proxy,我正在考虑是否有办法告诉安装程序根本不加载它。所以我想知道是否有一些东西(可能是文件)我可以在闪存驱动器安装程序上添加/编辑来执行此操作。

或者,如果没有上一段中所说的这种方法,我想知道在安装开始时已经发生错误方向时是否可以做一些事情。这并不理想,但如果我只需要在安装开始时忍受痛苦并且可以在以下步骤中获得正常的用户体验,它仍然可以接受。

system-installation
  • 1 个回答
  • 39 Views
Martin Hope
yaobin
Asked: 2020-06-04 16:18:03 +0800 CST

我对`debconf-set-selections`的预配置文件中的“di”的含义感到困惑

  • 0

我正在使用 Ubuntu 18.04,我正在通过apt install.

这个软件包要求我查看许可协议并选择接受或拒绝它,我了解到我可以使用“预置”来自动化这个过程,这在“附录 B. 使用预置自动化安装”中进行了讨论。

“B.3. 创建预配置文件”部分对该Owners字段进行了如下说明:

对于仅在安装程序本身中使用的 debconf 变量(模板),所有者应设置为“di”;要预置已安装系统中使用的变量,应使用包含相应 debconf 模板的包的名称。只有所有者设置为“di”以外的变量才会传播到已安装系统的 debconf 数据库。

我的问题是:

  1. “安装程序”和“已安装系统”有什么区别?
  2. 我apt用来安装这个包。这是“安装程序”案例吗?
  3. debconf 数据库是什么?从我到目前为止所学到的,它是文件/var/cache/debconf/config.dat. 我对吗?
  4. 最后一句“...'di'将被传播到已安装系统的debconf数据库”让我觉得如果我使用apt安装包并d-i在preseed文件中使用,config.dat文件不会被我的安装更改. 但是在我运行之后debconf-set-selections <my-preseed-file>,我发现config.dat文件被更改了。所以我对这部分文件的确切含义感到困惑。

谢谢您的帮助!

automation apt preseed debconf
  • 1 个回答
  • 370 Views
Martin Hope
yaobin
Asked: 2019-01-12 12:29:15 +0800 CST

在“GRUB_CMDLINE_LINUX_DEFAULT”中,后面出现的值会覆盖前面的值吗?

  • 1

我正在使用我的项目中Ubuntu 14.04.5的最新版本。docker-ce我想启用 cgroup 交换限制功能,所以我正在查看您的内核不支持 cgroup 交换限制功能部分。

我不想手动执行此操作,而是想/etc/default/grub在 Ansible 剧本中修改文件,因为我已经有很多剧本来设置 IT 基础设施。

最简单的解决方案是找到该GRUB_CMDLINE_LINUX_DEFAULT行并追加cgroup_enable=memory swapaccount=1而不检查它们是否已经存在。剧本任务如下所示:

- name: Enable the memory limit.
  lineinfile:
    path: /etc/default/grub
    backrefs: yes
    regexp: '^(GRUB_CMDLINE_LINUX_DEFAULT=")(.*)(".*)$'
    line: '\1\2 cgroup_enable=memory swapaccount=1\3'
  when: <String `cgroup_enable=memory swapaccount=1` is not present>

(注意最后when一行不是有效的 Ansible 语法。我把它放在那里是为了展示这个想法。)

我设置了一个when条件,因此如果这两个具有所需值的标志已经存在,则不会再次附加它们。但是,在以下情况下仍会附加它们:

  • 只有一个存在,例如:GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory"
  • 两者都存在但具有不同的值,例如:(GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=something swapaccount=999"只是一些愚蠢的值)
  • 两者都存在但被其他东西隔开,例如:GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory somekey=somevalue swapaccount=1"
  • ETC..

综上所述,playbook任务并不完美,我会尽快改进。

我的问题是:

  1. 如果我最终得到类似 的行GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=something swapaccount=999 cgroup_enable=memory swapaccount=1",那么稍后出现的值(在这种情况下为“memory”和“1”)是否会覆盖相同键的早期值(“something”和“999”)?我测试过,它似乎是这样工作的。
  2. 如果它确实或不覆盖早期的值,那么指定此行为的官方文档在哪里?我试图在下面的链接中找到它,但并不幸运:
    • GNU GRUB 手册 2.02
    • 配置 GRUB 2
grub2 kernel
  • 1 个回答
  • 2586 Views
Martin Hope
yaobin
Asked: 2019-01-10 07:21:12 +0800 CST

`/etc/fstab` 是否用于重新挂载驱动器?

  • 9

我有一个安装了 Ubuntu 14.04.5 的设备,它有一个带有 ext4 文件系统的硬盘驱动器。

通过阅读Ext4 Filesystem文档,我了解到默认数据模式ordered仅保护元数据。在我的项目中,我们希望将其更改journal为同时保护文件数据,因为数据安全具有更高的价值。

我尝试的第一件事是修改/etc/fstab文件。我试图改变

UUID=<UUID> / ext4 errors=remount-ro 0 1

至

UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1

通过附加data=journal到选项字段。

但是,当我重新启动设备时,我最终收到一条错误消息,说cannot change data mode on remount. 我检查并看到了有关使用数据模式dmesg安装驱动器的较早消息。ordered

在很长一段时间内,我认为/etc/fstab它是用来覆盖默认安装选项的,因此驱动器只安装一次。但现在看起来不对:驱动器是使用其默认安装选项安装的,然后/etc/fstab被拾取重新安装。

我的问题是:

  • 这个“mount-remout”过程是系统的设计吗?我阅读了Fstabwiki 页面,但没有看到它提到“mount-remount”的事情。
  • 如果/etc/fstab真的是用来重挂载的,第一次挂载是在引导过程的哪一步?它在 中实施/etc/init.d吗?我确实在/etc/init.d调用umountfs和中看到了一些脚本umountroot,但是,浏览它们的内容,它们看起来并不相关。
boot fstab partitioning mount hard-drive
  • 2 个回答
  • 2871 Views
Martin Hope
yaobin
Asked: 2018-10-23 12:34:43 +0800 CST

创建Debian包时解析`${shlibs:Depends}`的详细过程是什么?

  • 4

我最近的工作涉及很多 Debian 打包,我使用Debian 新维护者指南作为我的主要参考。

我还没有完全理解的是如何将${shlibs:Depends}其解析为特定的包和版本。“如何”是指从变量到该字段中包的最终列表的详细步骤。${shlibs:Depends}Depends

第 4 章说:

dh_shlibdeps(1) 计算二进制包的共享库依赖关系。它为每个二进制包生成一个 ELF 可执行文件和共享库的列表。此列表用于替换 ${shlibs:Depends}。

我想我真正感兴趣的是“为每个二进制包生成ELF可执行文件和共享库的列表”的详细步骤,例如使用的信息源是什么。

我还查看了 Debian 政策手册中的“8.6.4. shlibs 系统”部分,它确实提供了一些信息来源,但似乎也没有谈论详细的步骤。

我当然可以深入研究dh_shlibdeps脚本以弄清楚它是如何完成的,但是我不愿意这样做,因为我还没有学习 Perl,所以我想看看是否还有其他我不知道的参考资料已经涵盖了这一点。如果没有这样的参考,我肯定会阅读代码。

谢谢!

dpkg dependencies packaging deb
  • 1 个回答
  • 3042 Views
Martin Hope
yaobin
Asked: 2016-09-14 07:05:16 +0800 CST

Ubuntu 14.04:如何从可在网络管理器 GUI 中编辑的命令行添加以太网连接?

  • 4

在 Ubuntu 14.04上,如何从可在网络管理器 GUI中编辑的命令行添加以太网连接?

我研究了 nmcli,它是网络管理器的命令行工具。很遗憾:

  • 如果您比较Ubuntu 14.04 LTS和Ubuntu 15.10文档上的 nmcli 工具,您会注意到 14.04 LTS 不支持通过 nmcli 工具添加以太网连接。从 15.10 开始,该add命令被添加到 nmcli 的connection对象中。它在 14.04上不可用。

  • Ubuntu 14.04 LTS 上的 nmcli 可以连接到无线网络(参见其文档中的最后一个示例),但我想创建一个以太网连接。

  • 虽然我可以编辑文件/etc/network/interfaces以添加以太网接口,但它们在网络管理器中不可见,这不是我喜欢的。

我这样做是因为我正在编写一个 shell 脚本来配置网络,并且我还希望允许用户在必要时从 GUI 编辑配置。

提前致谢!

==========

更新#1:

我忘了提nm-connection-editor:据我所知,它仍然是一个 GUI 工具,需要用户交互来创建/编辑连接。因为我试图在脚本中自动化这个过程,所以我不想在这里使用任何 GUI 的东西。

14.04
  • 1 个回答
  • 2488 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