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

kos's questions

Martin Hope
kos
Asked: 2016-02-26 06:23:05 +0800 CST

APT 如何选择要安装的特定包以提供作为依赖项所需的虚拟包?

  • 6

例如,是awk由和提供的虚拟包。original-awkmawkgawk

尝试直接安装它会产生:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package awk is a virtual package provided by:
  original-awk:i386 2012-12-20-4
  mawk:i386 1.3.3-17ubuntu2
  gawk:i386 1:4.1.1+dfsg-1
  original-awk 2012-12-20-4
  mawk 1.3.3-17ubuntu2
  gawk 1:4.1.1+dfsg-1
You should explicitly select one to install.

E: Package 'awk' has no installation candidate

但是,默认安装的包需要许多虚拟包作为依赖项,例如awk自身需要base-files,通过检查APT日志与一堆其他包一起安装apt-get --yes;不知何故,APT 最终自动选择了三个中的一个(我很确定那是mawk,但这不是问题的重点)。

在这种情况下,APT 如何选择要安装的特定包?

apt
  • 2 个回答
  • 2978 Views
Martin Hope
kos
Asked: 2015-12-24 18:25:31 +0800 CST

Canonical 是否跟踪 Ubuntu 的使用情况?如果是这样,怎么做?有“官方”数据吗?我在哪里可以找到它们?

  • 5

我很好奇 Canonical 是否跟踪 Ubuntu 的使用情况,如果是,如何跟踪,是否有“官方”数据以及在哪里可以找到它们。

那么,Canonical 是否跟踪 Ubuntu 的使用情况?

如果是这样,怎么做?

有“官方”数据吗?

我在哪里可以找到它们?


注意:我最感兴趣的是看到这样的数字,如果有的话。

canonical
  • 4 个回答
  • 775 Views
Martin Hope
kos
Asked: 2015-11-04 11:14:59 +0800 CST

为什么 Tar 即使不传递“-p”、“--preserve-permissions”或“--same-permissions”开关也会保留原始文件的权限?

  • 5

来自man 1 tar:

[...]
     -p, --preserve-permissions, --same-permissions
           extract information about file permissions (default for superuser)
[...]
     --no-same-permissions
           apply the user's umask when extracting permissions from the archive
           (default for ordinary users)
[...]

据此我了解到,默认情况下,提取文件的权限是根据用户的 umask 设置的,除非用户是 root:

% umask
002

所以我提取的文件应该有权限664(666- 002)。

然而:

% touch foo
% chmod +x foo
% ls -l
total 0
-rwxrwxr-x 1 user user 0 nov  3 19:36 foo
% tar cf foo.tar foo
% rm foo
% tar xf foo.tar 
% ls -l
total 12
-rwxrwxr-x 1 user user     0 nov  3 19:36 foo
-rw-rw-r-- 1 user user 10240 nov  3 19:36 foo.tar

即,Tar 保留了原始文件的权限,即使我没有通过-p,--preserve-permissions或--same-permissions开关。

尽管如此,如果我通过--no-same-permissions开关:

% tar xf foo.tar --no-same-permissions
% ls -l
total 12
-rwxrwxr-x 1 user user     0 nov  3 19:36 foo
-rw-rw-r-- 1 user user 10240 nov  3 19:36 foo.tar

Tar 仍然保留原始文件的权限。

有人可以解释为什么会这样吗?

tar
  • 1 个回答
  • 7587 Views
Martin Hope
kos
Asked: 2015-09-15 11:25:55 +0800 CST

如何在 zsh 中完成外部命令之前迭代 shell 函数完成和别名完成?

  • 1

就目前而言,当我点击TAB迭代部分命令的可能完成时,首先迭代外部命令完成:

user@user-X550CL ~ % apt
Completing external command
apt                       aptd                      apt-key                 
apt-add-repository        aptdcon                   apt-mark                
apt-cache                 apt-extracttemplates      apt-sortpkgs            
apt-cdrom                 apt-ftparchive            apturl                  
apt-config                apt-get                   apturl-gtk              
Completing shell function
apt-get_all
Completing alias
apt-get_autoremove_clean  apt-get_update            apt-get_update_upgrade 

