我想知道是否可以从只读磁盘运行 Linux 服务器,特别是 CentOS 5.4。
我们的系统有许多 Linux 机器,每台机器都有自己的磁盘并安装了操作系统。目前一切都已启用读/写。我们从这些磁盘启动,但在通过 NFS 共享的一些外部磁盘上运行我们开发的所有软件。
我们希望能够确保不会向装有操作系统的内部磁盘写入任何内容,而仅向通过 NFS 共享的外部驱动器写入任何内容。我想我们可以通过编辑 /etc/fstab 文件并将驱动器安装为只读来管理此问题。
因此,如果我们拍摄内部磁盘的映像,然后启动系统,运行我们的软件(只会接触外部磁盘),然后关闭系统并拍摄内部磁盘的另一个映像,则不会有任何字节不同。
操作系统本身想要写入自己的日志文件等,因此我看不到将驱动器安装为只读会导致操作系统正常运行 - 或者会吗?
我只能认为某种网络启动可以实现这一点,但为此添加额外的机器作为 DHCP 和 TFTP 服务器的可能性为零。
任何帮助或想法将不胜感激!:)
因此,我目前正在将 XMPP 服务器与 Signal 网关合并以提高效率(在单独的 VM 中运行每个服务会消耗资源,就像没有人的事一样),并且我需要转换网关的服务脚本以在 XMPP 的 Alpine 上工作(缺少切换)全部交给 Arch),这样我就可以使用常规命令启动和停止并在启动时启动服务。不幸的是,关于 Alpine 的完整文档并不多。这是我当前 Debian 服务器上的内容:
[Unit]
Description=signal-web-gateway daemon
After=network.target
[Service]
PIDFile=/run/signal-web-gateway/pid
User=signal
Group=signal
RuntimeDirectory=signal-web-gateway
WorkingDirectory=/home/signal/
ExecStart=/home/signal/signal -gateway -bind 127.0.0.1:5010
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
基本上我想知道如何将其转换为 OpenRC (Alpine) 以及将其放在哪里。
使用这个: https: //gitlab.com/morph027/signal-web-gateway
我有一个带 2 个硬盘的钻机。我在其中一个驱动器上安装了 Ubuntu 9.04 (Jaunty),在另一个驱动器上运行 Windows Vista SP2。我采用这种方法而不是双启动,因为我希望能够随心所欲地更换操作系统,并保持干净和独立。
我一直注意到的问题是,当我在 Ubuntu 中并重新启动到 Windows Vista 时(通过在启动时选择 Vista 驱动器),Vista 时钟总是设置回大约 5 小时。我还注意到,当我尝试同步 Vista 时钟时,它总是在第一次尝试时出错,然后我必须第二次单击“立即更新”,然后才能与选定的 NTP 服务器同步生效。只要我每次从 Vista 返回到 Vista,重复重新启动 Vista 就不会影响 Vista 时钟。
此外,反过来也不成立,即重新启动 Vista 并启动 Ubuntu 不会影响 Ubuntu 时钟。
我不明白为什么会这样。将不胜感激任何帮助。
更新:我还应该提到 Ubunty 是 64 位的,而 Vista 是 32 位的。
我有一个在 Debian 服务器上启动时运行的脚本。它运行得太早了,但我无法控制它什么时候发射。我可以强制脚本延迟自己的运行:
sleep 60
Run Code Online (Sandbox Code Playgroud)
...或者,或者,我可以尝试几次该操作,如下所示:
TESTRUN=0
ACTIONWORKED=0
while [ $ACTIONWORKED -eq 0 ] && [ $TESTRUN -le 5 ]; do
# run the action i want
# quick test if it worked
# if yes, set ACTIONWORKED=1
# if no, sleep 10
# increment TESTRUN
done
Run Code Online (Sandbox Code Playgroud)
测试系统是否准备就绪的更好方法是什么? 该脚本将在系统运行期间的其他时间运行,因此需要进行测试以区分“booting-can't-do-this-yet”和“not-booting-run-now”状态。我不希望它在每次脚本运行时都等待。
编辑: 感谢到目前为止的想法。如果您对已发布的内容有其他选择,请继续关注。
对于那些询问具体细节的人,我专门将他们排除在问题之外,以收集适用于一般 Linux 引导过程的答案。
假设一个“完全启动”的系统出现了登录提示(通过控制台、X 或其他任何方式)。
我需要运行一个在 Windows 启动时运行的自定义脚本。我知道可以在用户登录时运行它,但我想在系统重新启动时运行它,即在用户登录之前运行它。有问题的操作系统是 Windows 2003 和 Windows 2000
我在这个网站上找到了一些帖子,但是我的情况不同。
我有一台没有安装操作系统的新戴尔服务器。我想安装 Windows 2008 网络版。我有几个 USB 端口和以太网。没有 CD 或 DVD 驱动器。
这篇文章是最好的和唯一的方法吗?通过 USB 拇指驱动器安装 Windows 2008或者我应该获得一个外部硬盘并将其连接到 USB。一旦安装了操作系统,我就再也不需要 DVD 驱动器了——所以这个想法是浪费金钱。
我正在尝试在 VirtualBox 机器上建立一个基于 Gentoo 的小型 linux 系统,作为将同一系统部署到低规格单板计算机上的一步。出于某种原因,我的文件系统以只读方式挂载。
在我的/etc/fstab,我有:
/dev/sda1 / ext3 defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
none /dev/shm tmpfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
但是,一旦启动/proc/mounts显示
rootfs / rootfs rw 0 0
/dev/root / ext3 ro,relatime,errors=continue,barrier=0,data=writeback 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
udev /dev tmpfs rw,nosuid,relatime,size=10240k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
none /dev/shm tmpfs rw,relatime 0 0
usbfs …Run Code Online (Sandbox Code Playgroud) 在具有此硬件的服务器的 kickstart 安装 (Centos 6.0) 期间:
我按下ctrl+ alt+ del,因为我想重新开始kickstart安装。以前用这种方式重新启动kickstart 安装是行得通的,所以我很惊讶Areca 1880i 卡的初始化在下次启动时失败。首先计算机显示此消息几秒钟
AMIBIOS(C)2009 American Megatrends, Inc.
Supermicro X8DTN+-F BIOS Date: 03/17/11 16:42:32 Ver 2.1
CPU : Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
Speed : 2.40 GHz Count : 2
Press DEL to run Setup (F4 on Remote Keyboard)
Press F12 if you want to boot from the network
Press …Run Code Online (Sandbox Code Playgroud) 操作系统:Centos 5.7
我的应用程序脚本是这样开始的(/etc/init.d/myapp):
#!/bin/sh
# chkconfig 2345 85 60
# description: my application controller
# processname: myapp
NAME=MyApp
DIR=/opt/myapp/
RUN_AS=root
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts the myapp application
### END INIT INFO
Run Code Online (Sandbox Code Playgroud)
chkconfig 状态
chkconfig --list | grep myapp
myapp 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Run Code Online (Sandbox Code Playgroud)
myapp 接受开始 | 停止 | 重启 | 强制重新加载,它们都经过测试可以工作
myapp 控制器基本上需要为应用程序启动一些守护程序服务。如果我service …
linux内核在启动过程中如何知道/sbin/init程序的位置?“/sbin/init”是否硬编码到linux内核源代码中?