我读过一些umount -l
不安全的地方:
如果您关心何时可以安全地拔下外部驱动器,请不要使用
umount
's--lazy
选项
umount --lazy
是不安全的,也不能变得安全。[...]
这util-linux
通过Ruediger迈耶评论:
你应该完全避免使用
umount -l
。只需杀死所有正在使用的进程,/tmp/mountpoint
然后不带选项 umount 即可-l
。
为什么umount -l
不安全/危险?
有没有办法让它安全?
我想回答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)
会给我一个带下划线的“小猫”,但事实并非如此。我究竟做错了什么?
我正在研究使用 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) 我使用了多个 UTS 命名空间,每个命名空间都有一些服务器不断运行。
我可以通过 获取命名空间 ID readlink /proc/<pid>/ns/uts
,现在我想更改为给定的命名空间以在那里进行修改。
据我了解man 2 setns
,通过使用setns()
系统调用应该可以做到这一点。甚至有一个示例程序可以做我正在寻找的东西,但我希望已经有一些实用程序,大多数发行版都包含可以做同样的工作。
该unshare
命令似乎对我不起作用,因为它只创建新的命名空间来启动进程,但它不允许我指定现有的命名空间。
在我最新的 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) 我正在创建一个需要以特定用户身份运行命令的 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) 我有一个 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
,只有没有discard
fs-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 …
column
有封装形式util-linux
和bsdmainutils
。这两个软件包都安装在 Linux Mint 20.2 中
$ type column
column is /usr/bin/column
column is /bin/column
Run Code Online (Sandbox Code Playgroud)
这两个列都指向 bsd 列工具。我如何从 访问该工具util-linux
?
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 ×9
linux ×3
utilities ×2
busybox ×1
columns ×1
command-line ×1
e2fsprogs ×1
ext4 ×1
filesystems ×1
linux-kernel ×1
linux-mint ×1
namespace ×1
permissions ×1
sd-card ×1
shell-script ×1
ssd ×1
su ×1
terminal ×1
ubuntu ×1
unmounting ×1