在上面的示例中,需要再点击 17 次TAB才能到达apt-get_autoremove_clean(或者再输入一个-get_并再点击TAB3 次)。

在大多数情况下,我会发现如果首先迭代 shell 函数和别名会更方便。

有没有一种方法可以设置zsh为首先迭代 shell 函数和别名?

command-line
  • 2 个回答
  • 297 Views
Martin Hope
kos
Asked: 2015-09-11 01:11:22 +0800 CST

如何在不丢失驱动器末尾的 NTFS 分区的情况下将驱动器的分区表从 MBR 更改为 gpt?

  • 10

长话短说,我有一个使用 MBR 分区表格式化的外部 USB 硬盘驱动器,我想在我需要保留的 ~442.33 GB NTFS 分区之前的 ~23.40 GB 未分配空间中以 UEFI 模式安装 Ubuntu:

截屏

要在 UEFI 模式下安装 Ubuntu,我需要将驱动器的分区表格式化为 gpt。

我不认为有一种简单/直接的方法可以将 MBR 分区表转换为 gpt 分区表,所以我也在寻找复杂/间接的方法。

例如,我认为可以通过记下 NTFS 分区开始、写入新分区表并将 NTFS 分区添加到新分区表来完成一些事情,但我从来没有这样做过,我不知道从哪里开始;此外,我不想在这种情况下第一次尝试这个,因为我对这些东西不是很自信,而且我不能承受失去我需要保留的 NTFS 分区。

partitioning
  • 1 个回答
  • 27556 Views
Martin Hope
kos
Asked: 2015-06-26 04:27:41 +0800 CST

处理一定长度的 bash 中断命令

  • 3

假设您想在以下位置运行此命令bash:

echo -n "Command of a specific length will break at the second run attempt."

这是 24x80 TTY 的输出:

ubuntu@ubuntu:~$ echo -n "Command of a specific length will break at the second 
run attempt."
Command of a specific lenght will break at the second run attempt.ubuntu@ubuntu:
~$ 

假设您想再次运行相同的命令。

一旦你点击↑:

ubuntu@ubuntu:~$ echo -n "Command of a specific lenght will break at the second
run attempt."
Command of a specific lenght will break at the second run attempt.ubuntu@ubuntu:
run attempt."ommand of a specific lenght will break at the second r

这种情况发生在特定大小的命令中,这些命令最后不打印换行符。

这非常烦人。到目前为止,我还没有找到解决这个问题的方法,我认为遇到这个问题的每个人都会非常感谢能解决这个问题的人。

command-line
  • 3 个回答
  • 434 Views
Martin Hope
kos
Asked: 2015-06-12 14:58:20 +0800 CST

无法切换到专用 nVidia 显卡

  • 3

我有一台安装了 Ubuntu 15.04 的华硕 F552CL 笔记本电脑。

笔记本电脑配备专用的 nVidia GeForce GT 710M 显卡。

我已经安装并启用了软件更新 - 其他驱动程序中建议的所有专有驱动程序:

截图1

当我尝试使用 NVIDIA X 服务器设置切换到专用显卡时,会弹出一条消息,要求我注销并重新登录以应用更改:

截图2

看起来已经选择了专用显卡:

在此处输入图像描述

但是,如果我注销并重新登录,集成显卡显示为正在使用的卡:

在此处输入图像描述

我还尝试重新启动而不是注销并重新登录,但集成显卡一直显示为正在使用的卡。

当我gksudo nvidia-settings在终端中运行时,在关闭 NVIDIA X 服务器设置后,我收到以下消息:

ERROR: nvidia-settings could not find the registry key file. This file
       should have been installed along with this driver at
       /usr/share/nvidia/nvidia-application-profiles-key-documentation. The
       application profiles will continue to work, but values cannot be
       preopulated or validated, and will not be listed in the help text.
       Please see the README for possible values and descriptions.
