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

Wildcard's questions

Martin Hope
Wildcard
Asked: 2024-02-03 04:03:44 +0800 CST

当从 root 登录 shell 运行文件时,为什么 `less` 显示“此帐户不可用”?

  • 10

这并不是一个真正的问题,只是我想了解的一个特点。

如果我得到一个 root shellsudo bash -l然后运行less somefilename我得到的信息更少只显示:

该帐户当前不可用。

(这不会显示为错误,而是显示在 less 内,就好像它是文件的内容一样。)

但是,如果我使用相同的 root shell 并sudo bash -l运行,cat somefilename | less那么我会看到文件的实际内容。

另外,如果我获得一个 root shell 并sudo bash跳过-l然后运行less somefilename它将显示文件的内容。

Root登录被禁用;该/etc/passwd线路root:x:0:0:root:/root:/sbin/nologin根本sudo su -不起作用。

但是,为什么该条目会对在文件上nologin运行产生任何影响呢?为什么它只在直接在文件上运行而不是也应用于在其标准输入上运行时less才会产生影响?less而且,为什么只有bash -lshell 才会出现这种情况?

(这是在 CentOS 7 系统上。)

sudo
  • 1 个回答
  • 337 Views
Martin Hope
Wildcard
Asked: 2019-09-19 17:20:17 +0800 CST

在设置绑定接口之前,管理 NIC 环形缓冲区大小的 systemd-native 方法是什么?

  • 2

使用 ethtool 管理 NIC 环形缓冲区大小很简单,例如:

ethtool -G eth0 rx 4096 tx 4096

(或替换eth0为您需要管理的任何界面。)

现场直播很容易。

麻烦的是,当您在属于绑定接口的每个从属接口上执行此操作时,您会弄乱绑定。(聚合器 ID 在许多情况下不会像以前那样匹配。) 编辑:我了解到这不是预期的行为。(当我了解更多关于我观察到的案例中发生这种情况的原因时,我可能会更新。)

ETHTOOL_OPTS在 RHEL 7 中,您可以通过将值设置/etc/sysconfig/network-scripts/ifcfg-eth0为(例如)ETHTOOL_OPTS="-G ${DEVICE} rx 4096 tx 4096"(根据访问 Red Hat 文章)来设置在引导时出现的环形缓冲区大小。(警告:我没有测试过这实际上避免了上面提到的聚合器 ID 不匹配。)

但是,对于 Ubuntu 18.04,没有这么明显的容易查看的地方。

我已经深入研究了 netplan 文档、systemd 网络文档和 networkd-dispatcher。

我的一位同事提出了一个使用 networkd-dispatcher 的解决方案,该解决方案似乎可行,但尚不清楚是否仍可能涉及竞争条件,以至于它只是碰巧起作用,而不是保证在接口绑定建立。我将在下面发布(稍后),但我不知道这是否是正确的答案。(此外,任何 systemd 文档中都没有提到它。)

所以问题是:

在绑定这些接口之前,在启动时管理以太网接口的环形缓冲区大小的 systemd 本机方法是什么?

systemd
  • 2 个回答
  • 4344 Views
Martin Hope
Wildcard
Asked: 2019-07-26 16:42:15 +0800 CST

关闭整个屏幕会话的 GNU 屏幕动态窗口标题

  • 4

我发现:

  • GNU Screen 窗口重命名麻烦

但是,那里的答案都没有解决我的问题,而且我的情况与链接的问题略有不同。

我在一个大型基础设施中工作,一天内我可能会登录到数百台主机中的任何一台。我无权管理PROMPT_COMMAND所有这些服务器上的默认设置。

我已经阅读了有关命名窗口(LESS='+/^TITLES' man screen)的手册页部分,但我没有看到任何解决我的问题的方法。

无论我从屏幕会话登录的服务器上的设置如何,如何使屏幕中的窗口保留我设置的标题(使用 Ctrl-A A) ?

(示例用例:我可能有一个标题为“db-hosts”的窗口,我可以在其中登录随机抽样的数据库主机来检查它们,当我完成检查后从任何给定的主机注销并登录到不同的主机。 )

gnu-screen prompt
  • 1 个回答
  • 703 Views
Martin Hope
Wildcard
Asked: 2019-01-08 19:00:16 +0800 CST

搜索三个连续的换行符?

  • 3

我知道可以使用压缩多个空行cat -s(并且可以使用压缩所有空行tr -s '\n'),但我很好奇如何在输入流中搜索此条件。

我以为stream-of-input | grep -qz $'\n\n\n'这样可以,但事实并非如此。

有没有办法用简单的工具来做这个搜索?

换句话说,如果三个连续的字节是换行符,则读取输入并以零状态退出,或者如果在没有找到三个连续的换行符的情况下达到 EOF,则以非零状态退出。

grep search
  • 2 个回答
  • 570 Views
Martin Hope
Wildcard
Asked: 2018-12-05 15:29:55 +0800 CST

`ps -p PID` 究竟做了什么而 `ps -q PID` 没有呢?

  • 6

根据man ps:

   -p pidlist
          Select by PID.  This selects the processes whose process ID
          numbers appear in pidlist.  Identical to p and --pid.

   -q pidlist
          Select by PID (quick mode).  This selects the processes
          whose process ID numbers appear in pidlist.  With this
          option ps reads the necessary info only for the pids listed
          in the pidlist and doesn't apply additional filtering
          rules. The order of pids is unsorted and preserved. No
          additional selection options, sorting and forest type
          listings are allowed in this mode.  Identical to q and
          --quick-pid.

我看到这-q比 快得多-p,最多需要四分之一的时间来生成相同的列表。

例如:

$ time ps -fq "$$"
UID        PID  PPID  C STIME TTY          TIME CMD
vagrant   8115  3337  0 23:05 pts/0    00:00:00 bash

real    0m0.003s
user    0m0.001s
sys 0m0.002s
$ time ps -fp "$$"
UID        PID  PPID  C STIME TTY          TIME CMD
vagrant   8115  3337  0 23:05 pts/0    00:00:00 bash

real    0m0.013s
user    0m0.003s
sys 0m0.009s
$

在另一个系统上,我观察ps -q到花费的时间不到ps -p.

但是,我没有使用森林类型的列表,而且我只传递了一个 PID,因此排序不会花费任何时间(对于中等长度的 PID 列表,排序应该可以忽略不计)。我的命令中没有额外的过滤规则。

什么都不ps -p是ps -q?

ps performance
  • 2 个回答
  • 10559 Views
Martin Hope
Wildcard
Asked: 2018-10-06 16:20:40 +0800 CST

历史 -a 在 bash 中不起作用

  • 2

难道我做错了什么?我想我正在按照手册页中的说明进行操作,但它没有任何效果。

[501] $ history | tail
  492  echo 3
  493  echo 4
  494  echo 5
  495  echo 6
  496  echo 7
  497  echo 8
  498  echo 9
  499  echo 10
  500  PS1='[\!] \$ '
  501  history | tail
[502] $ tail ~/.bash_history 
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
[503] $ history -a
[504] $ tail ~/.bash_history 
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
[505] $ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.
[506] $ 

第二次命令的输出不tail ~/.bash_history应该不同吗?

bash command-history
  • 1 个回答
  • 2121 Views
Martin Hope
Wildcard
Asked: 2018-09-06 12:41:16 +0800 CST

“无证男子 7”从何而来?

  • 6

在 Ubuntu 16.04 上,我得到以下信息:

ubuntu@ubuntu-xenial:~$ man 2 chmod
No manual entry for chmod in section 2
See 'man 7 undocumented' for help when manual pages are not available.
ubuntu@ubuntu-xenial:~$ man 7 undocumented
No manual entry for undocumented in section 7
ubuntu@ubuntu-xenial:~$

安装manpages-dev(和ubuntu-docs)后,我有chmod(2). 但是,我仍然没有undocumented(7).

什么包应该提供这个手册页?

(这是使用官方的 Xenial 64 Vagrant 盒子。)

ubuntu man
  • 1 个回答
  • 1691 Views
Martin Hope
Wildcard
Asked: 2018-09-01 18:07:45 +0800 CST

Linux 内核中的 cpuset cgroup 继承语义“坏了”什么?

  • 5

引用2013 年 systemd 新控制组界面的公告(添加了重点):

请注意,当前作为单元属性公开的 cgroup 属性的数量是有限的。这将在稍后扩展,因为它们的内核接口已被清理。例如,由于内核逻辑的继承语义被破坏,cpuset 或 freezer 目前根本没有公开。此外,不支持在运行时将单元迁移到不同的切片(即更改运行单元的 Slice= 属性),因为内核当前缺少原子 cgroup 子树移动。

那么,内核逻辑的继承语义有什么问题cpuset(以及这种问题如何不适用于其他 cgroup 控制器,例如cpu)?

RedHat 网站上有一篇文章给出了一个未经验证的解决方案,说明如何在 RHEL 7 中使用 cgroup cpusets,尽管它们缺乏作为易于管理的 systemd 单元属性的支持......但这甚至是个好主意吗?上面加粗的引文是有关的。

换句话说,使用此处引用的 cgroup v1 cpuset 可能会遇到哪些“陷阱”(陷阱)?


我正在为此开始赏金。

回答此问题的可能信息来源(无特殊顺序)包括:

  1. cgroup v1 文档;
  2. 内核源代码;
  3. 试验结果;
  4. 现实世界的经验。

上面引用中粗体线的一个可能含义是,当一个新进程被分叉时,它不会与它的父进程保持在同一个 cpuset cgroup 中,或者它在同一个 cgroup 中但处于某种“未强制”状态因此它实际上可能运行在与 cgroup 允许的不同的 CPU 上。但是,这纯粹是我的猜测,我需要一个明确的答案。

systemd cgroups
  • 3 个回答
  • 3271 Views
Martin Hope
Wildcard
Asked: 2018-07-17 23:19:14 +0800 CST

文件描述符是否从未打开?

  • 1

当然文件可以打开,也可以不打开。

但是,根据定义,文件描述符是指打开的文件(对吗?)。(嗯,除非它指的是文件以外的东西,比如管道或你有的东西。但它仍然是打开的。)

我多次遇到过“打开文件描述符”这个短语。我认为这是多余的,事实上除了打开的文件描述符之外没有其他类型的文件描述符——但我想验证这一点。

除了“打开”之外,文件描述符是否处于任何其他状态?(当它关闭时,它不会不复存在吗?)

file-descriptors open-files
  • 2 个回答
  • 1122 Views
Martin Hope
Wildcard
Asked: 2017-12-15 21:58:06 +0800 CST

Bash 如何处理参数扩展的字符串替换部分中的引用?

  • 8

有什么一致的逻辑吗?

some-command "${somevariable//some pattern/'how does this get parsed?'}"

我在下面发布了一些结论和原始测试作为“答案”,但无论如何它们都不是完整的答案。Bash 手册页对该主题保持沉默。

bash quoting
  • 3 个回答
  • 2414 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve