Revbouncer lfs не работает

Revbouncer lfs не работает

Как взломать LFS 0.6H на S2

ВАЖНО! Если у вас 64-ёх разрядная ОС

Пуск — выполнить — ввести regedit—OK

Скопируйте ключ из: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProductID

Параметр ProductID искать не в названиях разделов, а просто нажать на CurrentVersion и смотреть в правом окне редактора. Находим ProductID, кликаем на нем 2 раза, и копируем «значение» что-то вроде «00426-OEM-8992662-00006»
Затем создайте новый ключ ProductID в:

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows NT/CurrentVersion/
Также нажав раздел CurrentVersion, в правой области редактора где должен быть этот ProductID, кликаем правой кнопкой мыши, затем «создать»>»строковый параметр». Обзываем его также ProductID. Затем кликаем по нему 2 раза и туда уже вставляем скопированное значение ключа.
Теперь запустите unlocker.exe и попробуйте заново разблокировать игру.
Если разблокировалось, но на сервер не заходит, если ошибка, попробуйте заного про патчить игру.

1)Скачать LFS с официального сайта https://www.lfs.net/downloadlfs и установить

2)Скачать необходимые файлы для взлома !!ПАРОЛЬ ОТ АРХИВА — LFSP!!

Источник

Revbouncer lfs не работает

Помните что прежде чем зайти на сервер вы уже должны иметь навык вождения в лфс, в противном случае вас могут забанить согласно правилам. Перед тем как зайти на сервер — обязательны к ознакомлению правила поведения на сервере: http://vk.com/topic-21931081_29622793

—ИНСТРУКЦИЯ ПО ПОДКЛЮЧЕНИЮ К СЕРВЕРАМ LSN (S2)—

1.) Скачать дистрибутив игры ЛФС LFS 0.6R и установить её —
https://vk.cc/8fOPn9
https://vk.cc/8fOOYj (зеркало)
НУЖНА ИМЕННО 0.6R версия.

2.) Скачать и разархивировать в папку с игрой анлокер, кряк и айпи патч от 0.6H рабочий (отключить антивирус если не скачивается/не открывается)
vk.cc/8fOPkp
vk.cc/8iAgBg (зеркало)
vk.cc/c1oZvp (зеркало2)

3) Скачать лаунчер и закинуть в папку с игрой — download.lislon.ru/launcher_lsn.exe
https://vk.cc/8JJjkV — Детальная тема по Lsn launcher (если есть ошибки с лаунчером)

4) Только для пользователей 64х битных систем перед использованием unlock сделайте

Откройте редактор реестра с правами администратора (Пуск Выполнить в строке вводим regedit)
Скопируйте значение строкового параметра из: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProductId
Параметр ProductID искать не в названиях разделов, а просто нажать на CurrentVersion и смотреть в правом окне редактора. Находим ProductId, кликаем на нем 2 раза, и копируем «значение» что-то вроде «00426-OEM-8992662-00006»
Затем создайте новый ключ ProductId в:
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows NT/CurrentVersion/
Также нажав раздел CurrentVersion, в правой области редактора где должен быть этот ProductId, кликаем правой кнопкой мыши, затем «создать»>»строковый параметр».Называем его также ProductId И вставляем в него скопированное значение ключа.

5) От администратора запустить айпи патчер в корне с игрой, тыкнуть patch.

6) Запустить анлокер в корне с игрой, в главном меню зайти в лицензию и придумать аккаунт и пароль, после чего не менять.

7) Закрыть анлокер и запустить лфс через launcher_lsn.exe c админ правами , если есть ошибки с лаунчером — https://vk.cc/8JJjkV

8) Для игры онлайн — Сетевая игра — Войти в конкретную игру — в локальной сети — и ввести порт нашего сервера, название сервера не удалять.

Информация по подключению:
Сервер — LSN SERVER
Порт —

5558 — (LSN TWEAK LAND)
5556 — (LSN CRUISE LFS 0.6R)
5555 — (LSN TWEAK LAND)
5554 — (LSN DRIFTING GROUND)
5553 — (LSN DRIFTING COURSE)
5552 — (LSN DRIFTING HEAVEN)
5551 — (LSN RACING BLOW)
5550 — (LSN STUNT LAND)
5005 — (LSN EVENTS)
4000 — (LSN MOD (Лаунчер с Modify)
5500 — (LSN MOD EVENTS) (Лаунчер с Modify)

Если вы все сделали в точности по инструкции и игра не разблокировалась ( и при этом она была установлена ранее и работала)то сначала удалите лфс с компьютера, после этого в реестре через поиск (Правка- поиск) впишите туда Live for Speed, и удалите все связанные с лфс значения и подразделы. после повторите все пункты инструкции с 1 по 7

— СООБЩЕНИЯ ОТ СЕРВЕРА—

1 Нет трассы\не получил данных о трассе\не отображаются машины\нет машины — Нужно правильно выполнить пункт 4 — реестр. и далее 5, 6, 7, 8.

2 Сервер не получил UDP пакета — Нужно запускать с launcher_lsn.exe\ закрытые порты\ блокировка фаерволом\проблемы с роутером или провайдером.

3 Имя пользователя не найдено — Не использован Unlocker, не разблокирована игра (пункт 5)

4 Сервер не найдем на главном сервере\Введите правильный Ip от вашей лок. сети — Не использован айпи-патч\ введен не правильный айпи.

5 Пакет неожиданного размера — заходить через лаунчер, нельзя забывать пункт 5 (ip patch) и пункт 3 реестр

6 Соединение истекло — Сервер выключен

7 Сервер отказал в соединении — Бан

—
Сервера не ведут коммерческой деятельности, S2 контент предоставляется только в ознакомительных целях

Источник

Revbouncer lfs не работает

Лаунчер по ссылке — download.lislon.ru/launcher_lsn.exe
Просто кидаем файл в корень папки LFS запускаем от админа, ставим режим MOD (для модифицированных авто) или Original (для обычных) и радуемся жизни

Обьявлен публичный тест нашего нового лаучера с прикольными плюшками) Если коротко, то наш хостер Sergey Serov решил покапаться в коде лфс и сделать свой лаунчер с блек джеком и пакетами. Пока что скорее ради интереса, если будет видно что это многим понравилось, то будут и новые обновления.

Те изменения что уже есть сейчас в MOD режиме:
• Увеличена мощность многих автомобилей.
• Уменьшен уровень износа шин (раза в 3-4)
• Рабочая загрузка\скачивание скинов шлемов и авто.
• Добавлен выворот 70 градусов на почти все автомобили.
• Открыта вся резина для всех машин (Включая слики)
• Почти все машины заднеприводные
• В классе рейс машин увеличена мощность и уменьшен вес
• Cделана блокировка ввода ip сервера, теперь вместо ипа будет слово Lsn Server) Заблокирован порт при режиме Mod, порт статично задан как 4000

Инструкция для LSN Launcher

(!) Для корректной работы скинов необходимо выставить в настройках параметры скачивания 512/256 для авто и шлема соответственно (Настройки — Прочее)

• При ошибках 0х0000007b и MSVCP110.dll — то удалить файл C:\Windows\System32\msvcr110.dll и установить:
— сначала это — https://www.microsoft.com/ru-RU/download/details.aspx.. (ставьте х86 даже если у вас 64 битная система, поможет в 95% случаев, если не сработает версия х64)
— если не сработает то и это — https://www.microsoft.com/ru-ru/download/details.aspx..
— если и это не помогло то установить все отсутствующие пакеты visual C++ и NET Framework http://dlltop.ru/soft/46-microsoft-visual-c
https://www.microsoft.com/ru-RU/download/details.aspx..

• При вылете с сервера после небольшого времени после захода на сервер (после загрузки скина) Правится так:
1. заходишь в игру через lfs.exe и выключаешь загрузку скинов;
2. запускаешь игру через лаунчер (лаунчер сам выставит параметры загрузки скинов 512/256)
3. Снять галочку «только для чтения» у папки LFS\data

• При игре в режиме «MOD» все ранее установленные модификации игры будут переведены на стоковые. (В скором введение своих модификаций)

• Что бы загрузить скин нужно нажать Upload Skin и выбрать файл подходящий по развертке и названию в формате jpg. (Рекомендуемое разрешение скина 1024х1024 точек. (В остальных случаях конвертация происходит автоматически при загрузке скина) Этот же скин должен быть в папке. LFS\Data\Skins и выбран под нувую раскраску в гараже — раскраска — имя текстуры. Одновременно для загрузки можно выбрать 5 скинов. Максимальный размер скина 5Мб.

Читайте также:  Беря карандаш руки он сломался

• Всплывающие окна:
Lost connection — потеряна связь с сервером
Wrong version — устаревшая версия лаунчера
Skin exist [имя_скина] — скин уже имеется на сервере

• Уведомления в чате:
Скина вашей машины нет на lfsworld.nеt — скина вашего авто нет на сервере (Загрузите скин на сервер или возьмите default скин)
Скина вашего шлема нет на lfsworld.nеt — скина вашего шлема нет на сервере (Загрузите скин шлема или возьмите default скин)

В оригинальном режиме можно подключаться к нашим обычным серверам и играть С РАБОЧИМИ СКИНАМИ!

Любой труд стоит денег и если вам понравилась идея, то по желанию можно поддержать разработчика лаунчера в денежном виде.
Карта Сбер Банк — 4276 8400 3091 0168
Яндекс кошелёк — 41001481541039
Киви — +79032419907

Тут оставляем свой фидбек по нашему лаунчеру

Источник

Организация распределённого хранения файлов с помощью git-annex

О чем статья

Поделюсь как пришел к выбору git-annex в качестве инструмента управления коллекцией файлов, кратко опишу процесс установки и настройки, расскажу о подводных камнях на разных файловых системах и устройствах: ext4 под linux, sdcardfs на телефоне с андроид, флешка с ntfs на wsl с windows 10.

Если вы выбираете способ управления файлами или просто интересуетесь annex, статья для вас. При этом времени другим технологиям уделено минимум, статья именно про выбранный вариант.

Моя работа с ИТ не связана, поэтому в теме я знаю прикладной минимум или ещё меньше. Статья — скорее пользовательский бег по граблям, чем профессиональный отчёт. При этом найденные грабли помечены флажками, а тропинка утоптана.

Статью будет комфортнее читать при наличии базовых знаний git и ssh.

Фотоальбом с видео/фото за 14 лет.

Коллекция контента: книги, музыка.

Скан-копии документов: договоры, счёта, гарантийный талоны.

Рабочие документы: офисные файлы, видеозаписи, markdown-документы.

Все эти 35 000 файлов и 85 Гб данных неравномерно нанесены на 3 ПК, 2 телефона, флешку и внешний HDD (бэкап).

В наличии Базовые знания git, ssh, десктопного linux на уровне пользователя.

Задачи

Синхронизация между устройствами. Одно хранилище в едином состоянии везде.

Возможность частичной загрузки. На работе нужна только папка с рабочими файлами, на телефоне — музыка, а на сервере — всё.

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

Шифрованный бэкап в гугл драйв, так как там докуплено 200 ГБ.

Управление количеством копий: нужно иметь не менее 2.

Управляемое версионирование с возможностью полностью удалять ненужные старые версии.

Поиск решения

Бэкапим и копируем вручную

Это не очень удобно: что-то забыл, что-то задвоил, но оно работало. Но когда два диска на разных компах одновременно начали алертить в SMART, я понял, что, помимо неудобства, есть риск лишиться некоторых файлов полностью.

Rsync

Вещь хорошая. Умеет синхронизировать, сжимать, шифровать.

Версиями не управляет.

Настройка на каждом из 4 устройств — слишком лениво.

Я довольно долго использовал rsync лишь для бэкапа на флешку. Спустя полгода флешка перешла в режим RO. Выяснилось, что при копировании на fat / exFat с ext4 многие файлы перезаписываются без необходимости. Что-то там не сложилось с метками времени.

Уверен, что вопрос в моём знании инструмента, но я двинулся дальше.

Была такая мысль. Приобретаем NAS от приличной компании, ставим клиенты на нужные устройства и горя не знаем. Останавливало то, что всё же это не полный контроль. Железо устаревает, обновления прекращаются. А некоторые события с известной компанией на букву «W» и потерянными данными, только подтвердили мою паранойю. Опять же, версионирование и контроль количества копий здесь недоступны (поправьте, если ошибаюсь).

Если у тебя в руках только git, все становится похожим на репозиторий. Попробовал организовать коллекцию, опираясь на эту статью.

На ПК — основные репы, на сервере — bare. Вместе с индексом git, вес получается более 130 Гб. Главный плюс:

+ возможность откатиться к любой версии файла.

Но минусов больше:

— регулярно меняются двоичные файлы: офисные документы, изображения, а значит быстро растёт объём. Я стараюсь вести документы в md, но это слабо помогает на фоне двоичного контента.

— я не могу получить на телефон отдельный файл, поработать с ним и запушить обратно, нужно тянуть все 130 Гб. А память она не резиновая, да и «Гиги» не бесконечные в сотовой сети. Вариант с submodule, не полностью решает вопрос и усложняет схему.

— Git операции в моем кейсе медленные, нагрузка на диск — дикая.

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

+ Возможность частичной загрузки репозитория.

— Нет сервера (дома вырубили инет, свет) — нет возможности сбросить / получить файлы, синхронизировать состояние с другим клиентом.

— Я не знаю svn.

git lfs

Для моих целей — сплошной минус: надо ставить и настраивать отдельный сервер, где будет храниться содержимое, бэкапы в google disk недоступны. К слову, annex умеет хранить данные на сервере с поддержкой git-lfs.

UPD: Syncthing

@lizardus обратил моё внимание в комментариях, что наиболее релевантный инструмент я не рассматривал.

Syncthing — поистине царское решение! Помимо клиентов, он поддерживает систему relay-серверов. Можно пользоваться публичными (декларируется безопасность) или запустить свой, как публичный, так и приватный для объединения клиентов, которые не могут связаться напрямую. Большая часть задач, указанная в начале статьи и не только, решается им успешно, включая:

+ настраиваемое версионирование.

+ частичная синхронизация между разными ПК и мобильными устройствами.

+ хождение за NAT (с оговорками).

+ инструмент прост в установке и настройке.

При этом для моего кейса есть несколько узких мест:

— нет поддержки синхронизации локально, со съёмными устройствами. Есть обходные пути, вроде помещения на флешку портативной версии Syncthing.

— нет поддержки синхронизации с FTP, GDrive и прочей экзотикой. Есть обходной путь: синхронизировать папку, которую синхронизирует с гуглом клиент от гугла. Но этот вариант мне не кажется надёжным.

— корпоративный NAT с закрытыми портами, похоже, непреодолим. Если нужный порт открыт, можно опереться на relay-сервер, но, например, синхронизироваться через корпоративный ftp уже не получится.

— и главное лично для меня: недоступно оффлайн управление структурой всей коллекции файлов без скачивания их содержимого. А как же в дороге нашарить в телефоне папку Collections/Soft/Distr/Linux/Manjaro, обнаружить там Debian_10.iso и перенести его куда следует? При этом перемещение на клиентах, содержащих файл не будет стоить ничего: переместится только символьная ссылка, без нагрузки на диск.

В общем, если у вас нет паталогической любви к git, как у меня и для вас некритичны указанные моменты, то ваш выбор — Syncthing. Иначе — стоит почитать дальше.

Всемогущий git annex

Краткая справка

git-annex — система управления файлами без индексации содержимого. С помощью git индексируются только имена, пути файлов и хэш содержимого. Сам контент хранится в недрах .git/annex. Или не хранится, если на конкретном устройстве он не нужен.

Git annex можно использовать для раздельного управления файлами: текстовые храним в git и управляем версиями содержимого, annex управляет двоичными. Всё это можно настроить, в том числе опираясь на тип контента и / или его размер, но в этой статье я сфокусируюсь на полном управлении файлами посредством annex.

На первый взгляд, инструмент решает все задачи и предоставляет ряд приятных бонусов, в том числе, например, возможность хранить дерево файлов без содержимого в закрытой репе github, что предельно упрощает синхронизацию состояния репозитория между устройствами. Здесь есть и веб-приложение в качестве GUI и ассистент для автоматического добавления файлов и много других интересных мелочей.

Читайте также:  Как настроить домашний медиа сервер для телевизора sony

Установка

Для начала достаточно установить git, и git-annex характерным для вашей системы способом. Например, в Manjaro:

Для windows git-annex отсутствует, Есть бета-версия git-annex под windows. Стабильную версию можно установить в подходящем дистрибутиве в WSL. В ubuntu 20.2 он есть в репозитории. Установка на телефоне в termux ненамного сложнее:

Для обновления достаточно запустить загруженный скрипт повторно.

Начало использования

Пожалуйста, потренируйтесь на некритичных или тестовых файлах. Хотя git annex дружелюбен и бережно относится к данным, способов отстрелить себе байты здесь достаточно!

Стартовать в моём случае лучше с нового репозитория. Запускать управление файлами с git-annex можно и в действующем хранилище git, но все ранние версии аннексированных файлов останутся в git, что мне не нужно.

Инициализируем новый гит реп, затем annex, потом добавим все файлы в annex, только после этого добавим файлы в git и закоммитим что получилось:

При инициализации annex репозитория можно не указывать имя (у нас это homepc), это можно сделать позже командой describe.

Теперь все ваши файлы превратились в символьные ссылки, а содержимое отправилось в .git/annex/objects. Annex создал ветку для хранения своей технической информации «git-annex» и ветку промежуточной синхронизации «synced/master». Эти вещи использует сам annex, нам туда ходить не нужно.

Если ваша файловая система не поддерживает ссылки, например exfat или fat32, файлы будут продублированы в .git/annex, а ветка сменится на особую adjusted/unlocked. Пользоваться annex на «crippled filesystem» довольно накладно по занимаемому месту, но не накладнее, чем git, ведь с annex вы можете дропнуть ненужные в этом месте файлы с конкретного устройства.

Git annex, настраиваем и пробуем

Отмечу, что если команда git annex требует путь, а вы его не указали, считается что вы поставили точку вместо пути, указав текущий каталог.

Для начала давайте отредактируем какой-нибудь файл и сохраним его. И сразу, как говорит гугл хром: «Опаньки». По умолчанию, annex блокирует изменение файла, защищая его содержимое: снимает права на запись. Для изменения файла нужно: разблокировать его, изменить и закоммитить:

Заметьте, при git commit содержимое добавится в annex, благодаря установленным git annex хукам. В git зафиксируется только изменение ссылки. В данный момент, файл всё еще разблокирован, можно использовать git annex lock myfile.docx для блокировки.

Можно не коммитить изменения, если осмысленное описание изменений вам не нужно, при синхронизации annex это сам, подставив имя ветки и репозитория в описание. При разблокировании ссылка заменяется обычным файлом. Поскольку содержимое у нас сохранено, если откатиться на коммит назад, git вернет ссылку на старый файл, содержимое которого в annex есть. Мы ничего не потеряли.

Если старые версии содержимого не нужны, запускаем поиск неиспользуемых файлов и удаляем все или часть из них.

Если файл используется в какой-то ветке, он не попадёт в список. При этом annex не позволит удалить единственную копию неиспользуемого файла без ключа —force, защищая ваши данные. Это поведение настраивается изменением параметра mincopies:

Существует второй параметр: numcopies. Это — желательное количество копий. Можно настроить репозиторий так, чтобы он получал файлы, общего количества копий которых не хватает до желательного.

Если редактировать файлы вам требуется часто, стоит перейти на «сдвинутую» (adjusted) ветку.

Annex вернет все ваши файлы на место, заменив ими ссылки и откроет их для редактирования. Теперь вы на ветке «adjusted/master(unlocked)». Такую сдвинутую ветку можно сделать для любой исходной. При синхронизации все автоматом сольется в оригинальную ветку.

Внимательный читатель заметил, что файлы теперь задублированы: они и в рабочем каталоге и в хранилище annex. Если место для вас критично, вы можете заменить их на жёсткие ссылки. Достаточно установить параметр annex.thin в true:

При этом вы берете на себя риски потери оригинального содержимого файла. Такой фокус не пройдёт на fat, но здесь всегда придётся пользоваться сдвинутой веткой, т.к. fat не поддерживает ссылки в принципе.

Git annex умеет создавать другие сдвинутые ветки, например, скрывая файлы, содержимого которых нет в репозитории. Здесь можно посмотреть подробнее.

Пару слов об удалении и перемещении. При удалении файлов, достаточно git add . , так как содержимое файлов не менялось. Однако, при перемещении / переименовании, уже одним git не обойтись, т.к. ссылки ломаются, важно сделать

Это чинит ссылки, после чего нужно добавить и зафиксировать всё в git.

Как я писал выше, коммитить можно вручную или просто делать annex sync , коммит пройдёт автоматически.

Настраиваем второй репозиторий

Давайте добавим второй репозиторий. Я хотел бы забекапить всё на домашний мини-сервер, который будет транслировать медиаконтент по dlna. Удобно: снял видео / фото на телефон, синхронизировал, и можно смотреть все на большом экране.

Соединяться будем по ssh. Предполагается, что настроен доступ по ключу.

Файлы на другом устройстве можно сохранить разными способами:

Список файлов в хэшированной структуре папок (имена и пути создаются по хэшу), «special remote» без истории git.

Простое дерево папок и файлов, обычный вид, «special remote» без истории git.

Bare репозиторий git с историей.

Обычный реп git с историей.

Сейчас нам подходит вариант 4, так как это и бэкап и источник медиа-данных для dlna-сервера.

На втором пк должен быть установлен git и annex.

Делаем на втором пк

Вы можете использовать git clone вместо первых трёх строк, тогда вы получите весь контент git быстрее. Git annex init делать обязательно, если хотим хранить в репозитории содержимое файлов. Если этого не сделать, annex пометит репозиторий как only git хранилище и файлы туда отправлять откажется.

Так как у нас не bare репозиторий, а пушить мы сюда хотим, настраиваем git:

Теперь при push в репозиторий, файлы будут обновляться.

На первом пк* Считаем, что в .ssh/config второй пк настроен как miniserver

Annex прочитает хэш-номер второго репа, его описание, после чего синхронизирует все git-ветки. Но данные всё ещё на одном ПК, на втором — битые ссылки. Также отмечу, что в текущей конфигурации минисервер не может сам пушить данные обратно или забирать с homepc. Если мы этого хотим, нужно настроить git receive.denyCurrentBranch на homepc, а затем на miniserver подключить homepc по аналогии с действиями выше.

Теперь отправим на miniserver файлы. На самом деле, annex поддерживает крутую систему групп и настроек wanted content. Можно очень гибко указать какие файлы по весу, количеству копий, типу папок, имени, типу содержимого нужны в каждом репозитории. Есть преднастроенные группы: backup, archive, client, transfer. Но тема обширная, в рамках этой статьи будем все делать вручную, хотя на бою стоит, конечно, ознакомиться с этой информацией здесь. При правильной настройке вы можете одним

Скопировать файлы в соответствующие подключенные репозитории и удалить ненужные файлы оттуда.

Чтобы сказать annex, что в репозитории нужны все файлы, присваиваем репозиторию группу backup и тип желательного содержимого standard — использовать дефолтные настройки группы:

Ну а мы вернёмся к ручному труду. Чтобы отправить файл на miniserver делаем:

Если не указывать имя файла и запустить команду в корне репозитория, скопируются все файлы. Можно не только копировать, но и перемещать (move). Теперь содержимое файла можно дропнуть с первого ПК:

Annex проверил, что файл действительно есть на miniserver, mincopies у нас 1, а значит можно файл безопасно удалить. Обратите внимание, что annex именно сходил на miniserver и проверил фактическое наличие файла, а не просто глянул в лог. Если сервер недоступен, annex не будет удалять файл без —force. Такой подход мне очень импонирует, так как снижает риски потерь содержимого.

После любой операции с файлами, annex сохраняет лог в своей ветке гит, но только локально. Чтобы все подключенные репозитории знали актуальное состояние содержимого: где лежит, сколько копий, важно сделать

Читайте также:  Когда не будут работать банковские карточки

Иначе miniserver сам не будет знать, что у него есть какой-то файл.

Если после sync добавить имя репозитория, синхронизация пройдёт только с ним.

Посмотреть местонахождение файлов:

Настраиваем репозиторий на телефоне

На телефоне всё практически так же, как и в описании выше, кроме нескольких особенностей.

Во-первых, нужно решить где вы будете хранить файлы:

A) В папке termux.

+ ext4. Файлы хранятся правильно, не дублируются.

— открытие файла в другой программе превращается в квест. При использовании termux-open, файл копируется во временную папку или в Download и открывается. Посмотреть фотки, листая в сторонней программе, или открыть папку с музыкой во встроенном плеере не получится. В таком кейсе рекомендую использовать файловый менеджер с возможностью добавления папки termux как хранилища: Material files, Total commander, Mix и т.д. Встроенные в файлменеджер средства просмотра и прослушивания, отчасти компенсируют упомянутый минус.

B) В общедоступном хранилище в памяти телефона или на sd карте.

+ все программы имеют нормальный доступ к файлам.

— на хранилище Android с файловой системой sdcardfs не работают хуки annex для git, что критично.

— sdcardfs не поддерживает ссылки ни в каком виде, загруженные файлы дублируются.

С хуками вопрос можно решить двумя способами:

Перенести папку .git/hooks в домашнюю папку termux и настроить в git:

Перенести всю папку .git в домашнюю папку termux, оставив вместо неё в рабочем репозитории текстовый файл .git с адресом:

Во-вторых иногда annex просто повисает при работе на sdcardfs. Если операция работает более 20 минут, а в htop ни один запущенный процесс не тратит ни секунды времени, возможно пора жёстко закрыть termux и перезапустить операцию.

Для повышения скорости операций, регулярно, чаще чем в обычном git репе, стоит делать git gc && git prune —expire=now

Впрочем, это характерно для любого репозитория git annex.

Добавляем бэкап на внешнем носителе

Вариант с добавление репа git очевиден, рассмотрим экспорт дерева файлов без истории git на «crippled fs»: exFat.

К примеру, я хочу иметь HDD диск, который супруга может подключить к ТВ или ПК с windows у друзей и посмотреть фоточки.

Параметр exporttree=yes говорит annex, что экспортируем мы файлы натуральным деревом с их именами, в противном случае экспорт пройдёт в хешированное дерево.

Параметр encryption позволяет зашифровать файлы, но только при использовании special remotes: если файлы храним не в git репозитории. Чуть подробнее расскажу о данном параметре ниже, при подключении google drive. Здесь указано значение «none»: без шифрования.

Есть и параметр importtree, но я крайне не рекомендую его использовать, если диск с «crippled fs». Ниже расскажу почему.

Если теперь вы сделаете

Файлики полетят на внешний диск. Какие возможны проблемы: annex не может скопировать файлы, имена которых недопустимы в windows: содержащие определённые символы, вроде двоеточия. Также есть баг с копированием на exfat файлов с несколькими точками в конце имени. Баг известен, но пока не исправлен.

Если вы сделаете sync —content в хранилище с настроенными на «yes» importtree и exporttree, получится такая загогулина:

Некоторые файлы могут не скопироваться по приведенным выше причинам.

При импорте, не найдя некоторых файлов на внешнем диске, annex посчитает, что они были удалены и удалит их с основного диска.

Впрочем, если вы проверили, что annex синхронизирует вашу коллекцию без ошибок и имена пишутся нормально, параметр можно включить. Но изменить параметр для уже созданного репозитория не выйдет, нужно добавлять новый.

Чтобы активировать ранее созданное хранилище BigBlueHDD в другом репозитории, просто инициализируем его с указанием пути. Все настройки special remote, кроме пути, сохранены в момент создания, менять их нельзя.

Подводные камни в WSL windows 10

Windows 10 я пользуясь на работе. У нас довольно строгие корпоративные ограничения и у юзеров нет административных прав, что, в целом, верно. К счастью есть возможность, установить и настроить wsl (после трёх заявок и пяти объяснений, что я выпью больше крови эникеев, при установке ffmpeg, optipng, jpegoptim, git и прочих утилит под виндой отдельными заявками, и регулярном их обновлении). Конечно, ни о какой инсайдерской версии Windows речь не идёт, так что монтирование внешних дисков, флешек с ext4 в моей версии wsl недоступно.

