我想echo 1 > /proc/sys/kernel/sysrq在每次启动时运行简单的 shell 命令,以启用 sysrq 键。在启动时应该这样做,我应该在哪里放置脚本来做到这一点?
我怎么知道我的 linux 是从systemd什么包开始的?
我的桌面有两个隐藏的 .ini 文件:
desktop.ini (370 bytes):
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21799
[LocalizedFileNames]
Microsoft Office - 60 Day Trial.lnk=@C:\PROGRA~1\MICROS~4\mui\oaa.dll,-103
Run Code Online (Sandbox Code Playgroud)
并以相同的名字,
desktop.ini (456 bytes):
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769
IconResource=%SystemRoot%\system32\imageres.dll,-183
[LocalizedFileNames]
Windows Media Player.lnk=@%SystemRoot%\system32\unregmp2.exe,-4
Run Code Online (Sandbox Code Playgroud)
简单地删除它们是否安全?(他们看起来没有做任何事情(我喜欢启用显示设置“显示所有隐藏文件”,所以它出现在我的桌面上,哎呀)。)
顺便说一句,为什么两个文件可能具有相同的名称?
我正在寻找一个 GUI 程序,它显示从 /etc/init.d(和 /etc/init)运行的服务,并允许管理(启动/停止/运行级别)它们。你能推荐什么?
背景:尽管我喜欢使用命令行,但这可以在专用于尝试不同服务的测试机器上稍微简化一些事情,以便您可以看到哪些正在运行,哪些没有。例如:一台机器上的tomcat 5.5、tomcat 6、tomcat 7 用于测试...在某些版本中添加两个RDBMS,Apache httpd,...
最后但并非最不重要的是:一些带有不错 ncurses 菜单的 CLI 工具也可以。
我不习惯使用 Ubuntu 或 Debian 作为服务器。我更习惯于 Red Hat/Fedora 方式,甚至是 Gentoo(哎呀)。
在 Red Hat 安装下,您通常可以使用由服务命名的 /etc/sysconfig 中的配置文件来配置大多数从 init 启动的服务。在 Ubuntu 下有没有等价的东西?
具体来说,就命令行选项而言,我试图控制 libvirtd 和 kvm 进程的启动方式。我需要在某处添加 --listen 选项。
它不清楚它做什么或它包含什么。我尝试搜索 set 和 env 的输出,以查看系统上其他地方的 C 或 LANG 设置。关于它是如何使用或设置的,尚不清楚。我什至不知道我应该开始阅读哪个手册页。
当我尝试解码不同 Linux 机器上的启动脚本时,这里的任何帮助都会很棒。如果有人可以推荐有助于完成此过程的良好资源(书籍、文档),我们将不胜感激。
在 centos6 机器上使用 LANG=C 的脚本示例
$ grep -i LANG=C ./*
./halt:LANG=C __umount_loop '$2 ~ /^\/$|^\/proc|^\/dev/{next}
./netconsole: route=$(LANG=C ip -o route get to $host/32)
./netconsole: arp=$(LANG=C /sbin/arping -c 1 -I $DEV $target 2>/dev/null | awk '/ 回复来自 .*[.*]/ { print gensub(".*回复来自 .* \\[(.*)\\].*","\\1","G") }')
./netconsole: SYSLOGADDR=$(LANG=C 主机 $SYSLOGADDR 2>/dev/null | awk '/has address / { print $NF }')
./network: LANG=C sed -e "$__sed_discard_ignored_files" \
./network: LANG=C sort -k 1,1 … 我有以下工作/etc/init/collector:
start on runlevel [2345]
stop on runlevel [!2345]
expect daemon
exec /usr/bin/twistd -y /path/to/my/tac/file
Run Code Online (Sandbox Code Playgroud)
当我用 开始工作时sudo service collector start,它挂起。如果我ctrl-c并运行initctl list,我会看到:
collector start/killed, process 616
Run Code Online (Sandbox Code Playgroud)
我twistd在 ps中看不到守护进程的实例,并且它应该提供的 HTTP 服务器不存在。
我什至在没有'expect daemon'的情况下尝试了这个script,并且使用一个节简单地调用了一个单行bash脚本,但它仍然不起作用。我想我做错了什么。会是什么呢?
我的问题是,我不希望停止使用命令apache的守护进程./apache2 stop从/etc/init.d(我知道做到这一点)。我不希望 apache 服务/etc/init.d在系统启动时自动启动。但我还需要将服务保留在init.d文件夹中。我怎样才能做到这一点?我是否必须更改服务脚本中的某些字段?
我在 WSL2(适用于 Linux 的 Windows 子系统,v2)上并从以下位置获得 CentOS 8 WSL:https :
//github.com/yuk7/CentWSL
从 Windows Store 下载的 Ubuntu 20 WSL 也没有systemd启用。
让它像往常一样运行,但是systemd没有运行,尽管它确实存在于文件系统中:
$ cat /etc/*-release | grep NAME
NAME="CentOS Linux"
PRETTY_NAME="CentOS Linux 8 (Core)"
CPE_NAME="cpe:/o:centos:centos:8"
$ stat /lib/systemd/systemd
File: /lib/systemd/systemd
Size: 2523648 Blocks: 4936 IO Block: 4096 regular file
Device: 2h/2d Inode: 1407374884100769 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-05-31 13:17:53.497597100 +0700
Modify: 2020-04-10 04:52:32.000000000 +0700
Change: 2020-05-30 12:06:52.791586300 +0700 …Run Code Online (Sandbox Code Playgroud) 我的网络服务器上运行着多个 RoR 网站,我需要在启动时运行 ruby 脚本。
因此,我在 /etc/init.d 中放置了一个 bash 脚本,调用 ruby 进程。不幸的是,ruby 进程需要一些尚未加载的东西。
我试图sleep 300在我的 bash 脚本的开头添加一个,但这并没有真正的帮助,因为它还会影响 ssh、apache 等东西的启动......
另外,我不想在启动时加载所有 ruby 库,因为它会减慢启动时间。