我在 U 盘上安装了 Clonezilla,我想对操作系统进行一些修改。具体来说,我想插入一个可运行的脚本/usr/sbin,以便轻松运行我自己的备份命令,从而减少备份的痛苦。
主文件系统/live/filesystem.squashfs位于 USB FAT-32 分区下。
我如何在我的 Linux 机器上安装这个读/写以便能够添加/删除/更改文件?我正在运行 Ubuntu 12.04 衍生版本。
我有一个 USB 磁盘,它不允许我在其上格式化/挂载/卸载或创建分区。

使用dmesg | tail给了我以下结果:

我在 AskUbuntu 上找到了这篇文章,并尝试使用接受的答案。我得到以下结果,但它仍然是只读的:

umount不起作用。说umount: /dev/sdc: not mounted
任何有关如何删除写保护的帮助将不胜感激。
我遇到的用转换后的输出替换输入文件的内容的解决方案涉及使用临时文件或海绵实用程序。
Stephane Chazelas 在这里的回答指出了另一种涉及以读写模式打开文件的方法,如下所示。
tr ' ' '\t' < file 1<> file
Run Code Online (Sandbox Code Playgroud)
这实际上如何在不损坏相关文件的情况下工作?
假设我们有一个名为 的命名管道fifo,我们正在从两个不同的 shell 读取和写入它。考虑这两个例子:
shell 1$ echo foo > fifo
<hangs>
shell 2$ cat fifo
foo
shell 1$ echo bar > fifo
<hangs>
Run Code Online (Sandbox Code Playgroud)
shell 1$ cat > fifo
<typing> foo
<hangs>
shell 2$ cat fifo
foo
^C
shell 1$
<typing> bar
<exits>
Run Code Online (Sandbox Code Playgroud)
我无法理解这些示例中发生了什么,特别是为什么在第一个示例中尝试将“bar”写入管道会导致阻塞调用,而在第二个示例中它会触发 SIGPIPE。
我知道在第一种情况下,两个单独的进程写入管道,因此它被打开两次,而在第二种情况下,它只被一个进程打开一次并写入两次,进程从管道中读取在此期间被杀害。我不明白的是这如何影响write.
该pipe(7)手册页指出:
如果所有引用管道读取端的文件描述符都已关闭,则写入(2) 将导致为调用进程生成 SIGPIPE 信号。
这个条件对我来说听起来不太清楚。一个封闭的文件描述符只是不再是一个文件描述符,对不对?说“管道的读数端已关闭”与“管道的读数端未打开”有何不同?
我希望我的问题足够清楚。顺便说一句,如果你能在详细了解UNIX管道的运作中关系提出的指针open,close,read和write操作,我会非常感激。
以前从来没有这个问题。驱动器不会给我写访问权限 驱动器是 ntfs。Fstab 设置为默认值,现在尝试了 rw 选项,但什么也没有。使用 Manjaro。
如何获得对驱动器的写访问权限?
这些是挂载点的权限:
drwxr-xr-x 12 root root 4096 mar 30 03:23 Hitachi
drwxrwxrwx 1 root root 8192 mar 28 13:05 Tor
drwxrwxrwx 1 root root 4096 mar 28 13:05 WD
drwxrwxrwx 1 root root 4096 abr 10 01:10 Win10
Run Code Online (Sandbox Code Playgroud)
fstab 条目:
UUID=821840AA18409F53 /home/poldini/Desktop/Win10 ntfs auto,rw,noatime
0 2
UUID=E600C8DD00C8B5B9 /home/poldini/Desktop/WD ntfs
auto,rw,noatime 0 2
UUID=0356C5240C356E1A /home/poldini/Desktop/Torr
ntfs auto,rw,noatime 0 2
UUID=76222aac-470c-4d9d-97e4-f2cf0afeef4d
/home/poldini/Desktop/Hitachi ext4 auto,rw,noatime 0 2
Run Code Online (Sandbox Code Playgroud)
挂载输出:
/dev/sdb2 on /home/poldini/Desktop/Win10 type fuseblk
(ro,nosuid,nodev,noatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sdc2 on …Run Code Online (Sandbox Code Playgroud) 我想从硬盘上的 iso 映像中删除一些文件。所以我做了:
ravbholua@ravbholua-Aspire-5315:/media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00$ sudo mount -o loop check_bholua99.iso /media/iso2
mount: block device /media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00/check_bholua99.iso is write-protected, mounting read-only
ravbholua@ravbholua-Aspire-5315:/media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00$ cd /media/iso2
ravbholua@ravbholua-Aspire-5315:/media/iso2$ ls | tail
DSC00966.JPG
DSC00969.JPG
DSC00970.JPG
DSC00972.JPG
DSC00973.JPG
DSC00974.JPG
DSC00975.JPG
DSC00977.JPG
DSC00980.JPG
DSC00982.JPG
ravbholua@ravbholua-Aspire-5315:/media/iso2$ sudo rm DSC00982.JPG
rm: cannot remove ‘DSC00982.JPG’: Read-only file system
Run Code Online (Sandbox Code Playgroud)
由于上述原因未能删除,我尝试使用以下选项重新安装 rw
ravbholua@ravbholua-Aspire-5315:/media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00$ sudo umount /media/iso2
ravbholua@ravbholua-Aspire-5315:/media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00$ sudo mount -o loop,rw check_bholua99.iso /media/iso2
mount: block device /media/ravbholua/f34890dd-20d2-4d78-92c9-1de7c0957f00/check_bholua99.iso is write-protected, mounting read-only
Run Code Online (Sandbox Code Playgroud)
为什么它会提示块设备被写保护?
请建议如何安装它,rw以便我可以对其进行编辑。(我知道一种方法是将 iso 的文件复制到 diff. 目录并编辑/删除它;然后制作一个新的 iso 映像。但这不是我喜欢的。)
read-write ×6
mount ×2
command-line ×1
fifo ×1
files ×1
filesystems ×1
fstab ×1
iso ×1
manjaro ×1
pipe ×1
signals ×1
squashfs ×1
usb-drive ×1