nvidia
  • 1 个回答
  • 5664 Views
Martin Hope
kos
Asked: 2015-06-11 17:38:14 +0800 CST

在每个字符数的基础上,将字符流拆分为以空格分隔的组

  • -1

我想< /dev/urandom tr -dc 'A-Z0-9_'在每个字符数的基础上拆分以空格分隔的组的输出,并将所有内容输出到stdout.

这是输出< /dev/urandom tr -dc 'A-Z0-9_':

~/$ < /dev/urandom tr -dc 'A-Z0-9_'
MD7Y2P3YF4B_E2P6OKPOT_KYMZYQUL_W [...]

< /dev/urandom tr -dc 'A-Z0-9_'这是将输出分成四个字符组后的预期输出:

~/$ < /dev/urandom tr -dc 'A-Z0-9_' | [?]
MD7Y 2P3Y F4B_ E2P6 OKPO T_KY MZYQ UL_W [...]
command-line
  • 1 个回答
  • 53 Views
Martin Hope
kos
Asked: 2015-06-10 08:38:23 +0800 CST

为什么 Perl 总是需要给出“-p”选项,即使输入文件是标准输入?

  • 2

更新#2:我对这个选项有很大的误解-p,现在我很清楚它用于处理作为参数提供的所有文件,但我仍然不太明白为什么在从stdin.


更新#1:我注意到-p总是需要该选项(至少在执行替换时),即使使用默认分隔符(换行符)并且输入文件是单行时也是如此,我不太明白为什么放弃-p处理单行的选项(这似乎是合适的)会破坏一切(即没有输出)。

例如,按预期运行echo -n 'test' | perl -pe 's/test/newstring/'输出,但不输出任何内容。newstringecho -n 'test' | perl -e 's/test/newstring/'


原始问题:

为什么stdin在 Perl 命令中读取整个文件(例如perl -0777 -e [...])仍然需要-p给出选项才能实际处理文件(例如perl -0777 -pe [...])?

我知道该-p选项在命令的每一行周围放置了一个循环,但是为什么不更改(在本例中是删除)足以让 Perl 处理文件的分隔符?或者,尽管文件只会被处理一次,但为什么有必要告诉 Perl 在命令的每一行周围放置一个循环?

perl
  • 1 个回答
  • 285 Views
Martin Hope
kos
Asked: 2015-05-05 09:57:46 +0800 CST

由于某种原因,UEFI 分区“必须”或“应该”是第一个吗?如果是,为什么?

  • 19

在非英语的 Ubuntu-it.org wiki 页面中声明 UEFI 分区必须始终放在磁盘的开头。

英语 Ubuntu 社区帮助 Wiki 页面中的情况并非如此。

那么,出于某种原因,UEFI 分区是“必须”还是“应该”(假设前一页中的措辞不当)首先出现?如果是,为什么?或者这完全无关紧要?

partitioning
  • 2 个回答
  • 18951 Views
Martin Hope
kos
Asked: 2015-04-25 10:08:49 +0800 CST

在编译/构建 Debian 软件包时,我如何知道哪些选项已传递给 ./configure?

  • 0

关闭选民:这个问题与链接的问题不同,因为它的范围是查找在构建通用 Debian 软件包期间传递给 ./configure 的选项,而不仅仅是查找在构建期间传递给 ./configure 的选项存储库中可用的 Debian 软件包。

正如标题所说,我已经解压了一个 Debian 包,以便重新编译/重建它并添加一个自定义选项,但是我无法弄清楚如何在包被编译/内置时找到传递给 ./configure 的选项地方。找到这样的选择是否可行?

apt
  • 1 个回答
  • 324 Views
Martin Hope
kos
Asked: 2015-04-22 01:22:51 +0800 CST

“<command> & disown”和“nohup <command> & disown”的区别

  • 55

这是我对&,disown和的用法的理解nohup:

  • <command>: 在终端的当前bash实例中运行进程,在前台(即进程被列为bash前台作业stdin,stdout并且stderr仍然绑定到终端);无法避免挂断;
  • <command> &: 在终端的当前bash实例中,在后台运行进程(即进程被列为bash后台作业stdin,stdout并且stderr仍然绑定到终端);无法避免挂断;
  • <command> & disown:在终端的当前bash实例中的后台运行进程,但进程与bash“作业”列表分离(即进程未列为bash前台/后台作业stdin,stdout并且stderr仍然绑定到终端);不受挂断的影响;
  • nohup <command> & disown: 在终端的当前bash实例中的后台运行进程,但进程与bash“作业”列表分离(即进程未列为bash前台/后台作业stdin,stdout并且仍未绑定到终端) ; 不受挂断的影响;stderr

因此,除了nohup <command> & disown阻止stdin和重定向stdout以及默认情况下的stderrto之外nohup.out,在我看来它可以被认为完全等同于<command> & disown.

以上都对吗?有什么误解吗?

command-line
  • 2 个回答
  • 42674 Views
Martin Hope
kos
Asked: 2015-04-19 06:34:38 +0800 CST

有什么方法可以比 VLC 默认情况下更精确地滚动很长的视频(使用鼠标)?

  • 1

正如标题所说,有什么方法可以比 VLC 默认情况下更精确地滚动很长的视频(使用鼠标)?

有时滚动长视频要么不精确,要么“跳”得太远。

vlc
  • 1 个回答
  • 273 Views
Martin Hope
kos
Asked: 2015-04-17 03:31:19 +0800 CST

如何让 nohup 执行 [double-] 引用的内部命令?

  • 1

假设我想运行echonested into watchnested into nohup。

从栈底开始:

echo test

没问题。

watch -n 1 'echo test'
watch -n 1 "echo test"

这些也没有问题。

nohup 'watch -n 1 "echo test"'
nohup "watch -n 1 'echo test'"

这些问题:

~$ nohup 'watch -n 1 "echo test"'
~$ nohup: ignoring input and appending output to ‘nohup.out’
~$ nohup: failed to run command ‘watch -n 1 "echo test"’: No such file or directory
~$ nohup "watch -n 1 'echo test'"
~$ nohup: ignoring input and appending output to ‘nohup.out’
~$ nohup: failed to run command ‘watch -n 1 'echo test'’: No such file or directory

如何让 nohup 执行 [double-] 引用的内部命令?

command-line
  • 1 个回答
  • 2104 Views
Martin Hope
kos
Asked: 2015-04-08 11:18:19 +0800 CST

基于目录结构的自动更新视频库应用

  • 0

我在外部硬盘驱动器上存储了一系列电影/完整电视剧集。到目前为止,所有文件都按目录层次结构排序,在目录层次结构的顶部只有两个文件夹,“ Movies”和“ TV series”。“ Movies”文件夹在包含每个不同流派的文件夹的 1 级深目录层次结构中进一步排序。这种结构很容易经常更改/稍微修改。

我通过运行一个脚本来处理要添加到该库中的任何新文件,该脚本编辑其标签并根据某些条件重命名它,然后再将其添加到正确的文件夹中。

我想从一个视频库应用程序中浏览整个集合,它可以显示文件的标签、缩略图并允许我搜索整个集合,但大多数情况下它应该能够根据当前集合的内容更新其内容目录结构。

是否有可以执行此类操作的视频库应用程序(可能将整个目录层次结构显示为多个“递归嵌套”播放列表)?

software-recommendation
  • 1 个回答
  • 140 Views
Martin Hope
kos
Asked: 2015-04-07 12:36:49 +0800 CST

反转 sed/正则表达式的模式匹配优先顺序

  • 6

考虑这个命令:

echo "string.with.dots" | sed 's/\(.*\)\.\(.*\)/\1\n\2/'

(将任何字符匹配到第一个捕获组,直到最后.一个字符,并将其之后的任何字符匹配到第二个捕获组。)

