我的locate命令不起作用,但我发现我必须运行updatedb. 但是,在调用该命令时,bash 说bash: updatedb: command not found. 我该怎么办?
我想知道我们上次在 Debian 服务器上运行软件包升级/更新是什么时候。
我正在我的个人 VPS 上设置 LDAP 身份验证,Ubuntu 有两个用于相同目的的软件包:libpam-ldap和libpam-ldapd. 我应该使用哪个?
进入后
shutdown now
Run Code Online (Sandbox Code Playgroud)
在终端中,我让一切正常运行,然后:
All processes ended withing 2 seconds...done
INIT: Going single user
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
Give root password for maintenance(or....
Run Code Online (Sandbox Code Playgroud)
我按Ctrl+ D,它显示我登录屏幕 Debian。通过 GUI 关闭工作正常。
更新 1
似乎某些进程挂起。
此外,我通过多次重试设法关闭了服务器。最近我只安装了ntp和ntpdate,仅此而已。
我想它可能与 iptables 冲突。
我有一个 Debian 盒子,我试图将它设置为路由器,还有一个我用作客户端的 Ubuntu 盒子。
我的问题是,当 Ubuntu 客户端尝试 ping 互联网上的服务器时,所有数据包都丢失了(不过,正如您在下面看到的,它们似乎可以毫无问题地进入服务器并返回)。
我在 Ubuntu Box 中这样做:
# ping -I eth1 my.remote-server.com
PING my.remote-server.com (X.X.X.X) from 10.1.1.12 eth1: 56(84) bytes of data.
^C
--- my.remote-server.com ping statistics ---
13 packets transmitted, 0 received, 100% packet loss, time 12094ms
Run Code Online (Sandbox Code Playgroud)
(为了隐私,我更改了远程服务器的名称和 IP)。
从 Debian 路由器我看到:
# tcpdump -i eth1 -qtln icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
IP …Run Code Online (Sandbox Code Playgroud) Debian 中的一些(大多数?)软件包有标签。例如:
=# apt-cache show squirrelmail | perl -lne 'print if /^Tag:/.../^\S/'
Tag: implemented-in::php, interface::web, mail::imap, mail::smtp,
mail::user-agent, network::server, protocol::http, protocol::imap,
protocol::smtp, role::program, scope::application, use::browsing,
use::editing, use::searching, use::transmission, use::viewing,
web::TODO, web::application, works-with::mail
Section: web
Run Code Online (Sandbox Code Playgroud)
但是,我找不到列出所有带有给定标签的包的方法。是否可以?
我有两个包,每个包都创建 /usr/bin/ffprobe。其中一个是来自 Deb Multimedia 存储库的 ffmpeg,而另一个是从源代码构建的 ffmbc 0.7-rc5。手动安装是关键业务,我们过去只在需要的地方从源代码安装它。我只能假设它会破坏 ffmpeg 文件,而且从来没有任何不良影响。
从理论上讲,我们的 ffmbc 包覆盖 ffmpeg 包中的文件应该是可以接受的。缺点是 ffmpeg 的更新会覆盖 ffmbc 二进制文件。有没有简单的方法来调和这个?
apt-get install在非交互式 SSH 会话中运行时,该会话永远不会关闭。例子:
ssh user@target "sudo apt-get -y install my_package"
Run Code Online (Sandbox Code Playgroud)
在my_package没有得到正确安装,但SSH会话刚悬开放。
是否有任何标志可以通过 SSH 开始apt-get工作?
远程安装用于在集成服务器上自动部署包。一旦我们将一些代码更改推送到存储库,作业就会拉入代码、构建包并在集成中部署它以检查一切是否正常(就部署而言)。
apt-get update干净利落地关闭。请注意,这apt-get update不是交互式的,而是apt-get install。这可能表明交互性是一个问题。ssh user@target "sudo apt-get install my_package && echo Hello"永远不会到达的命令echo。debconf 抱怨它找不到一个好的前端(Display、Readline),它回退到 Teletype(虽然 Readline 可用)。-tSSH传递强制 TTY 没有帮助。都没有DEBIAN_FRONTEND=noninteractive。稍后如何查看引导 Debian 系统时滚动的消息?
换句话说,我怎样才能方便地查看所有这些内容?这是问题的重点;仅仅其中的一个子集是不够的。
一些启动时间消息仅写入/var/log/daemon.log和/var/log/syslog,我在其中看到了如下消息:udevd[240]: SYSFS{}= will be removed in a future udev version。
在挤压中,这些不在/var/log/dmesg. 它们也不是在/var/log/boot与设置BOOTLOGD_ENABLE=yes在/etc/default/bootlogd和包bootlogd安装。
有关rsyslogd各种日志记录位置的更多详细信息,请参阅您的/etc/rsyslog.conf.
我在 docker 中启用 IPv6 时遇到了严重的问题。
但是,我无法从容器内访问外部世界!使用以下参数重新启动 docker 后,我的 docker0 网桥没有 IPv6 地址。也没有路由,也没有网关(没有 ipv6 地址就没有意义)。
我的 Docker 设置:Docker 是使用 DOCKER_OPTS 中的这些参数启动的
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --ipv6 --fixed-cidr-v6=w:x:y:z:a::/80"
Run Code Online (Sandbox Code Playgroud)
一些 ipv6 主机配置参数:
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
Run Code Online (Sandbox Code Playgroud)
这是我自己创建的网络之一:
root@wopr:~# docker network inspect wopr6
[
{
"Name": "wopr6",
"Id": "ddc192d4af2a8edc809975e84cf3e4cb82c24d4cfe970dd8e3fc7d6ff31e20ee",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": …Run Code Online (Sandbox Code Playgroud)