Unix & Linux

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

2
“ ip route get”显示错误的源IP地址
我有一台带有两个IP地址的接口的机器: inet 192.168.1.15/32 scope global eth0 inet 10.10.118.45/24 brd 10.10.118.255 scope global eth0:hosts4 例如ip -s route get 8.8.8.8,如果我执行,则据此,出口数据包将具有一个源IP地址10.10.118.45: 8.8.8.8 via 10.10.118.254 dev eth0 src 10.10.118.45 cache users 1 used 1 但是,当我以ping或为例SSH时8.8.8.8,则源IP为192.168.1.15: 15:19:38.092508 IP 192.168.1.15 > 8.8.8.8: ICMP echo request, id 9135, seq 2, length 64 15:19:38.097962 IP 8.8.8.8 > 192.168.1.15: …
8 linux  ip  routing 

1
系统用户无法获得用户组的能力
我在docker组中添加了一个非root用户,并在此非root用户连接到docker守护程序时运行了其他服务。但该服务无法正常工作。我为此做一个测试示例: root@# systemctl start docker.service root@# gpasswd -a tiger docker 在Tiger中创建系统服务: [Service] ExecStart=/home/tiger/connectdocker Restart=always StartLimitInterval=0 Delegate=true KillMode=process [Install] WantedBy=default.target 在/home/tiger/connectdocker这样的: docker run -itd busybox 2> connectdocker.log 启动此服务: tiger@# systemctl --user enable connectdocker.service tiger@# systemctl --user start connectdocker.service 结果: Thu Jul 21 00:59:15 CST 2016 Cannot connect to the Docker daemon. …

3
如何分配更多的空间来交换并增加其大小,使其大于Ram?
情况:/dev/sda3HD 128 GB时,将交换大小()增加到大于Ram(8 GB)的 动机:8 GB RAM太小;我的SSD中有30 GB的可用空间;我想将20 GB转换为SSD交换 系统的特征 交换不可变/可交换的。我找不到任何证据证明为什么/mnt/.swapfile应该不可变,因此您不需要更改swapfile的文件属性 sudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile 命令sudo fdisk -lu /dev/sda给 Disk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes …




2
阅读bash中的特殊键
我正在使用一个脚本,其中列出了一个选择列表。如:1)项目1 #(突出显示) 2)项目2 3)项目3#(已选中) 4)项目4 当用户按下down-arrow下一个项目时,突出显示 当用户按下up-arrow以前的项目时,突出显示 等等 当用户按下tab项目被选择时 当用户按下时,shift+tab所有项目都被选择/取消选择 当用户按下ctrl+a所有项目时 ... 从目前的使用情况来看,这工作正常,这是我的个人使用,其中输入由我自己的设置过滤。 问题是如何使各种终端之间的可靠性。 我使用一种有点黑的解决方案来读取输入: while read -rsn1 k # Read one key (first byte in key press) do case "$k" in [[:graph:]]) # Normal input handling ;; $'\x09') # TAB # Routine for selecting current item ;; $'\x7f') # …
8 bash  keyboard 

1
如何以编程方式访问zsh补全?
zsh具有完成系统,可通过按Tab键激活: llama@llama:~$ git st<Tab> Completing main porcelain command stash -- stash away changes to dirty working directory status -- show working-tree status Completing plumbing internal helper command stripspace -- filter out empty lines 我能弄清楚的是,这来自脚本/usr/share/zsh/functions/Completion/Unix/_git,其中_git调用了完成命令。 假设我知道补全函数的名称(例如_git),那么如果输入特定的字符串并按Tab键,如何得到输出结果呢?本质上,我正在尝试输入ex。git st并获得上面的输出(通过脚本以编程方式)。 还有许多其他现有的问题,关于这个的庆典,但我还没有发现任何解释如何与zsh来实现这一目标。

3
将NFS目录挂载到与Docker共享的主机卷中
考虑以下Docker容器: docker run --rm -it -v /tmp:/mnt/tmp alpine sh 这会将主机目录/ tmp装入高山容器内的/ mnt / tmp中。 现在,在主机系统上,我将NFS卷挂载到/ tmp目录: mkdir /tmp/nfs mount -t nfs4 192.168.1.100:/data /tmp/nfs 该挂载在主机系统上工作,并且看到以下内容: # ls /tmp/nfs file1 file2 file3 # 但是在Docker容器上,我看到一个空白目录: # ls /mnt/tmp/nfs # 我知道我可以通过直接在Docker容器中进行挂载来解决此问题。但是我真的很想知道为什么挂载可以在主机容器上工作而不在docker容器上工作吗?
8 nfs  docker 

4
我需要从/ etc / passwd查找使用grep列出的所有用户主目录
我有一个与此网站上的另一个问题类似的问题,该用户必须从/ etc / passwd中使用grep或awk查找所有用户的列表。这对我有用,但我尝试将其翻译以查找并列出它们的主目录。我已经知道您无法在一行中做到这一点,所以我知道我会使用管道。我已经完成了在线研究,但无法弄清楚问题出在哪里。如果我使用grep并执行以下操作: grep -oE '^[/*/]$' /etc/passwd ...这可能会给我一个错误,或者还会显示/ bin / bash文件,这不是我想要的。我只需要使用grep列出的用户名和主目录!我也不确定*是否会将其他正斜杠显示为字符,因为某些主目录中的多个正斜杠不止两个。

5
如何查找以**开头的行
我需要查找文件中是否有任何行以开头**。 我不知道该怎么做,因为它*被外壳解释为通配符。 grep -i "^2" test.out 如果行以2开头但有效 grep -i "^**" test.out 显然是行不通的。 (我还需要知道该行是否以a结尾,)但尚未尝试过)。

2
禁用Chromebook上的电源按钮
我有一台安装了Arch Linux的Chromebook。但是,此Chromebook的按键非常奇怪:键盘右上方的“电源开/关”键。没有任何警告,此按钮将关闭计算机。自然,在寻找退格键或在按下周围的按钮时手指滑动时,我一直按下该键。结果,我在非常不切实际的时刻关闭了计算机。这必须停止。 如何禁用或重新映射此键?

1
添加声卡后,为什么无线网卡的接口名称会更改?
添加或删除硬件时,不应更改可预测的网络接口名称。这不是命名方案的全部重点吗??? 我的无线接口名为wlp3s0。 我在空闲的PCI插槽中安装了ASUS Xonar DX 7.1通道PCI Express x1接口声卡,并且我的无线接口名称更改为wlp5s0。 无线卡与安装声卡之前的插槽位于同一PCI插槽中,那么为什么接口名称会更改? 主板是GIGABYTE GA-970A-UD3,无线网卡是ASUS PCE-N15。系统正在运行带有储备内核的Arch Linux。 我正在寻找一个合理的解释,说明为什么在这种情况下接口名称会更改。如果没有充分的理由更改接口名称,该在哪里提交错误报告/向谁投诉? 没什么大不了的,我唯一需要更改的配置就是我的netctl网络配置文件。我只是认为,如果“可预测的”网络接口名称是不可预测的,那么他们将在工作中完全失败,并且这种命名方案是无用的垃圾!/ rant

3
解析主机名需要5秒钟
我有一个主bind9DNS服务器和2个在IPv4(Debian Jessie)上运行的从属服务器,使用/etc/bind/named.conf: listen-on-v6 { none; }; 当我尝试从不同的服务器进行连接时,每个连接至少需要5秒钟(我使用约瑟夫的计时信息进行调试): $ curl -w "@curl-format.txt" -o /dev/null -s https://example.com time_namelookup: 5.512 time_connect: 5.512 time_appconnect: 5.529 time_pretransfer: 5.529 time_redirect: 0.000 time_starttransfer: 5.531 ---------- time_total: 5.531 根据curl,查找通常花费大部分时间,但是标准nslookup非常快: $ time nslookup example.com > /dev/null 2>&1 real 0m0.018s user 0m0.016s sys 0m0.000s 强制curl使用IPv4之后,它会变得更好: $ curl -4 -w "@curl-format.txt" …
8 debian  dns  ipv6  bind  nslookup 

3
在联想扩展坞和Linux上自动切换显示
我有一个带有nvidia optimus的联想ThinkPad和一个迷你坞站系列3。 我希望在对接时,它应尽可能自动切换到外部显示器,如果我将其取消对接,则应自动切换到ThinkPad LCD。 这也应该在引导阶段起作用,因为在此必须输入加密磁盘(dm-crypt)的密码。 我尝试了以下操作,但不起作用: 我创建了一个文件/etc/acpi/thinkpad-undock.sh(+ chmod a+x thinkpad-undock.sh),其中包含以下几行: #!/bin/sh xrandr --output LVDS-1 --auto --output DP-5.8 --off 并且 /etc/acpi/thinkpad-dock.sh #!/bin/sh prime-select nvidia # ensures that nvidia card is selected xrandr --output LVDS-1 --off --output DP-5.8 --auto 再来一次chmod a+x thinkpad-dock.sh。 手动执行两个脚本都可以。 比我创建了两个文件来处理事件: thinkpad-dock-lenovo event=ibm/hotkey LEN0068:00 00000080 00004010 action=/etc/acpi/thinkpad-dock.sh 并且 thinkpad-undock-lenovo …
8 linux  udev  xrandr  acpi  thinkpad 

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.