Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答


1
在什么情况下使用PS2,PS3,PS4作为提示?
当我登录到外壳程序时,我看到提示,其值存储在PS1中。 使用here-document语法时,我还遇到了另一个提示(但不知道是哪个提示): bc << HERE > 但这就是所有提示类型。到目前为止,我已经遇到了。哪种情况会引起不同的提示?

2
find(1):如何实现星号通配符以使其在某些文件名上失败?
在文件名使用UTF-8的文件系统中,我的文件名称错误;它显示为:D�sinstaller,根据zsh:的实际名称 D$'\351'sinstaller,Latin1表示Désinstaller,本身是法式野蛮的“卸载”。Zsh不会将其与之匹配,[[ $file =~ '^.*$' ]]但会与之匹配(*这是我期望的行为)。 现在,我仍然希望在运行时能够找到它find . -name '*'-事实上,我绝不会期望文件名能够通过该测试。然而,随着LANG=en_US.utf8,该文件确实不露面,我必须集LANG=C(或en_US,或'')为它工作。 问题: 背后的实现是什么,我如何预测结果? 信息:Arch Linux 3.14.37-1-lts,查找(GNU findutils)4.4.2

5
如何避免“百胜锁”的麻烦?
尝试安装应用程序时,我经常遇到“另一个应用程序当前持有yum锁;正在等待它退出...”的消息,我必须手动杀死yum。我该如何避免呢?有什么简单的方法可以解锁yum吗? 似乎只有一个yum实例可以运行。其他软件包管理器(apt-get,pacman)是否也一样?
31 centos  yum 

1
GPG代理如何工作?
我的gpg.conf文件中有一行内容为use-agent。 我知道这是指gpg-agent这是一个守护程序。手册页指出:“ gpg-agent是一个守护程序,可以独立于任何协议管理秘密(私有)密钥。它用作gpg和gpgsm以及其他几个实用程序的后端。” 谁能解释在gpg的背景下这意味着什么?gpg-agent的意义是什么? 我目前有GPG 1.4。 如何判断代理是否正在运行?实际上,我什至不清楚gpg-agent是否随基本GPG 1.4软件包一起安装。 如果未运行,如何启动它? 如果它正在运行,如何停止它?
31 gpg  gpg-agent 

5
将多个组设置为目录所有者
在我的服务器上,我有directory /srv/svn。 是否有可能这个目录有多个组所有权,例如设置devFirmA,devFirmB和devFirmC? 关键是,我想通过subversion版本控制来管理跨多个存储库的多个用户,并且我不知道如何合并 /srv/svn(存储库的根目录,权限)。例如,我有三个公司FirmA,FirmB和FirmC。现在,里面/srv/svn我已经创建了三个目录,FirmA,FirmB,FirmC和在他们里面我已经创建库对每一个项目,现在我不知道如何建立许可计划,因为所有elementes内/srv/svn由所有的root:root,这也不行,还是我错误?

1
“ E:子进程/ usr / bin / dpkg返回错误代码(1)”是什么意思?
每当有人在安装,升级或删除某些软件时遇到问题时,我已经多次看到此消息,但是我想知道这是什么意思,更重要的是,有可能解决该问题吗? (Reading database ... 81657 files and directories currently installed.) Removing mongodb-10gen ... arg: remove invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. dpkg: error processing mongodb-10gen (--remove): subprocess installed pre-removal script returned error exit status 100 invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found. dpkg: error while cleaning up: subprocess installed post-installation script …
31 apt  dpkg 

