小编kra*_*r65的帖子

为了安全,*** 需要重启系统 *** 有多紧急?

为了学习一些服务器管理知识,我设置了一个简单的 Ubuntu 14.04 服务器,我在该服务器上运行了一个个人网站。我已将其设置为自动安装安全更新,但忽略了其他更新。这似乎工作得很好。有时我在登录服务器时收到一条消息(使用 ssh)说:

*** System restart required ***
Run Code Online (Sandbox Code Playgroud)

发生这种情况的时候,我简单地重新启动了 Ubuntu,一切都很好。这没关系,因为它是一个简单的个人网站。不过,我想知道的是,这对于应该在 99.9999etc% 的时间内运行的网络服务器是如何工作的?他们是否只是不重新启动并冒着安全被破坏的风险,因为没有安装安全更新(我无法想象)?还是他们认为停机是理所当然的(我也无法想象)?

如果这是一个非常重要的生产服务器,我想保持和运行,我应该如何处理?欢迎所有提示!

[编辑] 我知道我可以cat /var/run/reboot-required.pkgs列出导致重启的软件包。该命令目前产生以下结果:

linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
Run Code Online (Sandbox Code Playgroud)

但是如果我不重新启动,我怎么知道更新是否是我是否有严重安全漏洞的小事?

[EDIT2] 好的,我现在将我发现有用的命令合并为一个:

xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Run Code Online (Sandbox Code Playgroud)

如果这没有输出任何内容,则似乎没有高度紧急的安全问题。

不过low,最后一个问题是:是、mediumhigh唯一的紧急可能性,还是有更多类似的可能性,例如criticalextremelyimportant

linux reboot

57
推荐指数
1
解决办法
2万
查看次数

命令与程序?

我正在查找adduserand之间的区别useradd解释是这useradd是一个命令,adduser而是一个 perl 脚本。我了解 perl 脚本是什么,但我不明白的是commandthen 到底是什么。

我一直以为,命令一样lslncd等都是写在任何语言中所有简单程序,简单地做一两件事。这些“简单程序”和 perl 脚本有什么区别?

我当然知道(perl)脚本不是编译而是在运行时解释,但我想这不是唯一的区别吗?

linux bash perl command-line

20
推荐指数
1
解决办法
5074
查看次数

unix:///var/run/supervisor.sock 没有这样的文件

我在Ubuntu 14.04 服务器上运行Supervisord,一切正常。我使用 git push 进行部署,在部署时我还需要重新启动我的应用程序服务器 ( gunicorn ),我应该可以使用supervisorctl.

un my supervisord.conf, gunicorn 定义如下:

[program:gunicorn]
command=/home/imb/imb/venv/bin/gunicorn --worker-class eventlet -b 127.0.0.1:5000 -w 1 app:app
directory=/home/imb/imb
autostart=true
autorestart=true
stdout_logfile=/tmp/gunicorn.log
redirect_stderr=true
stopsignal=QUIT
Run Code Online (Sandbox Code Playgroud)

supervisorctl是这样启用的:

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL  for a unix socket
Run Code Online (Sandbox Code Playgroud)

我开始使用主管

sudo supervisord -c /home/imb/imb/supervisord.conf
Run Code Online (Sandbox Code Playgroud)

据我所知,我现在应该能够使用命令重新启动gunicorn supervisorctl restart gunicorn,但是当我这样做时,我得到

$ supervisorctl restart gunicorn
unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

我检查了该文件/var/run/supervisor.sock确实不存在,即使我确定主管实际上正在运行:

$ ps -A | grep supervisor
27211 ?        00:00:00 supervisord
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么 …

linux daemon ubuntu supervisord

10
推荐指数
2
解决办法
2万
查看次数

如何解决这个恰当的混乱?

我正在使用 PureOS,它基本上是 Debian 并做了一些小调整。我尝试在其上安装 firefox,但结果一团糟。如果我现在尝试进行基本升级,则会得到以下信息:

$ sudo apt update && sudo apt upgrade
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]              
Get:3 http://deb.opera.com/opera stable InRelease [2592 B]                          
Get:4 http://security.debian.org stretch/updates InRelease [63.0 kB]                
Hit:5 http://deb.debian.org/debian stretch Release                                  
Get:6 https://repo.skype.com/deb stable InRelease [4486 B]                          
Get:7 http://deb.opera.com/opera stable/non-free amd64 Packages [1835 B]            
Get:8 http://packages.microsoft.com/repos/vscode stable InRelease [2801 B]          
Get:9 http://repository.spotify.com stable InRelease [3302 B]                       
Get:10 http://repo.puri.sm/pureos green InRelease [9427 B]                          
Get:12 http://security.debian.org stretch/updates/main Sources [110 kB]             
Get:13 http://security.debian.org stretch/updates/contrib Sources …
Run Code Online (Sandbox Code Playgroud)

linux debian dependencies apt

8
推荐指数
1
解决办法
4700
查看次数

如何在无响应时自动重启 MySQL 和 MongoDB?

我正在运行一个简单的开发服务器 (Ubuntu),MySQL 和 MongoDB 有时会在该服务器上崩溃。我总是用sudo service mysql restart.

尽管我知道我需要调查它们崩溃的原因——我会——但我目前正在寻找一种在它们崩溃后自动重启它们的方法。我想我需要某种守护进程来 ping 它们并在它们不再响应时重新启动它们,但我不确定如何执行此操作。

我读过像Nagios这样的工具,但我想这对我的情况来说有点矫枉过正。

有人知道我该如何开始吗?

linux monitoring mysql mongodb

5
推荐指数
1
解决办法
4143
查看次数

如何通过 ssh 执行复杂的命令行?

我有时想获取在远程主机上运行的 docker 容器的环境。为此,我登录主机:

ssh kramer65@123.456.789.10
Run Code Online (Sandbox Code Playgroud)

然后我运行这个命令:

sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我现在想用一个命令来完成此操作(执行超过 3 次,我想自动化它..:-))。

这有效:

 ssh -t kramer65@123.456.789.10 sudo docker ps | grep mycontainername
Run Code Online (Sandbox Code Playgroud)

但当我这样做时

ssh -t kramer65@123.456.789.10 sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我明白了

"docker exec" requires at least 2 arguments.
See 'docker exec --help'.

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container
Connection …
Run Code Online (Sandbox Code Playgroud)

linux ssh bash

4
推荐指数
1
解决办法
5714
查看次数

`sudo adduser username admin` 导致 `adduser: 组 `admin' 不存在。`

我正在尝试使用简单的命令将用户添加到 sudoers 文件

sudo adduser username admin
Run Code Online (Sandbox Code Playgroud)

但我明白了adduser: The group 'admin' does not exist。因此,我查看了 sudoers 文件 ( sudo visudo -f /etc/sudoers),其中包含以下行:

%admin ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

据我所知,这意味着管理员组存在。

那么我在这里错过了什么?

linux sudo permissions ubuntu sudoers

3
推荐指数
1
解决办法
1万
查看次数