我在运行 ubuntu 服务器的 htpc 上安装了一个名为 mediatomb 的应用程序,几个月前我卸载了它并用 Plex 安装替换了它。在周末查询机器上现有用户时,我注意到 mediatomb 用户和组仍然存在,所以我使用了命令
sudo deluser mediatomb
Run Code Online (Sandbox Code Playgroud)
删除用户。一天左右后,我去安装了 htop,sudo apt-get install htop
但我发现我收到了一个错误:
语法错误:statoverride 文件中存在未知用户“mediatomb”。
我以为我只能使用 nano 打开 statoverride 文件并编辑出对 mediatomb 的任何引用,但我无法使用 nano 正确打开文件。我运行了一个 grep 命令
grep 'mediatomb' /var/lib/dpkg/statoverride
它返回文件中不再存在于系统上的两个位置。我现在能够解决这个问题的唯一方法是重新创建用户 mediatomb,然后一切正常。显然,这不是一个好的长期解决方案。
我想知道的是,statoverride 文件是什么,为什么它会保留已从系统中删除的用户?我是否以错误或不推荐的方式删除用户?
我最近安装了 Ubuntu Server 12.04 (Precise Pangolin) 并打算将其主要用作文件服务器。我对 Linux 完全陌生,所以这是一个非常大的学习曲线。昨天我能够使用 SSH 密钥对在我的 Windows 7 机器上配置PuTTY,这样我就可以从我的桌面管理 Ubuntu Server。如果两台机器都在同一个网络上,这可以正常工作。
就我的笔记本电脑 ( MacBook Air ) 而言,它可能并不总是在同一网络上。当我的笔记本电脑在不同的网络上时,是否可以通过 SSH 从我的笔记本电脑连接到 Ubuntu 服务器?
我已经安装了 avahi 守护进程,以便在 LAN 上广播服务器的主机名并配置路由器,以便它始终为服务器分配相同的 IP 地址。除此之外,我在服务器上唯一安装的是OpenSSH,我在其中禁用了密码身份验证,因此您只能使用密钥对进行连接。
我以为我可以从笔记本电脑的终端上做这样的事情:
ssh my.external.ip.address user@hostname.local
Run Code Online (Sandbox Code Playgroud)
当我尝试该命令时,出现错误:
ssh:连接到主机 my.external.ip.address 端口 22:操作超时
我也试过
ssh my.external.ip.address user@servers.local.ip.address
Run Code Online (Sandbox Code Playgroud)
我收到与以前相同的错误消息。所以这应该让您了解我正在尝试做什么,但这是否可能,如果可能,我该怎么做?
假设我可以从我的笔记本电脑通过 ssh 设置外部连接,我的 ISP 可能会更改我的外部 IP 地址,这会中断外部连接。我希望能够可靠地连接,也就是说,如果我的 ISP 更改了外部 IP 地址,我仍然可以远程连接到服务器,而无需知道新的外部 IP 地址是什么。