В ходе экспериментов с флешкой, выяснилось:

Флешку с fat32, exfat, использовать в annex не получается, при том что в git должно работать. Возникает permission denied при внутренних операциях с содержимым, в частности с перемещением файлов. Единственный вариант: использование ntfs-флешки.

Для использования флешки с ntfs, нужно монтировать её с параметром metadata, характерным для wsl способом через гланды drvfs:

Метод научного тыка привёл меня к следующим выводам:

В самом репозитории на основном диске, стоит в git включить настройку annex.crippledfylesystem=true и перейти на сдвинутую разблокированную ветку, если всё это не произошло автоматически при git annex init.

НЕ следует переключать в true настройку annex.pidlock, это приведёт к знакомым проблемам с permission denied.

В annex в wsl ломается кодировка русских описаний коммитов. Вот в обычном git не ломается, а в annex — да. Возможно, что-то происходит при слиянии adjusted/unlocked ветки с базовой версией. Копать проблему не стал, перешёл на английский в коммитах.

Добавляем облачное хранилище на примере gdrive

Для бэкапа на облачные хранилища, annex использует rclone.

Установите rclone, запустите rclone config и настройте нужное хранилище, перед подключением его в git annex. В целом, с внешними хранилищами, включая gdrive, я.диск, ftp и другие логика одинакова: настраиваем их в rclone и подключаем в annex.

