Unix & Linux

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

2
将grep与--exclude-dir标志一起使用以排除多个目录
我正在Ruby on Rails应用程序中搜索grep在OSX上使用的单词,我想排除匹配特定模式的目录。 我正在使用以下命令: grep -inRw -E 'direct' . --exclude-dir -E 'git|log|asset' 该命令没有按照我的预期去做。我认为这会起作用: i-不区分大小写的搜索 n-在其中找到图案的打印行号 R-递归搜索 w-我只想要整个单词-即匹配“直接”而不匹配“目录” -E-使用扩展的正则表达式 'direct'-我要匹配的正则表达式 。-在当前目录中搜索 --exclude-dir -E'git | log | asset'-排除与git或日志或资产匹配的目录。 在排除目录方面,该命令仍然最终在“ ./git”和“ ./log”目录以及“ ./app/assets”中搜索 我显然缺乏基本知识,但我不知道这是什么。

2
系统日志中充满了会话和切片消息
我安装了新的CentOS 7,并注意到我的/ var / log / messages文件中充满了这样的消息 Mar 6 08:40:01 myhostname systemd: Started Session 2043 of user root. Mar 6 08:40:01 myhostname systemd: Starting Session 2043 of user root. Mar 6 08:40:01 myhostname systemd: Created slice user-1001.slice. Mar 6 08:40:01 myhostname systemd: Starting user-1001.slice. Mar 6 08:40:01 myhostname systemd: Started …
16 syslog 

4
如何将整个zfs池单向镜像到另一个zfs池
我有一个zfs池,其中包含几个zvol和数据集,其中一些也是嵌套的。所有数据集和zvol均由zfs-auto-snapshot定期快照。所有数据集和zvol都具有一些手动创建的快照。 我已经设置了一个远程池,由于时间不足,通过zfs send -R在本地高速网络上进行的初始复制未完成(某些数据集丢失,某些数据集已过时或缺少快照)。 现在,该池实际上是通过慢速连接处于远程状态,我需要定期将远程池与本地池同步,这意味着本地池中存在的数据必须复制到远程池中,本地池中的数据必须从远程池中删除,并且必须通过“ zvols”,“ datasets”或“ snapshots”等数据从远程池中删除存在于远程池中但不在本地池中的数据。 如果我在使用rsync的两个常规文件系统之间执行此操作,则将是“ -axPHAX --delete”(这实际上是我备份某些系统所执行的操作)。 如何设置同步任务,以便远程池zvol和数据集(包括其快照)可以与本地zvol,数据集和快照同步? 由于ssh的低吞吐量性能,我想避免通过ssh进行传输;我更喜欢mbuffer或iscsi。
16 zfs  replication 

3
arch linux-错误:无法获取“ airootfs”的规范路径(已安装到USB安装)
我正在尝试首次安装arch-linux。一切正常,直到我尝试将“ grub”启动加载程序安装到USB驱动器上。 我正在使用WIKI ARCH LINUX指南。 这两个命令都没有错误: # mkdir -p /mnt/usb ; mount /dev/sdc1 /mnt/usb # grub-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdc 但是下一条命令返回错误: 无法获得“ airootfs”的规范路径: # grub-mkconfig -o /mnt/usb/boot/grub/grub.cfg 谁能帮忙? (试图arch-chroot /mnt /bin/bash 在此命令上找不到)。

2
来自moreutils的海绵-外壳重定向有什么区别?有用的例子?
> brew install moreutils ==> Downloading https://homebrew.bintray.com/bottles/moreutils-0.55.yosemite.bottle.tar.gz ######################################################################## 100.0% ==> Pouring moreutils0.55.yosemite.bottle.tar.gz 🍺 /usr/local/Cellar/moreutils/0.55: 67 files, 740K 海绵读取标准输入并将其写到指定文件中。与Shell重定向不同,海绵在写入输出文件之前先吸收所有输入。这允许构造读取和写入同一文件的管道。 我不明白 请给我一些有用的例子。 什么吸收了是什么意思?

6
使用virt-install从命令行安装VM
免责声明: 现在virt-manager,我用于创建和管理我的VM,它确实可以节省生命。如果主机没有图形显示,则可以远程(从第三台计算机,通常是您的工作站)使用它。 vnc我发现安装教程中出现的内容使我认为“推荐”过程需要X主机,来宾或两者同时使用。绝对不。我的错。如果您处于相同的情况,请在尝试从命令行安装VM之前三思。 我正在尝试使用Debian主机安装Debian VM virt-install,但我不知道如何将其传递给.iso映像。 virt-install --connect qemu:///system --virt-type kvm --name prod --ram 6144 --disk /srv/vm/prod.qcow,format=qcow2,size=10 --location=/home/jerome/debian-8.0.0-amd64-netinst.iso --network bridge=br0 --os-type linux --os-variant debianwheezy --extra-args='console=tty0 console=ttyS0,115200n8 serial' Starting install... Retrieving file info... | 160 B 00:00 ... ERROR Could not find an installable distribution at '/home/jerome/debian-8.0.0-amd64-netinst.iso' The location must be …
16 kvm 

1
如何使用pkexec以root用户身份运行GUI应用程序?
我正在使用Trisquel GNU / Linux-Libre,它随Gnome3闪回桌面环境一起提供。 我知道我可以通过sudo&以root身份运行GUI应用程序,gksudo但是我想知道如何在...的帮助下以root身份运行GUI应用程序pkexec? 当我尝试运行gedit(或像任何其他应用程序:nautilus)由pkexec gedit然后,它会提示输入密码进行验证: - 输入密码后,错误退出: $ pkexec gedit error: XDG_RUNTIME_DIR not set in the environment. (gedit:6135): Gtk-WARNING **: cannot open display: 因此,显示环境似乎出了问题。 我也尝试过DISPLAY=:0 pkexec gedit但不起作用。 以下信息可从以下网站获得man pkexec: 为了避免通过LD_LIBRARY_PATH或类似机制注入代码,将PROGRAM运行它的环境设置为最小的已知和安全环境。另外,PKEXEC_UID环境变量设置为调用pkexec的进程的用户ID。结果,由于未设置$ DISPLAY和$ XAUTHORITY环境变量,pkexec将不允许您以其他用户身份运行X11应用程序。如果将动作上的org.freedesktop.policykit.exec.allow_gui批注设置为非空值,则将保留这两个变量;否则,将保留这两个变量。但是不建议这样做,并且仅应将其用于旧版程序。 现在,我不知道该怎么做才能完成此任务。 因此,帮助我找出如何通过来以root身份运行GUI应用程序pkexec。还是有可能吗? 顺便说一句,受gparted-pkexec命令启发,效果很好。如何gparted使用pkexec?

5
如何使Meld中的文本可读?
几个月前,meld开始表现异常。常见的行几乎不可读,并在黑色背景上显示为深灰色文本。 奇怪的是,以root身份运行它很好(使用kdesudo meld),尽管主题不太漂亮。 如何为融合指定文本的颜色选项? 我在用着: Arch Linux KDE 4.14.3(另见4.14.2) 融合3.12.2(也可见于3.12.1) gtk3 3.14.6(也可见于3.14.5) 故障排除 KDE系统设置 meld使用GTK3,所以我摆弄了系统设置>通用外观和行为>应用程序外观> GTK>选择一个GTK3主题。此更改反映在融合中,但是我选择的三个选项均未更改文本。(可用选项为Default,Emacs和oxygen-gtk;后者在上面的屏幕快照中使用。) 手动修改配置文件 我~用gtk他们的名字寻找文件。 ~/.gtkrc-2.0 ~/.gtkrc-2.0-kde4 ~/.config/gtk-2.0 ~/.config/gtk-3.0 ~/.kde4/share/config/gtkrc ~/.kde4/share/config/gtkrc-2.0 有趣的是,中没有gtk名称/root。因此,我尝试删除一些~文件,以查看是否可以为用户带来相同的效果。我认为所有gtkrc-2.0文件都与融合无关。 首先,我删除了~/.config/gtk-3.0,但这没有任何效果,并且在打开Meld时被重新创建。 唯一的其他选择似乎是~/.kde4/share/config/gtkrc,因此将其删除并开始合并,但不受影响。但是,该文件未重新创建,并且包含一些可能相关的行(例如text[ACTIVE] = { 1.000, 1.000, 1.000 })。我不确定(丢失)文件是否已全部加载。我尝试过kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop,但这没有效果。我需要手动重新加载gtkrc吗?为何该文件不受系统设置的影响/重写? (另外,FWIW,我删除了~/.gtkrc-2.0-kde4实际上是到的符号链接~/.gtkrc-2.0,并且我也删除了目标本身,但这没有帮助。同样,我也没有重新加载gtk(我不确定是否有必要,或者可能),并且当我尝试再次运行Meld时未重新创建文件。) 可能相关的环境变量 $ export | grep -i gtk …
16 configuration  kde  gtk  gtk3 

2
sftp命令获取/下载.tar.gz文件
我以为我熟悉sftpUnix中的命令,据我所知,用于compressed从服务器下载文件的命令是 sftp获取filename.tar.gz 但是,当我尝试使用此命令时,文件将被清空,这意味着文件大小将变为0,但我不知道为什么会发生这种情况。是否有其他专门针对.tar.gz文件类型的命令。获取此压缩文件的过程是什么。我正在使用mac终端。
16 terminal  osx  scp  sftp 




3
“子外壳”和“子进程”之间的确切区别是什么?
根据这个和这个,一个子shell通过使用括号开始(…)。 ( echo "Hello" ) 根据这个,这个和这个,当命令以& echo "Hello" & Posix规范在此页面中使用该词subshell,但未定义该词,并且在同一页面上也未定义“子进程”。 两者都使用内核fork()功能,对吗? 那么,将某些forks称为“ sub-shell”,而将另一些forks称为“子进程”,则有什么区别呢?
16 bash  shell  subshell 


1
访问私钥时GPG挂起
我喜欢用我的PGP密钥在git commit上签名,所以当我去时我很震惊,git commit -S但是git并没有挂起我的PGP密钥密码。我已经几个月没有更改我的GPG设置了,从那以后就进行了很多提交,没有问题。此外,当我尝试使用查看我的私钥时gpg -K,gpg会挂起。但是,当我运行gpg -k以查看我的公共密钥时,它会像平常一样返回该列表。希望有人会对导致此问题的原因及其解决方法有所了解。
16 git  gpg  pgp  openpgp 

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.