ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

yumでのインストール

yum出たときはrpmでの依存不足を勝手に解決してくれるので便利やった。 git2のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 脆弱性対応済みのGitをインストールする # yum -y remove git* # yum -y install wget perl-CPAN gettext-devel perl-devel openssl-devel zlib-devel curl-devel expat-devel # yum install autoconf # yum install gcc $ export GIT_VER=2.22.4 $ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VER}.tar.gz $ tar xzvf git-${GIT_VER}.tar.gz $ rm -rf git-${GIT_VER}.tar.gz $ cd git-* $ sudo make configure $ sudo ./configure --prefix=/usr $ sudo make all $ sudo make install 参考URL vscodeのインストール 1 2 3 4 5 # rpm --import https://packages.microsoft.com/keys/microsoft.asc # sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' # yum check-update # yum -y install code 参考URL libre officeのインストール 1 # yum install libreoffice libreoffice-langpack-ja 参考URL firefoxのクラッシュ対処 参考URL about:config browser.tabs.remote.autostart = false ...

よく使うソフトウェア

たいへん便利な道具類。数年使って問題なければ購入している有償ソフトウェアもあり。 エディタ 個人的には秀丸が一番慣れているが、お客様先作業ではライセンスのしがらみもあるので、サクラエディタを使う時間が多い。 最近はmac/linux/windowsでほぼ同じように使えてgitクライアントの代わりにもなるvscodeを利用。見た目に若干の誤差はあるが、プラグインを入れてプラットフォームごとにちゃんと動く(全部確認したわけじゃないけど)。 秀丸 リンク サクラエディタ リンク vscode リンク vscodeができてないと思ったのは、例えば100行目から200行目まで範囲指定しといて、その範囲のみでの文字列置換ができない・・・。 ここだけは何とかならないかと思う。どこかにプラグインあるのかもしれないけど・・・。 pdfビューア acrobat readerはアップデートが頻繁にあるので、静かにpdf見たいときには不便。そこで別のを愛用。 pdf exchange viewer リンク pdf exchange editor リンク acrobat reader リンク pdfライタ 加工ソフトは数あれど、windowsでプリンタ出力するような感覚で使える。 PDF redirect リンク ssh接続 - teraterm 2000年頃からかれこれ20年も使っている。初めて使ったのは、windowsのvbアプリケーションからttlマクロを使ってunixのシェルスクリプトを起動するのに利用。ssh接続のためのソフトウェアを超えてかなり強力。昔は障害発生でシリアル接続するための道具でもあった。現在はクラウドにあるサーバを起動したりssh接続して自動でコマンドライン投入に利用。ルータへssh接続して設定を変えるスクリプトも用意できてしまう。 今は作者の手を離れてオープンソース化されているらしい。 リンク アンチウィルス - kaspersky(有償) 動作は重ためで不満もあるが、ライセンスを買うと、windows/macをプロテクトしてくれる。古いソフトウェアのあ入ったアーカイブをスキャンすると、脅威を検出してくれることもある。3年で1.5万円弱かかるが、VMwareで仮想化しているいくつかの環境を保護してくれるので便利。windowsではネットワークドライブ指定してタスクスケジューラから月〜金曜までスキャン実行させている。 リンク 不満に思うのは、操作しているPCで手動でウィルススキャン走らせながら、フォアグラウンドでrdpしたりvmware起動させて仮想マシン動かすと、勝手にウィルススキャンが一時停止する。「他で作業してる間にスキャンしとけやー」と思ったら勝手に停止。.batファイル作ってコマンドライン起動させても同じように一時停止。なんで休んでまうねん。しっかり働いてくれー。 (ただし、フォアグラウンドはカスペルスキーの中の定期スキャンタスク、vmの中はwindowsのタスクスケジューラを使ってコマンドラインを時間起動させるとローカルPCもvmwareの中のマシンもスキャンしてくれる) 仮想化 - VMwarePlayerとOracle VM 個人利用では無償なのもあり、 VMware workstation Player を長く使っている。おかげで自宅マシンは10年以上仮想化で運用できている(そろそろライセンス買う)。拡張子vmxのファイルに定義を格納し、vmdkにディスク内容の実態が入るとてもわかりやすい仮想化で、ファイル一式をコピーすればバックアップとリストアができてしまう。hyper-vやOracle VM、vsphereよりもこの点が勝っていると思う。 業務利用ではvmwareはNGなのでhyper-vか Oracle VM を使う。Oracle VMはWindowsマシン内でlinuxを動かしてdocker環境を作るのにたいへん便利。 不要ファイルの削除 - glary utilities(有償)とVMwareToolboxCmdとonyx windowsは数年使うとレジストリの汚れが気になる。アプリケーションのインストールとアンインストールを繰り返すと、不要なファイルが残っていき、動作が遅くなったりする。ブラウザのキャッシュも定期的に削除する。このときにglary utilitiesが役に立つ リンク 。VMイメージをバックアップしてzipで圧縮し、クラウドストレージに保管する前には必ず実行し、さらにVMwareToolboxCmdのdisk shrinkすることで保管容量と費用を節約できる。 windows updateによるログや材料もシステムファイルをクリーンアップしてから実行しているので、ほぼ一定のディスクサイズを維持できる。これをしないと、例えば40GBのディスク利用なのにvmdkファイルの消費が1ヶ月で80GBに膨れ上がってディスクのVMの親ホスト上のディスク占有している状態ができることもあった。 ...

docker-composeについて

ググるとquitaで即解説してくれてるわかりやすい内容あるけど、必要な箇所は日本語ドキュメントを読む。 docker-compose日本語ドキュメント docker-composeのインストール 前はyumやdnf, aptなどパッケージ管理ツールで入れたけど、今はcurlやwgetで特定のバージョンを取得して入れる(いろいろやったのでyumやdnf使ってないかも)。 大事なのは、利用OSのバージョンがどのdocker-composeを使えるのか調べてから導入すること。見放されているOSバージョンもあるので注意。 けれどcentos8が公開された直後、dockerもdocker-composeもサポート範囲外だったのが、無理して入れたら入って使えた。 centos8とredhat8は色々気に入らない箇所が多くなってきたので、思い切って2020年に見切りをつけてubuntuにベースOSを切り替えた。 docker-composeのバージョン上げ 今は curlで取ってきて /usr/local/binあたりに置いてる。 centosはxrdpでよく行き詰まってたけど、aptでのOS更新がスイスイ進んでくれて気持ちいい。 curlとかgitでソースやバイナリ取ってくるのも、行き詰らずストレートに動くとなんか心地いい。 docker-compose.ymlのサンプル docker-compose.ymlにはバージョンがある。 dockerのバージョンアップに引きずられて書ける内容が変わっていく。 docker-compose.ymlのバージョンについて dockerを覚え始めた頃は、まだcentos6からcentos7への移行時期だったので練習環境がcentos6のときもあった。 使い方を探してググったときにdocker-compose.ymlの1行目に「version: ‘2’」として書いておられるものもあった。 あるときdocker-composeの新バージョンを入れるときに、「centos6はサポートから外れるよん」という情報を見つけcentos6とは決別してcentos7に完全移行して、docker-compose.ymlも「version ‘3’」を使うように統一した。 2020年には、ローカルPCでもGoogleCloudでもcentos8をメインで使うようになったけど、centosはredhat系でdockerではなく、よく似たpodという仕組みを採用したらしい。 dockerを使い続けるので、centosとお別れしてubuntuにベースの利用OSを変えた。 2022年はubuntuを22LTSに変えて、楽しくdocker使い続けてる。 docker-compose.ymlの書き方バージョンは3.8にまで進んでた。 xrdp/django+ssl/db/ldapsを起動して使うとき 普段はコレを使う。Google Cloudでインスタンス上げてこの内容を使う。 ついでにgitlab-ceも使っててバージョン管理してる。 xrdp経由でphpのページを使っていて事前にdocker imageをビルドしておく必要がある。 ローカルPCのlinux上に同じdocker-compose.ymlを展開しておいて、mariadbのデータフォルダを丸々tar&zipしてGoogle Cloudから持ってきたら、同じDB内容をローカルでも使える。 本番環境とテスト環境みたいな感じで使い分けてる。 phpやmariadbのバージョン上げたかったら、ローカルPCで練習してDockerfileとdocker-compose.ymlを作っておき、うまく動いたらそのファイルをGoogle Cloudに持って行って動かす。 2022年はphpと使うのやめてdjangoに引っ越した。 基本的なページ遷移とかblob列へのpdf保管・ブラウザ表示とかたいへんやったけど金額1円も狂わず円グラフも描けるようになっていったん完成。 ミドルウェアのバージョンアップってたいへんだったのが、docker使うようになったら1日で動作確認まで行けるようになった。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 version: '3' services: sv_mariadb: image: mariadb:10.5.7 hostname: svmariadb ports: - 3306:3306 env_file: - ./nariDockerDat/env_sv_mariadb.txt volumes: - ./nariDockerDat/sv_mariadb:/var/lib/mysql - ./nariDockerDat/sv_mariadbconf:/etc/mysql/conf.d extra_hosts: - gcp-gvis-dkLinux.intra.gavann-it.com:192.168.100.218 SVgitlab2022: image: gitlab/gitlab-ce:14.6.3-ce.0 ports: - 10881:80 volumes: - ./nariDockerDat/sv_gitlab2022/config:/etc/gitlab - ./nariDockerDat/sv_gitlab2022/logs:/var/log/gitlab - ./nariDockerDat/sv_gitlab2022/data:/var/opt/gitlab extra_hosts: - gcp-gvis-dkLinux.intra.gavann-it.com:192.168.100.218 cl_ubu20: image: ubu:20gvis privileged: true hostname: clubu20 user: "1000:1000" ports: - "30022:22" - "33389:3389" volumes: - ./nariDockerDat/cl_ubun18:/gvis environment: - USER=nari - PASSWD=hogehoge tty: true shm_size: 512m extra_hosts: - gcp-gvis-dklinux.intra.gavann-it.com:192.168.100.218 sv_https-portal: image: steveltn/https-portal:1 ports: - "40080:80" - "40443:443" environment: DOMAINS: 'gcp-gvis-dklinux.intra.gavann-it.com -> http://svdjango:8080' STAGE: 'local' # or 'production' volumes: - ./nariDockerDat/sv_django-ssl_certs:/var/lib/https-portal depends_on: - sv_django extra_hosts: - gcp-gvis-dklinux.intra.gavann-it.com:192.168.100.218 sv_django: image: sv_django:4 build: ./nariDockerDat/sv_django-uwsgi-nginx hostname: svdjango volumes: - ./nariDockerDat/sv_django-uwsgi-nginx/app:/code/app ports: - "48080:8080" depends_on: - sv_mariadb extra_hosts: - gcp-gvis-dklinux.intra.gavann-it.com:192.168.100.218 本番環境とテスト環境の切り替え コンテナ起動にはdocker-compose使うけど、本番とテスト環境ではコンテナ起動の直前でcssとsetting.pyにあるDB向き先ファイルをひな形から上書きコピーして起動させるようにしてる。 ...

 ⭐️

Dockerでよく使うコマンド

コンテナの概念について バージョン確認 docker --version コンテナの実行 docker run --name nginx -p 80:80 nginx コンテナの一覧(今動いているもの) docker ps コンテナの一覧(今動いてないもの含む) docker ps -a コンテナの状態確認 docker inspect nginx ログ確認 docker logs nginx コンテナの削除 docker rm dockerイメージの一覧 docker images dockerイメージの削除 docker rmi dockerコンテナ上に対話モードで入ってbash使う docker exec -it (コンテナid) bash 不要なイメージを削除 docker images -f dangling=true -q | xargs docker rmi 不要なボリュームを削除 docker volume ls -qf dangling=true | xargs docker volume rm 今はこう。 ...

2019 — 9th

案外やってなかった白い壁のお菓子の家。きのこの里も、カスタムキット売ってたのでやってみた。