noraworld / scraps

Just my scraps, like Zenn scraps feature
0 stars 0 forks source link

MacBook Air & USB バックアップメモ #17

Open noraworld opened 2 years ago

noraworld commented 2 years ago

2018 年に購入した個人用の MacBook Pro が、2022 年 4 月 16 日 (土) にメルカリで売れたので、約 1 週間かけてバックアップを行った。

バックアップ作業が結構たいへんでもうやりたくないと思ったのと、MacBook Pro のバックアップの勢いで、MacBook Air もデータをすべてバックアップして初期化しようと思った。MacBook Air は 2014 年 (大学 1 年生) のときに購入し使い続けていたが、2018 年に MacBook Pro を購入してからは使わなくなった。

そのため、中に入っているデータはかなり古くて、どのような用途で使われていた・開発されていたのかわからないものもおそらく出てくるだろう。また、かなり古いモデルなので、ツールのバージョン等で動かないものも多々あると思う。

ここには、それらの問題を解決した方法なども含め、バックアップのログとして残しておく。

noraworld commented 2 years ago

バックアップするデータは可能な限り GitHub 上にプッシュする。なので、SSH 経由で GitHub にプッシュする必要があるが、鍵が古くてプッシュできないかもしれない。

そう思って試してみたが、特に問題はなかった。

$ ssh -T github
Hi noraworld! You've successfully authenticated, but GitHub does not provide shell access.

なので鍵は問題なし。

noraworld commented 2 years ago

最近は GPG によるコミットの署名を行っていて、MacBook Air でも署名付きでコミットをしたかった。ところが gpg コマンドがインストールされていなかったので、インストールする必要があった。

その前に、このバックアップのために新しくツールをインストールしてしまう前に、現状の Homebrew でインストールしたパッケージをダンプしておきたかった。

ダンプしたファイルは dotfiles にとりあえず保管するつもりだったのだが、現状の dotfiles ディレクトリを更新するためにはまず git pull する必要がある。

しかし、MacBook Air に現状ある dotfiles は 127 コミットの超絶古い状態のものになっている (現在は 1,010 コミット) 。そのため、ここで git pull すると新しすぎて弊害が出る可能性もあるため、いったん別ディレクトリで dotfiles をクローンして、現状の設定が更新されないようにした。ディレクトリ名は dotfiles-push とした。

そして、このディレクトリ内に Homebrew のインストール済みパッケージをダンプすることにした。

$ brew bundle dump --force --file="~/workspace/dotfiles-push/.warehouse/Brewfile.macbookair"

しかし Xcode が古すぎたのか、Git でエラーが発生してしまった。

==> Tapping homebrew/bundle
dyld: Symbol not found: _OBJC_IVAR_$_NSTextViewIvars.sharedData
  Referenced from: /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
  Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 in /Applications/Xcode.app/Contents/SharedFrameworks/DVTDocumentation.framework/Versions/A/../../../../SharedFrameworks/DVTKit.framework/Versions/A/DVTKit
git: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
git: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
Error: Failure while executing: git clone https://github.com/Homebrew/homebrew-bundle /usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle --depth=1
Error: Failure while executing: /usr/local/bin/brew tap homebrew/bundle

ググるとかんたんに解決策が見つかった。

$ sudo xcode-select -switch /Library/Developer/CommandLineTools

しかし、またエラーが出てしまった。

xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'

どうやら先に Command Line Tools をインストールしないといけないらしい。

$ xcode-select --install

インストールに数分待ったあと、再度以下のコマンドを実行した。

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ sudo xcode-select -switch /Library/Developer/CommandLineTools

$ xcode-select -p
/Library/Developer/CommandLineTools

無事、Command Line Tools が使えるようになった。

再びダンプを実行してみる。

$ brew bundle dump --force --file="~/workspace/dotfiles-push/.warehouse/Brewfile.macbookair"
==> Tapping homebrew/bundle
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle'...
remote: Enumerating objects: 106, done.
remote: Counting objects: 100% (106/106), done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 106 (delta 7), reused 46 (delta 0), pack-reused 0
Receiving objects: 100% (106/106), 53.55 KiB | 7.65 MiB/s, done.
Resolving deltas: 100% (7/7), done.
Tapped 0 formulae (113 files, 270.9KB)
Error: Unknown command: bundle

しかし Homebrew のバージョンが古すぎて bundle サブコマンドがないと言われてしまった。

$ brew --version
Homebrew 1.5.8
Homebrew/homebrew-core (git revision a1e4c2; last commit 2018-03-07)

しかたないので、先に brew update する。

$ brew update
$ brew --version
Homebrew 3.4.7
Homebrew/homebrew-core (git revision c2c6b207f2; last commit 2022-04-23)

アップデート中に何個かエラーが出ていたが、アップデート自体はうまくいったようだ。

三度目の正直。

$ brew bundle dump --force --file="~/workspace/dotfiles-push/.warehouse/Brewfile.macbookair"

ここでもエラーは出たが、無事、ダンプできるようになった。

noraworld commented 2 years ago

このメモを書くためには GitHub にログインする必要があったのだが、1Password はまだこの MacBook Air を使っている当時は導入していなかった。そして、これから初期化する PC であまり 1Password にログインさせたくなかったので、手動で GitHub のパスワードを入力した。長くてランダムなので入力がたいへんだった。2 回ミスった。

noraworld commented 2 years ago

あと、バックアップ作業開始直後は NTP との同期ができていなくて、HTTPS のサイトにアクセスできなかったので、NTP と同期して現在時刻に更新した。システム環境設定の時刻設定の画面でロック解除したら自動的に更新された。

noraworld commented 2 years ago

現状の Homebrew のパッケージ一覧も無事ダンプできたので、GnuPG をインストールしたが、インストールに 2 時間弱くらいかかった。

$ brew install gnupg

やはり約 8 年前の PC じゃ厳しいということがわかった。

noraworld commented 2 years ago

commit.gpgsign の設定を追加するのを忘れていて Brewfile のコミットに署名がついていなかった

参考:

noraworld commented 2 years ago

brew コマンドを実行するたびに以下のエラーが出ていた。

Error: 
  homebrew-core is a shallow clone.
To `brew update`, first run:
  git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
This command may take a few minutes to run due to the large size of the repository.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!

ので以下のコマンドを実行。

$ git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
noraworld commented 1 year ago

粛々とソースコードを GitHub にバックアップしていったが、ここで問題が発生。Vagrant が立ち上がらない。

それ以前に、まず VirtualBox のバージョンが古くて起動できなかった。そのため VirtualBox を 6.1 系にアップデートしたところ、VirtualBox 自体は起動できるようになった。

しかし、今度は Vagrant との互換性がなくなってしまった。

The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

Vagrant has detected that you have a version of VirtualBox installed
that is not supported by this version of Vagrant. Please install one of
the supported versions listed below to use Vagrant:

4.0, 4.1, 4.2, 4.3, 5.0, 5.1

A Vagrant update may also be available that adds support for the version
you specified. Please check www.vagrantup.com/downloads.html to download
the latest version.

そこで Vagrant のほうも最新版の 2.3 系にアップデートしたのだが、謎のエラーでコマンドが機能しなくなってしまった。

Traceback (most recent call last):
    2: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/bin/vagrant:111:in `<main>'
    1: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
/opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require': cannot load such file -- vagrant (LoadError)
    12: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/bin/vagrant:111:in `<main>'
    11: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:147:in `require'
    10: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:158:in `rescue in require'
     9: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:158:in `require'
     8: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/lib/vagrant.rb:54:in `<top (required)>'
     7: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     6: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     5: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb:4:in `<top (required)>'
     4: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     3: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     2: from /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/protobuf.rb:49:in `<top (required)>'
     1: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
/opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require': dlopen(/opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/2.7/protobuf_c.bundle, 9): no suitable image found.  Did find: (LoadError)
    /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/2.7/protobuf_c.bundle: cannot load 'protobuf_c.bundle' (load command 0x80000034 is unknown)
    /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/2.7/protobuf_c.bundle: cannot load 'protobuf_c.bundle' (load command 0x80000034 is unknown) - /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/2.7/protobuf_c.bundle
    13: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/bin/vagrant:111:in `<main>'
    12: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:147:in `require'
    11: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:158:in `rescue in require'
    10: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:158:in `require'
     9: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/lib/vagrant.rb:54:in `<top (required)>'
     8: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     7: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     6: from /opt/vagrant/embedded/gems/2.3.4/gems/vagrant-2.3.4/lib/vagrant/protobufs/proto/vagrant_server/server_pb.rb:4:in `<top (required)>'
     5: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     4: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
     3: from /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/protobuf.rb:48:in `<top (required)>'
     2: from /opt/vagrant/embedded/gems/2.3.4/gems/google-protobuf-3.21.11-x86_64-darwin/lib/google/protobuf.rb:51:in `rescue in <top (required)>'
     1: from /opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
/opt/vagrant/embedded/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require': cannot load such file -- google/protobuf_c (LoadError)

よくわからないので、とりあえず Vagrant のバージョンを 2.0.0 に戻して VirtualBox のほうも Vagrant に適合するバージョンにダウングレードしようとしたのだが、そうなると VirtualBox 側が macOS との互換性がなくてインストールに失敗してしまう。

困った。

noraworld commented 1 year ago

Vagrant を、最新版からメジャーバージョンを一つ下げた 2.2.19 にダウングレードしたところ、エラーが出なくなった。そして、VirtualBox の 6.1 系が使えるようになったので、無事動作させることができるようになった。

Vagrant ボックス起動時にまた謎のエラーが出てホストとの共有ディレクトリがマウントできなくなっていたが、とりあえず起動してアクセスできるようにはなったので、バックアップを取る分にはまあこれでなんとかするしかないか。

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000,_netdev vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device
noraworld commented 1 year ago

Dropbox と OneDrive がインストールされていたが、幸いほとんどデータは入っていなかったのでとりあえずアンインストールすることにした。

noraworld commented 1 year ago

ただ、インストール済みアプリの情報をバックアップする前にアンインストールしたくなかったので、アンインストール前にまずは Mackup をインストールしてバックアップを取ってからアンインストールすることにした。

noraworld commented 1 year ago

でも SSH などのファイルは Mackup に任せたくないので、まずは先にそちらを自分でバックアップしてから Mackup でアプリのメタデータ等をバックアップすることにする。

noraworld commented 1 year ago

OneDrive フォルダの中身は空だったのでバックアップなしで消去。

OneDrive/
├── .DS_Store
├── Icon?
├── 画像
└── ドキュメント
noraworld commented 1 year ago

Dropbox の中身はこんな感じだった。

Dropbox
├── .DS_Store
├── .dropbox
├── .dropbox.cache
│   ├── .DS_Store
│   ├── attrs_cache
│   ├── icons
│   │   ├── CameraUploads
│   │   ├── DeviceFolderDesktop
│   │   ├── DeviceFolderDocuments
│   │   ├── DeviceFolderDownloads
│   │   ├── DeviceFolderGeneric
│   │   ├── DeviceFolderMac
│   │   ├── DeviceFolderPictures
│   │   ├── DeviceFolderWin
│   │   ├── DropboxFolder
│   │   ├── FamilySharedFolder
│   │   ├── Sandbox
│   │   ├── Shared
│   │   ├── SharedReadOnly
│   │   ├── SharedViewNameOnly
│   │   ├── TeamFolder
│   │   ├── TeamFolderReadOnly
│   │   ├── TeamMemberFolder
│   │   └── Vault
│   ├── new_files
│   ├── old_files
│   ├── placeholder_cache
│   ├── prefetch_cache
│   ├── temp_dirs
│   │   ├── .DS_Store
│   │   └── aaf21deb-d91f-4de9-84b8-78b9e274597d
│   └── tmp_dirs
├── Icon\r
├── mastodon_pg_dump_schema_only.sql
└── mastodon_pg_dump_table_accounts_grep_md_ggtea_org.sql

.dropbox.cache/icons の中にあったファイルは全部空ファイルだったので無視。

.dropbox もただのメタデータだったのでそのまま削除。

Mastodon の SQL ダンプファイルのみ別のところに保管して削除した。

noraworld commented 1 year ago

Google Drive の「バックアップと同期」と Google Photos Backup は古い上に MacBook Air 上には専用のディレクトリはなかったのでそのままアプリを削除した。

noraworld commented 1 year ago

find コマンドが使いづらい上にちゃんとファイルがヒットしてくれなかったので、fd をインストールしたら全然終わらない。

noraworld commented 1 year ago

インストールに数時間以上かかった。

noraworld commented 1 year ago

rg もないと不便だと感じることがあったので、ついでにインストールしておいた。fd と違ってこちらは割とすぐにインストールが完了した。

noraworld commented 1 year ago

USB 内のデータの一部が破損していてバックアップできなかった。

noraworld commented 1 year ago

カレントディレクトリにあるリソースフォークをまとめて削除するコマンド

fd -H "\._" -x shred -fuvz {}

事前に以下のコマンドで削除しても大丈夫か確認してからのほうが良さそう。

fd -H "\._"
noraworld commented 1 year ago

上記の内容を記事にした。

リソースフォーク (._ で始まるファイル) をディレクトリから一括削除する方法

noraworld commented 1 year ago

ロックされていると移動できないのでこれも必須。

fd -x chflags nouchg {}
noraworld commented 1 year ago

【512GB の USB メモリを shred する際の実行時間の見積もり】

noraworld commented 1 year ago

とりあえずまだ使う可能性があるので Mac のバックアップが完了するまでは shred しないが、いったん USB にあるデータはすべて Mac 本体に移行したので、一応いつでも shred できる状態にはなった。

noraworld commented 1 year ago

VMware Fusion でしか中身を確認できないファイル (拡張子が .vmdk) が出てきたんだけど、MacBook Air 2014 Early では中身を確認できないことが判明。

対応策はこんな感じ。

ライセンスキーを購入すればいけるっちゃいけるけど、古いファイルの中身を確認するためだけにライセンスキーを購入するのもなんかなあ……。

noraworld commented 1 year ago

149 ドル。高い。しかも 13 用のライセンスキーだし。

https://store-us.vmware.com/vmware-fusion-13-player-5708568200.html?country_code=JP

noraworld commented 1 year ago

Homebrew から古いバージョンの URL を探して Homebrew 経由でインストールする方法もあるらしい。

https://zenn.dev/hellorusk/articles/7581c305ff389c

しかしなぜか VMware Fusion はコミット履歴が辿れなくなっている……。

https://github.com/Homebrew/homebrew-cask/commits/master/Casks/vmware-fusion.rb

下にある URL にはアクセスできるので、URL は間違っていないはずなんだけど、このページから History をクリックするとなぜか 404 になる。

https://github.com/Homebrew/homebrew-cask/blob/master/Casks/vmware-fusion.rb

謎。

noraworld commented 1 year ago

「メール」アプリ内のメールは iCloud に入っているものをただダウンロードしているだけなのでバックアップを取る必要はない。ただし、手元で削除してしまうと同期して iCloud 内でも削除されてしまうかもしれないので、削除せずに放置しておく。

noraworld commented 1 year ago

「ブック」アプリ内の本はなぜかストレージから削除することができないので放置する。(アプリ内で削除することはできるが、それはアプリの UI 上、削除されたように見えているだけで、容量が回復していない)

noraworld commented 1 year ago

あとで検討:

noraworld commented 1 year ago

開けなかったものに関してはもうめんどくさくなってきたからそのまま消すことにした。どうせ大したデータ入っていないだろうし。

noraworld commented 1 year ago

バックアップ作業がめんどくさくなってしばらく放置していたら Google Drive の macOS Mojave (現在 MacBook Air にインストールされている OS) に対するサポートが終了してしまった。

Google Drive アプリをインストールした時点で間もなくこの OS はサポートを終了しますという警告が出ていたので知ってはいたが、まさかこのサボっているタイミングで終了するとは思わなかった。

こうやってめんどくさくてサボっている間に期限が来てしまうってことが今までの人生において何度も発生している。とりあえず OS をアップグレードして、早くこの面倒な作業を終わらせよう。

noraworld commented 1 year ago

この MacBook Air でサポートされているのが macOS Big Sur までだったので、macOS Big Sur の最新版までアップグレードした。ダウンロードに 15 分程度、インストールに 53 分程度かかった。

noraworld commented 1 year ago

macOS Mojave の状態で Steam アプリを開こうとしたらネットワークエラーで開けなかった。その後、とりあえず削除せずに放置して macOS Big Sur にアップグレードしてもう一度開こうとしたら今度はクラッシュしてしまい全く開かなくなってしまった。

どこかのファイルに原因があるはずだと思い、AppCleaner で削除対象になったファイルを見て、その中からどれが原因なのかを一つずつ探っていった。そしたら、/Users/Kosuke/Library/Application\ Support/Steam/Steam.AppBundle というディレクトリの中が原因だということがわかった。

これだけ別のところに追いやってアプリを起動しようとしたところ、起動することができた。

noraworld commented 1 year ago
noraworld commented 1 year ago

sudo ~/shredall ~/.Trash するとゴミ箱ごと消えちゃってそのあとゴミ箱に移動させるような操作をするとおかしくなるんだけど、killall Finder したらゴミ箱が復活することがわかった。OS の再起動が必要だと思っていたけどそこまでする必要はなかった。

noraworld commented 1 year ago

以下のディレクトリは、一度 Google Drive にバックアップしようとしたけど、一部失敗したファイルがあるので要チェック。

ただし、一からまた全てをバックアップし直そうとするとものすごく時間がかかるので、なんとかうまいこと失敗したファイルだけをバックアップしたい。

noraworld commented 1 year ago

Apple デフォルトアプリ内のデータはほぼ iCloud に保存されているようだったので放置。

noraworld commented 1 year ago

ようやく重い腰を上げてバックアップ作業を再開。放置していたブックマークをリポジトリにバックアップした。IE のバックアップ時のクッキーが残っていて気持ち悪いがどうせ非公開リポジトリなので気にする必要なし。

noraworld commented 1 year ago

Alfred 2, 3 のライセンスが記載されたファイルを Google Drive にバックアップ。ついでに 1Password にもソフトウェアライセンスとして保存した。

noraworld commented 1 year ago

前回の作業時にこんなことを書いている。

以下のディレクトリは、一度 Google Drive にバックアップしようとしたけど、一部失敗したファイルがあるので要チェック。

  • ~/usb512-backup
  • ~/Download

ただし、一からまた全てをバックアップし直そうとするとものすごく時間がかかるので、なんとかうまいこと失敗したファイルだけをバックアップしたい。

https://github.com/noraworld/scraps/issues/17#issuecomment-1404916300

どうやら Mac アプリ版の Google Drive では Google シート、スプレッドシート、スライドはコピーできないらしい。なぜだかはわからない。そして厄介なのが、フォルダ内のどこかに 1 つでもこれらのファイルが含まれていると移動されない (ローカル側にも残っちゃう) ので、どこまでバックアップ完了しているのかわからなくなる。