За этой простой рекомендацией, для gdrive скрывается вполне реализуемый, но затейливый танец с бубном в консоли девелопера в гугл. Процесс описан здесь. Если кратко, вам нужно будет настроить использование google drive API приложением rclone, узнать ID нужной папки, внести секретный ключ и ID папки в настройки rclone, предоставить доступ rclone к вашей учётке. Последнее поможет сделать rclone config, но ключик истекает через пару дней и приходится его обновлять. С ftp всё гораздо проще.

Итак, добавляем хранилище на гугл диске. В примере «gbackup» — это имя облачного хранилища в rclone и, одновременно, имя репа в annex.

target — имя хранилища в rclone,

prefix — папка внутри целевого каталога, в которой сформируется структура папок,

chunk — на части какого размера пилить файлы. В примере мы делим файлы на части не более 50 Мбайт, это может упростить загрузку крупных файлов. Также это полезно, если какой-нибудь сервер ограничивает максимальный размер файла.

ecryption — тип шифрования. Я выбрал «shared»: каждый репозиторий с историей git, имеет ключ. О других вариантах вы можете почитать здесь.

rclone_layout — настройка структуры папок. Я выбрал рекомендуемую: «lower» — до 2 уровней вложенности.

Выводы

Git-annex позволяет решить все обозначенные во вводной части статьи задачи. Для комфортного использования, конечно, стоит почитать walkthrough, попробовать возможности, связанные с ассистентом и webapp. Получать файлы можно по bittorrent, https, в общем, в статье раскрыта только верхушка айсберга.

При первом знакомстве с технологией, я не сразу понял зачем мне использовать git, который не отслеживает содержимое («фен, который не сушит»). На текущий момент, git-annex пользуюсь полгода и именно этот подход кажется мне самым гибким и удобным способом хранения данных.

Буду благодарен за обратную связь и дополнения в комментариях.

Источник

Оцените статью