LINUX.ORG.RU

Вышла новая версия библиотеки для работы с устройствами фирмы Apple — libimobiledevice 1.2.0

 , , , ,


2

2

libimobiledevice –- это библиотека для работы с устройствами фирмы Apple.

Поддерживаются следующие устройства:

  • iPod Touch 1G/2G/3G/4G/5G;
  • iPhone 1G/2G/3G/3GS/4/4S/5/5C/5S/6/6+;
  • iPad 1/2/3/4/Mini/Mini 3/Air/Air 2;
  • Apple TV 2G/3G.

Благодаря данной библиотеке в Linux возможно использовать iPhone в качестве 3G модема, иметь доступ к файловой системе, активировать устройство, обновлять системное ПО и т.д.

Основные изменения:

  • Добавлена поддержка iOS 8.
  • Добавлена поддержка iPhone 6 и iPhone 6+.
  • Устранены утечки памяти.
  • Увеличена скорость работы библиотеки.
  • Проведен рефакторинг кода.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Благодаря данной библиотеке в Linux возможно использовать iPhone в качестве 3G модема, иметь доступ к файловой системе, активировать устройство, обновлять системное ПО и т.д.

Линуксоиды реализуют то, что не осилил Apple?

Valdor ★★ ()
Ответ на: комментарий от Valdor

возможно использовать iPhone в качестве 3G модема,

у меня для тебя плохие новости, ифон может быть точкой доступа и через вафлю давать 3G и LTE или по проводу как модем или по блютузу. криокамеру чини.

MikeDM ★★★★★ ()

Нужно! Нищеб^Wлинуксоиды пускай кричат «нинужно» :p

Oxdeadbeef ★★★ ()

Годно. Интересно стабильно ли работает? А то вот libmtp для ведроидов до сих пор так себе.

anonymous ()
Ответ на: комментарий от MikeDM

по проводу как модем

Проще: с libimobiledevice яблодевайсы просто представляются как очередная Ethernet-сетевуха. Полный плаг-н-плей, разве что фанатам сусьтемд придётся писать после подключения что-то типа dhclient enp0s13u6u6c6i2 (нет, они правда это в своих udev-правилах генерируют.)

thriller ★★ ()
Ответ на: комментарий от anonymous

Протоколов и сервисов яблочники, конечно, навертели своих, но не то что работать — выглядит это всё куда адекватней, чем безобразие с MTP.

Да и не столько в libmtp дело, сколько в ущербности протокола и отвратительности серверной реализации. Что мешало гуглу взять, например, тот же SFTP для совместного доступа — непонятно.

thriller ★★ ()
Ответ на: комментарий от thriller

Fun fact, кстати: в яблотелефонах, как известно, для (якобы откровенно тупого среднего) пользователя нет никаких файлов, есть лишь отдельные хранилища с музлом, фото и прочим контентом; даже пресловутому Adobe Reader приходится держать в себе реализацию хранилища PDF-ов, потому что иначе в бесфайловом мире это приложение никому вообще не нужным окажется. Было бы логичным застать Apple за использованием MTP, у котого вместо файлов сплошные костыли и типизированные объекты, но нет: почему-то такой фигнёй страдает именно Google, юзеры которого в остальном наслаждаются полноценным доступом к файловой иерархии.

thriller ★★ ()

Нужно!

Линукс головного мозга нинужно!

bookman900 ★★★★★ ()
Ответ на: комментарий от thriller

Да и не столько в libmtp дело, сколько в ущербности протокола и отвратительности серверной реализации. Что мешало гуглу взять

Ну так хотели из коробочный доступ для вендов. Хотя и это не совсем верно. У меня смартфон от сосунга, и там весьма специфично по сосунговски - надо обязательно ставить их драйвер.

anonymous ()

спасибо авторам, недавно подключал это говноподелие, так добиться ничего вменяемого так и не смог, про эту библиотеку не знал. буду пробовать, спасибо ещё раз.

AndreyKl ★★★★★ ()

Музыку и видео по прежнему нельзя синхронизировать с iOS новее 4.3.5. А без этого оно прям ненужное ненужно.

prv_cowboy ()

iPad 1/2/3/4/Mini/Mini 3/Air/Air 2

Середину прочитал как «мимими».

Vinni_Pooh ★★★★★ ()

Года 3 назад ровно один раз с помощью этой либы смог подключить яблочноподелие, потом не получалось. Слава всем, теперь оно мне не нужно.

alozovskoy ★★★★★ ()
Ответ на: комментарий от derlafff

Действительно, для телефона, используемого как источник интернетов раз в полгода в экстренной ситуации, надо всенепременно нагородить симлинков в /etc/systemd и пнуть что-то-там-ещё-ctl. А то мало ли что!

thriller ★★ ()

Очень клёвая штука, очень выручала меня, когда мне подарили айпод. Но в те времена libgpod (библиотека, позволяющая записывать музыку на iOS так, чтобы её видел плеер на девайсе) поддерживала только базу данных от iOS 3, а у меня была iOS 4, но с джейлбрейком можно было на iOS 4 завести базу данных версии от iOS 3, тогда всё работало. Ещё был проприетарный плагин к libgpod для поддержки базы из iOS 4, тогда бы даже джейлбрейк был бы не нужен, но я не пробовал. Когда же вышла iOS 5, синхронизацию музыки Apple переделали, libgpod перестала работать, мне пришлось откатиться на iOS 4. Кто знает, как сейчас дела с libgpod?

gentoo_root ★★★★★ ()
Ответ на: комментарий от prv_cowboy

А это уже как бы и не проблемы libimobiledevice. Медиатека живёт одним уровнем абстракции выше, и корёжит её libgpod, сдохший полтора года полгода назад.

thriller ★★ ()
Последнее исправление: thriller (всего исправлений: 2)
Ответ на: комментарий от anonymous

У меня смартфон от сосунга, и там весьма специфично по сосунговски - надо обязательно ставить их драйвер.

Мой i9192 работает из венды (проверял в чужой семёрке) из коробки. И в линуксе из коробки, если в этом линуксе mtp поддерживается. Не знаю, как в других DE, но kio-mtp в KDE дико глючит. А ещё не позволяет создавать каталоги в корне карты памяти или внутренней флешки телефона (изнутри телефона из файлового менеджера можно).

gentoo_root ★★★★★ ()
Ответ на: комментарий от thriller

Действительно, для телефона, используемого как источник интернетов раз в полгода в экстренной ситуации, надо всенепременно нагородить симлинков в /etc/systemd и пнуть что-то-там-ещё-ctl. А то мало ли что!

Костыли — это у вас. У нормальных людей на десктопе все ethernet-интерфейсы автоматически с dhcp инициализируются.

derlafff ★★★★★ ()
Ответ на: комментарий от thriller

разве что фанатам сусьтемд придётся писать после подключения что-то типа dhclient enp0s13u6u6c6i2

Не приходится, NetworkManager сам всё делает, даже на кнопочки нажимать не надо. enp0s13u6u6c6i2 ничем не хуже, чем usb0. Если хочется красоты, то и в том, и в том случае всё равно нужно написать правило, назначающее интерфейсу, через который подключён конкретный айфон, кастомное имя, а потом для этого имени интерфейса можно создать подключение в NetworkManager и назвать его «Мой айфон».

нет, они правда это в своих udev-правилах генерируют.

Это неправда, правила udev вообще ни при чём. Дефолтная NamePolicy указывается в /usr/lib/systemd/network/99-default.link, её легко можно изменить, если создать файл /etc/systemd/network/99-default.link, там можно и вернуть унылый старый порядок именования (однако персистентность названий интерфейсов не гарантируется) и попробовать другие варианты. Парсится потом это udev'ом:

systemd.link(5)

Network link configuration is performed by the net_setup_link udev builtin.

gentoo_root ★★★★★ ()
Ответ на: комментарий от gentoo_root

Не знаю, как в других DE, но kio-mtp в KDE дико глючит

У меня этот сосунг 2012 года только щас стал нормально работать в свежей ubuntu 14.10 через gvfs-mtp. Я три года ждал.

anonymous ()
Ответ на: комментарий от gentoo_root

Дефолтная NamePolicy указывается в /usr/lib/systemd/network/99-default.link

можно изменить, если создать файл /etc/systemd/network/99-default.link

Парсится потом это udev'ом

Как всё сложно. А ведь был раньше одинокий /lib/udev/rules.d/75-persistent-net-generator.rules, который легко переопределялся в пару строк новым файлом в /etc/udev/rules.d.

И эти люди рассказывают про сложную и неподдерживаемую лапшу из init-скриптов, ок.

thriller ★★ ()
Ответ на: комментарий от thriller

Это конкретно libimobiledevice полезности не прибавляет. Интернет и по воздуху раздавать можно. Бэкапы делать через WiFi сразу в iCloud. Активировать можно тоже через интернет. Единственную вещь, которую нельзя сделать без iTunes, оно и не умеет.

prv_cowboy ()
Ответ на: комментарий от thriller

Как всё сложно.

О да, конфиг-файл из трёх строк, позволяющий лёгким движением руки выбрать подходящую схему именования, это действительно rocket science.

А ведь был раньше одинокий /lib/udev/rules.d/75-persistent-net-generator.rules, который легко переопределялся в пару строк новым файлом в /etc/udev/rules.d.

Ну да, гораздо проще разбираться с синтаксисом правил udev и фигачить собственные правила только для того, чтобы что-то заработало. А теперь берём embedded-систему, в которой файловая система read-only, и твой божественный 75-persistent-net-generator.rules не сможет сгенерировать правило для udev, в котором он должен был записать, какому MAC-адресу какое имя интерфейса соответствует. А если даже и сможет (если /etc был не read-only), то бывают системы, где MAC-адрес генерируется рандомно при каждой загрузке. И всё, такая система разваливается, придётся на правилах udev реализовывать (брр) то, что в systemd работает из коробки.

gentoo_root ★★★★★ ()
Последнее исправление: gentoo_root (всего исправлений: 1)
Ответ на: комментарий от gentoo_root

и твой божественный 75-persistent-net-generator.rules не сможет сгенерировать правило для udev

Ты наркоман, что ли? Какая, к чёрту, генерация правил для udev, если 75-persistent-net-generator.rules сам набором udev-правил и является? Набором, который можно переопределить в /etc своим, с матчингом хоть по маку, хоть по текущему интерфейсу, хоть по фазе луны, и без всяких systemd-генераторов с тремя убогими ручками для управления.

thriller ★★ ()
Последнее исправление: thriller (всего исправлений: 1)
Ответ на: комментарий от toney

Не нужно.

Не нужно в первую очередь пользователям техники Apple. А вот линуксоидам всегда нужно написать что-то никому не нужное.

eugeno ★★★★★ ()
Ответ на: комментарий от thriller

Ты наркоман, что ли?

А ты наркоконтроль, что ли?

Какая, к чёрту, генерация правил для udev, если 75-persistent-net-generator.rules сам набором udev-правил и является?

Ты его хоть открывал когда-то? Почитай, ты ведь умеешь писать правила для udev. Обрати особое внимание на строку 97. Там мы запускаем /lib/udev/write_net_rules, который создаёт файл /etc/udev/rules.d/70-persistent-net.rules. Открой и почитай его. И уже там есть куча правил, которые карточке с определённым MAC-адресом назначает фиксированное имя интерфейса.

А теперь внимание, вопрос: что будет, если /etc read-only? Правильно, /etc/udev/rules.d/70-persistent-net.rules не создастся! И у нас ничего не будет работать.

А теперь внимание, ещё один вопрос: что будет, если у нашей сетевой карты при каждой загрузке новый рандомный MAC-адрес? Правильно, /etc/udev/rules.d/70-persistent-net.rules будет раздуваться на одну строчку при каждой загрузке, а наша сетевуха будет считать количество загрузок: eth0, eth1, eth2, eth3, eth4, …

// Как же мне нравятся эти люди, которые ни фига не шарят, как работает systemd, которые не шарят, как работало до этого, но зато поливают дерьмом systemd и кричат, что раньше было лучше.

gentoo_root ★★★★★ ()

Я теперь смогу подключить свой айпад2?

ViTeX ★★★★ ()

А у нас... Нет, не так. А У НАС ЕСТЬ СПЕЦИАЛЬНАЯ ЛИБА? Айфон, который подтыкают просто виден как две флешки.

sambist ★★ ()
Ответ на: комментарий от gentoo_root

Молодец, ты дочитал до нужной тебе строки 97! А теперь постарайся дочитать до строк 99–100:

# rename interface if needed
ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
Ой! Ничего не будет работать! Ни-че-го-шень-ки!

thriller ★★ ()
Последнее исправление: thriller (всего исправлений: 1)

Зачем это?

Зачем это здесь?

Вопросы риторические ибо не нужно.

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

Даже если было бы основание тявкать, то делать это из-за 10% от 1% линуксоидов - итого 0.1% как то странно.

anonymous ()

Благодаря данной библиотеке в Linux возможно использовать iPhone в качестве 3G модема, иметь доступ к файловой системе, активировать устройство, обновлять системное ПО и т.д.

и для всего этого не нужна эта библиотека, да даже комп не особо нужен.

spichka ★★★ ()
Ответ на: комментарий от gentoo_root

Как же мне нравятся эти люди, которые ни фига не шарят, как работает systemd, которые не шарят, как работало до этого, но зато поливают дерьмом systemd и кричат, что раньше было лучше.

Мода - дело такое...

Divius ★★ ()

Линуксоиду не нужно. Ибо, линуксоид, технически подкованная личность, кайфует от божественного galaxy.

slony ()
Ответ на: комментарий от thriller

А теперь постарайся дочитать до строк 99–100:

Эти строки нужны, для того, чтобы нововыданное название интерфейса применилось сразу, а не после перезагрузки, когда сработает новое правило в 70-persistent-net.rules.

Ой! Ничего не будет работать! Ни-че-го-шень-ки!

Вот именно! Если мы не можем сохранить в 70-persistent-net.rules, какие имена интерфейсам сейчас выдали, то при следующей загрузке могут быть выданы уже совсем другие имена.

Прекращай уже спорить о том, в чём не разбираешься.

gentoo_root ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.