だから fd コマンドとか使って事前にこれらのファイルを弾いておく必要がある。拡張子は以下の通り。

ファイル種別 拡張子
Google ドキュメント .gdoc
Google スプレッドシート .gsheet
Google スライド .gslides

なお、fd コマンドで特定の拡張子のみを検索するには -e オプションが使える。以下は Google ドキュメントの例。

fd -e .gdoc

これでカレントディレクトリ以下の全ファイルに対して再帰的に .gdoc ファイルを検索してくれる。

https://news.mynavi.jp/techplus/article/20190220-774096/

noraworld commented 1 year ago

旧 MacBook Air だとめちゃくちゃタイピングしづらくてストレスマッハなので、コピペとかで仕方ないとき以外は新 MacBook Air で書く。

タイピングしづらい理由は、物理的にキーボードが重いのと、Google IME を先にアンインストールしてしまったこと。これはあとにするべきだったな。

noraworld commented 1 year ago
noraworld commented 1 year ago

やっぱりこういうのは一気にやるんじゃなくて少しずつやったほうが良いな。大量にコピー失敗するとどこがコピー完了してどこが完了していないかが全然わからなくなって結局最初からやり直す羽目になる。

noraworld commented 1 year ago

なんかこんな感じで mv した後に .DS_Store が消えないのなんでなんだろう。

mv: cannot remove 'Downloads/IcoMoon-Free-master': Directory not empty

まあ手動で消していったので問題はないんだけど、その作業をやっている間も消したはずのものが数秒後に再生成されていたりして鬱陶しかった。

全部のフォルダでこうなるわけではなく、一部だけこうなる。大量のデータを一気に Google Drive に持っていこうとするときに発生する。

noraworld commented 1 year ago

あとこれはなんだろう。

mv: preserving permissions for ‘/Volumes/GoogleDrive/マイドライブ/MacBook Air/Downloads_again’: Invalid argument

完全に謎。だけどコピーに失敗しているわけではなさそうなので放置でいいかな。

noraworld commented 1 year ago

100,000 のファイルを同期中とかいうふざけた規模になっているのでしばらく次のバックアップ作業に入らずに放置しておいたほうが良いかな。一気にやるとまたなんか問題が起こりそう。

これ多分しばらく終わらない気がするので今日は放置してまた明日やることになりそう。てか明日になっても終わっていない可能性はわりとありそう。

noraworld commented 1 year ago

寝て起きたら 100,000 ファイルの同期が完了していたようだ。次は Google ドキュメント・スプレッドシート・スライドのバックアップをブラウザ版からやろう。(デスクトップアプリからだとエラーになるので)

noraworld commented 1 year ago

5.47 GB の Google ドキュメント等を含むデータをブラウザからバックアップした。実際には Google ドキュメント・スプレッドシート・スライド以外のデータも含まれていたんだけど、それらのファイル数があまりにも多すぎて分けるのがめんどくさかったので一気にそれを含むフォルダごとブラウザからバックアップすることにした。まあ結果は同じなので別に気にすることはない。

だいたい 21 時ごろにアップロードを開始して 22 時 20 分前に確認したときにはすでに完了していた (22 時ちょうどの時点ではまだだった) ことを確認したので、アップロード時間はだいたい 1 時間ちょっとだった。

noraworld commented 1 year ago

以前に一部ファイルのアップロードに失敗していた ~/usb512-backup~/Download もようやくバックアップが終わったので、あとは細々した部分を処理していけば良さそうだ。

この 2 つが終わってしまえばもうあとはだいぶ楽だったはずなんだけど、やっぱり大量のデータのバックアップに失敗すると腰がとても重くなりやりたくなくなるものだな。結局前回のバックアップ作業から 5 ヶ月くらい空いてしまったわけだし。