21/10/2023
I en verden domineret af Apples lukkede økosystem er det ofte en udfordring at interagere med iPhone-filer uden for den officielle ramme, typisk via en Mac eller iTunes på en Windows-pc. Men hvad nu hvis du er en dedikeret Linux-bruger og har brug for at få adgang til dine iPhone-filer, foretage sikkerhedskopier eller endda gendanne tabte data? Måske er det for at frigøre plads, arkivere vigtige dokumenter eller i et desperat forsøg på at redde dyrebare minder. Selvom Apple ikke officielt understøtter Linux, findes der værktøjer og metoder, der kan hjælpe dig med at opnå en vis grad af kontrol over din iOS-enhed fra dit foretrukne operativsystem. Denne artikel vil dykke ned i, hvordan du kan navigere i denne komplekse verden og udnytte Linux's fleksibilitet til at håndtere dine iPhone-data.

Det er vigtigt at understrege, at da disse metoder ikke er officielt understøttet af Apple, kan de være ustabile og potentielt ændre sig over tid, efterhånden som Apple opdaterer sine sikkerheds- og overførselsprotokoller. Der er altid en risiko forbundet med uofficielle løsninger, herunder muligheden for datatab. Brug derfor altid disse metoder med forsigtighed og overvej at have en backup via officielle kanaler, hvis muligt. Denne guide er udarbejdet med henblik på at give dig de bedste tilgængelige oplysninger, men ansvaret for brugen ligger hos dig.
Få adgang til og sikkerhedskopier din iPhone på Linux
Grundlaget for at interagere med din iPhone på Linux er libimobiledevice-projektet. Dette er en samling af biblioteker og værktøjer, der giver Linux-systemer mulighed for at kommunikere med iOS-enheder ved hjælp af de samme protokoller som iTunes. Det er en kraftfuld ressource for udviklere og avancerede brugere, der ønsker dybere kontrol over deres Apple-enheder.
Installation af nødvendige værktøjer
På de fleste moderne Linux-distributioner, især Ubuntu og Debian-baserede systemer, er installationen ret ligetil. Du skal typisk installere pakken libimobiledevice-utils, som indeholder de kommandoer, vi skal bruge.
sudo apt update sudo apt install libimobiledevice-utilsFor andre distributioner kan pakkenavnet variere (f.eks. libimobiledevice på Fedora/RHEL, eller du skal kompilere fra kildekoden).
Opret en fuld sikkerhedskopi
Når værktøjerne er installeret, kan du begynde at sikkerhedskopiere din iPhone. Processen er bemærkelsesværdigt enkel, takket være idevicebackup2-værktøjet. Først skal du oprette en mappe, hvor din backup skal gemmes:
mkdir ios-backupsTilslut derefter din iPhone til din Linux-computer via et USB-kabel. Din iPhone vil sandsynligvis spørge, om du 'stoler på' computeren. Vælg 'Tillid' (eller 'Trust'), ellers kan backup-processen ikke starte.
Start nu backup-processen med denne kommando:
idevicebackup2 backup --full ios-backups/Denne kommando vil oprette en fuld sikkerhedskopi af din iPhone i den angivne mappe. Bemærk, at ios-backups/ skal være en mappe, der eksisterer. Efter backup er færdig, vil du finde en undermappe med et langt UUID (Universal Unique Identifier) inde i ios-backups/. Dette UUID er unikt for din enhed og backup.
Undersøgelse af backup-filer
En af de første ting, du vil bemærke, når du ser på backup-filerne, er, at de alle har kryptiske navne, der består af hash-værdier i stedet for genkendelige filnavne. Dette gør det umuligt at navigere manuelt gennem backup'en for at finde specifikke filer som dine billeder eller beskeder. Heldigvis indeholder backup'en en central database, der kan hjælpe os med at afkode dette.
Manifest.db: Nøglen til dine filer
Inde i din backup-mappe (f.eks. ios-backups/<backup UUID>/) finder du en fil kaldet Manifest.db. Dette er en SQLite-database, der indeholder alle de nødvendige oplysninger for at forstå backup-strukturen, herunder de originale filnavne og deres tilsvarende hash-navne i backup'en.

Du kan åbne denne database med sqlite3-kommandoen, som typisk er forudinstalleret på de fleste Linux-systemer:
cd ios-backups/<backup UUID>/ sqlite3 Manifest.dbInde i sqlite3-prompten kan du se tabellerne:
sqlite> .tables Files PropertiesTabellen Files er den, vi er interesseret i. Du kan se dens skema med:
sqlite> .schema Files CREATE TABLE Files (fileID TEXT PRIMARY KEY, domain TEXT, relativePath TEXT, flags INTEGER, file BLOB); CREATE INDEX FilesDomainIdx ON Files(domain); CREATE INDEX FilesRelativePathIdx ON Files(relativePath); CREATE INDEX FilesFlagsIdx ON Files(flags);De vigtigste felter for os er:
fileID: Hash-navnet på filen i backup'en. Dette er filens faktiske navn i backup-mappen.domain: Den sandkasse eller applikationsdomæne, filen tilhører (f.eks.HomeDomain,CameraRollDomain).relativePath: Den relative sti til filen inden for dens domæne. Dette er det "rigtige" filnavn og sti, som du ville se på din iPhone.
Find specifikke filer (eksempler)
Lad os sige, at du leder efter dine SMS-beskeder. Du ved måske, at de ofte gemmes i en fil kaldet sms.db. Du kan finde dens hash-ID med en SQL-forespørgsel:
sqlite> SELECT fileID, domain, relativePath FROM Files WHERE relativePath LIKE '%sms.db%'; 3d0d7e5fb2ce288813306e4d4636395e047a3d28|HomeDomain|Library/SMS/sms.dbResultatet viser fileID, domain og relativePath. Du kan nu finde filen i backup'en. Backup'en er struktureret i mapper baseret på de to første tegn i fileID. Så sms.db-filen vil være placeret under mappen 3d/ i din backup:
ls 3d/3d0d7e5fb2ce288813306e4d4636395e047a3d28Mange af disse filer, som sms.db, er selv SQLite-databaser, som du kan udforske yderligere med sqlite3. For eksempel, for at se tabellerne i sms.db:
sqlite3 3d/3d0d7e5fb2ce288813306e4d4636395e047a3d28 sqlite> .tables _SqliteDatabaseProperties attachment chat chat_handle_join ... message ...Tabellen message indeholder de faktiske SMS-beskeder. Du kan endda eksportere dem til en CSV-fil:
sqlite3 -header -csv ./HomeDomain/Library/SMS/sms.db "select datetime(substr(date, 1, 9) + 978307200, 'unixepoch', 'localtime') as date,account,text from message" > sms.csvAndre interessante filer og domæner:
- Browserhistorik: Hvis enheden har Firefox, kan du finde historikken i
browser.db. For Safari er det mere komplekst, men ofte findes relaterede filer underHomeDomain/Library/Safari/. - WIFI-information: Se filen
RootDomain/Library/Preferences/wifid.plist. - Kameradata: Filer under
CameraRollDomaindomænet. - Adressebog/Kontakter: Findes typisk i
HomeDomain/Library/AddressBook/AddressBook.sqlitedb.
Automatisk sortering af backup-filer
Manuelt at sortere gennem de hash-navngivne filer er kedeligt. Heldigvis kan vi automatisere processen ved hjælp af et simpelt Python-script, der bruger informationen fra Manifest.db til at genskabe den oprindelige mappestruktur.
Opret en fil kaldet unpack_ios_backup.py og indsæt følgende kode:
import sqlite3 import os import sys import shutil import argparse parser = argparse.ArgumentParser(description='Sort iOS backup made with idevicebackup2') parser.add_argument('-p', '--path', help='Path to backup file with Manifest.db', required=True) args = parser.parse_args() path = os.path.join(args.path, "Manifest.db") if not os.path.isfile(path): print(f"Could not find path: {path}") sys.exit(1) connection = sqlite3.connect(path) cursor = connection.cursor() rows = cursor.execute("select fileID,relativePath,domain from Files").fetchall() for row in rows: src = os.path.join(args.path, row[0][:2] + '/' + row[0]) dest = os.path.join('unpacked', row[2], row[1]) # Use os.path.join for robustness if os.path.isfile(src) and row[1].strip() != '': # Check if relativePath is not empty # Create parent directories for the destination file os.makedirs(os.path.dirname(dest), exist_ok=True) try: shutil.copy(src, dest) # print(f"Copied {src} to {dest}") # Uncomment for verbose output except Exception as e: print(f"Error copying {src} to {dest}: {e}") connection.close() print("Backup sorting complete. Files are in the 'unpacked' directory.")For at køre scriptet, naviger til den mappe, der indeholder din ios-backups mappe, og kør:
python3 unpack_ios_backup.py -p ios-backups/<backup UUID>/Erstat <backup UUID> med den faktiske UUID for din backup. Scriptet vil oprette en mappe ved navn unpacked/ og kopiere alle genkendelige filer ind i en struktureret mappestruktur, der ligner den, der findes på din iPhone. For eksempel vil sms.db-filen nu være placeret her:
find unpacked/ -name "sms.db" unpacked/HomeDomain/Library/SMS/sms.dbDette script er et kraftfuldt værktøj, der forvandler en uoverskuelig samling af hash-filer til en navigerbar filstruktur, hvilket gør det langt nemmere at finde og analysere specifikke data.
Håndtering af binære plist-filer
Mange af konfigurations- og statusfilerne i en iPhone-backup er i Apples proprietære binære Property List (plist) format. Disse er ikke læsbare som almindelig tekst. Heldigvis kan libplist-utils-pakken (som ofte installeres med libimobiledevice-utils) konvertere disse til XML-format, der er let at læse.
sudo apt-get install libplist-utils # Hvis ikke allerede installeret plistutil -i ./unpacked/HomeDomain/Library/DeviceRegistry.state/historySecureProperties.plist -o ./unpacked/HomeDomain/Library/DeviceRegistry.state/historySecureProperties.plist.xmlErstat stien med den faktiske plist-fil, du ønsker at undersøge. Den nye .xml-fil vil indeholde læsbare data.
Gendannelse af tabt data fra din iPhone
At gendanne tabt data er en væsentligt mere kompleks og risikabel proces end blot at få adgang til og sikkerhedskopiere filer. Dette skyldes primært to faktorer: For det første er moderne iPhones stærkt krypteret, hvilket gør direkte filgendannelse vanskelig uden dekryptering. For det andet kræver de mest effektive metoder ofte en "jailbroken" iPhone, hvilket annullerer Apples garanti og potentielt kan gøre din enhed ustabil eller sårbar over for sikkerhedsrisici. Overvej risikoen nøje, før du fortsætter.
Advarsel og forudsætninger
ADVARSEL: Jailbreaking af din iPhone annullerer din garanti og kan potentielt skade din enhed eller gøre den sårbar. Denne metode er kun for avancerede brugere og bør udføres med ekstrem forsigtighed. Der er ingen garanti for, at data kan gendannes, og der er risiko for yderligere datatab.
For at forsøge dataudtrækning på denne måde, skal du bruge:
- En Jailbroken iPhone.
- BSD Subsystem og OpenSSH installeret på din iPhone (via Cydia).
- Terminal (eller MobileTerminal) installeret på din iPhone.
- En SSH-server installeret på din computer (standard på de fleste Linux-systemer).
- 'DD'-værktøjet installeret på din computer (forudinstalleret på de fleste Linux-systemer).
- PhotoRec installeret på din computer (fra TestDisk-pakken).
- En stabil Wi-Fi-forbindelse mellem din iPhone og din computer.
Trin til at oprette et diskbillede af din iPhone
- Slå autolås fra på din iPhone: Gå til Indstillinger > Generelt > Autolås > og vælg "Aldrig". Dette forhindrer, at enheden går i dvale under processen.
- Tilslut iPhone til opladeren: Sørg for, at din iPhone har tilstrækkelig strøm, da processen kan tage flere timer.
- Start Terminal på din iPhone: Åbn Terminal-appen.
- Brug "su" til at blive root: Indtast
suog derefter din root-adgangskode (standard er ofte "alpine", hvis du ikke har ændret den). - Opret diskbilledet via SSH: Fra din iPhones Terminal, kør følgende kommando. Erstat
usernamemed dit brugernavn på din Linux-computer ogcomputer_IPmed din computers IP-adresse. - Case-sensitiv: Kommandoen er følsom over for store og små bogstaver. Skriv den præcist.
- Pas på
if=ogof=: Forveksl ikkeif=(input file) medof=(output file). En forkert placering kan overskrive din iPhones hukommelse. - Tålmodighed er en dyd: Denne proces kan tage mange timer, da den kopierer hele diskens indhold. Der vil ikke være en fremskridtslinje som standard.
- Fremdriftsindikation: Hvis du ønsker at se fremdriften (dd-statistik), kan du sætte jobbet i baggrunden (Ctrl-Z, derefter
bg). Send derefter USR1-signalet til dd-processen (kill -USR1 `pgrep dd`), og den vil udskrive statistik til stderr.
dd if=/dev/rdisk0 bs=4096 | ssh -C username@computer_IP 'dd of=iphone.img'Vigtige bemærkninger til denne kommando:
Brug PhotoRec til at gendanne filer
Når diskbilledet (iphone.img) er kopieret til din Linux-computer, kan du bruge PhotoRec til at scanne det for tabte filer. PhotoRec er et fremragende filgendannelsesværktøj, der ignorerer filsystemet og søger efter rå data, hvilket er ideelt for beskadigede eller utilgængelige partitioner.
photorec iphone.imgFølg PhotoRec's trin-for-trin guide, som vil lede dig gennem valg af partition, filtyper til gendannelse og destination for de gendannede filer. Vær opmærksom på, at PhotoRec vil gendanne alle filer, den finder, uanset filtype, og de vil blive gemt i nye mapper baseret på deres type (f.eks. recup_dir.1, recup_dir.2 osv.).
Data-kryptering på nyere iPhones
En kritisk faktor at huske på er, at data er krypteret som standard på iPhone 4 og nyere modeller. Dette betyder, at selvom du opretter et diskbillede, vil dataene på billedet være krypterede og ubrugelige, medmindre du dekrypterer dem først. Dekryptering kræver ofte specifikke værktøjer og en dybdegående forståelse af iOS-sikkerhed. Dette gør gendannelse fra nyere iPhones betydeligt mere udfordrende og ofte uden for rækkevidde for den gennemsnitlige bruger, medmindre man har adgang til avancerede forensiske værktøjer og ekspertise.

Gendannelse fra iPod
For ældre iPod-modeller, især dem med harddisk, er processen ofte simplere. Du skal sætte din iPod i Disk Mode, før du tilslutter den til din computer. Dette gør den tilgængelig som en almindelig ekstern harddisk, som PhotoRec derefter kan scanne direkte uden behov for jailbreaking eller komplekse SSH-tricks.
Sammenligning af metoder for datahåndtering på Linux
For at give et klart overblik, lad os sammenligne de forskellige metoder og deres karakteristika:
| Metode | Officiel Support | Nemhed | Data Typer | Risiko | Krav |
|---|---|---|---|---|---|
| iTunes/Finder (Windows/Mac) | Fuld | Høj | Alle (apps, indstillinger, medier, beskeder) | Lav | Windows/Mac OS |
| libimobiledevice (Adgang/Backup) | Ingen | Medium | Filer, beskeder, kontakter, Wi-Fi-info (rå data) | Lav-Medium | Linux, USB-kabel |
| Jailbreak + PhotoRec (Gendannelse) | Ingen | Lav | Slettede billeder, videoer, dokumenter (rå data) | Høj (garanti bortfalder, datatab) | Jailbroken iPhone, SSH, PhotoRec, DD, Wi-Fi |
Ofte Stillede Spørgsmål (FAQ)
Q: Er det sikkert at bruge disse metoder til at få adgang til eller sikkerhedskopiere min iPhone på Linux?
A: For adgang og backup via libimobiledevice er risikoen relativt lav, da det efterligner officiel kommunikation. Men da det ikke er officielt understøttet, er der altid en minimal risiko for uforudsete problemer. For datagendannelse, især med jailbreaking, er risikoen signifikant højere, da det kan annullere garantien og potentielt skade enheden eller medføre datatab.
Q: Virker disse metoder på alle iPhone-modeller og iOS-versioner?
A:libimobiledevice-projektet opdateres løbende for at understøtte nye iOS-versioner og iPhone-modeller, men der kan være forsinkelser. Ældre versioner af iOS og iPhones er generelt bedre understøttet. Data-kryptering på nyere iPhones gør gendannelse af slettede data meget sværere.
Q: Mister jeg min garanti, hvis jeg jailbreaker min iPhone for at gendanne data?
A: Ja, ifølge Apple annullerer jailbreaking din enheds garanti. Du bør kun jailbreake, hvis du er fuldt ud opmærksom på og accepterer denne risiko.
Q: Kan jeg gendanne slettede beskeder eller billeder, der er blevet overskrevet?
A: Hvis data er overskrevet (dvs. ny data er skrevet til den samme plads på lagermediet), er det ekstremt usandsynligt, at de kan gendannes. Gendannelsesværktøjer som PhotoRec fungerer bedst, når de slettede data stadig er fysisk til stede på disken, men blot er markeret som "ledig plads" af filsystemet.
Q: Hvad er den primære forskel mellem en "backup" og "gendannelse" i denne kontekst?
A: En backup er en kopi af din iPhones nuværende data, som kan bruges til at genskabe enhedens tilstand til et tidligere tidspunkt, hvis den går tabt eller bliver beskadiget. Gendannelse refererer derimod til at forsøge at genoprette data, der allerede er blevet slettet eller tabt, ofte fra en ødelagt eller utilgængelig datakilde.
Konklusion
Selvom Apple gør det til en udfordring at administrere iPhone-filer uden for deres økosystem, viser denne guide, at det ikke er umuligt for Linux-brugere. Med værktøjer som libimobiledevice kan du tage kontrol over dine backups og endda dykke ned i de rå data på din enhed. Dog skal man altid udvise forsigtighed, især når det kommer til datagendannelse, hvor risiciene er højere, og succes ikke er garanteret.
Evnen til at sikkerhedskopiere og undersøge iPhone-filer direkte fra Linux giver en utrolig fleksibilitet og kontrol, som mange brugere sætter pris på. Uanset om du er en teknisk entusiast, der ønsker at forstå din enhed bedre, eller en bruger, der desperat forsøger at redde værdifulde data, tilbyder Linux en række løsninger. Husk altid at have en omfattende forståelse af de værktøjer, du bruger, og at prioritere datasikkerhed for at undgå ubehagelige overraskelser.
Hvis du vil læse andre artikler, der ligner iPhone-filer på Linux: Adgang, Backup & Gendannelse, kan du besøge kategorien Teknologi.
