在 Linux 中,当我们准备运行一个可执行文件时,execve 程序会建立一个新的进程替代当前的进程(如终端下的 bash),同时决定如何完成这个执行任务。

当我们执行一个文本文件时,execve 需要文本文件的开头两个字符为 “#! 读作:shebang,同时跟随一个解释器的路径用来解释后续的脚本文本内容。

下面我们举例说明。

- 阅读剩余部分 -

通过 VNC(Virtual Network Computing) 可以使用一个图形化的界面来访问远程服务器。这样对服务器的操作可以更加便捷直观。

下面我们在 Ubuntu 上安装 TightVNC vnc server 并通过更加安全的 SSH tunnel 来连接服务器。

环境需求:

  • 远程主机 Ubuntu desktop 20.04
  • 关闭 ufw 防火墙或配置允许 openssh 远程连接
  • 本地设备 vnc 客户端需要支持 SSH tunnels 连接,如: TightVNC, RealVNC, or UltraVNC.

- 阅读剩余部分 -

openwrt 提供了一个 luci 管理界面可以通过图形化的方式进行配置管理。我们通过 lan 网地址 http 访问 luci 界面,会有一个提示不安全的链接,一般浏览器提供了一个跳过选项可以忽略警告。

但是当我们通过 wan 口地址访问 luci 界面时,新版的 chrome 会强制拒绝访问 http 不安全的链接,这样我们就无法通过外网访问 luci 界面了。

注意如果想要从 wan 口访问 luci 界面,需要配置防火墙放行,具体参考:https://blog.niekun.net/archives/1818.html

解决方法是我们给 luci 配置一个 ssl 证书,这样浏览器就会放行了。

- 阅读剩余部分 -

openwrt 是针对于嵌入式设备的精简版 Linux 系统。所以一些常规的 Linux 服务都没有,比如 systemd 等。

openwrt 是通过 init.d 来管理服务的。所有的服务都在 /etc/init.d 目录下。

对某个服务进行操作也很方便,例如对 network 服务:

# 启动 network
/etc/init.d/network start

# 重启 network
/etc/init.d/network restart

# 停止 network
/etc/init.d/network stop

- 阅读剩余部分 -