udevil:

Branch1Tags2
FilesLast commitLast update
Initial commit2 years ago
feat: update udevil to 0.4.41 year ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago
feat: update udevil to 0.4.42 years ago

主页: http://ignorantguru.github.io/udevil/

下载: https://github.com/IgnorantGuru/udevil/tree/pkg

官方论坛(udevil 和 SpaceFM): https://sourceforge.net/p/spacefm/discussion/general/

目录

描述 软件包 安装程序 构建 构建下一个版本 创建 DEB 包 安装后设置 内核轮询 网络和文件 NTFS-3G 设置 SUID systemd 服务 启用内核轮询 卸载 翻译 许可

描述

无需密码(设置 suid)挂载和卸载可移动设备和网络,显示设备信息,监视设备变化。模拟 mount 和 udisks 的命令行用法以及 udisks v1 的输出。包括 devmon 自动挂载守护进程。

运行 'udevil --help' 查看使用方法。查看 /etc/udevil/udevil.conf 进行配置。 http://ignorantguru.github.com/udevil/udevil--help.html http://ignorantguru.github.com/udevil/udevil.conf.txt

软件包

查找或添加适用于您的发行版的软件包、论坛主题和其他信息: https://github.com/IgnorantGuru/spacefm/wiki/Distros

对于其他发行版:
    参见下面的安装程序部分

注意:安装后请查看下文的安装后设置部分。

安装程序

提供了自解压安装程序(udevil-x.x.x-installer.sh): https://github.com/IgnorantGuru/udevil/tree/pkg (要保存文件,点击文件名然后点击 '查看原始')

安装程序需要下面构建部分列出的构建依赖项。如果缺少任何依赖项,检查错误,安装缺失的软件包,然后重试。

安装程序必须在终端中运行。它会自动构建和安装。运行方式如下:

    bash udevil-x.x.x-installer.sh

或者查看选项:

    bash udevil-x.x.x-installer.sh --help

要重新安装或升级,只需再次运行最新安装程序。

注意:安装后请查看下文的安装后设置部分。

构建

  1. 安装所需的构建依赖项(以下是 Debian 包名 - 您的发行版的包名可能会有所不同,但应该类似):

        libglib2.0-0 libglib2.0-dev libudev0 (>=143) libudev-dev
        autotools-dev build-essential fakeroot intltool pkg-config
    
    网络支持也推荐安装:cifs-utils curlftpfs sshfs
    
    如果使用 devmon,还推荐安装:eject spacefm|zenity
    
    运行 configure 时会报告任何缺失项,如下所示。
    
    1. 使用以下命令下载 udevil 压缩包并构建:

      下载 & 解压

      mkdir /tmp/udevil-build && cd /tmp/udevil-build wget -O udevil.tar.gz https://github.com/IgnorantGuru/udevil/tarball/master tar xzf udevil.tar.gz cd IgnorantGuru-udevil-*

      构建 & 安装

      ./configure --prefix=/usr make sudo make install

      删除临时文件

      cd / && rm -rf /tmp/udevil-build

    备注:

    * 如果 configure 报告缺失依赖项,安装它们并在继续执行 make 前重新运行 configure。
    
    * 默认情况下,systemd 配置文件用于 devmon 安装到:
          /etc/conf.d/devmon
          /usr/lib/systemd/system/devmon@.service
      要跳过这些文件的安装,使用 configure 选项 --disable-systemd。无论如何,systemd 不是必需的。
    
    * 安装后请查看下文的安装后设置部分。
    

构建下一个版本

udevil 的 git 'next' 分支是正在进行中的工作,最终将成为下一个发布版。要从这个分支构建,安装上面构建部分列出的构建依赖项,然后:

# 下载 & 解压
mkdir /tmp/udevil-next && cd /tmp/udevil-next
wget -O udevil-next.tar.gz https://github.com/IgnorantGuru/udevil/tarball/next
tar xzf udevil-next.tar.gz
cd IgnorantGuru-udevil-*

# 构建 & 安装
./configure --prefix=/usr
make
sudo make install

# 删除临时文件
cd / && rm -rf /tmp/udevil-next

创建 DEB 包

在基于 Debian 的发行版上构建 udevil 的 deb 文件:

1)  安装构建依赖项(参见上面的构建部分)加上 'debhelper'。

2)  使用以下命令下载并解压 udevil 压缩包(确保使用不含空格的临时构建路径):

    mkdir /tmp/udevil-build && cd /tmp/udevil-build  # 路径中不要包含空格
    # 注意:你可以将 "master" 改为 "next" 如果你想要 next 分支:
    wget -O udevil.tar.gz https://github.com/IgnorantGuru/udevil/tarball/master
    tar xzf udevil.tar.gz
    cd IgnorantGuru-udevil-*

3)  将 distros/debian 目录移动到源目录中:

    mv distros/debian .

4)  构建软件包:(软件包文件将出现在父目录中)

    dpkg-buildpackage -b -uc
    cd .. && rm -rf IgnorantGuru-udevil-* udevil.tar.gz

5)  安装你构建的软件包:

    dpkg -i udevil*.deb

安装后设置

内核轮询 --------------

您可能需要为设备媒体由 udevil 检测而启用内核轮询。参见下面的启用内核轮询部分。

网络和文件
------------------

默认情况下,/etc/udevil/udevil.conf 设置为仅允许挂载本地文件系统ISO文件,不允许挂载网络。要允许挂载网络和文件,在 /etc/udevil/udevil.conf 中设置:

    allowed_types = $KNOWN_FILESYSTEMS, file, cifs, nfs, curlftpfs, sshfs, davfs

您可能还需要安装 curlftpfs 或 ftpfs (ftp://),cifs 或 smbfs (smb://),sshfs (ssh://),和 davfs2 (http://)。

NTFS-3G
-------

如果本地 ntfs 文件系统没有被以可写方式挂载,您可能需要配置系统以使用 ntfs-3g 挂载 ntfs(在某些发行版中这已经完成了)。例如:

    sudo ln -s /sbin/mount.ntfs-3g /sbin/mount.ntfs

    # 或者如果 mount.ntfs-3g 位于 /usr/bin:
    sudo ln -s /usr/bin/mount.ntfs-3g /usr/bin/mount.ntfs


设置 SUID
--------

安装 udevil 后,/usr/bin/udevil 应该已经设置了 suid 位。如果没有,这样设置:

    sudo chown root:root /usr/bin/udevil
    sudo chmod u+s,go-s,ugo+x /usr/bin/udevil
    ls -l /usr/bin/udevil
        -rwsr-xr-x 1 root root 226625 May 22 08:13 /usr/bin/udevil

或者,仅允许 'plugdev' 组执行 udevil:

    sudo chown root:plugdev /usr/bin/udevil
    sudo chmod u+s,go-s,o-x /usr/bin/udevil
    ls -l /usr/bin/udevil
        -rwsr-xr-- 1 root plugdev 226625 May 22 08:13 /usr/bin/udevil

或者,如果您不希望用于挂载,可以取消 suid:
    sudo chown root:root /usr/bin/udevil
    sudo chmod ugo-s,ugo+x /usr/bin/udevil
    ls -l /usr/bin/udevil
        -rwxr-xr-x 1 root root 226625 May 22 08:13 /usr/bin/udevil

您也可以通过编辑 /etc/udevil/udevil.conf 限制用户和组。

systemd 服务
---------------

要作为 systemd 服务启动 devmon:
    systemctl start devmon@<用户>

启用内核轮询

您可能需要为设备媒体由 udevil 检测而启用内核轮询。例如,如果您插入 CD,udevil 的监视命令没有报告设备变化,或者 udevil 没有在设备上看到文件系统,这是内核轮询未启用的症状。

内核轮询是 Linux 内核和 udev 的新功能,因此某些发行版默认没有启用。要使用内核轮询,您的 Linux 内核可能需要是 2.6.38 或更高版本,udev 可能需要是版本 173 或更高版本。

要确定是否启用了内核轮询:

    cat /sys/module/block/parameters/events_dfl_poll_msecs
    cat /sys/block/sr0/events_poll_msecs

如果这两个命令都返回 0 或 -1,内核轮询可能已禁用。

要永久启用内核轮询(重启后仍然有效),将以下命令添加到您的 /etc/rc.local 文件中(在 'exit' 行之前的任何位置):

    echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs

任何在 2000 到 5000(毫秒)之间的数字都应该合理 - 较高的 5000 意味着每 5 秒轮询一次,这会减少开销但稍微慢一些。

或者将此选项传递给内核引导命令行在 grub 中:

    block.events_dfl_poll_msecs=2000

或者添加一个 udev 规则来启用可移动设备的内核轮询:

    echo 'ACTION=="add", ATTR{removable}=="1", \
          ATTR{events_poll_msecs}=="-1", ATTR{events_poll_msecs}="2000"' \
          > /etc/udev/rules.d/61-removable-storage-polling.rules

重启后上述更改才会生效,或者...

要立即临时启用内核轮询,为 block 模块启用通用轮询:

    sudo bash -c 'echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs'

或者仅为单个设备启用轮询(以下示例为 /dev/sr0):

    sudo bash -c 'echo 2000 > /sys/block/sr0/events_poll_msecs'

这种更改应该是立即生效的 - 媒体会被检测到。但是,上述更改在重启后将丢失。

参考文献: http://www.mail-archive.com/lfs-dev@linuxfromscratch.org/msg15714.html http://blogs.gentoo.org/mgorny/2011/06/20/uam-can-now-mount-cds-and-dvds/ https://bugs.archlinux.org/task/25609 http://unix.stackexchange.com/questions/38582/

卸载

如果您通过软件包安装,使用您的包管理器移除 udevil。否则,解压 tar 包并进入包含 configure 的目录:

    # 如果需要,首先运行 configure 带上您的原始选项:
    ./configure
    sudo make uninstall
    # 注意:/etc/udevil/ 不会被自动移除

翻译

请将翻译请求发送到项目的 GitHub 页面或论坛。

若需协助翻译 udevil,请访问: https://github.com/IgnorantGuru/spacefm/wiki/Translate

在 Transifex 上: https://www.transifex.com/projects/p/udevil/

只需注册一个免费的 Transifex 账户。有关操作指南,请访问: http://help.transifex.com/intro/translating.html#translating

许可协议

udevil - 版权所有(C)2015 GPL3+

本程序为自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可协议的版本可以是 3,或者(根据您的选择)任何后续版本。

请自行承担使用风险。本程序以希望对您有所帮助为前提进行分发,但 **不提供任何保证**,即使是商业性和针对特定目的的隐含保证。更多细节请参考 GNU 通用公共许可证。

您应该随本程序一起收到了一份 GNU 通用公共许可证副本;如果没有收到,可以写信给自由软件基金会,地址是:美国波士顿市富兰克林大街 51 号,五楼,邮编 02110-1301。

请参阅Copying文件。

Introduction

No description

Customize my domain