这输出:

string.with
dots

合理地(我认为)我认为在正确的组合中使用锚点会设法扭转这种行为(即比赛将string针对第一个捕获组和with.dots第二个捕获组),但是:

echo "string.with.dots" | sed 's/^\(.*\)\.\(.*\)/\1\n\2/'
echo "string.with.dots" | sed 's/^\(.*\)\.\(.*\)$/\1\n\2/'
echo "string.with.dots" | sed 's/\(.*\)\.\(.*\)$/\1\n\2/'

所有输出:

string.with
dots

我不知道模式匹配是如何实现的,但它似乎总是优先考虑更接近字符串开头的模式,而不是更接近字符串结尾的模式(尽管存在^或缺失$)。

如果可能的话,如何改变这种行为(即不是如何为此示例编写硬编码解决方案,而是如何将模式匹配优先级顺序反转为sed一般的正则表达式)?

sed
  • 3 个回答
  • 3176 Views
Martin Hope
kos
Asked: 2015-03-29 04:00:40 +0800 CST

内核模块编译失败(gcc: error: elf_x86_64: No such file or directory)

  • 0

我正在尝试编译一个简单的内核模块,但由于传递给 的参数错误导致编译make失败gcc。

这是Makefile:

obj-m += test.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) test

运行make产生以下错误:

$ make
make -C /lib/modules/3.16.0-33-generic/build M=/home/user/test test
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-33-generic'
gcc   -m elf_x86_64  /home/user/test/test.c   -o test
gcc: error: elf_x86_64: No such file or directory
gcc: error: unrecognized command line option ‘-m’
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-33-generic'
make: *** [all] Error 2

这个答案没有帮助:我已经在所有文件中搜索了/usr包含-m elf_x86usinggrep -rnw '/usr' -e "-m elf_x86"和没有文件匹配的文件,所以我不知道我需要编辑哪个文件来重新定义make的行为。

kernel
  • 1 个回答
  • 2102 Views
Martin Hope
kos
Asked: 2015-03-26 05:52:04 +0800 CST

如何在 bash 中打印八进制值对应的 UTF-8 字符?

  • 4

我希望printf %s '\<octal_character_value>'能做到这一点,但事实并非如此:

printf %s '\101'

输出:

\101
command-line
  • 3 个回答
  • 2232 Views
Martin Hope
kos
Asked: 2015-03-26 03:31:56 +0800 CST

在某个位置打开文件并在bash中读取一个字节

  • 1

由于已经有两个人投票决定关闭这篇文章,我会尽量把问题说清楚。物理设备上的文件表示为二进制序列。话虽这么说,我需要做的是在这样的级别检查两个文件的表示之间的差异(即我需要比较两个不同文件中同一位置的多个字节之间的差异),并输出这些差异在bash脚本中。

例子:

file1: 00000000 01010101 10101010 11001100 00110011

file2: 00000000 01010101 01010101 00110011 00110011

该脚本应输出:

differences: Byte 3 (file 1: 01010101; file2 10101010), Byte 4 (file1: 11001100; file 2: 00110011)

或者沿着这些路线的东西。

因此,为了实现这一点,我需要做的第一件事是至少能够在某个位置打开文件并读取一个字节并输出/存储该字节。我可以编写一个C程序来做到这一点,但有没有办法在其中做到这一点bash?

command-line
  • 2 个回答
  • 1518 Views
Martin Hope
kos
Asked: 2015-03-25 14:36:16 +0800 CST

打印目录及其子目录中存在的所有文件的“完整”相对路径列表

  • 6

我需要打印目录及其子目录中存在的所有文件的“完整”相对路径列表。我曾经用 du 和 grep 这样做:

du -a <path_to_directory> | grep -Po '[0-9]+\t\/\K.*'

但是如果路径太长,du 会用点替换部分路径。

哪个是好的选择?

解析 ls 不是一个选项。

command-line
  • 1 个回答
  • 8407 Views

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve