当系统进入挂起(又名 S3 或“挂起到 RAM”)模式时,我想为 USB 供电的驱动器保持供电。
通常,机器在暂停时会切断电源,这会导致机器被拆卸,然后在系统恢复时重新安装。这不是很好,特别是如果驱动器本身支持电源管理。
虽然我可以在单独的电源上运行它,但我更愿意避免为一些可以(至少在理论上)使用现有硬件完成的事情分配更多的布线。
我如何确定是否可以在我的系统上执行此操作,以及如何安排特定 USB 设备(即此外壳)始终以这种方式处理?
我正在运行 ubuntu 10.10。
更新
发现了这个 ubuntuforums 线程,它建议用于acpitool -w确定 USB 控制器的可用唤醒级别。
在我的系统上运行它会显示 USB 控制器的 S1:
$ acpitool -w
Device S-state Status Sysfs node
---------------------------------------
1. LID S3 *enabled
2. PBTN S4 *enabled
3. PCI0 S3 *disabled no-bus:pci0000:00
4. USB0 S1 *disabled pci:0000:00:1d.0
5. USB1 S1 *disabled pci:0000:00:1d.1
6. USB2 S1 *disabled pci:0000:00:1d.2
7. USB3 S1 *disabled pci:0000:00:1d.7
8. MODM S3 *disabled
9. PCIE S4 *disabled pci:0000:00:1e.0 …Run Code Online (Sandbox Code Playgroud) 我有一个 32 GB 的 USB 闪存驱动器。从驱动器插入 Ubuntu 16 笔记本电脑的驱动器中删除文件时,它会创建一个名为“.Trash-1000”的文件夹
这个 .Trash-1000 文件夹包含两个文件夹,分别是“file”和“info”,其中 file 包含我已删除的文件,info 包含有关这些文件的元数据。
问题是这个 .Trash-1000 文件夹占用空间,因为它保存了已删除文件的副本。然后,当 .Trash-1000 文件夹在多次删除后开始归档时,我必须最终删除它。
有没有办法在 USB 驱动器上禁用此功能?
我知道挂载 USB 记忆棒或驱动器的传统 Linux 方式: mount /dev/sdb1 /mnt/
但是在我看到的一些 CentOS 6.x 安装中,你只需插入 U 盘,CentOS 就会自动挂载它, /media/<VOLUMENAME>
这种自动感知必须由某种守护进程/服务来处理,对吗?
该服务的名称是什么,我如何使用/sbin/service命令找到它?
我知道足够多的 linux 是危险的 - 如果我的术语不正确,请道歉。
我有一个带 USB 的电子架子鼓,我可以将带有 MP3 的闪存驱动器插入其中。Drumkit 没有网络连接。这意味着每当我想演奏一首新歌时,我必须拔下闪存驱动器,将其插入网络上的计算机,将 MP3 从我的 NAS 复制到拇指驱动器,然后将其重新插入架子鼓。这显然很麻烦。
我正在考虑使用 wifi 获取 raspberry pi 并通过 NFS 安装我的音乐。然后我可以将 USB 线从 pi 连接到架子鼓,然后……以某种方式让架子鼓“看到”NFS 安装的内容(我想应该是 FAT32)。事情是,我真的不知道如何做到这一点。可以这么说,我想象能够在 USB 挂载点挂载 NFS,但这可能太天真了。
谁能解释一下我需要什么才能完成这个任务?
我有一个 USB 密钥(PQI U822V-Speedy 32G),我试图在 Linux 上对 quick'n'dirty 进行基准测试。我正在测试写入带宽。
dd 在原始分区上我创建了一个从扇区 2048 开始的分区,然后进行了 4 GB 的顺序写入:
dd if=/dev/zero of=/dev/sdb1 bs=1M count=4096
Run Code Online (Sandbox Code Playgroud)
我得到 ~22 MB/s。
我还尝试了几个 (4)dd并行运行,如上面的一个,但使用count=1024和seek=写入驱动器不同区域的选项。结果一样。
dd 在文件系统上但是,当我sdb1使用ext4或格式化分区NTFS并将大文件复制到其中(真实或/dev/zero)时,如下所示:
time dd if=/dev/zero of=/media/USBKEY/file.bin bs=1M count=4096 ; time sync
Run Code Online (Sandbox Code Playgroud)
我确实达到了制造商宣传的 > 66 MB/s。当然,我考虑sync了复制后的持续时间。
为什么会有这么大的性能差异?
在 CentOS 6.x 上重新分区 USB 驱动器时出现以下错误。
Disk /dev/sdb: 31.5 GB, 31466323968 bytes
255 heads, 63 sectors/track, 3825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0e693bd9
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 3826 30727808 c W95 FAT32 (LBA)
[root@csc ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode …Run Code Online (Sandbox Code Playgroud) 在 Linux 上写入我的 USB 3 拇指驱动器 (SanDisk Extreme SDCZ80-064G-FFP) 非常慢:1 GB 需要超过 200 秒。使用 Windows(在同一台计算机上双启动),可以在大约 8 秒内复制相同的 1 GB 文件。棒是用 FAT 格式化的(它是预先格式化的,我没有改变它),我想保持这种方式,因为我也在 Windows 上使用它,
我该如何解决?我可以执行哪些步骤来诊断导致这种情况的原因?
我正在使用内核版本 4.5.4-1 运行 Manjaro/Arch。
编辑:
首先:当我尝试使用-o big_writes. 对错误表示抱歉!
我正在添加评论中提到的命令的输出。我认为这些都没有问题。
journalctl -f连接驱动器时的输出,安装它并写入一些数据:
Mai 23 20:32:37 manjaro kernel: usb 2-6: USB disconnect, device number 7
Mai 23 20:32:39 manjaro dbus[608]: [system] Activating via systemd: service name='org.freedesktop.Avahi' unit='dbus-org.freedesktop.Avahi.service'
Mai 23 20:32:39 manjaro dbus[608]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.Avahi.service': Unit dbus-org.freedesktop.Avahi.service not found. …Run Code Online (Sandbox Code Playgroud) 我在 OSMC 上将传输守护程序作为系统服务运行。在重新启动后打开其远程控制 Web 界面时,所有传输几乎总是停止并显示消息“错误:未找到数据!确保您的驱动器已连接 [...]”。
我假设这是因为传输在下载路径存在之前开始 - 在这种情况下,在系统自动安装的 USB 驱动器上,/media/Elements/[...]无需我进行任何手动配置。我没有编辑过fstab。
在尝试了这个答案但没有成功之后,我想知道是否还有其他方法可以解决这个问题?我根据那个答案所做的是在一个中添加以下内容override.conf:
cat /etc/systemd/system/transmission.service.d/override.conf
[Unit]
After=media-Elements.mount
After=media-Vault\x2013.mount
After=media-Black\x20Mesa.mount
Run Code Online (Sandbox Code Playgroud)
服务文件:
$ cat /lib/systemd/system/transmission.service
[Unit]
Description=Transmission BitTorrent Daemon
After=udisks-glue.service
[Service]
User=osmc
Group=osmc
Type=notify
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/transmission-daemon -f --log-error --allowed *.*.*.*
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
系统状态:
$ systemctl status transmission
? transmission.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/transmission.service.d
??override.conf
[...]
Run Code Online (Sandbox Code Playgroud)
值得一提的是,我在每次重启后Warning: transmission.service changed on disk. Run 'systemctl daemon-reload' …
我的 U 盘有点问题。我可以在 Linux 机器 (Fedora 20) 上查看和操作 U 盘上的文件和文件夹,但是在 Windows 机器上使用 U 盘时,其中一些文件和文件夹无处可见。此外,根据 Windows,USB 记忆棒上存储了近 2.9 GB 的文件,但我可以使用的文件只有 500+ MB。我不知道为什么会发生这种情况,但这不是第一次。我该怎么做才能永久解决这个问题?
我有一个 USB 3.5" 软盘驱动器连接到我的 Linux 机器上。我已经确认它/dev/sdh在我的 Linux 机器上,我可以从中读取 Linux 格式的软盘。(我有一个旧的 ext2 软盘。)
我需要格式化双密度 720k 软盘以在我的 Linux 机器和旧机器(安装了 CrossDOS 的 Amiga)之间传输数据。
我试过了:
mkdosfs -F 12 -I /dev/sdh
Run Code Online (Sandbox Code Playgroud)
但这说:
mkfs.fat 3.0.26 (2014-03-07)
unable to get drive geometry, using default 255/63
mkdosfs: Attempting to create a too large filesystem
Run Code Online (Sandbox Code Playgroud)
我怎样才能用这个驱动器在这台机器上格式化 720k MS-DOS 软盘?
usb-drive ×10
linux ×4
automounting ×2
centos ×2
performance ×2
services ×2
dd ×1
fdisk ×1
filesystems ×1
floppy ×1
hardware ×1
io ×1
networking ×1
nfs ×1
storage ×1
systemd ×1
transmission ×1
trash ×1
ubuntu ×1
usb ×1