我正在尝试运行需要访问我的 X 会话的 cron 作业。我知道我的 X 会话将始终为 :0,因此其中一部分很简单:
/30 * * * * DISPLAY=:0 command
Run Code Online (Sandbox Code Playgroud)
但问题是 gdm3 不再使用$HOME/.Xauthority; 相反,它使用/var/run/gdm3/auth-for-anthony-XXXXXX/databaseX 更改每次登录的位置。
除了$HOME/.Xauthority每次登录时符号链接到 GDM3 文件(或每次登录时编辑 crontab 等——.xsession当然是自动的),还有什么方法可以让 cron 工作正常工作?
我运行一个专用服务器,最近我注意到 CPU 使用率很高,并检查了进程。似乎有人(mick 帐户)在我的服务器上挖矿。这怎么可能?过程如下。我已暂停帐户。我还需要做什么?
25516 mick 30 10 778m 6728 1132 S 740.5 0.2 8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
Run Code Online (Sandbox Code Playgroud) 我需要在 Ubuntu 上使用 ffmpeg 进行流式传输。流式传输应该从 bash 脚本开始。
目前,我像这样调用 ffmpeg,作为 bash 脚本中子程序的一部分:
function startFFMpegEncoder () {
echo "Starting Encoder..."
killall -9 ffmpeg
ffmpeg -s 640x480 -f video4linux2 -i $CAM_PATH -f mpeg1video -b:v 800k -r 30 http://127.0.0.1:$FFMPEG_PORT/$VIDEO_PASSWORD/640/480/ &
echo "Encoder started."
}
Run Code Online (Sandbox Code Playgroud)
这是脚本执行的这一部分产生的输出:
Starting Encoder...
ffmpeg: no process found
ffmpeg version N-73895-g323ec6b Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libdcadec --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
find ./ -iname '*phpmyadmin' -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
它会删除名为 的目录phpmyadmin,但不会删除名为phpMyAdmin-Version-XYZ.zip
即使我删除了-rf,它仍然不会删除它(可能是因为 -iname 的第二个问题不影响大小写不敏感)。
-iname没有效果?注意:我在man rm.
考虑一个像这样的无头服务器:一个典型的远程位置的 x86 机器,你可以用一个股票 - 例如 - Ubuntu 映像远程初始化。初始化后,您只能通过 ssh 登录 - 或远程重置它,即您无法访问 BIOS 或引导管理器提示(例如 Grub 1)。
也许某种KVM可用,但KVM的使用非常昂贵,您必须按小时预订。
在这种情况下,人们可能会对启动问题产生偏执。例如:
还有其他需要注意的问题吗?
对于内核升级,我配置了 grub(旧版),以便menu.lst序言包含
default saved
fallback 2 # counts from 0
Run Code Online (Sandbox Code Playgroud)
第一个条目以:
savedefault fallback
Run Code Online (Sandbox Code Playgroud)
第一个 grub 条目是升级后的内核,第三个是已知的工作内核。另请参阅有关回退引导的grub 手册部分。
我更改了启动脚本/etc/rc.local(在类似 Debian 的系统上),以便在成功启动的情况下重置默认条目设置:
grub-set-default 0
Run Code Online (Sandbox Code Playgroud)
这个 grub-setup 有效,但例如在 Ubuntu 上,这不是默认设置,必须menu.lst在每次内核更新后手动调整。
我供应
panic=60
Run Code Online (Sandbox Code Playgroud)
作为内核参数,例如在错误root=参数或损坏内核的情况下,系统会在出现错误时自动重新启动。
关于 fsck 问题,我不确定最好的方法是什么。在类似 Debian 的系统上,您可以设置
FSCKFIX=yes
Run Code Online (Sandbox Code Playgroud)
in /etc/default/rcS,它告诉 fsck 默认情况下自动修复。
但是如果自动修复失败,也许我仍然会收到无法远程访问的提示?
或者,我可以通过第六列中的零禁用 fsck …
我的 Raspberry Pi 正在运行默认的 Debian 映像并启用了 SSH。我登录到我的 Pi 如下:
ssh pi@<IP-address-of-my-Pi>
Run Code Online (Sandbox Code Playgroud)
我每次都必须输入密码。我可以以某种方式让我的 Pi 接受来自我本地机器的登录吗?我正在运行 Fedora Linux。
man shred警告该命令在不就地覆盖的文件系统上没有用。我对当前和即将推出的文件系统知之甚少,但我怀疑它们中的许多人为此目的支持一些特殊的就地写入模式,这是 shred 使用的。
我对这个假设是否正确?是否已经实施shred?有没有什么办法可以不费吹灰之力地告诉你(例如,当宣布一个新的文件系统时)?
我正在开发一些 Linux 应用程序。现在是开始考虑部署的正确时机。所以我的问题是:
如何创建一个文件安装程序,例如有时可以在互联网上找到的 *.run 或 *.sh 文件(例如 nVidia 驱动程序或 Wolfram Mathematica CDF)。
我正在尝试解决的补丁问题的缩小范围:只有两个文件,每个文件的大小为 1 个字节:
a(包含'a')b(包含'b')和目标是制作并应用一个补丁来改变'b'to的值'a'。Makefile 的内容是:
patch:
diff -u b a > b2a.patch
patch -o b.corrected b < b2a.patch
diff a b.corrected
clean:
rm -f b2a.patch b.corrected
Run Code Online (Sandbox Code Playgroud)
鉴于上述情况,make失败并显示以下输出:
$ make
diff -u b a > b2a.patch
make: *** [patch] Error 1
Run Code Online (Sandbox Code Playgroud)
但是,如果我在 bash shell 上一个接一个地执行 Makefile 中的命令,则完全没有问题。
我有一个像这样的名字列表:
dog_bone
dog_collar
dragon
cool_dragon
lion
lion_trainer
dog
Run Code Online (Sandbox Code Playgroud)
我需要提取出现在其他名称中的名称,如下所示:
dragon
lion
dog
Run Code Online (Sandbox Code Playgroud)
我查看了uniq手册页,但它似乎比较了整行,而不是字符串。有没有办法用 bash 函数来做到这一点?