2
为什么在`rm`坏后关闭计算机电源会保存我的文件?
经典情况:我遇到了麻烦rm,立即意识到我删除了错误的文件。(没有什么紧要关头,我可以容忍最近的备份,但仍然很烦人。) 如果想使用extundelete此类工具恢复文件,我知道进一步的磁盘活动是我的敌人,所以我立即物理关闭了计算机的电源(即使用电源按钮,而不是使用halt诸如此类的命令)。这是一台笔记本电脑,没有重要任务在运行,也没有打开任何东西,因此是可以接受的操作。(顺便说一句,从那以后我就知道,在这种情况下要做的第一件事就是首先估计丢失的文件是否仍然可以通过https://unix.stackexchange.com/a/101247进程打开-如果是,则应以这种方式恢复它们,而不是关闭机器电源。) 尽管如此,一旦机器断电,我想了一会儿并认为文件不值得花时间启动实时系统进行适当的取证。所以我重新启动了机器。然后我发现我的文件仍坐在磁盘上:在rm断电之前,这些文件还没有传播到磁盘上。我跳了一点舞,感谢系统管理员之神的意想不到的宽恕。 现在我的问题是了解这是怎么可能的,以及在将an rm实际传播到磁盘之前的典型延迟是多少?我知道磁盘IO不会立即刷新,但会在内存中放置一段时间,但是我认为磁盘日志会迅速确保挂起的操作不会完全丢失。https://unix.stackexchange.com/a/78766似乎暗示了一种单独的机制来刷新脏页和刷新日记帐操作,但没有提供足够的详细信息说明日记帐将如何涉及到rm以及预期的延迟时间操作被刷新。 更多详细信息:数据位于LUKS卷内的ext4分区中,并且在备份计算机时,我在中看到以下内容syslog: Sep 24 10:24:58 gamma kernel: [ 11.457007] EXT4-fs (dm-0): 1 orphan inode deleted Sep 24 10:24:58 gamma kernel: [ 11.458393] EXT4-fs (dm-0): recovery complete Sep 24 10:24:58 gamma kernel: [ 11.482475] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null) 但是我不相信它与rm。 另一个问题是是否有一种方法可以告诉内核不执行任何未决的磁盘操作(而是将其转储到某个地方),而不是关闭计算机电源。(当然,不执行挂起的操作听起来很危险,但是无论如何关闭机器电源,都会发生这种情况,并且在某些情况下可以节省您的时间。)这当然会“更清洁”,也很有趣例如,对于那些不易关闭物理电源的远程服务器。

2
哪里没有“ export var = value”?
我可能是在1990年代中期在Usenet上发现的(!) export var=value 是Bashism,而可移植的表达是 var=value export var 我一直提倡这一点,但是最近有人挑战了我,我真的找不到任何文档来支持我的坚定信念。 谷歌搜索"export: command not found"似乎并没有提出任何实际有人遇到这个问题的案例,因此即使它是真实的,我想也不是很常见。 (我发现的命中点似乎是新手,他们复制/粘贴了标点符号,并最终使用了'export: command not found或类似的东西,或者试图export与sudo; 一起使用;而新手csh用户则尝试使用Bourne shell语法。) 我可以肯定地说它可以在OS X以及各种Linux发行版上运行,包括shis dash。 sh$ export var=value sh$ echo "$var" value sh$ sh -c 'echo "$var"' # see that it really is exported value 在当今世界,可以安全地说export var=value使用安全吗? 我想了解后果是什么。如果它不能移植到v7“ Bourne classic”中,那就比琐事多了。如果在生产系统中shell确实无法使用此语法,那么了解这一点将很有用。

1
在没有目标的情况下进行rsync会发生什么?
为了简单起见,我做了一个rsync: rsync -avP user@exampleserver.com:/tmp/ 而且我忘了放在我的源目录中... 我真的想跑步: rsync -avP /tmp/ user@exampleserver.com:/tmp/ 它打印了一堆文件,但是我不知道将文件复制到哪里,因为我没有指定目的地。有人知道发生了什么吗?我ls在当前文件夹上做了一个,但是什么也没找到。
31 linux  rsync  file-copy 

2
提供了新版本的配置文件/ etc / default / grub,但是当前安装的版本已在本地修改
我正在使用3.2.0-4-amd64#1 SMP Debian 3.2.46-1 x86_64 GNU / Linux Debian GNU / Linux 7.1(wheezy)版本:7.1。 我输入了“ sudo apt-get upgrade”,并希望达到最佳效果(在使用“ sudo ap-get update”进行更新之前,我更新了所有软件包)。 我不知道是否可以对grub进行任何更改,尽管我不是该计算机的所有者,但我恰好拥有sudo权限并使用它。 拜托,我该怎么办?我担心会破坏我的系统:( A new version of configuration file /etc/default/grub is available, but the version installed currently has been locally modified. │ What do you want to do about modified configuration …
31 grub 

2
记录每个按键并将其存储在文件中
我需要记录每个击键并将其存储在用户目录〜中的文件中,使用我的帐户时,我不会感到无所顾忌,也无法以任何方式安装程序(例如logKeys)。我该如何使用终端机? 注意:此问题不是其他提及问题的重复;在这个问题中,我询问的是每个击键,而在另一个问题中,提问者询问的是终端会话中的击键。
31 x11  logs  keyboard  input 

1
apt-get安装,没有debconf提示符
我想以非交互方式通过apt安装Chef,但默认情况下,apt安装会显示以下提示: 有没有办法在安装过程中跳过此步骤或将值传递给apt install?我仅使用chef-solo,因此实际上不需要服务器组件,因此只需在此提示上按回车即可。
31 scripting  apt  debconf 

3
用花括号创建Bash子外壳
根据此,将花括号之间的命令列表导致在当前外壳上下文要执行的列表。没有创建子外壳。 用ps看到这个在行动 这是直接在命令行上执行的流程管道的流程层次结构。4398是登录外壳程序的PID: sleep 2 | ps -H; PID TTY TIME CMD 4398 pts/23 00:00:00 bash 29696 pts/23 00:00:00 sleep 29697 pts/23 00:00:00 ps 现在遵循直接在命令行上执行的花括号之间的流程管道的流程层次结构。4398是登录外壳的PID。类似于上面的层次结构,证明了一切都在当前的shell上下文中执行: { sleep 2 | ps -H; } PID TTY TIME CMD 4398 pts/23 00:00:00 bash 29588 pts/23 00:00:00 sleep 29589 pts/23 00:00:00 ps 现在,这是sleep流水线本身放置在花括号内时的流程层次结构(因此,花括号总共有两个级别) { …
31 bash  subshell 

5
如何从QEMU / KVM取回鼠标?
我正在Debian Testing x64上使用以下命令运行QEMU / KVM: kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user 但是,当我在虚拟机内部单击时,QEMU会捕获我的鼠标,并且不会放开它。我以为释放鼠标的组合键是Right Ctrl,但是当我按下鼠标时什么也没有发生。我也尝试附加-usbdevice tabletor -usbdevice mouse选项: kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice tablet 要么 kvm -m 1024 -hda win7.img -cdrom win7x86.iso -boot d -net user -usbdevice mouse 但是情况是一样的。我正在使用QEMU模拟器版本1.7.0(Debian 1.7.0 …
31 x11  kvm  qemu  mouse 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.