Unix & Linux

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

1
向上按CTRL + P和向下按CTRL + N的历史起源是什么?
我是一个有一定经验的vim用户,他现在开始使用GNU emacs。大约在我了解到Ctrl- p和Ctrl- n是emacs中向上和向下的默认值的同时,我还了解到它们是vim中正常模式下k和j的变体。 有人知道这些快捷方式的由来吗?我想从逻辑上讲它们来自p(revious)和n(ext),或者也许来自(u)p和(dow)n,但是我想知道它们是什么程序,系统或标准的一部分。似乎不太可能将几个随机的emacs快捷方式借用到vim中,因此将它们包含在这两者中使我认为它们可能早于emacs和vim。* 使用Google很难找到有关击键问题的答案,但有趣的是,在看似全面的Wikipedia文章中并未将它们称为“箭头键” 。 *感谢托马斯·迪基(Thomas Dickey)和马克·普洛特尼克(Mark Plotnick)在评论中指出,所讨论的快捷方式已于1984 vi(sic)和1978 emacs参考文献中记录,但我认为共同起源的问题仍然存在。

1
允许受限制的rsync(rrsync)脚本用于带有authorized_keys的任意目录
自动备份 我想实现一个备份解决方案,将数据从Web服务器(WebServer)的各种目录复制到本地备份服务器(BackupServer)。备份应该在无人值守的情况下运行,因此我想使用基于密钥的身份验证和无密码私钥。 特权Rsync 我要备份的目录只有特权用户才能读取。我想使用rsync复制文件。我创建了一个专用的备份用户,并允许该用户使用sudo执行rsync,而无需使用visudo规则提示输入密码: backup-user ALL = NOPASSWD: /usr/bin/rsync 安全注意事项 我想通过限制备份用户可以执行的命令来提高安全性,方法是将命令列表添加到WebServer的authorized_keys文件中。我安装了这篇文章中提到的rrsync 。 command="/usr/bin/rrsync",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAA134143NzaC1yc... Rrsync需要一个子目录 与普通rsync相比,rrsync期望在授权密钥文件中提供一个子目录,如本博客文章中所述 command="/usr/share/rsync/rrsync /var/backup/client1/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa 此限制有效,但仅允许我备份一个特定的目录,即/ var / backup / client1 / 我想在rsync命令中提供要从BackupServer备份的目录。是否有可能像rsync一样使用rrsync,例如: rsync -avze ssh --rsync-path='sudo rrsync' backupuser@111.222.33.44:/media/data /backups/Server/ 附加说明 我知道,authorized_hosts中的command =“ ...”部分确实将此用户的可执行命令限制为所提供的命令,但是对于普通的rsync,我可以执行以下操作以提供要备份的路径:参数: command="/usr/bin/rsync --server --sender -vlogDtpre.is . ${SSH_ORIGINAL_COMMAND//* \//\/}" 这不适用于rrsync。 接受的解决方案 尽管从技术上说,这并不是该问题的明确答案,但我认为Gilles发布的解决方案是一种非常好的方法。我为要备份的实际目录的所有视图创建了一个根文件夹。因此,我可以安全地将身份验证限制为rrsync。 One …
10 ssh  rsync  backup 

3
如何在Debian上的xfce中设置持久分辨率
我在VMWare上运行Debian Jessie,默认分辨率为800x600。我可以使用将其设置为1360x768 xrandr,但下次登录时仍为800x600。 互联网上的一些帖子说要编辑我的xorg.conf文件。我跑了Xorg -configure,得到了一个xorg.conf.new文件。我尝试对其进行测试,但屏幕仍为黑色(startx无需配置即可正常运行)。 其他一些帖子说要编辑此目录(.config/xfce4/xfconf/xfce-perchannel-xml)中的display.xml文件,但我没有display.xml文件。 任何想法如何做到这一点? 日志文件:http : //pastebin.com/YaFrfnum Conf文件:http://pastebin.com/nYGg06TJ

3
如何检查视频是否已完全下载?
我有一堆视频,我想检查它们是否完整。其中一些可能会被部分下载,但它们并不存在问题。如何有效检查这些视频是否已完全下载? 如果我有链接,我会检查它们的大小,但我没有。 我尝试使用ffprobe和mediainfo。ffprobe报告了部分下载文件的小问题,但是也报告了一些完全下载文件的类似问题。我应该ffmpeg用来读取整个文件并比较视频的长度以检查是否已下载吗?有更好的解决方案吗?

3
可以在裸机上安装KVM吗?
我遍历了许多站点和教程来安装KVM,每个教程都说“在XYZ OS下安装KVM”。 KVM是1类(裸机)虚拟机管理程序。那么,KVM不应该直接安装在硬件之上吗? 是否可以在没有任何操作系统(如ESXi)的完全裸机上安装KVM? 对于ESXi,我们不需要任何操作系统,我们可以直接从介质安装它。我们的目标是在没有操作系统的裸机CPU上直接安装KVM虚拟机管理程序。

1
是内核线程进程和守护程序吗?
从Mauerer的Linux内核体系结构中, 内核线程是由内核本身直接启动的进程。他们将内核函数委派给一个单独的进程,并在其中与系统中的其他进程“并行”执行(实际上,与内核本身的执行并行)。内核线程通常称为(内核)守护程序。它们用于执行例如以下任务: 定期将修改的内存页面与页面所源自的块设备同步(例如,使用mmap映射的文件)。 如果很少使用内存页,则将其写入交换区域。 管理延迟的操作。 为文件系统实现事务日志。 基本上,内核线程有两种类型: 类型1-线程启动并等待直到内核请求执行特定操作为止。 类型2 —类型一旦启动,线程就会定期运行,检查特定资源的利用率,并在利用率超过或低于设置的限制值时采取措施。内核使用这种类型的线程进行连续监视任务。 由于Mauerer的书说内核线程是进程,所以我认为它们必须在用户模式而不是内核模式下运行。(或者我错了吗?一个进程可以在不同时间以用户模式或内核模式运行,还是只能以一种模式运行?) 但是Bovet的《了解Linux内核》指出,内核线程仅在内核模式下运行(请参见下面的引用)。两本书中的“内核线程”的概念是否相同? 传统的Unix系统将一些关键任务委托给间歇性运行的进程,包括刷新磁盘缓存,换出未使用的页面,为网络连接服务等。实际上,以严格的线性方式执行这些任务并不高效。如果将它们安排在后台,则它们的功能和最终用户流程都将获得更好的响应。由于某些系统进程仅在内核模式下运行,因此现代操作系统将其功能委托给内核线程,而内核线程不会受到不必要的用户模式上下文的阻碍。在Linux中,内核线程在以下方面与常规进程不同: 内核线程仅在内核模式下运行,而常规进程在内核模式和用户模式下交替运行。 由于内核线程仅在内核模式下运行,因此它们仅使用大于PAGE_OFFSET的线性地址。另一方面,常规过程在用户模式或内核模式下都使用全部四个千兆字节的线性地址。 Mauerer的书说内核线程是直接由内核启动的,似乎还说守护程序是内核线程的同义词。因此,我认为守护程序必须直接由内核启动。 但是https://unix.stackexchange.com/a/193918/674说,screen的守护进程是通过screen用户界面启动的(请参见下面的引用)。我认为screen用户界面是一个过程,而不是内核。是的概念daemon在Mauerer的书,并在链接的答复同一个概念? 首次启动时screen,实际上是在启动用户界面(ui),默认情况下会创建一个守护程序(会话管理器)。 通常,您如何理解“内核线程”,“进程”和“守护程序”的概念,它们之间的关系和差异?

4
如何设置默认网关
我正在尝试使用ifconfig在嵌入式Linux上配置网络接口: ifconfig eth0 192.168.0.101 netmask 255.255.255.0 但我不知道如何将默认网关添加为ifconfig参数, 有任何想法吗?



2
分组系统服务
我已经.service为构成我正在使用的系统的不同部分编写了大约六个文件。能够逐个启动整个系统非常有用,但我也想拥有一个可以在一次调用中启动整个系统的单元systemctl。 最好的方法是什么?
10 systemd 

2
我可以从maildir cur文件夹中删除或移动邮件文件吗?
我最终得到了一个包含350,000个文件的cur文件夹。太多了,我找不到管理它们的邮件程序。在同一台服务器上尝试过部落,但出现错误。 我可以手动删除或移动其中一些文件(shell)吗?还是会产生其他问题(索引编制)? 我的第一个目标是每年获得存档文件夹。否则,我只需要删除较旧的文件,直到大小再次变得可管理即可。
10 dovecot  maildir 

7
如何重命名目录中所有带有特殊字符和空格的文件?
如何重命名特定目录中的所有文件,这些文件的名称中包含空格和特殊字符($和@)? 我尝试了以下rename命令,用_替换所有空格和特殊字符: $ ls -lrt total 464 -rwxr-xr-x. 1 pmautoamtion pmautoamtion 471106 Jul 17 13:14 Bharti Blocked TRX Report Morning$AP@20150716.csv $ rename -n 's/ |\$|@/_/g' * $ ls -lrt total 464 -rwxr-xr-x. 1 pmautoamtion pmautoamtion 471106 Jul 17 13:14 Bharti Blocked TRX Report Morning$AP@20150716.csv $ 该命令有效,但不会对文件名进行任何更改,也不会返回任何错误。如何解决此问题,还有其他方法吗?

1
/ usr / share / dict / words中的单词从何而来?
/usr/share/dict/words包含很多单词。此列表是如何生成的?不同Unices中的内容是否相同?是否有任何标准规定必须包含什么? 到目前为止,我所能做的就是在Ubuntu / Debian上,该列表来自wordlist包,但是它们的描述不提供有关列表实际生成方式的线索。
10 dictionary  words 

2
三通会减慢管道的速度吗?
我想知道三通是否会减慢管道的速度。毕竟,将数据写入磁盘要比沿管道传输数据慢。 tee是否等待将数据发送到下一个管道,直到将其写入磁盘?(如果没有,我想Tee必须将已发送但未写入磁盘的数据排队,这对我来说似乎不太可能。) $ program1 input.txt | tee intermediate-file.txt | program2 ...
10 pipe  tee 

6
如何使用bash删除重复文件
我有一个包含重复文件的文件夹md5sum(md5在Mac上,按(在Mac上)文件),我想要一个克朗 计划删除所有找到的作业。 但是,我仍然坚持如何执行此操作。到目前为止,我有: md5 -r * | sort 输出如下内容: 04c5d52b7acdfbecd5f3bdd8a39bf8fb gordondam_en-au11915031300_1366x768.jpg 1e88c6899920d2c192897c886e764fc2 fortbourtange_zh-cn9788197909_1366x768.jpg 266ea304b15bf4a5650f95cf385b16de nebraskasupercell_fr-fr11286079811_1366x768.jpg 324735b755c40d332213899fa545c463 grossescheidegg_en-us10868142387_1366x768.jpg 3993028fcea692328e097de50b26f540 Soyuz Spacecraft Rolled Out For Launch of One Year Crew.png 677bcd6006a305f4601bfb27699403b0 lechaustria_zh-cn7190263094_1366x768.jpg 80d03451b88ec29bff7d48f292a25ce6 ontariosunrise_en-ca10284703762_1366x768.jpg b6d9d24531bc62d2a26244d24624c4b1 manateeday_row10617199289_1366x768.jpg ca1486dbdb31ef6af83e5a40809ec561 Grueling Coursework.jpg cdf26393577ac2a61b6ce85d22daed24 Star trails over Mauna Kea.jpg dc3ad6658d8f8155c74054991910f39c smoocave_en-au10358472670_1366x768.jpg dc3ad6658d8f8155c74054991910f39c smoocave_en-au10358472670_1366x7682.jpg 如何根据文件的MD5进行处理以删除重复项?我并不在乎我保留哪个 “原始”字符,但我只想保留一个。 我是否应该以其他方式来处理这个问题?

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.