最近我在我的终端打字
username:~$ !!
Run Code Online (Sandbox Code Playgroud)
并从bash得到错误:
bash: !!: command not found
Run Code Online (Sandbox Code Playgroud)
同时,它在超级用户下完成时成功。
我调查了我用户的 PATH 内容,没有发现任何可疑之处:
/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Run Code Online (Sandbox Code Playgroud)
这是输出:
username:~$ history | tail
1993 date
1994 cal
1995 vcal
1996 uptime
1997 uname
1998 uptime
1999 uname
2000 uptime
2001 uname
2002 history | tail
Run Code Online (Sandbox Code Playgroud)
其他:
username:~$ echo foo
foo
username:~$ !!
bash: !!: command not found
Run Code Online (Sandbox Code Playgroud) 正如我在手册页中读到的那样,建议将主机名(不带域名)放在/etc/hostname
. 例如,host而不是host.domainsub.domaintld。
但是,据我所知,某些软件依赖FQDN
于/etc/hostname
.
/etc/hostname
在 Debian/Ubuntu 机器上应该指定什么?
如果不是 FQDN,应该在哪里指定 FQDN?
我知道,问题有点老,但没有找到明确的答案。有人说主机名,有人说 - FQDN。谢谢。
拥有 Ubuntu 16.04 LTS 版本。根据任务应该安装 BIND 作为 DNS 服务器。我在 nsswitch.conf 中注意到:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
能否请您解释一下什么mdns4_minimal
和mdns4
意味着,以及如何使系统使用本地绑定实例解析DNS查询?
是的,我知道如何启动/停止 BIND。
systemctl enable bind9
systemctl start/stop bind9.
Run Code Online (Sandbox Code Playgroud) 我的 gcc 编译良好,但 clang 失败并显示以下消息:
clang -fopenmp=libomp -o main main.c
main.c:5:10: fatal error: 'omp.h' file not found
Run Code Online (Sandbox Code Playgroud)
我还安装了libomp5
包并将标志更改为-fopenmp=libomp5
,尽管它也没有帮助:
clang -fopenmp=libomp5 -o main main.c
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
Run Code Online (Sandbox Code Playgroud)
这些建议没有用。
非常感谢有关安装必要的 16.04 特定软件包和传递相应标志的提示。
在/etc/network/interfaces 中有以下配置
auto enp1s0
iface enp1s0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
mtu 1500
dns-nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
启动互联网后工作。
假设有人想将他的地址从192.168.1.3更改为192.168.1.5
ifconfig enp1s0 192.168.1.5 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
但现在互联网不工作!即使将 ip 重置回192.168.1.3
ifconfig enp1s0 192.168.1.3 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
它没有连接到互联网,只有在重新启动后它才能使用/etc/network/interfaces静态地址中指定的静态地址再次工作。我阅读了手册页,尝试了ip、route、ifconfig 的各种命令- 似乎没有帮助。
你能告诉我如何解决这个问题吗?
我的一部分 /etc/hosts
127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)
当我 ping 127.7.7.7 时,它起作用了!
PING 127.7.7.7 (127.7.7.7) 56(84) bytes of data.
64 bytes from 127.7.7.7: icmp_seq=1 ttl=64 time=0.053 ms
64 bytes from 127.7.7.7: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 127.7.7.7: icmp_seq=3 ttl=64 time=0.060 ms
Run Code Online (Sandbox Code Playgroud)
但是,ifconfig
只显示127.0.0.1
,未提及 127.0.0.0/8 子网中的其他地址。
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:19299 errors:0 dropped:0 overruns:0 frame:0
TX packets:19299 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1858607 (1.8 MB) …
Run Code Online (Sandbox Code Playgroud) 我配置了 NetworkManager,以便它/etc/resolv.conf
在其目录中维护到文件的符号链接-/var/run/NetworkManager/resolv.conf
ls -l /etc/resolv.conf
... /etc/resolv.conf -> /var/run/NetworkManager/resolv.conf
Run Code Online (Sandbox Code Playgroud)
Resolvconf 尝试配置 DNS:
resolvconf -u
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
Run Code Online (Sandbox Code Playgroud)
它与 NetworkManager 的设置相矛盾。如何摆脱这个警告并在没有冲突的情况下设置 NetworkManager 和 resolvconf?
dns ×3
networking ×3
16.04 ×2
hostname ×2
bash ×1
bash-history ×1
bind ×1
clang ×1
command-line ×1
compiler ×1
compiling ×1
etc ×1
ifconfig ×1
internet ×1
localhost ×1
resolvconf ×1
server ×1
static-ip ×1