- 投稿日:2021-01-10T22:47:55+09:00
【Mac初心者向け】.DS_Storeとは?
どうも、MacBook Air利用歴1年目の三町哲平です。
最近ふと、GitHubではなくMacBook内のローカル環境のディレクトリに保存していたRailsアプリを使う機会がありまして、Visual Studio Codeで開いてみたところ、
...何これ?となりましたので、早速調べてみました。.DS_Storeとは?
分からない事はWikipediaが一番詳しく載ってそうなので今回は、Wikipediaを使用しましたが、なんとビックリ!
日本語の「.DS_Store」のページが無いみたいなので、今回は、英語のページを日本語訳で紹介します。アップル のMacOSオペレーティングシステム、.DS_Storeは店がカスタムその含むの属性というファイルでフォルダなどの位置として、アイコンや背景画像の選択が。名前はDesktopServices Storeの略語であり、その目的を反映しています。それが作成され、維持されることにより、ファインダーのすべてのフォルダ内のアプリケーション、およびファイルと同様の機能があるdesktop.iniをでのMicrosoft Windowsを。ピリオド(ピリオド)文字で始まり、Finderや多くのUnixユーティリティでは 非表示になっています。その内部構造は独自仕様ですが、その後リバースエンジニアリングされています。macOS 10.12 16A238m以降、Finderは.DS_Storeファイルを表示しません(com.apple.finder AppleShowAllFiles YESが設定されている場合でも)。
↑Finder絡みのファイルで、デフォルトは非常時な訳ですね。
目的と場所
ファイル.DS_Storeは、ファイルを共有するサーバーからマウントされたリモートファイルシステム(サーバーメッセージブロック(SMB)プロトコルやApple Filing Protocol(AFP)など)でも、Finderアプリケーションがアクセスする任意のディレクトリ(フォルダー)に作成されます。ただし、リモートファイルシステムは、オペレーティングシステムの設定(アクセス許可など)によって除外される可能性があります。これらのファイルは主にFinderで使用されますが、アイコンの位置や表示設定など、フォルダーの表示オプションに関するメタデータのより汎用的なストアとして想定されていました。たとえば、Mac OS X 10.4「Tiger」以降では、「.DS_Store」ファイルにSpotlightが含まれていますフォルダのファイルのコメント。これらのコメントはまたに格納されている拡張ファイル属性、が、Finderは、それらを読んでいません。
以前のAppleオペレーティングシステムでは、Finderアプリケーションは同様のファイルを作成しましたが、外部ファイルシステムを含め、アクセスされるボリュームのルートで、ボリューム上のすべてのファイルのすべての設定を収集しました(それぞれのフォルダごとに個別のファイルを用意するのではありません)。↑Finderが自動的にアクセスしてディレクトリ内に自動で生成される様です。
問題
多くのユーザーの苦情により、Appleは、リモートでマウントされたネットワークファイルシステムでこれらのファイルの作成を無効にする手段を公開するようになりました。macOS High Sierra(10.13)以降、Appleは、ブラウジング速度を向上させるために、アルファベット順にソートされたフォルダーの.DS_Storeのメタデータ収集を遅らせています。ただし、いくつかの回避策はありますが、これらの手順はUSBフラッシュドライブを含むローカルドライブには適用されません。Mac OS X 10.5より 前は、.DS_Storeファイルはリモートファイルシステムに表示されていました。
.DS_Storeファイルは頻繁に変更されるため、特に除外されない限り、コミットに表示される可能性があるため、リビジョン管理プロセスに追加の負担がかかる可能性があります。
.DS_Storeファイルは、OS Xユーザーによって作成されたZIPなどのアーカイブに、AppleDoubleなどの他の隠しファイルやディレクトリとともに含まれています。
.DS_Storeファイルは、コピー操作に悪影響を与えることが知られています。ファイル転送用に複数のファイルが選択されている場合、コピー操作は(重複した).DS_Storeファイルに到達すると、すべての進行状況をさかのぼってキャンセルし、ユーザーにコピー操作を最初から再開するように強制します。↑.DS_Storeは、メタデータ収集が目的で、ユーザーの苦情もあり、対策もあるにはあるらしいです。
.DS_Store邪魔なんですが...
DS_Storeを間違ってGitHubにpushしてしまうかも知れないし、目障りだし、そもそもメタデータの収集とかされたくないから消そうと思ったあなた!
確かに消すことは、出来ますが、また復活するみたいです。
Finderの設定などを格納する一時ファイルなので、作らない設定にするとFinderの振る舞いがおかしくなったりするなんていうウワサもある。
引用元:macOS の .DS_Store を一括削除する - Qiita上記の引用にもある様に作らない設定にもできるのは、できる。(Wikipediaにも記載されています。)
しかし、私含め初心者であればある程、Finder含め、OS廻りの設定変更は極力避けたいという気持ちになりませんか?私は、なります。それで、一部のアプリが立ち上がらなくなったりしても困ります。※普通に考えたらこの程度のFinderの設定変更でOS等への不具合は考えづらいですが...(汗)お部屋の掃除を定期的にするような感覚で、もしくはに気になった時にサッと消せる様に
$ find . -name '.DS_Store' -type f -ls -delete↑コチラのコードでサクッと消すことが出来ます。
.DS_Storeが邪魔で気になった時にぜひお試しあれ!
参考及び引用記事
- 投稿日:2021-01-10T22:47:55+09:00
【Mac初心者向け】.DS_Storeを消したい!
どうも、MacBook Air利用歴1年目の三町哲平です。
最近ふと、GitHubではなくMacBook内のローカル環境のディレクトリに保存していたRailsアプリを使う機会がありまして、Visual Studio Codeで開いてみたところ、
...何これ?となりましたので、早速調べてみました。.DS_Storeとは?
分からない事はWikipediaが一番詳しく載ってそうなので今回は、Wikipediaを使用しましたが、なんとビックリ!
日本語の「.DS_Store」のページが無いみたいなので、今回は、英語のページを日本語訳で紹介します。アップル のMacOSオペレーティングシステム、.DS_Storeは店がカスタムその含むの属性というファイルでフォルダなどの位置として、アイコンや背景画像の選択が。名前はDesktopServices Storeの略語であり、その目的を反映しています。それが作成され、維持されることにより、ファインダーのすべてのフォルダ内のアプリケーション、およびファイルと同様の機能があるdesktop.iniをでのMicrosoft Windowsを。ピリオド(ピリオド)文字で始まり、Finderや多くのUnixユーティリティでは 非表示になっています。その内部構造は独自仕様ですが、その後リバースエンジニアリングされています。macOS 10.12 16A238m以降、Finderは.DS_Storeファイルを表示しません(com.apple.finder AppleShowAllFiles YESが設定されている場合でも)。
↑Finder絡みのファイルで、デフォルトは非常時な訳ですね。
目的と場所
ファイル.DS_Storeは、ファイルを共有するサーバーからマウントされたリモートファイルシステム(サーバーメッセージブロック(SMB)プロトコルやApple Filing Protocol(AFP)など)でも、Finderアプリケーションがアクセスする任意のディレクトリ(フォルダー)に作成されます。ただし、リモートファイルシステムは、オペレーティングシステムの設定(アクセス許可など)によって除外される可能性があります。これらのファイルは主にFinderで使用されますが、アイコンの位置や表示設定など、フォルダーの表示オプションに関するメタデータのより汎用的なストアとして想定されていました。たとえば、Mac OS X 10.4「Tiger」以降では、「.DS_Store」ファイルにSpotlightが含まれていますフォルダのファイルのコメント。これらのコメントはまたに格納されている拡張ファイル属性、が、Finderは、それらを読んでいません。
以前のAppleオペレーティングシステムでは、Finderアプリケーションは同様のファイルを作成しましたが、外部ファイルシステムを含め、アクセスされるボリュームのルートで、ボリューム上のすべてのファイルのすべての設定を収集しました(それぞれのフォルダごとに個別のファイルを用意するのではありません)。↑Finderが自動的にアクセスしてディレクトリ内に自動で生成される様です。
問題
多くのユーザーの苦情により、Appleは、リモートでマウントされたネットワークファイルシステムでこれらのファイルの作成を無効にする手段を公開するようになりました。macOS High Sierra(10.13)以降、Appleは、ブラウジング速度を向上させるために、アルファベット順にソートされたフォルダーの.DS_Storeのメタデータ収集を遅らせています。ただし、いくつかの回避策はありますが、これらの手順はUSBフラッシュドライブを含むローカルドライブには適用されません。Mac OS X 10.5より 前は、.DS_Storeファイルはリモートファイルシステムに表示されていました。
.DS_Storeファイルは頻繁に変更されるため、特に除外されない限り、コミットに表示される可能性があるため、リビジョン管理プロセスに追加の負担がかかる可能性があります。
.DS_Storeファイルは、OS Xユーザーによって作成されたZIPなどのアーカイブに、AppleDoubleなどの他の隠しファイルやディレクトリとともに含まれています。
.DS_Storeファイルは、コピー操作に悪影響を与えることが知られています。ファイル転送用に複数のファイルが選択されている場合、コピー操作は(重複した).DS_Storeファイルに到達すると、すべての進行状況をさかのぼってキャンセルし、ユーザーにコピー操作を最初から再開するように強制します。↑.DS_Storeは、メタデータ収集が目的で、ユーザーの苦情もあり、対策もあるにはあるらしいです。
.DS_Store邪魔なんですが...
DS_Storeを間違ってGitHubにpushしてしまうかも知れないし、目障りだし、そもそもメタデータの収集とかされたくないから消そうと思ったあなた!
確かに消すことは、出来ますが、また復活するみたいです。
Finderの設定などを格納する一時ファイルなので、作らない設定にするとFinderの振る舞いがおかしくなったりするなんていうウワサもある。
引用元:macOS の .DS_Store を一括削除する - Qiita上記の引用にもある様に作らない設定にもできるのは、できる。(Wikipediaにも記載されています。)
しかし、私含め初心者であればある程、Finder含め、OS廻りの設定変更は極力避けたいという気持ちになりませんか?私は、なります。それで、一部のアプリが立ち上がらなくなったりしても困ります。※普通に考えたらこの程度のFinderの設定変更でOS等への不具合は考えづらいですが...(汗)お部屋の掃除を定期的にするような感覚で、もしくはに気になった時にサッと消せる様に
$ find . -name '.DS_Store' -type f -ls -delete↑コチラのコードでサクッと消すことが出来ます。
.DS_Storeが邪魔で気になった時にぜひお試しあれ!
参考及び引用記事
- 投稿日:2021-01-10T21:11:32+09:00
Failure while executing; git config --replace-all homebrew.analyticsmessage true was terminated by uncaught signal KILL.
brew install
をしたらタイトルのエラーが出た。環境
- M1 Mac mini
- Big Sur 11.1
- HomeBrew 2.7.2(ARM版)
解決法
以下の2つのコマンドを実行
$ brew reinstall gettext $ brew reinstall pcre2エラー全文
Warning: git 2.29.2 is already installed and up-to-date To reinstall 2.29.2, run `brew reinstall git` /opt/homebrew/Library/Homebrew/cmd/update.sh: line 18: 5855 Killed: 9 "$GIT_EXECUTABLE" "$@" /opt/homebrew/Library/Homebrew/cmd/update.sh: line 18: 5863 Killed: 9 "$GIT_EXECUTABLE" "$@" /opt/homebrew/Library/Homebrew/cmd/update.sh: line 18: 5864 Killed: 9 "$GIT_EXECUTABLE" "$@" /opt/homebrew/Library/Homebrew/cmd/update.sh: line 18: 5882 Killed: 9 "$GIT_EXECUTABLE" "$@" /opt/homebrew/Library/Homebrew/cmd/update.sh: line 18: 5883 Killed: 9 "$GIT_EXECUTABLE" "$@" ==> Homebrew has enabled anonymous aggregate formula and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics have been recorded yet (or will be during this `brew` run). Error: Failure while executing; `git config --replace-all homebrew.analyticsmessage true` was terminated by uncaught signal KILL. ==> Installing git Warning: git 2.29.2 is already installed and up-to-date To reinstall 2.29.2, run `brew reinstall git` Error: Git is unavailable雑談的な解決までのあれこれ
brew reinstall git
しても何も解決せず。。。
「よくわからん!」と思って、特段困ってはなかったので、保留にしてた汗
忘れた頃にbrew install
したらエラーが出たので、ググったら以下の記事にたどり着いて無事解決。
- 投稿日:2021-01-10T18:11:57+09:00
Xcode デバッグのログを表示させる方法
- 投稿日:2021-01-10T14:11:31+09:00
【macOS】goenvを使用したGo(Go言語)のインストール
概要
macOSにGo(Go言語)をインストールする手順を記載しています。
GoのインストールにはGoのバージョン管理ツールであるgoenvを使用しました。
また、goenvのインストールにはHomebrewを使用しています。
PATHを通す部分でつまずいたので、そこの解説も後半に記載しています。[参考] 公式
実行環境
- macOS Big Sur 11.1
- Homebrew 2.7.2
インストール手順
1. Homebrewをアップデートする。
Homebrewをインストールできていない方は、こちらの公式からインストールお願いします。
$ brew update2. goenvのインストール
$ brew install goenv下記コマンドでバージョンが表示されれば完了。
$ goenv -v3. 使用できるGO言語のバージョンを確認
$ goenv install -lバージョンを指定してGoをインストール。 (本記事では1.11.4を指定)
$ goenv install 1.11.4マシンにインストールされているGoを確認。
$ goenv versionsコマンドを実行すると下記のような出力がターミナルに表示される。
*(アスタリスク)がついているバージョンが現在使用しているバージョン。system * 1.11.4 (set by /Users/[User名]/.goenv/version)ここまでで一旦インストールは完了。
つまずいたポイント
上記手順でインストール後、goコマンドを実行すると下記のようなエラーが発生。
bash: go: command not foundエラー内容の通り、PATHが通っていないことが原因のようなのでPATHを設定していく。
まずはGoがインストールされているディレクトリを確認。ただ、goenvでインストールしたために、なかなかディレクトリを見つけられない...。
結局、下記コマンドを実行した時に出力されていたディレクトリをあさってインストール先のディレクトリを発見。$ goenv version 1.11.4 (set by /Users/[User名]/.goenv/version)実際にインストールされていたディレクトリは下記。
/Users/[User名]/.goenv/versions/1.11.4/PATHの設定
.bash_profile
(設定ファイル)をvimで開く。$ vim ~/.bash_profile
.bash_profile
に下記を追加。export GOROOT=$HOME/.goenv/versions/1.11.4 export PATH=$GOROOT/bin:$PATH
.bash_profile
の変更を反映。$ source ~/.bash_profileGoのバージョンが表示されれば完了。
$ go version go version go1.11.4 darwin/amd64
- 投稿日:2021-01-10T09:33:11+09:00
.DS_Storeファイル
.DS_Store を作成しないようにしてみた。
しばらく様子を見てみる。
- 投稿日:2021-01-10T01:42:48+09:00
Docker for Mac上でのunittestを高速化した話
概要
自作したdocker環境があまりにも遅かったので高速化しました
結論としては
ボリュームマウントに大量の読み書きを走らせない
のが最も効果がありました前提
環境
- MacOS Mojave バージョン 10.14.6
- Docker version 20.10.2 build 2291f61
- php:5.5-apache
- mysql:5.6
- redis:2.8.23
- memcached:1.4.39
unittest内容
- gitで指定のブランチにチェックアウト
- pipでのパッケージインストール
- composerでのパッケージインストール
- sqlファイルをDBに投入してのフォーマットチェック
- テスト用データをDBに投入
- phpコードのフォーマットチェック
- phpのunittest(DB/Redis/Memcachedアクセスあり)
効果
ホストマシン上で実行した場合:20分
効率化前:1時間
効率化後:20分対応策
ボリュームマウントにdelegated/cachedを付けた
https://docs.docker.jp/docker-for-mac/osxfs-caching.html
docker for Macではボリュームマウントに設定されたファイルアクセスが非常に遅いらしく
ホストマシンとコンテナ内で整合性を担保しないかわりに高速化するオプションだそうですこれだけでは体感できるほど高速化できませんでした
ボリュームマウントに巨大なファイルを渡すのをやめた
git管理のプロジェクトコードが巨大なので
ボリュームマウントに設定するのではなくコンテナにCOPYしたこれでunittestがかなり早くなり
ホストマシン上で動かすのと大差ない状態になりました結論
ボリュームマウントに大量の読み書きを走らせない