Unix & Linux

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

2
为什么套接字路径长度限制为一百个字符?
在Unix系统上,路径名通常几乎没有长度限制(在Linux上是4096个字符)...除了套接字文件路径最多只能有100个字符(在Linux上为 107个字符)外)之外。 第一个问题: 为什么限制这么低? 我检查了,它似乎有可能通过改变当前的工作目录,并在不同的目录中创建所有使用相同的路径几个套接字文件来解决此限制./myfile.sock:客户端应用程序似乎正确地连接到预期的服务器进程偶数虽然lsof显示所有他们中的一个在同一套接字文件路径上侦听。 这种解决方法可靠吗?还是我很幸运? 此行为是特定于Linux的,还是该解决方法也适用于其他Unix?



2
我应该使用单尖括号还是双尖括号将其重定向到/ dev / null?
此处[ 1 ] [ 2 ] [ 3 ]的大多数答案使用单个尖括号重定向到/ dev / null,如下所示: command > /dev/null 但是附加到/ dev / null也可以: command >> /dev/null 除了多余的字符,是否有其他理由不这样做?这是对/ dev / null的基础实现的“更聪明”吗? 编辑: 在开放式(2)手册页说lseek的是每次写在附加模式文件之前名为: O_APPEND 以追加模式打开文件。在每次write(2)之前,文件偏移都位于文件的末尾,就像使用lseek(2)一样。文件偏移量的修改和写操作作为单个原子步骤执行。 这使我认为使用可能会对性能造成微小的影响>>。但另一方面,根据该文档,截断/ dev / null似乎是未定义的操作: O_TRUNC 如果文件已经存在并且是常规文件,并且访问模式允许写入(即O_RDWR或O_WRONLY),它将被截断为长度0。如果文件是FIFO或终端设备文件,则O_TRUNC标志将被忽略。否则,未指定O_TRUNC的效果。 并且POSIX规范说>应截断现有文件,但是O_TRUNC是针对设备文件的实现定义的,并且没有关于/ dev / null如何响应被截断的信息。 那么,截断/ dev / null实际上是未指定的吗?并做lseek的来电对写性能产生任何影响?

2
btrfs不支持哪些ext4功能?
btrfs(通常发音为“更好的fs”)具有ext4缺少的许多功能。 但是,比较btrfs和ext4的功能,btrfs缺少什么?1个 换句话说,我不能使用btrfs来处理ext4吗? 1鉴于ext4的存在而忽略了对btrfs的较小的测试

3
PS1 ='$(pwd)'为什么有效,为什么与PS1 = $(pwd)不同
为什么当我输入此命令时,提示会更改为我的目录? PS1='$(pwd)' 我使用的是单引号,也就是说没有插值,也就是echo '$(pwd)'-→$(pwd) 此外,请说我们已经弄清了它为什么有效……为什么它的功能不同于PS1=$(pwd)?(完全没有引号) 通过不同的方式,我的意思是如果我使用引号,那么当我浏览终端时,提示将不断更改为当前目录。但是,如果我不使用引号,那么提示符将始终保留为我首次输入命令时所在的目录PS1=$(pwd) 为什么?
18 bash  zsh  prompt  pwd 

5
如何对具有major.minor.patch级别的列表进行排序,有时还可以正确地对rc进行排序?
我必须使用shell脚本对以下列表进行排序,并使最新版本显示在底部或顶部。我将如何仅使用Shell工具来做到这一点? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

3
awk重复{n}不起作用
我正在尝试使用重复符号{n}打印行,但是它不起作用。对于。例如我想打印所有长度为4个字符的行 awk '/^.{4}$/' test_data 上面的代码没有打印出来。如何解决它,以便可以使用重复符号?我知道类似的选择awk '/^....$/' test_data和awk 'length ==3 ' test_data

