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 1

고마워 그때 시도해야 할 것 같아요. 노틸러스와의 통합을 깨는 것에 대해 약간의 우려가 있습니다.
tristank

당신은 그것에 성공 했습니까? "Documents of ..."폴더를 다시 마운트 할 수 있습니까? 나는 빌드하고 설치했지만 관리 및 충전이 전혀 작동하지 않았습니다. 따라서 나는 다운 그레이드하고 더 숙련 된 사람이 ppa를 설정하기를 기다립니다.
Weidenrinde 2016

답변:


23

은 Using 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은 데비안 패키지를 생성하므로 패키지 관리자가 소프트웨어를 관리합니다.

    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.1하고Enter

    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
    

"Documents of ..."폴더를 다시 마운트 할 수 있습니까? iOS 9/10에서 작동합니까?
Weidenrinde

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).

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
  3. 새로운 업스트림 버전을 스캔하고 다운로드하십시오.

    uscan --verbose
  4. 압축을 풀고 데비안 빌드 스크립트를 넣고 변경 로그를 업데이트하십시오 :

    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 needs 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" : 오류 : 인식 할 수없는 옵션 :`-DCMAKE_INSTALL_PREFIX = / usr '어떤 생각입니까? 당신 (또는 다른 사람들)이 당신의 노력의 결과를 ppa로 게시 할 가능성이 있습니까?
Weidenrinde

제발 새 질문을 열 문제에 대한. 이 의견 섹션을 통해 링크를 보내 관심을 끌 수 있습니다. 빠른 아이디어 ./configure --help로 사용 가능한 옵션 목록을 보려면 출력을 참조하십시오 .
David Foerster

1
실제로, 다른 누군가도 같은 문제가 발생하기 때문에 이렇게했습니다. askubuntu.com/questions/616501/…
Weidenrinde

1
우분투 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]


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.