标签: util-linux

为什么惰性 MNT_DETACH 或 `umount -l` 不安全/危险?

我读过一些umount -l不安全的地方:

在@cas 的回答中

如果您关心何时可以安全地拔下外部驱动器,请不要使用umount's--lazy选项

@frostschutz 的评论

umount --lazy是不安全的,也不能变得安全。[...]

util-linux 通过Ruediger迈耶评论

你应该完全避免使用umount -l。只需杀死所有正在使用的进程,/tmp/mountpoint然后不带选项 umount 即可-l

为什么umount -l不安全/危险?

有没有办法让它安全?

linux filesystems unmounting util-linux

13
推荐指数
1
解决办法
3692
查看次数

如何使用 ul 命令行实用程序

我想回答Use _roff to underline words with "just use ul,这个命令专门用于为文本加下划线",但是我无法掌握如何使用它。我想

$ echo "hello _kitty_ world" > /tmp/foo.txt
$ ul /tmp/foo.txt
Run Code Online (Sandbox Code Playgroud)

会给我一个带下划线的“小猫”,但事实并非如此。我究竟做错了什么?

command-line terminal utilities util-linux

6
推荐指数
1
解决办法
1773
查看次数

无法让busybox switch_root 工作

我正在研究使用 initramfs 启动的嵌入式 ARM Linux 系统。(这里有一些早期 问题的背景知识,如果你感兴趣的话。)到目前为止,部分感谢在这里收到的帮助,我可以通过带有嵌入式 initramfs 的 TFTP 引导内核。MMC 驱动程序检测到包含新根文件系统的 SD 卡,然后我可以挂载它。但是,我无法完成最后一步,即使用 busybox switch_root 切换到 SD 卡上的文件系统来工作。

在 initramfs shell 提示符下,我认为这应该使内核切换到新的文件系统:

switch_root -c /dev/console /mnt/root /sbin/init.sysvinit 
Run Code Online (Sandbox Code Playgroud)

然而,它只是让busybox( switch_root 别名)打印其手册页,如下所示:

/ # switch_root -c /dev/console /mnt/root /sbin/init.sysvinit 
BusyBox v1.17.4 (2010-12-08 17:01:07 EST) multi-call binary.

Usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGS]

Free initramfs and switch to another root fs:
chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /,
execute NEW_INIT. PID must be 1. NEW_ROOT …
Run Code Online (Sandbox Code Playgroud)

linux util-linux busybox sd-card

5
推荐指数
1
解决办法
3万
查看次数

是否有切换到现有命名空间的命令?

我使用了多个 UTS 命名空间,每个命名空间都有一些服务器不断运行。

我可以通过 获取命名空间 ID readlink /proc/<pid>/ns/uts,现在我想更改为给定的命名空间以在那里进行修改。

据我了解man 2 setns,通过使用setns()系统调用应该可以做到这一点。甚至有一个示例程序可以做我正在寻找的东西,但我希望已经有一些实用程序,大多数发行版都包含可以做同样的工作。

unshare命令似乎对我不起作用,因为它只创建新的命名空间来启动进程,但它不允许我指定现有的命名空间。

util-linux linux-kernel namespace

5
推荐指数
1
解决办法
3212
查看次数

为什么以及何时`lsblk` 需要`sudo`?

在我最新的 Arch Linux 上,lsblk如果没有sudo

$ lsblk -o NAME,FSTYPE
NAME   FSTYPE
sda    
??sda1 ext4
??sda2 ext4
??sda3 swap
??sda4 
??sda5 ext4
sr0    
$ lsblk --version     
lsblk from util-linux 2.26.2
Run Code Online (Sandbox Code Playgroud)

在我的 Ubuntu 14.04 上,获取文件系统类型需要sudo

$ lsblk -o NAME,FSTYPE
NAME                    FSTYPE
sda                     
??sda1                  
??sda2                  
??sda3                  
??sda4                  
??sda5                  
??sda6                  
? ??lvmg-homelvm (dm-0) 
??sda7                  
sdb                     
??sdb1                  
  ??lvmg-homelvm (dm-0) 
$ sudo lsblk -o NAME,FSTYPE
NAME                    FSTYPE
sda                     
??sda1                  ntfs
??sda2                  ntfs
??sda3                  ext4
??sda4                  
??sda5                  btrfs
??sda6                  LVM2_member
? ??lvmg-homelvm …
Run Code Online (Sandbox Code Playgroud)

permissions util-linux

5
推荐指数
1
解决办法
1049
查看次数

Ubuntu runuser 命令?

我正在创建一个需要以特定用户身份运行命令的 bash 脚本。结果我使用了命令:

runuser
Run Code Online (Sandbox Code Playgroud)

我已经测试了这个脚本,它在 Ubuntu Server 14.10 中完美运行。但是,在 14.04 和 12 上对其进行测试时,我遇到了以下错误:

runuser: command not found
Run Code Online (Sandbox Code Playgroud)

任何时候使用 runuser 命令都会发生这种情况。

我正在使用以下命令创建一个新用户:

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"
Run Code Online (Sandbox Code Playgroud)

创建新用户时是否需要指定一些特定的内容?是否缺少特定的依赖项?

问题编辑:

echo $PATH 的输出

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc??al/games
Run Code Online (Sandbox Code Playgroud)

ls -l /sbin/runuser 的输出

ls: cannot access /sbin/runuser: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我之所以要使用 runuser vs su 是因为以下几点:

使用 runuser 时,我可以运行以下命令:

runuser user -c 'cd'
runuser user -c 'wget http://file.com'
Run Code Online (Sandbox Code Playgroud)

而使用 su 我必须像这样链接命令:

su user -c 'cd; wget http://file.com'
Run Code Online (Sandbox Code Playgroud)

ubuntu su utilities shell-script util-linux

4
推荐指数
1
解决办法
2万
查看次数

une2fs 默认挂载选项未出现在挂载输出中是否正常?

我有一个 SSD,有 2 个分区,格式为 ext4。在第二个分区上,我使用discard以下命令在文件系统级别启用了默认选项:

$ sudo tune2fs -o discard /dev/sda2
tune2fs 1.45.5 (07-Jan-2020)
$ sudo tune2fs -l /dev/sda2 | grep 'mount options'
Default mount options:    user_xattr acl discard
Run Code Online (Sandbox Code Playgroud)

我还在discard两个分区上添加了该选项/etc/fstab

/dev/sda2 /     ext4 rw,relatime,discard,stripe=8191 0 1
/dev/sda1 /boot ext4 rw,relatime,discard,stripe=8191 0 2
Run Code Online (Sandbox Code Playgroud)

然而,当我查看 的输出时mount,只有没有discardfs-level 默认挂载选项的输出似乎启用了它:

$ mount | grep '^/dev'
/dev/sda2 on / type ext4 (rw,relatime,stripe=8191)
/dev/sda1 on /boot type ext4 (rw,relatime,discard,stripe=8191)
Run Code Online (Sandbox Code Playgroud)

我注意到提到的其他选项tune2fs也没有提及。

那么,尽管没有提及,我可以相信discard当前安装中已启用该功能吗?有什么方法可以验证吗?我的意思是, Even的输出与当前安装无关。/dev/sda2 …

linux ssd ext4 util-linux e2fsprogs

4
推荐指数
1
解决办法
1458
查看次数

来自“util-linux”而不是来自“bsdmainutils”的“column”

column有封装形式util-linuxbsdmainutils。这两个软件包都安装在 Linux Mint 20.2 中

$ type column
column is /usr/bin/column
column is /bin/column
Run Code Online (Sandbox Code Playgroud)

这两个列都指向 bsd 列工具。我如何从 访问该工具util-linux

util-linux linux-mint columns

2
推荐指数
1
解决办法
1262
查看次数

您能建议如何在 Ubuntu 22.04 下使用 `rename.ul` 吗?非常感谢?

rename.ul你能建议一下在Ubuntu 22.04下如何使用吗?非常感谢 !

    Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.10.102.1-microsoft-standard-WSL2 x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    /etc/update-motd.d/50-landscape-sysinfo: 17: cannot create /var/lib/landscape/landscape-sysinfo.cache: Permission denied
    
      System information as of Thu Aug 11 14:43:22 CST 2022
    
      System load:  0.0                 Processes:             15
      Usage of /:   15.8% of 250.98GB   Users logged in:       0
      Memory usage: 0%                  IPv4 address for eth0: 172.25.114.46
      Swap usage:   0%
    
    
    0 updates can be applied immediately.
    
    
    
    This message is shown once a day. To disable it …
Run Code Online (Sandbox Code Playgroud)

util-linux

2
推荐指数
1
解决办法
1927
查看次数