1
Evince不显示打印机
我有一个PDF文档查看器问题。我有一台配置有杯子的打印机,可以从其他PDF查看器(例如Okular)打印PDF,但不能使用Evince。当我想使用Evince打印时,根本没有列出打印机,只有“打印到文件”或“使用lpr打印”。我可以使用lpr进行显示,但是我必须使用所需的选项来键入命令,这不是很实际。 我正在用Evince 3.22.1运行Debian Testing(Stretch)。我试图删除文件~/.cups/lpoptions,~/.config/evince/print-settings但没有解决问题。
18 printing  evince 

2
如何设置Linux客户端以使用通过dhcp提供的ntp信息?
dhcpd关于向dhcp客户端提供ntp建议的方法,有太多的教程解释了如何设置服务器,以至于我一直以为ntp配置是自动执行的。最近,我开始看到本地网络中的时钟漂移,因此我认为这是一个错误的假设。因此,我开始着手研究如何最大限度地减少ntp客户端配置,前提是已经通过努力进行了设置ntp-server建议dhcpd。 除了这个特定于Ubuntu的帮助教程https://help.ubuntu.com/community/UbuntuTime,我无法找到其他东西。即使在这里(请参阅“故障排除->使用的是哪个配置文件?”下的段落),信息也很少,但是它说如果/etc/ntp.conf.dhcp找到了文件,它将代替使用。首先是在这里是指作家的实际位置/var/lib/ntp/ntp.conf.dhcp是在观察/etc/init.d/ntp,但是,无论这个文件的存在并不能保证该NTP将请求服务器从dhclient。结果,我必须为本地ntp服务器显式添加该server子句ntp.conf.dhcp。但是在那种情况下,为什么还要在dhcpd服务器上设置ntp设置? 这似乎违反直觉,即只设置一次ntp设置(即在服务器上),然后让dhcpd服务器将信息委托给客户端。如何最小化(如果不完全避免)ntp的客户端配置。或者,如何通过获得ntp信息dhclient。 是否有适合所有Linux发行版的CLI解决方案? 我假设每个客户端都应具有的可执行文件ntpd,但我不知道如何从那里继续。 谢谢 编辑:手动运行时ubuntu客户端详细输出dhclient: sudo dhclient -1 -d -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0 Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/20:cf:30:0e:6c:12 Sending on LPF/eth0/20:cf:30:0e:6c:12 Sending on Socket/fallback DHCPREQUEST of 192.168.112.150 on eth0 to …

2
“ TeamViewer尚未准备好。请检查您的连接”在Fedora 25中的错误
我遇到了一个奇怪的问题,我无法使TeamViewer正常工作,这意味着我收到此错误(请参见下面的图像),因此无法连接到任何远程PC: TeamViewer尚未准备好。请检查您的连接 在办公室中,其他使用Ubuntu和Windows 7/10的开发人员都可以毫无问题地使用TeamViewer,因此我不确定是什么问题。我检查了防火墙状态,但未运行: $ service firewalld status Redirecting to /bin/systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) 我已经检查了SELinux的状态,它已被禁用: $ getenforce Disabled 由于我是从PC上打开Teamviewer出现问题的地方,因此我具有Internet连接。也许与我遇到的这个其他问题有关,但是我不确定。我已经在互联网上检查了一些像这样的文档,但这不是我的问题,所以...有什么帮助吗? 注意:如果您需要我提供任何帮助(调试信息),请告诉我,我将其添加为OP的一部分。另外,我不确定这篇文章是否应该在这个社区上,但是我相信问题出在我的Linux上,而不是Teamviewer本身。 更新: 遵循@phg的建议后,我仍在研究此问题,并且已经找到了。显然,Wayland存在问题,并且尚未解决,仅在Fedora 25上才发生。我们需要等待Teamviewer团队的修复。 更新1(01/27/2017): 有一种解决方法,您可以使用不支持的tarball文件,并且可以运行,我已经对其进行了测试,但是这种方法存在问题,因为Teamviewer不能作为服务运行,因此您不能在运行PC的地方添加它到您的“计算机和通讯录”(非常有用)。也许有一种方法可以使可执行文件作为服务运行,但是我没有尝试过这一部分,如果有人可以尝试并给出答案的话,对新手来说将是一件好事。

