小编Vi.*_*Vi.的帖子

Debian 软件包应该如何创建用户帐户?

该软件包qqq.deb安装qqq应从uqqq用户帐户运行的程序。该包由qqq程序、qqq.conf配置文件和/etc/init.d/qqqinitscript 组成。

包应该如何管理用户的创建uqqq?是否有任何最佳实践或官方指南?

  1. 只需uqqq在 postinst 中自动创建用户;
  2. 首次从/etc/init.d/qqq脚本启动时自动创建用户;
  3. qqq程序第一次启动时自动创建用户(不带参数)
  4. 不要创建任何用户帐户,除非管理员明确创建了用户(例如,使用qqq --create-user),否则拒绝启动;
  5. 不要创建任何用户帐户,默认从 root 运行不安全;
  6. 在 postinst、init.d 脚本或qqq自身中交互询问是否创建用户。

卸载时,软件包是否应该删除用户帐户?

debian package-management

43
推荐指数
3
解决办法
2万
查看次数

我如何“跟踪”一个文件?

正在按顺序下载文件wget

如果我开始用 解压它cat myfile.tar.bz2 | tar -xj,它可能会正确解压或因“意外 EOF”而失败,具体取决于哪个速度更快。

如何“跟踪”文件,即将文件内容输出到标准输出,但不要在 EOF 上退出,而是继续订阅该文件并继续输出数据的新部分,仅在文件被关闭时退出writer 并且在 N 秒内没有重新打开。


我根据@arielCo 的回答创建了一个脚本cat_and_follow,该脚本也终止了不再打开文件进行写入的时间。tail

pipe tail open-files files cat

33
推荐指数
3
解决办法
2万
查看次数

为什么写入 /dev/random 不会使 /dev/random 的并行读取速度更快?

通常读取/dev/random产生 100-500 字节和块,等待熵被收集。

为什么/dev/random其他进程写入信息不能加快读取速度?它不应该提供所需的熵吗?

它可用于解锁gpg或类似软件而无需重新启动并重新输入所有内容,生成非超级绝密密钥等。

linux random

25
推荐指数
2
解决办法
6376
查看次数

是否可以从 /proc 获取进程组 ID?

在“ /sf/ask/912670041/ ”中,我看到所有答案都提到了ps,没有提到/proc

“ps”似乎不是很便携(Android 和 Busybox 版本需要不同的参数),我希望能够使用简单且便携的工具列出带有 pgid 的 pid。

在 /proc/.../status 我看到Tgid:(线程组 ID),Gid:(组 ID 用于安全,而不是用于将进程分组在一起),但不是PGid:...

ps从 pid 获取 pgid 的其他(不使用)方法是什么?

linux process proc process-groups

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

`dd` 有替代方案吗?

除了dd应该使用哪些工具来读取和写入截断、查找和跳过的文件之外,还有哪些工具?dd的命令行选项看起来既不方便又陌生,我不喜欢在缓慢但精确的搜索模式 ( bs=1) 和快速但不灵活的模式(bs=4k或其他)之间进行选择。

是否有更现代的工具可以从一个文件(或管道、套接字或 dev)中的位置 31337 读取 555 个字节,并将它们写入另一个文件的位置 128205(使用块 512+43),无论是否截断?

utilities dd binary files

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

如何输出文件的“稀疏性”?

如何输出实际填充数据的文件标称大小?就像vmtouch显示当前内存中有多少文件......

我希望工作流程是这样的:

$ fallocate -l 1000000 data 
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000  data
$ measure_sparseness
50%
Run Code Online (Sandbox Code Playgroud)

解决方法:使用du -bshdu -sh并加以比较。

sparse-files files

15
推荐指数
1
解决办法
887
查看次数

如何安全地“组合”多个程序打印的行?

假设我想并行执行多个程序并将它们的输出合并到一个管道中:

sh -c '
    (echo qqq; echo qqq2; echo qqq3)&
    (echo www; echo www2; echo www3)& 
    (echo eee; echo eee2; echo eee3)& 
  wait; wait; wait'
Run Code Online (Sandbox Code Playgroud)

这种 shell 方法适用于这个简单的情况,但我希望如果程序以缓冲方式输出更多和更长的行,它会失败,像这样(构造):

qqq
qqwww
q2
qqq3www2

wwweee3

eee2
eee3
Run Code Online (Sandbox Code Playgroud)

我被暗示使用的解决方案之一是tail -f

tail -n +0 -q -f <(echo qqq; echo qqq2; echo qqq3) <(echo www; echo www2; echo www3) <(echo eee; echo eee2; echo eee3)
Run Code Online (Sandbox Code Playgroud)

,但这是次优选项:它输出数据缓慢,不会终止;在这种情况下,我看到的输出不是“睡眠”顺序,而是参数顺序:

tail -n +0 -q -f <(sleep 1; echo qqq; sleep 1; echo qqq2; echo qqq3) <(echo www; …
Run Code Online (Sandbox Code Playgroud)

shell io-redirection

11
推荐指数
1
解决办法
702
查看次数

如何在选项卡完成列表中按日期对文件进行排序

$ 7z l ~/下载/Tab

如何使结果列表按日期排序,而不是按名称排序?

我目前使用特殊脚本在给定目录中列出 N 个最近的文件(并将文件名手动复制到命令行),但希望使其无缝且更方便。

bash autocomplete

10
推荐指数
1
解决办法
1227
查看次数

为什么有AF_NETLINK?AF_UNIX 还不够吗?

据我了解,AF_NETLINK 套接字协议用于内核和用户空间之间的通信,AF_UNIX 用于两个用户空间进程之间的通信。

为什么 Linux 需要单独的 AF_NETLINK?为什么 UNIX 套接字不能用于内核和用户之间的通信?

linux linux-kernel unix-sockets

9
推荐指数
1
解决办法
4206
查看次数

如何从 SSH 禁用图形密码提示?

有时 SSH 会弹出一个 GUI 密码(或主机身份验证)输入窗口,该窗口与 Awesome 窗口管理器交互不佳,防止复制和粘贴密码,对我来说通常是不必要的。

如何禁用它?微不足道的尝试失败:

$ DISPLAY= ssh root@v3eur
Error: Can't open display: 
Permission denied, please try again.
Run Code Online (Sandbox Code Playgroud)

ssh gui x11

9
推荐指数
1
解决办法
3697
查看次数