tips:start
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| tips:start [2023/08/01 04:43] – [bootstrap] yuuho | tips:start [2025/09/01 06:05] (現在) – [exiftool を使った写真ファイルタイムスタンプ変更] yuuho | ||
|---|---|---|---|
| 行 146: | 行 146: | ||
| code --install-extension slevesque.vscode-hexdump | code --install-extension slevesque.vscode-hexdump | ||
| </ | </ | ||
| - | ===== Docker ===== | ||
| - | | '' | ||
| - | * イメージ名,タグの変更 | ||
| - | * <code bash> | ||
| - | |||
| - | === イメージ 書き出し/ | ||
| - | <code bash> | ||
| - | <code bash> | ||
| - | |||
| - | === 無名 volume の確認 === | ||
| - | |||
| - | <code bash> | ||
| - | |||
| - | < | ||
| - | DRIVER | ||
| - | local | ||
| - | local | ||
| - | </ | ||
| - | |||
| - | ボリュームの詳細な情報を知ることができる。 | ||
| - | < | ||
| - | docker volume inspect 63a68bdc4cd34a2d378502716f9e3582bc3cc2432581470c8077a67773b778b0 | ||
| - | </ | ||
| - | |||
| - | どのコンテナから参照されている volume なのかは各コンテナの詳細情報から調べるしか無い。 | ||
| - | 以下のようにすればどこにマウントされていたかわかる | ||
| - | < | ||
| - | docker inspect コンテナID | grep 63a68bdc4cd34a2d378502716f9e3582bc3cc2432581470c8077a67773b778b0 | ||
| - | </ | ||
| - | |||
| - | |||
| - | 何からも参照されていないもの | ||
| - | < | ||
| - | docker volume ls -f dangling=true | ||
| - | </ | ||
| - | 削除 | ||
| - | < | ||
| - | docker volume rm 63a68bdc4cd34a2d378502716f9e3582bc3cc2432581470c8077a67773b778b0 | ||
| - | </ | ||
| - | |||
| - | === Dockerfile で sudo 可能ユーザーを作る === | ||
| - | |||
| - | < | ||
| - | ARG GID=1111 | ||
| - | ARG UID=1111 | ||
| - | ARG CONTAINER_USERNAME=sdwebui | ||
| - | ARG PASSWORD=sdwebui | ||
| - | RUN groupadd -g ${GID} ${CONTAINER_USERNAME} \ | ||
| - | && useradd -m -s /bin/bash -u ${UID} -g ${GID} -G sudo ${CONTAINER_USERNAME} \ | ||
| - | && echo " | ||
| - | && echo " | ||
| - | && echo " | ||
| - | USER ${UID}: | ||
| - | </ | ||
| - | |||
| - | === 稼働中コンテナに入る === | ||
| - | <code bash> | ||
| - | docker exec -it CONTAINER_ID /bin/bash | ||
| - | </ | ||
| - | ===== podman ===== | ||
| - | podman は docker(moby) みたいにコンテナ動かすやつ。dockerコマンドを単純に podman に置き換えるだけで使えるようにしているっぽい。 | ||
| - | docker よりも優れた点がいくつかある。 | ||
| - | rootless docker を使う上で問題となる bind マウントのユーザーの所有権問題などがうまく解決されている? | ||
| - | |||
| - | ==== インストール ==== | ||
| - | 管理者権限で podman をインストールすると、全ユーザーが使えるようになる。\\ | ||
| - | 基本的には普通に使うと rootless モードで実行される。docker みたいに裏で daemon が走っていたりはしない。 | ||
| - | |||
| - | === リポジトリ追加 === | ||
| - | ubuntu18.04, | ||
| - | <code bash> | ||
| - | . / | ||
| - | echo "deb https:// | ||
| - | | sudo tee / | ||
| - | curl -L https:// | ||
| - | | sudo apt-key add - | ||
| - | </ | ||
| - | |||
| - | === インストール === | ||
| - | <code bash> | ||
| - | sudo apt update | ||
| - | sudo apt install podman | ||
| - | </ | ||
| - | ubuntu 18.04, 20.04 では少し古いバージョンがインストールされる。 | ||
| - | 20.04 だとミラーサーバーが壊れてて .deb ファイルがうまくダウンロードされないことがある。 | ||
| - | |||
| - | === GPUを使用する場合 === | ||
| - | ランタイムをインストールして設定ファイルを一部変更する。 | ||
| - | <code bash> | ||
| - | sudo apt install nvidia-container-runtime | ||
| - | </ | ||
| - | ''/ | ||
| - | <code bash> | ||
| - | <code toml> | ||
| - | no-cgroups = true | ||
| - | </ | ||
| - | |||
| - | |||
| - | **ubuntuのみ追加でやらないといけないこと** \\ | ||
| - | '' | ||
| - | ''/ | ||
| - | Ubuntu 環境ではうまくいっていないみたい。( [[https:// | ||
| - | なので以下のように自分で作成する。 | ||
| - | <code bash> | ||
| - | sudo mkdir -p / | ||
| - | sudo vim / | ||
| - | </ | ||
| - | |||
| - | |||
| - | <code javascript oci-nvidia-hook.json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | ] | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== 使用 ==== | ||
| - | 基本的には docker コマンドを単純に podman に置き換えるだけ。\\ | ||
| - | デフォルトでは rootless モードで起動される。 | ||
| - | |||
| - | === GPUを使用する場合 === | ||
| - | <code bash> | ||
| - | podman run -it --rm --security-opt=label=disable \ | ||
| - | --hooks-dir=/ | ||
| - | -v / | ||
| - | -w /workdir nvidia/ | ||
| - | </ | ||
| - | |||
| - | '' | ||
| - | nvidia イメージを使うと自動的に hooks を見てくれるっぽい。 | ||
| - | |||
| - | |||
| - | === rootlessモードでコンテナ内の特定のユーザーになる === | ||
| - | 例えば外で '' | ||
| - | uidmap の設定をちゃんとしないと bind マウントした volume がコンテナ内で root の所有となるため、 | ||
| - | コンテナ内の '' | ||
| - | |||
| - | 以下のように起動する。'' | ||
| - | <code bash> | ||
| - | podman run -it --rm --uidmap 0:1:4444 --uidmap 4444:0:1 \ | ||
| - | -v / | ||
| - | -w /workdir docker.io/ | ||
| - | </ | ||
| - | |||
| - | nvidia のランタイムでは uidmap が効かずに落ちる...(2022/ | ||
| - | |||
| - | 本来的には ''/ | ||
| - | 例 '' | ||
| - | ==== podman で docker-compose を使う ==== | ||
| - | |||
| - | podman のデーモンの起動が必要。これでソケットを作って docker の代わりに使えるようにする。 | ||
| - | |||
| - | <code bash> | ||
| - | systemctl --user enable --now podman.socket | ||
| - | export DOCKER_HOST=unix:/// | ||
| - | </ | ||
| - | ==== VSCode Devcontainer を podman で利用する ==== | ||
| - | |||
| - | '' | ||
| - | もしかしたら nvidia と一緒にはできないかも。 | ||
| ===== Vagrant ===== | ===== Vagrant ===== | ||
| 行 420: | 行 248: | ||
| <policy domain=" | <policy domain=" | ||
| ... | ... | ||
| + | </ | ||
| + | |||
| + | 以下のように使う画像をすべて書いてPDFを作る。ワイルドカードで指定しても良い。 | ||
| + | <code bash> | ||
| + | convert page1.jpg page2.jpg page3.jpg hoge.pdf | ||
| </ | </ | ||
| 行 427: | 行 260: | ||
| こうすると '' | こうすると '' | ||
| + | === パスワード解除済みPDFを作成 === | ||
| + | < | ||
| + | |||
| + | === (補足) OpenCV で jpg圧縮 === | ||
| + | <code python> | ||
| + | cv2.imwrite(' | ||
| + | </ | ||
| ==== 論文用作業 ==== | ==== 論文用作業 ==== | ||
| 行 484: | 行 324: | ||
| conda 環境下で '' | conda 環境下で '' | ||
| + | 最近は、 '' | ||
| === ダウンロード === | === ダウンロード === | ||
| 行 530: | 行 371: | ||
| > SOCKSホスト : localhost ポート : 39393\\ | > SOCKSホスト : localhost ポート : 39393\\ | ||
| とすると firefox でリモートのネットワーク内にある web サイトなどにアクセスできる。(X転送したfirefoxでやるみたいなことをしなくて良い。) | とすると firefox でリモートのネットワーク内にある web サイトなどにアクセスできる。(X転送したfirefoxでやるみたいなことをしなくて良い。) | ||
| + | |||
| + | === 通信速度の計測 === | ||
| + | アップロード | ||
| + | <code bash> | ||
| + | dd if=/ | ||
| + | </ | ||
| + | |||
| + | ダウンロード | ||
| + | <code bash> | ||
| + | ssh username@123.456.789 'dd if=/ | ||
| + | </ | ||
| + | |||
| + | === scp での帯域制限 === | ||
| + | scp をすると send disconnect で落ちることがある。転送速度の速さが制限されている可能性があるため、帯域制限をする必要がある。 | ||
| + | 以下は 20Mbit/sec 制限。 | ||
| + | <code bash>scp -l 20000 hoge.zip my_server:/ | ||
| + | |||
| ===== overleaf ===== | ===== overleaf ===== | ||
| 行 546: | 行 404: | ||
| ===== zip ===== | ===== zip ===== | ||
| - | https:// | ||
| + | * deterministic な zip ファイルを作る [[https:// | ||
| + | === コマンドオプション === | ||
| - | ===== bootstrap | + | <code bash> |
| + | zip -r new_file.zip want_to_freeze_dir/ | ||
| + | </ | ||
| + | ===== 大きなファイルの分割 | ||
| + | |||
| + | |||
| + | ===== exiftool を使った写真ファイルタイムスタンプ変更 ===== | ||
| + | |||
| + | 撮った写真をカメラから手元に転送してきたときに、 | ||
| + | ファイルのタイムスタンプが撮影時刻ではなく転送時刻になってしまうことがある。 | ||
| + | Linux で開いて変更してやるのが良い。 | ||
| + | <code bash> | ||
| + | |||
| + | mp4 に関しては | ||
| + | <code bash> | ||
| + | |||
| + | === タイムスタンプの足し算 === | ||
| + | <code bash> | ||
| + | for f in *.MP4; do | ||
| + | DATE=$(exiftool -s3 -MediaCreateDate " | ||
| + | FORMATTED=$(echo " | ||
| + | echo " | ||
| + | if [ -n " | ||
| + | NEWDATE=$(date -d " | ||
| + | echo " | ||
| + | exiftool " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | === android のマウント === | ||
| + | andoroid スマホをLinuxに直接マウントして操作する場合は | ||
| + | https:// | ||
| + | |||
| + | 何があるか見る | ||
| + | < | ||
| + | jmtpfs -l | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | jmtpfs -device=1, | ||
| + | </ | ||
| + | |||
| + | === exfat のマウント === | ||
| + | |||
| + | < | ||
| + | sudo apt install exfat-fuse exfat-utils | ||
| + | sudo mount -t exfat-fuse /dev/sdc1 /mnt/sdc1 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== bootstrap5 ===== | ||
| + | |||
| + | texparalleltranslate リポジトリ参考 | ||
| === 大きさで表示されるものを切り替える === | === 大きさで表示されるものを切り替える === | ||
| 行 577: | 行 491: | ||
| つまり、 d-block だけのときは常に非表示だけど、d-blockとd-md-none を両方設定しておくと、サイズがxs, | つまり、 d-block だけのときは常に非表示だけど、d-blockとd-md-none を両方設定しておくと、サイズがxs, | ||
| + | |||
| + | |||
| + | === パネル切り替え === | ||
| + | |||
| + | < | ||
| + | Bootstrap5 パネル切り替え | ||
| + | | 役割 | ||
| + | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ||
| + | - ul/ | (role=tablist) | ||
| + | - li/ | (role=presentation) | ||
| + | - a | (role=tab, | ||
| + | - li/ | (role=presentation) | ||
| + | - a | (role=tab, | ||
| + | - parent/ | ||
| + | - child | (role=tabpanel) | ||
| + | - child | (role=tabpanel) | ||
| + | </ | ||
| + | |||
tips/start.1690865012.txt.gz · 最終更新: 2023/08/01 04:43 by yuuho
