我昨晚使用 cron -r 清除了一个 cron 作业设置。
今天早上我尝试再次启用它并每次都收到此错误:
cron: 无法锁定 /var/run/crond.pid, otherpid 可能是 3759: 资源暂时不可用
我试过重新启动,但没有帮助。操作系统 = Debian。
使用 yum 很简单:yum list *xxx*但这不适用于apt-get.
我怎样才能进行这样的搜索?
另外,我如何查看哪个包提供了特定的命令?
我对 debian 很陌生,我正在尝试设置服务器。
我创建了一个只能访问他的文件夹/home/username(及其子目录)的用户。
现在我想将该用户用于我设置的网络服务器,并且我已经授予他访问权限,/var/www但我无法/var/www通过 sftp看到,我做了一个像这样的符号链接:
root@server:/home/username# ln -s /var/www www
root@server:/home/username# cd www
root@server:/home/username/www# chown username:username *
Run Code Online (Sandbox Code Playgroud)
现在,使用filezilla,我可以看到这样的www文件夹:

但是当我尝试打开它时,我得到了这个:

我做错了什么?
我希望我的 iptables 规则在启动时自动加载。根据 Debian 上的 wiki,这可以通过在 /etc/network/if-pre-up.d/ 中放置一个名为 iptables 的脚本来完成,所以我做到了,这就是它的样子:
cat /etc/network/if-pre-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /etc/firewall/iptables.rules
/sbin/ip6tables-restore < /etc/firewall/ip6tables.rules
Run Code Online (Sandbox Code Playgroud)
这个脚本有效:如果我以 root 身份运行它,我的防火墙规则就会被应用。但是在重新启动时没有防火墙规则。我究竟做错了什么?
根据要求:/etc/network/interfaces(我没有碰过这个文件)
user@DebianVPS:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种标准方法或最佳实践来保持由init.dshell 脚本启动的守护进程。
或者更好的是,有没有办法让它直接从/etc/init.d?
具体来说,我有一个名为 dtnd 的守护进程,它具有无限循环,用于查找意外结束的进程,如果有的话,守护进程会再次唤醒它们。此外,我使用 start-stop-daemon 工具来让进程从给定的系统用户运行。
我想从启动时运行这个 dtnd 守护进程。为了实现这种行为,我创建了一个 init.d 脚本,它使用 start、stop 和 status 命令“包装”dtnd 文件。
我有两个问题要解决:
有没有办法从 init.d shell 脚本中实现使某些进程保持活动状态。是标准/最佳实践吗?
建议使用无限循环保持进程存活?我想最好使用一些命令respawn来实现这一点。这是正确的?
我知道respawn命令的存在。我认为这就是我需要的,但我不明白之间的工作流程/etc/init.d/和/etc/init。谁能帮我?
请注意,我没有inittab文件既没有暴发户(我只被允许使用/etc/init,/etc/init.d,cron和系统工具start-stop-daemon。我的意思是,只有默认工具)
非常感谢您的参与!
我sudo在 Debian 8 上遇到了一个相当奇怪的问题。用户无法在/etc/sudoers.d. 我使用 Chef 来分发配置,所以所有文件都是自动生成的。
例子:
这个配置工作正常
root@server:~# cat /etc/sudoers.d/nginx
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/nginx
Run Code Online (Sandbox Code Playgroud)
这失败了:
root@server:~# cat /etc/sudoers.d/update-rc.d
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/update-rc.d
user@www42:~$ sudo update-rc.d
[sudo] password for user:
Sorry, user user is not allowed to execute '/usr/sbin/update-rc.d' as root on server.
Run Code Online (Sandbox Code Playgroud)
有什么问题?
诊断:
Mar 5 12:12:51 server …Run Code Online (Sandbox Code Playgroud) 我照顾着一个只有 512 MB 内存的旧 Debian linux 机器(运行 etch),但连接了很多外部存储。一个 ext3 文件系统的大小为 2.7 TB,fsck 无法检查它,因为它内存不足,出现这样的错误:
分配目录块数组时出错:内存分配失败 e2fsck:中止
我已经添加了一个 4 GB 的交换分区,但它仍然没有完成,但这是一个 32 位内核,所以我不认为添加更多会有所帮助。
除了启动到 64 位内核之外,还有其他方法可以让 fsck 完成它的检查吗?
如何在 Linux (Debian) 服务器上为隐藏密码和 PHP 启用 crypt_blowfish 支持?
我指的是OpenBSD 风格的基于 Blowfish 的 bcrypt,在 PHP 中称为 CRYPT_BLOWFISH。
据我所知,没有适用于它的 Debian 软件包,还有哪些其他选项可以为 PHP 启用此散列算法?
注意:
PHP 的crypt() 函数与底层操作系统提供的C 库 crypt(3)函数相对直接接口。
更新
包命名并不像它可能(应该)那么清楚。
该PEAR包crypt_blowfish的是一个简易替换为PHP的mcrypt扩展,允许快速双向Blowfish加密。
此外,Debian BCrypt 软件包 也是“正常”双向河豚算法的实现。
我正在寻找的是用于散列密码的 Bcrypt-hash 实现。
我在运行 Debian 5.0 的同一个子网上有 2 台机器。它们使用相同的 DNS (/etc/resolv.conf),它们路由到相同的网关 (#route) 并且它们具有相同的 iptables 设置 (#iptables -L)。我可以从它们两个 ping 到 IP 地址和主机名。我可以运行 #host www.google.com 并在两者上获得相同的结果。但问题是,在其中之一上,我无法 wget 或 curl。
所以在机器 1 上一切正常,但在机器 2 上(与机器 1 具有相同的设置)我无法 wget 或 curl。
我得到的错误是:
# wget google.com
--2009-10-20 16:38:36-- http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'
Run Code Online (Sandbox Code Playgroud)
但是在机器 1 上,wget 或 curl 没有问题并返回:
# wget google.com
--2009-10-20 16:43:55-- http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, …Run Code Online (Sandbox Code Playgroud) 我想我会在这里分享我的问题然后回答,因为似乎有很多人坚持我的立场 - 但没有明确的答案。问题是,如果你 apt-get remove mysql-server,它不会清理配置和数据库文件,所以如果你以某种方式把它们搞砸了,那么再次安装,不会替换它们。所以似乎有很多人在问“我如何彻底删除mysql-server,以便我可以重新安装一个新的?” -- 每个人都回答apt-get remove --purge mysql-server-- 我不知道为什么,但这并没有完全卸载。我的回答如下...