我正在通过ssh访问另一个ununtu linux系统。
现在,当我要更改该系统中任何文件的权限时,它会显示
chmod: changing permissions of `Android.mk': Read-only file system
chmod: changing permissions of `system_init.cpp': Read-only file system
我尝试使用sudo并以root身份登录,但仍然不明白为什么我无法更改该文件的权限。
Linux需要一个可写的文件系统才能正常工作吗?我只是在运行一个非常简单的初始化程序。目前我没有挂载任何分区。内核已将根分区挂载为只读。只要我坚持使用mallocs、readline和text to standard out (puts),Linux是否被设计为能够与只读文件系统一起运行,或者Linux是否需要一个可写的文件系统才能执行标准的文本输入和输出?
我这样问是因为我似乎得到了内核的恐慌和对堆栈的抱怨。我现在不想运行一个有用的系统。我已经在另一个分区上有一个有用的系统。我试着让它尽可能简单,这样我就可以在添加额外的复杂性之前完全理解事情。
我运行的是一个相当标准的x86-64桌面。
几年前,我用更大的硬盘对上网本进行了升级。我想保留旧硬盘的内容,以防还有我想要的东西。
所以我把旧硬盘拷贝到新硬盘上的一个文件中:
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
我在WIN 7机器上安装了用于mips32体系结构的codesourcery交叉编译工具链。我想首先为我的路由器编译一个简单的“阶乘”二进制文件,它是基于MIPS32的。从互联网上的小搜索中,我发现它是基于MIPS32大端的.
#cat /proc/cpuinfo
system type : 96338W2
processor : 0
cpu model : BCM6338 V1.0
BogoMIPS : 239.20
wait instruction : no
micr
我只是好奇,因为对于普通的用户脚本,我必须检查相应的文件是否可以被用户读取,是否可以写成这样(只是读取操作的一个片段):
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支持这个:
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