2026/07/06

JAGURS on macOS w/ Homebrew

 JAGURS が proj9 に対応したことで macOS 他で所謂パッケージマネージャがある OS 環境であれば,依存ライブラリをコンパイルする必要がなくなりました.

Homebrew で入れるのは以下のパッケージ

  • netcdf
  • netcdf-fortran
  • proj
  • fftw
  • gfortran
Makefile.gfortran をベースとして,設定が必要なのは以下の項目.


% diff -u Makefile.gfortran Makefile 2>/dev/null | grep '^+[A-z]' | sed -e 's/^+//'
FC=gfortran
PROJ_DIR=/usr/local
CC=gcc-16
FFTW3_INCLUDE_DIR=/usr/local/include
NETCDF=/usr/local
PROJ9=ON

※ intelのhomebrewなので、/usr/local ですが、armの場合は /opt/homebrew

(ついでにメモ)
Debian (恐らくUbuntuでも)では、Homebrewと違って、開発パッケージは別になっているので、proj が入っていたとしてもコンパイルは出来ないので、
  • gfortran
  • libproj-dev (version 9)
  • libnetcdff-dev
    • libnetcdf-dev は依存で入る
  • libfftw3-dev
をapt install -y でインストールすればコンパイル出来る。ただし、検証機はMac Pro (Late 2013)ですが。。。

% diff -u Makefile.gfortran Makefile 2>/dev/null | grep '^+[A-z]' | sed -e 's/^+//'
FC=gfortran
PROJ_DIR=/usr
FFTW3_INCLUDE_DIR=/usr/include
PROJ9=ON

2026/01/21

JAGURS on Debian

 Debianであればパッケージでかなりの物が入るのでコンパイルに困ることはなさげですが,検証.

Makefile.gfortran を使う

インストールするパッケージ(sudo apt installで可能)

  • gfortran
  • libnetcdff-dev
  • libfftw3-dev
proj@4 だけは自分でコンパイルが必要.例えば,$HOME/proj4 にインストールしたら,実行時に LD_LIBRALY_PATH=$HOME/proj4/lib が必要

Makefile の修正点は以下の感じ

% rcsdiff Makefile
=============================
RCS file: Makefile,v
retrieving revision 1.1
diff -r1.1 Makefile
2c2
< FC=mpif90
---
> FC=gfortran
7c7
< PROJ4_DIR=$(HOME)/JAGURS/local
---
> PROJ4_DIR=$(HOME)/proj4
43c43
< MPI=ON
---
> MPI=OFF

2025/06/11

Debianized

 MacOSのあぷでから見捨てられた MacPro / MacBook Air (13-inch, 2017)  を Debian へ


Thunderbolt Disk

解析用に使ってた Thunderbolt 2 な 外部Disk はそのままでは使えない.Thunderbolt DISK の有効化(Thunderbolt Display は何もしなくても使えた)が必要で,その後 ext4 でフォーマットが無難.


Touch Pad

最近のDebianではインストール時点からグラフィカルにマウスが使えたりするけど,MacBook のインストールでTouch Pad を使うのは難しいようなので,テキストベースのインストールを選択するほうが無難.GNOME 等のGUI環境をインストールし終われば,問題なく使える(一部,挙動は変,もしくは足りないらしい).


Wi-Fi

インストール時からWi-Fi を使うのは難しいようなので,USB-A や Thunderbolt な Ether アダプタを持ってきてインストールするのが無難.もしくは,ローカルDVDのみでインストールをしてから,Wi-Fi の設定かな.

lspci | grep -in network で認識を確認

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)

% cat /etc/modprobe.d/blacklist.conf

blacklist bcma

blacklist brcmsmac

 

% sudo apt install broadcom-sta-dkms

% sudo modprobe -r b43 bcma brcmsmac
% sudo modprobe wl

再起動で完了.以下,メモ:
カーネルをアップグレードしたときに Wi-Fi が動かなくなった場合 → dkms が自動でビルドできなかった可能性あり → sudo dpkg-reconfigure broadcom-sta-dkms で再ビルドできます。
起動後に Wi-Fi ネットワークが見えない → sudo modprobe wl で再ロードしてみてください。

 

 

 

 

2023/12/28

JAGURS on (intel) Mac w/ Homebrew

More recent information on June 4, 2024, we need to prepare ourself proj because proj@7 has been disabled. It's still available if you are using MacPorts.

Error: proj@7 has been disabled because it is a versioned formula! It was disabled on 2024-02-12.

(2024.9.6追記)

LIBS=-L$(PROJ4_DIR)/lib -L$(NETCDF)/lib -lnetcdff -lnetcdf -lsz -lproj $(FFTW3_LIB) -lm

のように,homebrew で他のバージョンのprojが /usr/local 等に入っている場合,自分で入れたPROJ4のディレクトリを先にリンカに指定する必要がある.


2023年12月27日現在の macOS Ventura 13.6.3 + Homebrew でのJAGURSのコンパイルについて再整理しておく。


  • gcc ... gfortran を使うので、gcc と gfortran をbrew で入れて、/usr/local/bin/gcc を使う。
    • FC=/usr/local/bin/gfortran
    • CC=/usr/local/bin/gcc
      • /usr/local/bin/gcc は無さそうなので, /usr/local/bin/gcc-14
  • proj ... メインのproj は、9.3.1 なので、おそらく動かない?ので、7.2.1 なproj@7 パッケージを使う。
    •   PROJ4_DIR=/usr/local/opt/proj@7
  • netcdf ... netcdf-fortran パッケージを入れる
  • fftw3 ... Homebrew のパッケージ名が fftw に変わってた
% brew install gcc gfortran proj@7 netcdf-fortran fftw


Makefile.gfortran をベースにして、以下の修正。

-FC=mpif90

+FC=/usr/local/bin/gfortran


-PROJ4_DIR=$(HOME)/local

-CC=gcc

+PROJ4_DIR=/usr/local/opt/proj@7

+CC=/usr/local/bin/gcc-13


-FFTW3_INCLUDE_DIR=$(HOME)/local/include

+FFTW3_INCLUDE_DIR=/usr/local/include


-NETCDF=$(HOME)/local

+NETCDF=/usr/local


-MPI=ON

+MPI=OFF


特殊な手続きは無しでコンパイル出来るようになったな。。。この記事の役割もほぼ終わったな。


input/ の中でそのままテスト計算(MPI部分はtsun.parから削除) on 1.4GHz dual cores Core i7

../src/jagurs par=tsun.par  4113.94s user 52.32s system 120% cpu 57:42.04 total

 

 



2022/02/06

JAGURS on MacOS Monterey with homebrew


 iMac 24" (M1)と iMac 27" (Intel) で改めてJAGURSで計算できる環境を作ったのでそのまとめ.

【訂正】2022.4.23

homebrew で, proj@7 が入っていることを同僚が教えてくれました.ので,proj-4.9.3は必要なく,Makefileで/opt/homebrew/Cellar/proj@7/7.2.1を/opt/homebrew/lib より前に指定すれば大丈夫なようです.かつ,最新版JAGURS(D0516)で,2020年に書いた mapproject.c の対応が本流に入ってるので,proj@7で無修正で動くようになりました.

ライブラリとして,netcdf, fftw3, proj4 が必要だけど,proj4は新しいのだと動かないので古いのを持ってくる.netcdfとfftw3は homebrew ので問題なし.

% brew install netcdf netcdf-fortran fftw3

proj4は,past-release から proj-4.9.3.tar.gz を持ってきました.

% ./configure --prefix=$HOME/local

% make

% make install


JAGURSのコンパイルは,Makefile.gfortran をベースにしました.

% rm Makefile (Makefile.SC_ICEに向いてるので)

% cp Makefile.gfortran Makefile


MPIはなし,とりあえず /usr/bin/gcc

% rcsdiff -u Makefile

===================================================================

RCS file: Makefile,v

retrieving revision 1.1

diff -u -r1.1 Makefile

--- Makefile    2022/02/04 21:52:49     1.1

+++ Makefile    2022/02/04 22:58:07

@@ -1,18 +1,18 @@

 # FC: Specify Fortran90 compiler command.

-FC=mpif90

+FC=gfortran


 # Added for displacement.

 # PRJ4_DIR: Specify PROJ.4 install directory.

 # CC&CFLAGS: Specify C compiler command and flags.

 PROJ4_DIR=$(HOME)/local

-CC=gcc