2
SSH连接速度很慢
我有几个远程系统,其中一个是运行debian的linode,它进入ssh的速度非常慢-每次大约需要20-25秒。这似乎是最近才发生的。我已经尝试过根据类似问题的多个答案中的建议设置GSSAPIAuthentication为no或yes,但这没有什么区别。如果我使用fqdn或ip地址登录,也没有任何区别。我从本地linux盒或本地Macintosh都具有相同的延迟切换。我没有从linode到本地linux盒子的延迟延迟。我有另一个使用相同版本的Debian的远程系统,我可以在2秒内将它放入ssh。两者之间的唯一区别/etc/ssh/sshd_config 两个Debian文件夹上的文件是快速文件夹不允许密码,并且还指定了允许的密码列表。 如果我使用登录ssh -vvv root@linode,则延迟发生在标有>>>>>>的部分 debug2: key: /root/.ssh/id_ecdsa ((nil)) debug2: key: /root/.ssh/id_ed25519 ((nil)) debug3: send packet: type 5 debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 >>>>>> debug3: receive packet: type 51 debug1: Authentications that can continue: publickey,password debug3: start over, passed …
18 debian  ssh 

1
SSH为什么要为IP地址添加一个known_host条目?
我有一个名为nms.example.org的主机。在我/etc/ssh/ssh_known_hosts的主机中,我有一个带RSA密钥的主机条目。该条目以及所有其他条目均由我的配置管理系统管理。 nms.example.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZqfmVPs/XqTS... 另外,我/etc/ssh/ssh_config在特定主机的条目中设置了主机密钥别名。如果我正确理解所有内容,则意味着仅nms.example.org应注意。 Host nms.example.org nms.example nms HostKeyAlias nms.example.org HostName nms.example.org 为什么然后,当我从客户端连接时,ssh似乎仍然认为它需要使用主机的IP向我的每用户known_hosts添加密钥? $ ssh nms -v OpenSSH_6.0p1 Debian-4+deb7u4, OpenSSL 1.0.1e 11 Feb 2013 debug1: Reading configuration data /home/zoredache/.ssh/config debug1: /home/zoredache/.ssh/config line 61: Applying options for * debug1: /home/zoredache/.ssh/config line 71: Applying options for * debug1: Reading configuration data …
18 ssh 

2
不信任Linux中的中间CA?
从这个博客。 中间CA是由根CA签名的证书,可以为任何网站签署任意证书。 它们与根CA一样强大,但是没有系统信任的完整列表,因为根CA可以随意创建新的CA,而您的系统将一见钟情。CT中记录了数千。 本月突然出现了一个有趣的消息,显然是在2015年9月生成的:“蓝色外套公共服务中间CA”,由Symantec签署。(到目前为止,此CA签署的证书尚未到达CT日志或Censys。) 我认为这是写一个如何明确不信任中间件CA的好时机,否则该中间件CA在OS X中将是可信的。这不会阻止根CA将新的中间件交给同一组织,但总比没有好。 当我在Ubuntu中尝试博客中的步骤时,我下载了此证书https://crt.sh/?id=19538258。当我打开.crt时,它会导入到Gnome密钥环中,但是导入后我找不到找到“取消信任”证书的方法。

1
由于insserv无法使用apt-get安装任何东西
每当我尝试使用进行安装时,apt-get都会收到涉及的错误消息insserv。我尝试安装许多不同的程序包,但一切都给出相同的错误。显然,CUPS包正在做/已经做过什么,因为每个错误消息都涉及到它。以下是我运行时显示的错误sudo apt-get install wine1.8 winetricks: After this operation, 716 MB of additional disk space will be used. Do you want to continue? [Y/n] y Extracting templates from packages: 100% Preconfiguring packages ... Setting up util-linux (2.27.1-6ubuntu3.1) ... insserv: warning: script 'K01cups-browsed' missing LSB tags and overrides insserv: warning: script 'cups-browsed' …

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.