Я был запущен портом скороговорки из CrashPlan на моем Synology DiskStation DS213j (ARM CPU). Я недавно обновил ОС DiskStation до DSM 6.0.

В рамках обновления служба CrashPlan обновилась до последней версии во время перезапуска. У меня возникли небольшие проблемы с перезапуском CrashPlan, потому что эта версия поставляется с собственной JRE без ARM, поэтому я указал на Java 8 JRE, которая поставляется с DSM 6.0.

Теперь CrashPlan запускается нормально, но не выполняет резервное копирование. Графический интерфейс говорит: «Начальное резервное копирование не завершено». В логах вижу

ERROR 95988_AUTH-1 .service.backup.BackupController] Exception setting up BackupController! , java.lang.UnsatisfiedLinkError: /volume1/@tmp/jna-3506402/jna7016685188129052391.tmp: /volume1/@tmp/jna-3506402/jna7016685188129052391.tmp: internal error
STACKTRACE:: java.lang.UnsatisfiedLinkError: /volume1/@tmp/jna-3506402/jna7016685188129052391.tmp: /volume1/@tmp/jna-3506402/jna7016685188129052391.tmp: internal error
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1086)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:761)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736)
    at com.sun.jna.Native.<clinit>(Native.java:131)
    at com.code42.jna.LinuxPlatform.<init>(LinuxPlatform.java:76)
    at com.code42.jna.PlatformFactory.getLinuxPlatform(PlatformFactory.java:41)
    at com.code42.jna.inotify.InotifyManager.<clinit>(InotifyManager.java:47)
    at com.code42.jna.inotify.JNAInotifyFileWatcherDriver.<init>(JNAInotifyFileWatcherDriver.java:22)
    at com.code42.backup.path.BackupSetsManager.initFileWatcherDriver(BackupSetsManager.java:417)
    at com.code42.backup.path.BackupSetsManager.setUp(BackupSetsManager.java:153)
    at com.code42.backup.BackupManager.setUp(BackupManager.java:141)
    at com.backup42.service.backup.BackupController.setUp(BackupController.java:456)
    at com.backup42.service.CPService.changeLicense(CPService.java:2809)
    at com.backup42.service.CPService.authorize(CPService.java:2705)
    at com.backup42.service.peer.Authorizer.doWork(Authorizer.java:927)
    at com.code42.utils.AWorker.run(AWorker.java:148)
    at java.lang.Thread.run(Thread.java:745)

/volume1/@tmp/jna-3506402/jna7016685188129052391.tmp является двоичным файлом ELF, а каталог находится внутри tmpdir JVM CrashPlan.

Я интерпретирую это, поскольку новая версия CrashPlan поставляется с некоторыми родными библиотеками, и они не созданы для процессоров ARM. Я также вижу, что CrashPlan 4.5 требует ядро Linux 2.6.32 или выше, и если его нет, могут быть проблемы с вызовами inotify . Это видно в стеке выше.

Я чучела? Без собственных библиотек CrashPlan для моей платформы я не вижу способа его запустить. У меня осталось два года подписки на CrashPlan, и запуск ее с моего ПК далеко не так хорош, как запуск с моего NAS по нескольким причинам.

1 ответ1

1

Замена jna.jar, предоставленного CrashPlan, свежим, загруженным из Maven, делает свое дело. См. Инструкции Мартина Кляйнмана :

  1. Загрузить: https://maven.java.net/content/repositories/releases/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar
  2. перейдите в /var/packages/CrashPlan/target/bin и создайте резервную копию из jna.jar ( mv jna.jar jna.backup )
  3. переименуйте загруженный файл jna-4.2.2.jar в jna.jar. 13 скопируйте загруженный файл jna.jar в каталог /var/packages/CrashPlan/target/bin

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .