适用于Ubuntu 14.04 Trusty的libimobiledevice 1.2(iOS 8支持)


22

是否有支持iOS 8的最新libimobiledevice 1.2版本的PPA,或者有人可以解释如何从源代码构建它而不弄乱所有内容?

https://launchpad.net/ubuntu/+source/libimobiledevice


我没有找到任何东西,但是自己构建和打包当前版本并不难:help.ubuntu.com/community/UpdatingADeb
David Foerster,2015年

谢谢,我想我那时必须尝试一下。我对打破与Nautilus的集成有点共识。
tristank 2015年

你成功了吗?您是否可以再次安装“ ...的文档”文件夹?我设法构建和安装,但是安装和充电根本不起作用。因此,我降低了等级并等待更熟练的人来建立ppa。
Weidenrinde 2015年

Answers:


23

使用GitHub存储库

请记住,每个步骤只有在上一步成功的情况下才有效。

  1. 克隆存储库

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. 安装必要的开发库

    您可能需要更多的库或头文件包,如下所示。如果稍后在配置步骤中出现错误消息,您将看到此消息。如果有问题,请添加评论。

    sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
    
  3. 安装一些其他软件

    需要以下软件来准备要编译的软件,然后再对其进行编译。

    sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
    
  4. 安装可选软件

    以下软件用于使完成的包装中的某些部分运行更快并创建文档。

    sudo apt-get install cython doxygen
    
  5. 安装安装助手

    Checkinstall创建一个debian软件包,因此该软件由软件包管理器管理。

    sudo apt-get install checkinstall
    
  6. 配置和构建

    ./autogen.sh
    make
    
  7. 安装

    使用以下命令,libimobiledevice将创建并安装名称为deb的软件包。

    sudo checkinstall
    

    您将看到以下警告:

    checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
               This software is released under the GNU GPL.
    
    
    
    *****************************************
    **** Debian package creation selected ***
    *****************************************
    
    *** Warning: The package version "1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1" is not a
    *** Warning: debian policy compliant one. Please specify an alternate one
    
    
    This package will be built according to these values: 
    
    0 -  Maintainer: [ root@aboettger-VirtualBox ]
    1 -  Summary: [ Package created with checkinstall 1.6.2 ]
    2 -  Name:    [ libimobiledevice ]
    3 -  Version: [  ]
    4 -  Release: [ 1 ]
    5 -  License: [ GPL ]
    6 -  Group:   [ checkinstall ]
    7 -  Architecture: [ i386 ]
    8 -  Source location: [ libimobiledevice ]
    9 -  Alternate source location: [  ]
    10 - Requires: [  ]
    11 - Provides: [ libimobiledevice ]
    12 - Conflicts: [  ]
    13 - Replaces: [  ]
    

    只需按下3和类型1.2.1Enter

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. 检查已安装的文件

    dpkg -L libimobiledevice
    

    你会看到这样的东西

    /.
    /usr
    /usr/share
    /usr/share/doc
    /usr/share/doc/libimobiledevice
    /usr/share/doc/libimobiledevice/COPYING.LESSER
    /usr/share/doc/libimobiledevice/AUTHORS
    /usr/share/doc/libimobiledevice/NEWS
    /usr/share/doc/libimobiledevice/README
    /usr/share/doc/libimobiledevice/docs
    /usr/share/doc/libimobiledevice/docs/idevice_id.1
    /usr/share/doc/libimobiledevice/docs/idevicenotificationproxy.1
    /usr/share/doc/libimobiledevice/docs/idevicepair.1
    /usr/share/doc/libimobiledevice/docs/ideviceprovision.1
    /usr/share/doc/libimobiledevice/docs/ideviceimagemounter.1
    /usr/share/doc/libimobiledevice/docs/Makefile
    /usr/share/doc/libimobiledevice/docs/idevicedebug.1
    /usr/share/doc/libimobiledevice/docs/idevicename.1
    /usr/share/doc/libimobiledevice/docs/idevicebackup.1
    /usr/share/doc/libimobiledevice/docs/idevicedebugserverproxy.1
    /usr/share/doc/libimobiledevice/docs/ideviceenterrecovery.1
    /usr/share/doc/libimobiledevice/docs/idevicecrashreport.1
    /usr/share/doc/libimobiledevice/docs/ideviceinfo.1
    /usr/share/doc/libimobiledevice/docs/Makefile.in
    /usr/share/doc/libimobiledevice/docs/Makefile.am
    /usr/share/doc/libimobiledevice/docs/idevicescreenshot.1
    /usr/share/doc/libimobiledevice/docs/idevicedate.1
    /usr/share/doc/libimobiledevice/docs/idevicesyslog.1
    /usr/share/doc/libimobiledevice/docs/idevicediagnostics.1
    /usr/share/doc/libimobiledevice/docs/idevicebackup2.1
    /usr/share/doc/libimobiledevice/COPYING
    /usr/local
    /usr/local/bin
    /usr/local/bin/idevicepair
    /usr/local/bin/idevicename
    /usr/local/bin/ideviceinfo
    /usr/local/bin/idevicebackup2
    /usr/local/bin/ideviceprovision
    /usr/local/bin/idevicecrashreport
    /usr/local/bin/ideviceimagemounter
    /usr/local/bin/idevice_id
    /usr/local/bin/idevicenotificationproxy
    /usr/local/bin/ideviceenterrecovery
    /usr/local/bin/idevicescreenshot
    /usr/local/bin/idevicediagnostics
    /usr/local/bin/idevicedebug
    /usr/local/bin/idevicebackup
    /usr/local/bin/idevicedebugserverproxy
    /usr/local/bin/idevicesyslog
    /usr/local/bin/idevicedate
    /usr/local/lib
    /usr/local/lib/libimobiledevice.la
    /usr/local/lib/pkgconfig
    /usr/local/lib/pkgconfig/libimobiledevice-1.0.pc
    /usr/local/lib/libimobiledevice.so.6.0.0
    /usr/local/lib/libimobiledevice.a
    /usr/local/share
    /usr/local/share/man
    /usr/local/share/man/man1
    /usr/local/share/man/man1/idevicebackup2.1.gz
    /usr/local/share/man/man1/ideviceprovision.1.gz
    /usr/local/share/man/man1/idevicebackup.1.gz
    /usr/local/share/man/man1/idevicecrashreport.1.gz
    /usr/local/share/man/man1/idevice_id.1.gz
    /usr/local/share/man/man1/ideviceenterrecovery.1.gz
    /usr/local/share/man/man1/ideviceimagemounter.1.gz
    /usr/local/share/man/man1/idevicename.1.gz
    /usr/local/share/man/man1/idevicescreenshot.1.gz
    /usr/local/share/man/man1/idevicedebug.1.gz
    /usr/local/share/man/man1/idevicenotificationproxy.1.gz
    /usr/local/share/man/man1/idevicedebugserverproxy.1.gz
    /usr/local/share/man/man1/idevicedate.1.gz
    /usr/local/share/man/man1/ideviceinfo.1.gz
    /usr/local/share/man/man1/idevicesyslog.1.gz
    /usr/local/share/man/man1/idevicediagnostics.1.gz
    /usr/local/share/man/man1/idevicepair.1.gz
    /usr/local/include
    /usr/local/include/libimobiledevice
    /usr/local/include/libimobiledevice/syslog_relay.h
    /usr/local/include/libimobiledevice/lockdown.h
    /usr/local/include/libimobiledevice/diagnostics_relay.h
    /usr/local/include/libimobiledevice/screenshotr.h
    /usr/local/include/libimobiledevice/property_list_service.h
    /usr/local/include/libimobiledevice/installation_proxy.h
    /usr/local/include/libimobiledevice/restore.h
    /usr/local/include/libimobiledevice/file_relay.h
    /usr/local/include/libimobiledevice/mobile_image_mounter.h
    /usr/local/include/libimobiledevice/mobilebackup2.h
    /usr/local/include/libimobiledevice/afc.h
    /usr/local/include/libimobiledevice/service.h
    /usr/local/include/libimobiledevice/webinspector.h
    /usr/local/include/libimobiledevice/heartbeat.h
    /usr/local/include/libimobiledevice/libimobiledevice.h
    /usr/local/include/libimobiledevice/mobilesync.h
    /usr/local/include/libimobiledevice/misagent.h
    /usr/local/include/libimobiledevice/debugserver.h
    /usr/local/include/libimobiledevice/mobilebackup.h
    /usr/local/include/libimobiledevice/house_arrest.h
    /usr/local/include/libimobiledevice/sbservices.h
    /usr/local/include/libimobiledevice/notification_proxy.h
    /usr/local/lib/libimobiledevice.so
    /usr/local/lib/libimobiledevice.so.6
    

您是否可以再次安装“ ...的文档”文件夹?适用于ios 9/10吗?
魏登林德'16

8

这是我构建libimobiledevice-1.2.0的过程:

  1. 安装构建工具和依赖项

    sudo apt-get install build-essential fakeroot devscripts pbuilder
    sudo apt-get build-dep libimobiledevice
  2. 下载当前打包版本(在Ubuntu 14.04上为1.1.5)的源代码和Debian构建脚本:

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
  3. 扫描并下载新的上游版本:

    uscan --verbose
  4. 解压缩它,放置Debian构建脚本并更新更改日志:

    uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
    cd ../libimobiledevice-1.2.0
  5. 构建二进制程序包(与可用CPU内核数量一样多的工人并行执行):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)

    -j如果可能,指示构建系统并行运行各个构建任务。由于这有时会导致问题,因此可能值得尝试在没有该标志的情况下重新运行该构建或将其放在第一位。)

  6. 安装内置的软件包:

    sudo dpkg -i ../libimobiledevice_1.2.0*.deb

其实我有点作弊。我无法满足构建依赖性,因为在Ubuntu 14.04中没有足够新版本的库:libimobiledevice-1.2.0 required libusbmuxd-dev (>= 1.0.9),因此您必须首先使用相同的配方从源代码进行构建。


1
在尝试构建升级的libusbmux-d时,在添加了一些依赖性之后,我遇到了:dh_auto_configure--DCMAKE_INSTALL_PREFIX =“ / usr” -DCMAKE_SKIP_RPATH = true -DLIB_SUFFIX = -DUSB_PKGCONF_INCLUDE_DIRS =“ / usr / include / libusb-1.0” configure :错误:无法识别的选项:-DCMAKE_INSTALL_PREFIX = / usr知道吗?您(或其他人)是否有可能将您的努力结果发布到PPA中?
魏登林德2015年

请为您的问题打开一个新问题。您可以通过此评论部分向我发送链接以引起我的注意。快速的想法,请查阅的输出以./configure --help获取可用选项的列表。
David Foerster

1
实际上,其他人这样做是因为他们遇到了同样的问题... askubuntu.com/questions/616501/…–
Weidenrinde

1
我在Ubuntu 15.04上有同样的问题。你有解决办法吗?
代码源

1
要安装,libusbmuxd-dev (>= 1.0.9)您可以在此处下载* .deb 并使用sudo dpkg -i
Michele

8

好,这对我有用。

顺序是:

libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...

来源:https : //github.com/libimobiledevice/usbmuxd/issues/10

mkdir -p ~/src
cd ~/src

sudo apt-get -y install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev usbmuxd make automake autoconf libtool pkg-config gcc cython doxygen checkinstall libusb-1.0-0-dev libssl-dev

git clone https://github.com/libimobiledevice/libplist.git
cd libplist/
./autogen.sh 
make
sudo make install

cd ..
git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd/
./autogen.sh 
make
sudo make install

cd ..
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice/
./autogen.sh 
make
sudo checkinstall 

checkinstall提示中:

> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]

3

我使用此PPA,它具有最新的libimobiledevice,但并非所有组件都在那里显示:https ://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice


缺少哪些组件?那些启用了查看应用程序共享文档的功能?
NoBugs 2015年

@NoBugs是的,ifuse错过了
yanpas

在15.10上不起作用。
Aleksandr Dubinsky

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.