Giter Site home page Giter Site logo

ezntfs's Introduction

ezNTFS

ezNTFS is an easy-to-use wrapper for NTFS-3G on macOS.

ezNTFS can be used as a menu bar app, or via the CLI in the terminal.

Installation

To use ezNTFS, you will need Python 3, FUSE for macOS (osxfuse), and NTFS-3G installed in your system.

To install NTFS-3G, you may compile and install it yourself (recommended, see instructions at the end), or you may also install it via nix or via brew.

To install ezNTFS, run:

$ pip3 install ezntfs

It should be accessible from the terminal afterwards.

To configure the menu bar app, run the command after installing ezNTFS:

$ sudo ezntfs-app install

This command adds ntfs-3g to a sudoers file, and automatically launches the app on start-up. The app will also be launched right after install.

NOTE: The app icon will only show up if there are NTFS volumes plugged in. You may also need to grant Python access to removable volumes for this to work.

Usage (CLI)

Mount all read-only NTFS volumes using ntfs-3g (root privileges are needed for mounting):

$ sudo ezntfs all

Mount a specific NTFS volume (run ezntfs list to find the disk id):

$ sudo ezntfs <disk id>

Alternatives

  • Natively supported by macOS
  • exFAT is less reliable (no journaling), only use for flash drives
  • Setup requires disabling System Integrity Protection (SIP) or Sealed System Volume (SSV)
  • Mounts with NTFS-3G even when not needed, which may slow down reads
  • Volumes won't show up on Finder
  • Writing via Apple's native NTFS driver is not officially supported
  • Not free
  • Mature (same developers as NTFS-3G)
  • Kernel driver, should be faster than FUSE

Compiling and installing NTFS-3G

We recommend compiling and installing NTFS-3G yourself for security. This allows installing it as root, which keeps things secure when added to sudoers.

Instructions

# Clone the git repo (you may want to clone a newer version if available)
git clone --depth 1 --branch 2021.8.22 https://github.com/tuxera/ntfs-3g.git
cd ntfs-3g

# Install the dependencies needed for compilation
brew install autoconf automake libgcrypt libtool pkg-config gettext

# Compile and install ntfs-3g
export LDFLAGS=-lintl
./autogen.sh
./configure \
    --disable-debug \
    --disable-dependency-tracking \
    --with-fuse=external \
    --prefix=/usr/local \
    --exec-prefix=/usr/local \
    --mandir=/usr/local/share/man \
    --sbindir=/usr/local/sbin
make
sudo make install

# Delete the cloned git repo
rm -r .

ezntfs's People

Contributors

lezgomatt avatar scor2k avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.