+CC=/usr/bin/gcc

 CFLAGS=-g -I$(PROJ4_DIR)/include


 # BASE: Specify basic compiler options.

 BASE=-cpp -fconvert=big-endian


 # FFTW3_INCLUDE_DIR: Specify FFTW3 include directory.

-FFTW3_INCLUDE_DIR=$(HOME)/local/include

+FFTW3_INCLUDE_DIR=/opt/homebrew/include


 # FFTW3_LIB: Specify linker options to link FFTW3.

 FFTW3_LIB=-lfftw3

@@ -21,7 +21,7 @@

 OPT=-O2 -fopenmp -I$(FFTW3_INCLUDE_DIR)


 # NETCDF: Specify the path to NetCDF library.

-NETCDF=$(HOME)/local

+NETCDF=/opt/homebrew


 # LIBS: Specify linker options.

 LIBS=-L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz -L$(PROJ4_DIR)/lib -lproj $(FFTW3_LIB) -lm

@@ -40,7 +40,7 @@


 # MPI=ON: MPI version is made.

 # Else, serial version is made.

-MPI=ON

+MPI=OFF


 # USE_ALLTOALLV=ON: Use MPI_Alltoallv for inter-nest communications.

 # Else, MPI_Allreduce is used.

 

せっかくなので,inputにあるサンプルをベースにして,ベンチマーク.

Intel ... 3.6GHz 10コア第10世代Intel Core i9プロセッサ

M1 ... 4つの高性能コアと4つの高効率コアを搭載した8コアCPU、8コアGPU、16コアNeural Engineを持つApple M1チップ

% cat gridfile.dat

SD01 SD01 1 bathy.SD01.grd disp.SD01.grd

SD02 SD01 0 bathy.SD02.grd disp.SD02.grd

SD03 SD02 0 bathy.SD03.grd disp.SD03.grd


tsun.par:

dt=0.5

tend=21600

itmap=1200


こんな感じの設定で,M1はフルに8コアなので,Intelもそれに合わせて OMP_NUM_THREADS=8 に制限して実行した.

Intel ... All 5187.004 [s](デフォ20coresで 4823.238[s])

M1 ... All 5174.547 [s]


2020/11/25

JAGURS on MacOS Big Sur with homebrew


自分の環境のパッケージ管理を MacPorts から homebrew に乗り換えたりしたので改めてJAGURS を作り直してみる.ソースコードは,github から latest release になってる V0515a を持ってくる.使う環境は以下の通り:

MacBook Air (13-inch, 2017)

2.2GHz dual core Intel Core i7

8GB 1600MHz DDR3 memory

Big Sur

ライブラリのインストール

% brew install gmt fftw

 どうやら,proj_api.h が標準include pathに入ってくれなくなった?ようです.ので,

% find /usr/local -name proj_api.h

で探して,出てきたディレクトリを 

PROJ4_DIR=/usr/local/Cellar/proj@7/7.2.1

のように設定して下さい.以下のMakefileでは設定されていません (汚い).

Makefileの編集(編集後のファイルをリンク先に置いておきます)

Makefile@ -> Makefile.SC_ICE されてるので,とりあえず解除してから編集しています.編集箇所は,コンパイラを gcc-10, gfortran-10 にして,ライブラリ関係を /usr/local に設定. -lfftw が必要.MPI= なしに設定.-openmp は -o penmp として機能してしまうので, -fopenmp に修正.

% rm Makefile

% cp Makefile.SC_ICE Makefile

% rcsdiff Makefile

===================================================================

RCS file: Makefile,v

retrieving revision 1.1

diff -r1.1 Makefile

2c2

< FC=ifort

---

> FC=/usr/local/bin/gfortran-10

7,9c7,9

< PROJ4_DIR=/home/G10004/t-katou/JAGURS/local

< CC=icc

< CFLAGS=-g -traceback -I$(PROJ4_DIR)/include

---

> PROJ4_DIR=/usr/local

> CC=/usr/local/bin/gcc-10

> CFLAGS=-I$(PROJ4_DIR)/include

12c12

< BASE=-fpp -assume byterecl

---

> BASE=-cpp

18c18

< FFTW3_LIB=-mkl=sequential

---

> FFTW3_LIB=-lfftw3

23c23

< OPT=-O2 -openmp -openmp-report2 -I$(FFTW3_INCLUDE_DIR)

---

> OPT=-O2 -fopenmp

27c27

< NETCDF=/opt/atlocal/netcdf/4.1.3

---

> NETCDF=/usr/local

31c31

< LIBS=-i-dynamic -L$(NETCDF)/lib -lnetcdff -lnetcdf -L/opt/atlocal/supplibs/lib -lhdf5_hl -lhdf5 -lcurl -lsz -L$(PROJ4_DIR)/lib -lproj $(FFTW3_LIB) # for NetCDF4!

---

> LIBS=-L$(NETCDF)/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lsz -lproj $(FFTW3_LIB) # for NetCDF4!

47c47

< MPI=ON

---

> MPI=


あと,mapproject.c の修正が必要です.#include <proj_api.h> の前に #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H を追加します.

% rcsdiff -p mapproject.c

===================================================================

RCS file: mapproject.c,v

retrieving revision 1.1

diff -p -r1.1 mapproject.c

*** mapproject.c        2020/11/25 05:49:41     1.1

--- mapproject.c        2020/11/25 05:50:08

***************

*** 1,6 ****

--- 1,7 ----

  #include <stdio.h>

  #include <string.h>

  #include <stdlib.h>

+ #define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H

  #include <proj_api.h>


  static  projPJ pj_tmerc, pj_latlong;

 

2020/07/24

Postfix on MacOS

なんか試行錯誤してやっとたどり着いたので記録.自宅などで,private net に隠れた Mac から,プロバイダのSMTPサーバ経由で外にメールを送る設定をする手順.

まず,relayhost を main.cf に設定する.
relayhost = smtpserver.example.com:port#

あとは巷にあふれるSMTPの設定."Mac postfix gmail" とかで検索すると情報いっぱいある.
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes

で,最後にやっと解決できたのは,メールの from アドレスの書き換え.SMTP認証が通っても,from が正しくないと通してくれない.うちの場合は, "Sender address rejected: not owned by user xxx@xxxx.example.com" と言われました.ので,これを強制的に書き換えてあげる必要があって,sender_canonical_maps に変換テーブルを作ってあげる.
sender_canonical_maps = hash:/etc/postfix/sender_canonical
local_header_rewrite_clients = static:all

中身↓
naotaka@(hostname).local email-address-in-provider

% sudo postmap /etc/postfix/sasl_passwd
% sudo postmap /etc/postfix/sender_canonical

(余談)
From アドレスの書き換えには, main.cf の myhostname を書き換えることでも対応可能なようにも思えるのですが,そこでは,naotaka@$myhostname になってしまいます.この naotaka がプロバイダのアカウントと一致してないといけないので,弾かれてしまいました.かつ,xxx@$myhostname の xxx が Mac に存在しないと不達になるという罠もあるので, myhostname は無視で,sender_canonical が正解でした.

(残課題)
SMTPUTF8 is required, but was not offered by host [provider-smtp-server] というエラーは出ていて,どうやら subject に日本語が入っていると通らなくて,crontab でディレクトリに日本語が入ってるスクリプトを起動してると subject に日本語が入ってしまって送れないという罠が残ってます.これはsmtp server 側の機能不足?か,client でencode してあげれば良いだけ?

(参考) https://tech-lab.sios.jp/archives/12289

2020/06/08

Matplotlib on Mac

http://ekbo.blogspot.com/2020/02/matplotlib-on-mac-homebrew.html

混沌としてきた.Catalina にアップグレードするタイミングで, Python 3.8 が供給されたのか,タイミングは分からないけど,自分にとっては同時になってしまった.

>>> import matplotlib.pyplot as plt
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/lib/python3.7/site-packages/matplotlib/__init__.py", line 205, in <module>
    _check_versions()
  File "/opt/homebrew/lib/python3.7/site-packages/matplotlib/__init__.py", line 190, in _check_versions
    from . import ft2font
ImportError: numpy.core.multiarray failed to import

発端はこいつ.Pythonでグラフが書けなくなった.何が起きているのか全く分からなかったのだが,

% brew search python3

で判明.python@3.8 が供給されていて,インストールされている!!何かが起きても仕方がない状況が生じてしまったようだ...諦めて,

% /opt/homebrew/opt/python@3.8/bin/pip3 install matplotlib

で入れ直し.動いた.3.7 の削除をすべきか?

ps.
pipにしようかどうしようかと思っていたところもあったが,brewでpython入れると,

# You can install Python packages with
# /opt/homebrew/opt/python@3.8/bin/pip3 install <package>
って言われてる.従え.

2020/04/05

montageでフォントエラー

何故か, montage で画像を連結しただけで,フォントエラー

montage: unable to read font `helvetica' @ error/annotate.c/RenderFreetype/1391.

が出た.

対処作が簡潔すぎて驚いたのだが,gs (ghostcript) を入れたら解決とな...

% brew install gs

参考)
https://apple.stackexchange.com/questions/224285/why-does-image-magick-fail-to-read-fonts

2020/02/22

Matplotlib on Mac Homebrew

matplotlibの入れ方更新 -> https://ekbo.blogspot.com/2020/06/Matplotlib-on-Mac.html 2020.6.8

自分がどうするかの宣言も含めて,Mac OS X の Homebrew の Python (Version 3) でどう環境を構築するか.

そもそも Python 自体のインストールが混沌としてしまっている...

  1. QGISのためのパッケージインストール.確か,QGISのインストールで,Python3 をバイナリパッケージで入れろと言われた気がする.
  2. MacPorts がまだ Homebrew への完全移行が終わっていないので残ってる.
  3. Homebrew で入れた

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/opt/homebrew/bin/python3
/opt/local/bin/python3
/usr/local/bin/python3
一つ多い....

で,Matplotlib をはぢめましょう.と思ったときに,ふと,,,どうすんだ?

確実に,Homebrew の環境で作業するために,
/opt/homebrew/bin/pip3.7 install matplotlib
にしました.pip3 で十分ですが... pip とすると, Version 2 と Version 3 を見失う場合があるので念の為(自分は,Python2 をインストールしていないので混乱しませんが).

#!/opt/homebrew/bin/python3

import sys
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

t = np.arange(0,2*np.pi, 0.1)
plt.figure(1)
plt.plot(t, np.sin(t))
plt.show()

sys.exit(0)

動いた!


2020/02/21

sshpass on Homebrew

MacPorts から, HomeBrew へ乗り換えを進めています.

% brew install sshpass
Error: No available formula with the name "sshpass"
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

1つ,移行が出来なかったのが sshpass.まぁ,言ってることも分からんでもない.が,今どきログインパスワード(公開鍵を使ってない)な時点で意識低いということで,自分専用端末からだけは使う.

macOS に Homebrew で sshpass をインストールするに書かれているようなHomebrew の中でなんとかする!という方針もありですが,それも面倒なので,ソースから.

どこにあるかは,port に教えてもらう.
% port info sshpass | grep Homepage
Homepage:             http://sourceforge.net/projects/sshpass/

私の趣味的には, ~/local なので,
% ./configure --prefix=$HOME/local
% make
% make install

2020/01/15

M 6.4 - 8km S of Indios, Puerto Rico on 7 Jan. 2020

津波波形データベース構築の一例として,1月7日にプエルトリコで発生した地震による津波のデータ収集と計算をやってみた.

波源断層モデル
Moment Tensor (USGS)
(17.916, 293.187) 13.5 km,  Dip: 43 deg., Strike: 268 deg., Rake: -58 deg.

M0 - S 関係 (cite) から,
(L, W) = (20.0073963517812 km, 10.00369817589060 km)
slip amount: 0.500816743451796 m

DEM作成
GEBCO 2019から,当該領域の切り出し (grdcut) を行った.GEBCO_2019.nc は, grdmath を用いて正負を反転してある.
% grdmath GEBCO/GEBCO_2019/GEBCO_2019.nc NEG = GEBCO_2019.nc

% grdcut -R290/300/15/20 $bathymetry/GEBCO_2019.nc -Ggebco.grd


GEBCO 2019 から切り出した地形データでJAGURSを走らせると,北西の領域端にかかっている島のところで発散が生じた.そのため,周囲3分角(15秒角の12メッシュ)は,水深100 mよりも浅い海と陸地を水深 100 mで固定する修正を grdmask と grdmath で行った.下記は, GMT 6.0.0 (Homebrew on OS X)  を使用している( -I15s は, -I15c に相当).

% cat<<EOF | grdmask -A -Gmask.grd -I15s -Rgebco.grd -N100/100/NaN
290:3  15:3
290:3  19:57
299:57 19:57
299:57 15:3
EOF
% grdmath gebco.grd mask.grd LT mask.grd MUL 0 NAN gebco.grd AND = masked_gebco.grd=cf

(解説)
grdmask で,標準入力から縁取りの4点を入力して, -N 領域外/線上/内側 の値を指定する. -Rgebco.grd で元のDEMと範囲を合わせて,分解能も指定する(-I15s).さらに,大円ではなく直線で四角にするため -A オプションを付ける.
        -A Suppress connecting geographic points using great circle arcs, i.e., connect by straight lines,
           unless m or p is appended to first follow meridian then parallel, or vice versa.

験潮所
ITIC (International Tsunami Information Center) のアラートで 0.02 mの津波が観測されたようなので,UNESCO IOC Sea Level Station Monitoring Facility の event からMagueyes Island PR staion のデータを "show data" から取得. 200〜2000秒のバンドパスフィルタをかけた.


(lat, lon) = (17.9701, -67.0464)  だったが,DEMに重ね合わせると,ずれていたので, (17.9636, 292.9536) に移動した.

JAGURS計算
設定した断層パラメータで, dt=1.0 s で計算した.

2020/01/12

autofs & NFS on Catalina (途中経過)

データ共有がNFSでされているので,Macからも autofs 使って NFS にあるデータにアクセスできるようにしていたのですが, Catalina にした瞬間からアクセス不能. autofs は動いているようで,マウント先ディレクトリの作成は出来てる.が,remote の情報が必要になる瞬間から, ls しても, no such file or directory になってしまう.2台とも同じ症状なので, Catalina化が原因なのはほぼ確定.Mojave がなくなってしまったので確定とまではいかないけど...

どうやら,「【解決済】macOS Catalinaで NFS マウントに失敗する。(stale NFS file handle or permission denied)」のように,MacOS を NFS サーバにしていると, /etc/exports の書き方が変わった(相対パス→絶対パス)ようで,そのトラブルが多い模様.

私の場合 autofs / automount から NFS をマウントしているだけど, automount によるマウントポイントのディレクトリは作成されるものの, ls しても無いと言われる・・・ので, NFS クライアントに何らかの不具合がありそう.

と思ったけど, mount_nfs 使って手動でマウントしたところ,アクセスできた!ということは,automount から NFS クライアントへの連携のところか...

(一旦,公開)

2020/01/09

JAGURS on Catalina with HPC Compiler for MacOS X


HPC Compiler for MacOS X を Catalina で使うには,ちょっと面倒なようです.

コマンドラインで gcc を利用すると,「開発元を検証できないため開けません。」というポップアップが表示されてしまいます.よくあるセキュリティ上の警告ですが,なにせ,実行ファイルを1つ1つ対処してあげなければいけないので,JAGURS を make するには,

/usr/local/bin/gcc
/usr/local/bin/gfortran
/usr/local/libexec/gcc/x86_64-apple-darwin19/9.2.0/cc1
/usr/local/libexec/gcc/x86_64-apple-darwin19/9.2.0/collect2

の4つが必要でした.さらに,実行時にダイナミックライブラリのリンクでも必要で, .dylib 毎に聞かれます・・・一気にYesにする方法もありますが,ちまちまやるとしたら,システム環境設定を開いておくと,一つ一つ聞かれました.Ctrl+open よりは楽です.



2020/01/06

iLogScanner

いくつかのサーバ運用を今でもやっていますが,可能な限り省力化したいところ.その中で,ログ監視をやらなきゃいけないので, iLogScanner を使っていますが,備忘録がなかったので自分用のメモです.

やることは簡単で,ダウンロードして,展開して,

iLogScanner/1_bin/iLogScanner.sh mode=cui logtype=apache accesslog=log1,log2... reporttype=html level=detail outdir=$outdir

とかです.accesslog= のところは,複数ファイルをカンマ区切りで繋ぎます.日付ごとにファイルが異なる場合には,ファイルリストが必要になるので,スクリプトを作ると良いでしょう.閲覧用に reporttype=html と日々のメール送信用に reporttype=text の両方を実行しています.

あと,java が必要なので,
 % sudo yum install java-1.8.0-openjdk
しました.

参考)
iLogScannerでログのセキュリティスキャンを自動化する

2019/12/26

CD/DVDをコマンドラインで取り出す

% diskutil eject /Volumes/XXXXX

あとは,ダウンロードしたImageファイルが無駄にマウントされたままだった場合は,
% diskutil unmount /Volumes/XXXXX
で出来る.


2019/12/25

GitHubのfork/cloneを本家に同期させる

昨今,ツールが便利になり過ぎて,それならこっちの方法の方が良いよぉ〜とか,お決まりの方法がなくて,ぽりすーで決まったりするところがあるから逆に初心者には面倒な世の中になったなと思いながら, GitHub をいじり始めたのでメモ.

ともかく,むかぁ〜し,fork した JAGURS が自分のところにありました.
https://github.com/naotaka-chikasada/jagurs

が,この作業を開始した時点で,2017年の古いまま.まずは,これを最新にしなきゃいけない.ということで,「GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する」を参考に,少し足りないところを補足して整理しました.

自分のforkしたJAGURSを取得(ユーザ名は要修正)
% git clone https://username@github.com/username/jagurs.git

upstreamという名前(←たぶん,何でも良い)で,本家を名指し(remote add).
% cd jagurs
% git remote add upstream https://github.com/jagurs-admin/jagurs.git
(この作業は,今後やらなくてよいはず)

本家を追従
% git fetch upstream

マージ
% git checkout master
Already on 'master'
Your branch is up to date with 'origin/master'.
% git merge upstream/master
Already up to date.

最後にサーバにアップロード
% git push origin

参考にさせていただいたブログでは,最後のサーバにアップロードが無いので,ウェブで見えるレポジトリが更新されませんでした.

Bluetoothをコマンドラインで再起動する方法

しばしば TrakPad の Bluetooth 接続が切れて,こんな得体も知れない不具合の対策を考えるのも嫌だったので,逃げ道.

% sudo killall bluetoothd

こんだけかい?!
bluetoothd の再起動(正確には停止)には root 権限が必要だったようで,sudo してます.

これでやっと有線(USB)マウス外せる.

(仕組みは分かってませんが,どっかに supervisor みたいなのが居て, bluetoothd が落ちたら起動してくれる仕組みが走ってます.つまり,その supervisor が生きている前提の対処法であることは忘れてはいけないかもしれません.)

2019/12/14

MP-CD1 モバイルプロジェクター

最近の出張でウケてるのがモバイルプロジェクター.

ずいぶん小さくて明るくなったので,出張や外勤の時に持ち歩いてたら使えそうだなと思って買いました.ただ,種類は色々.目的によって絞り込みをかけていかないと失敗しそうです.私のポイントは,

  • 軽くて持ち歩く(かばんに入れっぱなし)気になること
  • 多少明るい室内でも使えること
  • 無線接続
  • ポスター会場で使えること

でした.色々悩んで買ったのはSONYのモバイルプロジェクターMP-CD1.ただし,このブログを書いている時点で生産中止で在庫限りでした.写真は,iPod touchの写真を投影(それ自体に意味はない).



決定的だったのは,ACアダプタ.バッテリー内臓で充電式のものもあったのだけど,充電(給電)にはACアダプタが必要なものが結構多かった.のに対して,MP-CD1は,UCB-C給電.MacBook な私にとっては,「必然的に持っているもの」だったので本体重量に加えて,充電ケーブルの重量(MP-CD1だと,私にとっては0g)で考えました.

その代わり,主に妥協したのが,HDMI有線接続しか出来ないという点.USBメモリに入れたpptxを再生できたり,無線でつながったりするのも魅力的だったのだけど,諦めました.写真のHDMIは付属ケーブルでかなり太くて硬いので,書い直す予定.

ポスター会場でも使えるほど明るくて軽量なものはなかったので断念しました.ポスター会場用には,モバイルLCDを持った方が良さそうです.

おまけの機能として,USB-Aでモバイルバッテリにもなる点.スマホの充電に使えるのでこれは便利と思います.逆に,飛行機の時は機内持ち込みが必須になってしまいましたが.