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

111
推荐指数
6
解决办法
24万
查看次数

如何获取未安装的 RPM 包的依赖项列表?

apt-cache show <package> 还显示了它的依赖关系。

yum info <package> 不显示依赖关系,但它显然知道它们。

如何向 yum 询问指定包的依赖关系?

linux yum rpm dependencies

87
推荐指数
3
解决办法
17万
查看次数

如何让ssh-agent按需自动添加密钥?

我想运行 ssh-agent(具有最大生命周期选项),但不在启动时添加任何密钥,而是按需添加它们。

就像我第一次登录某个服务器时,它应该要求输入密码,下次(除非我等了一个多小时)它应该连接干净:

ssh server1
Enter passphrase for key '/home/vi/.ssh/id_dsa':
server1> ...

ssh server2
server2> # no passphrase this time

# wait for lifetime

ssh server2
Enter passphrase for key '/home/vi/.ssh/id_dsa':
Run Code Online (Sandbox Code Playgroud)

我不想手动记住每次运行“ssh-add”。(例如,只为 ssh 输入密码和“哦,它没有记住,需要重新输入”)。

如果用户提供了密码,如何配置 ssh 以自动将密钥添加到 ssh-agent?

ssh ssh-agent

66
推荐指数
3
解决办法
4万
查看次数

如何同时进行多种语言的 Firefox 拼写检查?

我希望 Firefox 假设文本可能是多种语言的混合体,并且应该在多个词典中查找单词。(例如,en-GB、en-US、ru、be 和 be-classic 中的所有内容都应该被认为是好的,其他所有内容都应加下划线并提供所有词典的更正)。是否有“多语言拼写检查”的附加组件?

或者,我可以将所有词典合并成一个大的组合词典吗?

firefox language spell-check

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

在 tmux 中最大化窗口

tmux 显示如下屏幕:

[root@wpc-fc2 init]#                                      |············
                                                          |············
                                                          |············
[0] 0:bash 3:bash*               "vi@wpc-fc2:/etc/init" 21:04 21-Jun-11
Run Code Online (Sandbox Code Playgroud)

窗口有非最大宽度,试图从中复制文本会导致“|...”进入文本。

如何修复它并使 tmux 窗口全宽?

linux tmux

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

如何从指定的偏移量输出文件,而不是“dd bs=1 skip=N”?

如何dd if=somefile bs=1 skip=1337 count=31337000不使用非 1 字节的读取和写入,但要高效地做这样的事情?

预计解决方案:

  1. 为了简单(对于非简单,我可以编写一些 Perl oneliner 来做到这一点)
  2. 支持大的偏移量和长度(所以在 dd 中使用块大小的 hack 无济于事)

部分解决方案(不够简单,尝试相同的长度会使其更加复杂):

dd if=somefile bs=1000 skip=1 count=31337 | { dd bs=337 count=1 of=/dev/null; rest_of_pipeline; }
# 1337 div 1000 and 1337 mod 1000
Run Code Online (Sandbox Code Playgroud)

linux dd

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

如何从控制台获取视频文件的长度?

假设我们有一个视频文件 some_video。

如何从 shell 脚本(使用 mplayer/transcode/gstreamer/vlc/ffmpeg/whatever)获取它的长度?

VIDEO_LENGTH_IN_SECONDS=`ffmpeg .... -i some_video ... | grep -o .....`
Run Code Online (Sandbox Code Playgroud)

video linux vlc-media-player ffmpeg mplayer

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

为什么是“LANG=C”?(不是 D 或 E 或 F)

为了关闭本地化功能,应将 LANG 环境变量设置为“C”。

为什么是“C”?它从哪里来的?

linux locale localization

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

并行运行命令并限制同时执行的命令数

顺序:for i in {1..1000}; do do_something $i; done- 太慢

并行:for i in {1..1000}; do do_something $i& done- 负载过多

如何并行运行命令,但不超过例如每时 20 个实例?

现在通常使用 hack like for i in {1..1000}; do do_something $i& sleep 5; done,但这不是一个好的解决方案。

更新 2:将接受的答案转换为脚本:http : //vi-server.org/vi/parallel

#!/bin/bash

NUM=$1; shift

if [ -z "$NUM" ]; then
    echo "Usage: parallel <number_of_tasks> command"
    echo "    Sets environment variable i from 1 to number_of_tasks"
    echo "    Defaults to 20 processes at a time, use like …
Run Code Online (Sandbox Code Playgroud)

linux bash parallel-processing

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

如果某些进程仍然打开已删除的文件,如何恢复?

$ cat important_file > /dev/null &
[1] 9711
$ rm important_file 
$ killall -STOP cat

[1]+  Stopped                 cat important_file > /tmp/p
$ ls -l /proc/`pidof cat`/fd/
total 0
lrwx------ 1 vi vi 64 May 13 20:32 0 -> /dev/pts/29
l-wx------ 1 vi vi 64 May 13 20:32 1 -> /tmp/p
lrwx------ 1 vi vi 64 May 13 20:32 2 -> /dev/pts/29
lr-x------ 1 vi vi 64 May 13 20:32 3 -> /home/vi/important_file (deleted)
Run Code Online (Sandbox Code Playgroud)

如何恢复important_file

我试过类似的东西

injcode -m dup2 …
Run Code Online (Sandbox Code Playgroud)

linux file-recovery

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