投稿

12月, 2022の投稿を表示しています

GeoIP2のCSVデータでPostgresSQLデータベースを更新して国別拒否リストを生成

国単位でIPアドレス制限を行うためにPostgreSQLにインポートしたGeoIP2のデータを更新しようとしたときの覚書。 環境: CentOS Stream 8, PostgreSQL 14.6, nginx 1.22.1 GeoIP Updateは独自形式のデータベースバイナリ 公式が公開しているGeoIP Updateというプログラムが使えるか調査。 Updating GeoIP and GeoLite Databases | MaxMind Developer Portal GitHub - maxmind/geoipupdate: GeoIP update client code YUMリポジトリにもあったけどバージョンが低い。 # dnf search geoip # dnf info geoipupdate Name         : geoipupdate Version      : 2.5.0 だけどGeoIP Updateは独自形式(mmdb)で保存される。 これをnginxから参照する方法もあるみたいだけど、nginx自体のbuildが必要との情報があったので、前と同じcsv形式でPostgreSQLのデータベースをアップデートすることにした。 国別IPアドレスのCSVファイルをダウンロード 最新のCSVダウンロード手順 MaxMind へログイン 左メニューのGeoIP2/GeoLite2のDownload Files 「GeoLite2 Country: CSV Format」のDownload ZIPをクリック ZIPファイルの中身 GeoLite2-Country-Blocks-IPv6.csv: IPv6一覧 GeoLite2-Country-Blocks-IPv4.csv: IPv4一覧 GeoLite2-Country-Locations-ja.csv: IPアドレスIDと国コードの対応リスト(日本語版) PostgreSQLデータベースへインポート 新規作成時は前の記事を参考に。 nginxで国単位のIPアドレス制限 postgresユーザーでSQLコマンド発行 # su - postgres $ psql geo 確認のためテーブル一覧表示。 geo=# \d データ削除 geo=# truncate table geoi

FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/pip'

Pythonのpipモジュールでエラーになったので調査したときの覚書。 環境: CentOS Stream 8, Python 3.9.13, pip 22.1.2 パッケージ一覧を表示 # python -m pip list FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/pip' pipの場所を確認 # which pip /usr/local/bin/pip リンクを張ればいいのかな? 他はどうなっているか確認。 # ll /usr/bin/pip* lrwxrwxrwx 1 root root  23 Mar  1  2022 /usr/bin/pip-3 -> /etc/alternatives/pip-3 lrwxrwxrwx 1 root root  22 Jul  9 16:02 /usr/bin/pip3 -> /etc/alternatives/pip3 lrwxrwxrwx 1 root root   8 Sep 21 06:36 /usr/bin/pip-3.9 -> ./pip3.9 -rwxr-xr-x 1 root root 650 Sep 21 06:36 /usr/bin/pip3.9 前にalternativesでpipを登録したのを思い出した。 参考:  Python3.6からPython3.9に切り替える alternativesの確認 # alternatives --list # alternatives --display pip でも/usr/local/bin/pipを参照するようになっているのでalternativesは意味ない。 alternativesの登録を削除する。 # alternatives --remove pip /usr/bin/pip3.9 # alternatives --list # ll /etc/alternatives/pip* # rm -f /etc/alternatives/pip* # ll /usr/bin/pip* # rm -f /usr/bin/pip3 /usr/bin/pip-3 /usr/bin/pipにシンボリックリンクを張る。 # cd /u

Windows11をクリーンインストール(2022年12月)

Windows10だった自作PCのマザーボードとCPUを交換してWindows11をクリーンインストールしたときの覚書。 事前準備 自作PCはOS用SSDとデータ用HDDに分けてある。 「ドキュメント」はデータ用Dドライブ Windows10の頃の覚書も参考に。 Windows10をクリーンインストールして初期設定。バックアップ作業 バックアップ一覧 Windows11のインストールメディアを作成。 USBメモリ8GB以上が必要。 Windows 11 をダウンロードする モリサワフォントのアンインストール フォントを使用するPCの変更の手順 | よくあるご質問 | サポート | 株式会社モリサワ マザーボードの最新ドライバーとBIOSを確認してダウンロード。 TUF GAMING B550-PLUS|マザーボード|ASUS 日本 PhpStormの設定をエクスポート。 FileZillaの設定をエクスポート。 レンタルオフィス複合プリンタのIPアドレスメモ。 keyhacの設定ファイルでコミットし忘れがないか確認。 バックアップファイル一覧 C:\Users\daiki\AppData\Roaming C:\Users\daiki\.ssh C:\Users\daiki\.gitconfig C:\Windows\System32\drivers\etc\hosts C:\Users\daiki\AppData\Local\VirtualStore\Program Files (x86)\Tools\teraterm\ttpmenu.iniとTERATERM.INI その他 ごみ箱を空にしておく 「ディスククリーンアップ」を起動してDドライブ(データ用HDD)をクリーンアップ実行 後で気づいたバックアップしておけば良かったもの プリントするときの用紙設定 PCパーツ交換 → BIOS設定 → Windows11インストール マザーボードを交換した後、BIOSを起動して設定。 データ用HDDは2台でRAID1でミラーリングしてしたけど止めた。 Windows11のUSBインストールメディアを挿して、BIOS上で起動順位変更して再起動。 Windows11のインストール自体は結構早く終わった。 Windows 11 Pro 22H2 Windows11設定 クリーンイ

macOS Ventura 13.0.1からmacOS Monterey 12.6.1へダウングレード

macOS Ventura 13.0.1にアップグレードしたら仮想マシン上のsamba共有のネットワークが遅すぎて仕事にならないので、一つ前のmacOS Montereyをクリーンインストールしてみたときの覚書。 環境: Mac mini(2018) Core i7 3.2 GHz, VMware Fusion 13.0.0, Parallels Desktop 18.1.0 ちなみにVMware FusionとParallels Desktopの最新版で試してみてもほぼ同じ現象。 (Parallels Desktopの方が幾分ましだった) 結局、データを残したままダウングレードは出来ない。 ディスクユーティリティで削除したあと再インストールする。 あとsamba共有ネットワークが遅いのはmacOSのネットワーク設定でIPv6を「Link-local only」で無効にすると直るかもしれない。 1.バックアップする このMacは仮想マシンの母艦としてしか使ってないので、外部ストレージに仮想マシンファイルをコピーする。 2.macOSをダウンロードして起動可能なUSBメディア作成 下記公式サイトに従う。 macOS の起動可能なインストーラを作成する - Apple サポート (日本) Mac上のSafariでApple公式サイトへアクセスしてダウンロード。 macOS をダウンロードする方法 - Apple サポート (日本) macOS Monterey 12.6.1を選択。 最新のmacOSからダウングレードできない旨のメッセージが表示されるけどQuitする。 (ダウンロードされている。) Terminalでインストールメディア作成コマンドを叩く(SSH経由ではダメ)。 % sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/USB32GB/ 一旦USBを抜く。 その他やったこと 設定 → AppleIDのサインアウト 3.USBメディアからの起動を許可する シャットダウン。 起動してすぐ「Command(Windowsキー) + r」を長押ししてmacOS復旧画面を立ち上げる。 Apple T2 セキュリテ

CentOS Stream 8のPHPを7.4から8.0にアップグレード

PHP 7.4が2022年11月28日でサポート終了になったのでdnf経由で8.0にアップグレードしたときの覚書。 PHP: Supported Versions 環境: CentOS Stream 8, ImageMagick 6.9.12-67 Q16 1.PHP8.0をインストール 現在のモジュールを確認 # dnf module list php CentOS Stream 8 - AppStream Name                         Stream  php                          7.2 [d] php                          7.3     php                          7.4 [e] php                          8.0 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled 仮想環境なのでスナップショットをとっておく。 モジュールを7.4から8.0に切り替える # dnf module reset php # dnf module enable php:8.0 # dnf --allowerasing distro-sync 確認 # php --version PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php/modules/imagick.so (/usr/lib64/php/modules/imagick.so: undefined symbol: instanceof_function), /usr/lib64/php/modules/imagick.so.so (/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP Warning:  PHP Startup: mecab: Unable to initialize mod

Apple Business Managerのアカウント削除

Apple Business Managerからアカウント削除しようとしたときの覚書。 所有Apple製品: Mac mini, iPhone, iPad Air アカウント削除する理由 登録してみて2年経ったけどほぼ使っていない。 Apple製品を購入するときはABMアカウント(経由のAppleID)で購入してた。 会社名とメールアドレスが変更となったとき簡単に変更できなくて困った。 個人のAppleIDだけの方がデバイス間で同期してくれるので楽。 iOSの開発、iOSデバイスの管理が必要となったときに再考する。 削除するまでのAppleとのやり取り 公式ヘルプの「お住まいの地域のAppleCare登録サポートの電話番号」から電話してみた。 Apple Business Managerのサポートを受ける - Apple サポート (日本) サポート担当の方にアカウント削除したいと申し出る。 理由を聞かれたので上記の理由を説明する。 D-U-N-S® Number情報を更新して、それをサポートに伝えれば2営業日で更新します。と言われる。 パスワード情報をできるだけ管理したくないのでアカウント削除でお願いします。と伝える。 シニアアドバイザーに代わってアカウントを残す方向で説得される。 アカウント削除は大事らしい。 もう一度アカウント削除でお願いします。と伝える。 シニアアドバイザーのさらに上司に確認するということで、再度かけ直してもらう。 紐付けられたAppleIDも完全に削除される旨の確認(同意する)。 会社の代表番号に電話をかけて代表者の確認が必要とのこと。 Twilioの設定で留守電になるので、1時間後に再度かけ直してもらう。 代表電話番号で受けて確認終了。 アカウント削除後に連絡をくれるらしい。 【関連記事】 Twilioで転送電話→出なかったら留守電応答→音声録音→メール送信 法人用Apple IDをApple Business Managerで管理

Windows10にImageMagick7.10をインストール(scoop経由)

CentOSにImageMagick7をインストールするのは手間取りそうだったので、Windowsなら簡単にできるかもと思って調査したときの覚書。 やりたいことはJpegをAVIFに一括変換するスクリプトを作ること。 出来るだけファイルサイズが小さくなるライブラリを使い、メンテナンスしやすい仕組みにしたい。 環境: Windows10 pro Scoopというパッケージ管理にImageMagickがある。 Scoopのインストールは前の記事を参考に:  Windows10にDart Sassをインストール 検索してインストール。 PS C:> scoop search imagemagick PS C:> scoop install imagemagick ダウンロードに時間が掛かる。。。 インストール完了。 Notes ----- - The bundled ffmpeg has been renamed to 'ffmpeg.exe.old' to prevent conflict with a standalone ffmpeg installation - if you need it for ImageMagick tools, rename it back to 'ffmpeg.exe'. - 'convert.exe' is deprecated in v7 (it also conflicts with the builtin Windows 'convert' utility). Use 'magick convert ...' instead. 変換してみる。 imagemagick6と同じくmogrifyコマンドは使えるのが嬉しい。 PS C:> cd /path/to/projects PS C:> mogrify -quality 80 -format avif -path ./ ./key-visual.jpg 少し時間がかかるけど変換完了。 他のツールで生成した画像と見比べる。 ウェブアプリ版のSquoosh がサイズと画質のバランスがいい。   【関連記事】 JpegからAVIFへ変換するためのコマンドラインツールSquoosh,

ImageMagick-heicをdnf経由でインストールできなかった

RemiリポジトリにImageMagick-heicを見つけて、avif変換が簡単にできるかもと思ったときの覚書。 環境: CentOS Stream 9 Remi's RPM repository Remiリポジトリをインストールする。 # dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm # dnf search heic --enablerepo remi # dnf install ImageMagick-heic --enablerepo remi Error:  Problem: package ImageMagick-heic-1:6.9.12.67-1.el9.remi.x86_64 requires libheif.so.1()(64bit), but none of the providers can be installed   - cannot install the best candidate for the job   - nothing provides libjxl.so.0.6()(64bit) needed by libheif-1.12.0-4.el9.remi.x86_64   - nothing provides libde265.so.0()(64bit) needed by libheif-1.12.0-4.el9.remi.x86_64   - nothing provides libx265.so.199()(64bit) needed by libheif-1.12.0-4.el9.remi.x86_64 libheifに紐づくlibjxl, libde265, libx265が必要といわれた。 それらをビルドするのは面倒。 【関連記事】 JpegからAVIFへ画像変換のためにvipsを調査 AVIFとは。HEIFやWebPとの違い。 CentOS9にImageMagick6.9をdnfからインストール

JpegからAVIFへ画像変換のためにvipsを調査

前の記事でAVIFがWebPの半分くらいになると分かったので、もっと簡単にJpegから変換できないかと調べているときの覚書。 参考:  JpegからAVIFへ変換するためのコマンドラインツールSquoosh, sharp, cavif 環境: CentOS Stream 8(仮想マシン), ImageMagick 6.9.12-67 Node.js製「sharp」は libvips を内部で使っているというのでvipsについて調べる。 libvips公式サイト パッケージ管理にあるというので検索してみる。 # dnf search vips ない。。。 remiリポジトリをインストールしてみる。 参考:  Remi's RPM repository # dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm 検索 # dnf search vips あった。 vips-devel.x86_64 : Development files for vips vips-heif.x86_64 : Heif support for vips vips-magick-gm.x86_64 : Magick support for vips using GraphicsMagick vips-magick-im6.x86_64 : Magick support for vips using ImageMagick6 vips-magick-im7.x86_64 : Magick support for vips using ImageMagick7 vips-openslide.x86_64 : OpenSlide support for vips vips-poppler.x86_64 : Poppler support for vips vips-tools.x86_64 : Command-line tools for vips ん?ImageMagick6で使えるようになるのかな?と思いインストールしてみる。 (怖かったのでスナップショットを取ってから) # dnf install vips-magick-im6 ImageMagickの対応フォーマットの確認 # convert -lis

AVIFとは。HEIFやWebPとの違い。

AVIFを開発に導入しようとしているときの覚書。 AVIFとは。 AV1 Image File Formatの略。 AVI動画圧縮コーデックを用いたHEIF画像ファイルフォーマット。 非営利団体のAlliance for Open Mediaが開発。 AV1 - Wikipedia High Efficiency Image File Format - Wikipedia AV1はオープンかつロイヤリティフリーな動画圧縮コーデック。 Googleが開発しているVP9をベースにしており、特許料が発生するHEVC(H.265)の置き換えを目指している。 AVIFはSafariとGoogle Chromeで対応済み。 Microsoft Edgeは未対応(近いうち対応すると思う)。 "avif" | Can I use... Support tables for HTML5, CSS3, etc 拡張子は AVIFとHEIFの違い。 HEIF(High Efficiency Image File Format)はISOで定義された画像ファイルフォーマット。 読みは「ヒーフ」。 HEIF自体はただのコンテナ(規格)。 特許使用料が発生するHEVC(H.265)コーデックを格納しているファイルは拡張子が.heicまたは.heif。 AV1コーデックを格納しているファイルは拡張子が.avif。 AVIFとWebPの違い。 WebPはVP8動画コーデックを用いた画像ファイルフォーマット。 VP8はGoogleが開発したオープンかつロイヤリティフリーな動画圧縮コーデック。 GoogleがVP8の技術を応用してWebPを開発。 WebP - Wikipedia AVIFはVP9をベースにしたAV1コーデックを用いておりVP9からAV1に移行するらしいので、実質AVIFはWebPの後継。 参考: Successor: from VP10 to AV1 | VP9 - Wikipedia 参考:  後継:VP10からAV1へ|VP9 - Wikipedia 【関連記事】 JpegからAVIFへ変換するためのコマンドラインツールSquoosh, sharp, cavif ホームページ開発に画像形式WebPを導入 JPEGについて再勉強。Baseline JPEGとPro

自作PCのパーツ一覧(2022年12月)

10年選手になる仕事用PCを刷新しようと前の環境を調べているときの覚書。 下記パーツを2013年5月購入。 ASUSTek ATXマザーボード P8H77-V P8H77-V|ASUS|株式会社アユート PCパーツ・VR・オーディオ等周辺機器 総合代理店 Intel CPU Core i7 3770 3.4GHz 8M LGA1155 Ivy Bridge BX80637I73770(4コア) インテル® Core™ i7-3770 プロセッサー Fractal Design ミドルタワーPCケース Define R4 Black Pearl FD-CS-DEF-R4-BL Define R4シリーズ | Fractal Design ミドルタワー型PCケース | 株式会社アスク GreenMax Plus 650 GZ-EMS65A-C1 Rev2(PC電源ユニット650w) DDR3メモリ 8GBx2 ビデオカードは2019年4月にNVIDIA Quadro P1000へ換装。当時約45,659円。 NVIDIA Quadro P1000 - 株式会社 エルザ ジャパン 最近のビデオカードはPCI Express 4.0だがPCI Express 3.0のマザーボードでも差がないという記事があった。 PCIE3.0とPCIE4.0でグラボ性能に差が出るのか RTX3080を使って検証 | あさくひろくPCゲーミング ざっと調べた感じビデオカードだけ変更して様子をみるのもいいかもしれない。 価格.com - ASUS TUF-RTX3070TI-O8G-GAMING [PCIExp 8GB] 価格比較 現時点の最安値が86,771円。 購入したPCパーツ 結局CPUとマザーボードを換装することにした。 Ryzen 7 5700X BOX(8コア、3.4GHz - 4.6GHz)/30,700円 価格.com - AMD Ryzen 7 5700X BOX 価格比較 ASUS TUF GAMING B550-PLUS/18,282円 TUF GAMING B550-PLUS|マザーボード|ASUS 日本 DDR4メモリ 8GBx2/5,780円 合計54,762円。 これで動かしてみてビデオカードを買い替えるか決める予定。 【関連記事】 Windows10をクリーン