Created
December 29, 2025 10:27
-
-
Save hyugogirubato/5f3b0b3dcb63300347f8802db936225b to your computer and use it in GitHub Desktop.
Bash script to build and install libimobiledevice, usbmuxd, and related iOS device libraries from source on Debian/Ubuntu systems.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Exit script on any error | |
| set -e | |
| # Install necessary packages and dependencies | |
| sudo apt update | |
| sudo apt install -y \ | |
| build-essential \ | |
| checkinstall \ | |
| git \ | |
| git-lfs \ | |
| autoconf \ | |
| automake \ | |
| libtool-bin \ | |
| doxygen \ | |
| cython3 \ | |
| pkg-config \ | |
| libplist-dev \ | |
| libusbmuxd-dev \ | |
| libimobiledevice-dev \ | |
| libimobiledevice-glue-dev \ | |
| libusb-1.0-0-dev \ | |
| udev \ | |
| systemd \ | |
| libtatsu-dev \ | |
| libssl-dev \ | |
| usbmuxd \ | |
| libreadline-dev \ | |
| libcurl4-openssl-dev \ | |
| libzip-dev \ | |
| zlib1g-dev \ | |
| libfuse3-dev \ | |
| libxml2-dev \ | |
| gcc | |
| # List of libraries to clone, build, and install | |
| libraries=('libplist' 'usbmuxd' 'libimobiledevice' 'libirecovery' 'ifuse' 'libtatsu' 'idevicerestore' 'libimobiledevice-glue' 'ideviceinstaller' 'libideviceactivation' 'libusbmuxd') | |
| # Loop through each library, clone, build and install | |
| for library in "${libraries[@]}"; do | |
| # Clone the library from GitHub | |
| git clone "https://github.com/libimobiledevice/$library" | |
| pushd "$library" | |
| # Run autogen to generate configuration scripts, then build and install the library | |
| ./autogen.sh --prefix=/usr/local --enable-debug --without-cython | |
| make | |
| sudo make install | |
| popd | |
| # Clean up the cloned repository to save space | |
| rm -rf "$library" | |
| done | |
| # Update the dynamic linker run-time bindings | |
| sudo ldconfig | |
| echo 'All libraries installed successfully.' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment