在带有ext4的嵌入式Linux发行版上,我有以下umountfs脚本:
#!/bin/sh
### BEGIN INIT INFO
# Provides: umountfs
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop: 0 6
# Short-Description: Turn off swap and unmount all local file systems.
# Description:
### END INIT INFO
PATH=/sbin:/bin:
我只是好奇,因为对于普通的用户脚本,我必须检查相应的文件是否可以被用户读取,是否可以写成这样(只是读取操作的一个片段):
if ! [ -r "$1" ]; then
dump_args "$@"
print_error__exit "! [ -r $1 ]" "The file is not readable by you!"
fi
我的问题是:在整个Linux (如果必须是,比如说Mint或Debian)系统上,是否有任何文件不可读或不能用root写?
我相信,总的来说,根可以做任何事情,但是一切都有限度,对吧
我的文件系统只读了几天。在我的/var/log/messages上搜索一些东西并找到了这个。
****EMITTING CHANGED for /sys/devices/pci0000:00/0000:00:11/host0/target0:0:0/0:0:0:0/block/sda
****Refreshing ATA SMART data for /sys/devices/pci0000:00/0000:00:11/host0/target0:0:0/0:0:0:0/block/sda
helper(pid 3495):launched job udisks-helper-ata-smar
Linux需要一个可写的文件系统才能正常工作吗?我只是在运行一个非常简单的初始化程序。目前我没有挂载任何分区。内核已将根分区挂载为只读。只要我坚持使用mallocs、readline和text to standard out (puts),Linux是否被设计为能够与只读文件系统一起运行,或者Linux是否需要一个可写的文件系统才能执行标准的文本输入和输出?
我这样问是因为我似乎得到了内核的恐慌和对堆栈的抱怨。我现在不想运行一个有用的系统。我已经在另一个分区上有一个有用的系统。我试着让它尽可能简单,这样我就可以在添加额外的复杂性之前完全理解事情。
我运行的是一个相当标准的x86-64桌面。
Linux上的fsck(8)手册包括以下退出代码表:
The exit code returned by fsck is the sum of the following conditions:
0 No errors
1 Filesystem errors corrected
2 System should be rebooted
4 Filesystem errors left uncorrected
8 Operational er
为什么Linux支持这个:
umount /
为什么有人会这样写,而不是这样写:
mount / -oremount,ro
我在这里查看内核代码:
if (&mnt->mnt == current->fs->root.mnt && !(flags & MNT_DETACH)) {
/*
* Special case for "unmounting" root ...
* we just try to remount it readonly.
*/
if (!ns_capable(sb
我正在执行一项任务,在代码将文件导出到Linux服务器后,该任务将文件的权限更改为640。相同的代码在我们的Dev服务器中工作,但是在我们的Uat服务器中,有时权限被成功地更改为640,有时权限不能更改,仍然是默认的600。
我检查了SystemOut.log,没有出现任何错误。
我的相关Java代码如下所示:
private void exportXXXFiles() {
......
//Settings for the access permissions of the exported files
Set<PosixFilePermission> filePerms = n
我需要将我的linux文件系统从ro重装到rw。但什么都没用。如果有人帮我,我会非常感激的。
# mount
/dev/mtdblock3 on / type squashfs (ro)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
devpts on /dev/pts type devpts (rw)
none on /tmp/netslink type ramfs (rw)
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
pr
Debian,安装在SSD磁盘上。在系统启动时出现错误:
ROOT: UNEXPECTED INCONSISTENCY; RUN fsck manually
(i.e. without -a or -p options)
fsck exited with status code 4.
The root filesystem on /dev/sda2 requires a manual fsck.
BysyBox v.1.22.1 (Debian 1:1.22.0-19+deb9u2) built-in shell (ash)
Enter 'help' to a list of
几年前,我用更大的硬盘对上网本进行了升级。我想保留旧硬盘的内容,以防还有我想要的东西。
所以我把旧硬盘拷贝到新硬盘上的一个文件中:
dd if=/dev/sdd5 of=~/fw-disk-image/fw-sdd5-linux-lvm-partition.raw
我编写/复制了一个脚本,用于将lvms安装到该分区上,作为只读文件系统:
losetup -r /dev/loop1 ~/fw-disk-image/fw-sdd5-linux-lvm-partition.raw
pvscan
vgscan
vgchange -a y fw
cd /mnt/fw
for i in root tm
我使用下面的代码来创建一个文件,但是我得到了这个错误:
java.io.IOEx: open failed: EROFS (Read only file system)
系统挂载为rw,应用程序具有SU权限。
File f = new File(Environment.getRootDirectory().getPath().toString(), "/etc/init.d/script");
if (!f.exists()) {
try {
mountSystemRW();
f.createNewFile();
} catch