from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

kusanagi.lv7777.orgに再度息を吹き込んだときに行ったセキュリティ対策

本記事は以下の記事の続きです。

lv7777.hatenablog.com

一年前ぐらいにkusanagi.lv7777.orgを作って、その後1ヶ月ぐらいは更新していたんですが結局放置していた。 無駄に金取られてもったいなかったのでshutdownさせておいたので久々に起動させたらいろいろ古くなってた。

というかドメインすらなくなってた。

また、今回はkusanagiを載せてるwebサーバーをnginxじゃなくてapacheに変えてみた。

kusanagi nginxやkusanagi httpdコマンドで切り替えられる。すげぇ・・・一発だ・・・

というかkusanagiではapacheかnginxのどちらか一つしか起動しないことを知らなかった・・・

yumの自動アップデート設定

yum install yum-cronをインストールして/etc/yum/yum-cron.confをいじる

CentOS7のyum自動アップデート - tsunokawaのはてなダイアリー

yumのアップデート

yum update -y

kusanagi wordpressのアップデート

wp core update
wp core language update
wp plugin update --all
wp theme update --all
kusanagi update
kusanagi update cert
kusanagi update plugin
kusanagi ssl --auto
kusanagi restart

KUSANAGIのアップデートをしてみよう | KUSANAGI MAGAZINE kusanagiの公式めちゃわかりやすくて泣いてる

clamavのインストール

何かの間違いでbackdoor作られてchina-chopper-shellとかweb-shellとか入れられたらたまらないからね

CentOS7へclamavインストール(epelリポジトリ使用) | server-memo.net

wp-configの配置場所変更

あ、permissionはあまり変えないほうがいい。変えると挙動バグる。

kusanagi.tokyo

basic認証の追加

DocumentRoot以下にある.htaccess.bakを.htaccessにcpする。 その後、vimAllow from 127.0.0.1でコメントされている部分を有効にする。逆にAllow from allとなっている部分をコメントアウト

その後htpasswdコマンドでid/pwを設定し、適切な場所(/home/kusanagi/.htpasswd)に配置、パーミッションとかユーザーとか気をつけて。

htaccessが動かない・エラー時

推奨するセキュリティ対応 – KUSANAGI


私がやったのはこのくらい

ちなみに包括的なセキュリティの確認はダッシュボード画面でも確認できた(結構アだったので全部修正した) f:id:lv7777:20180305133544p:plain

本当は前段にwafかましてアクセス解析しながらシグネチャチューニングとかもしたいのだけど・・・

DB2にかなり詳しくなちゃった話(db2のデバッグ等)

自社システムのアップデートを全て俺が担当していてその中でdb2使ってるんですが謎のバグに襲われてひたすらdb2の挙動をanalyzeしていた。

ちゅらい。

発生した事象

db2インストール後rebootするとsqlコマンドが実行できない。

再起動前はdb2 "select * from HOGE_TABLE"でちゃんと結果が返ってくるのに再起動後はSQL1024N データベース接続が存在しません。 SQLSTATE=08003とか言われる。

お願い

この事象の解決方法知っている人いたら助けてくれ頼む。寿司ビールおごるから。(それはmysql) 良い子のみんななら解決方法知ってるんでしょ?頼む・・・辛すぎて猫になりそう。

db2デバッグについて

db2はでかいだけあっていろんなコンポーネントから出来ているしその分いろんなデバッグ方法もある。db2db2 udbというrdbmsを含めた一連のシステム群になっている

デバッグコマンド関係

  • db2diag 基本のやつ。/home/sqllib/db2dump/db2diag.logを表示する。-lオプションとか使える。

  • db2evmon db2のイベントをモニターする事が出来る。db2evmonはまずイベントファイルを作成してそれを使ってmonitor出力する感じ。イベントモニターファイルにもいろいろある。 表イベントモニターとか。

[db2inst1@test root]$ db2 connect reset
DB20000I  SQL コマンドが正常に完了しました。
[db2inst1@test root]$ db2 connect to XXX

   データベース接続情報

 データベース・サーバー                                   = DB2/LINUXX8664 9.7.4
 SQL 許可 ID                                              = DB2INST1
 ローカル・データベース別名                               = XXX

[db2inst1@test root]$ db2 SELECT EVMONNAME, TARGET_TYPE, TARGET FROM SYSCAT.EVENTMONITORS

EVMONNAME                                                                                                                        TARGET_TYPE TARGET                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
-------------------------------------------------------------------------------------------------------------------------------- ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DB2DETAILDEADLOCK                                                                                                                F           db2detaildeadlock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
SQL_EV                                                                                                                           F           /tmp/sql_ev                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
SQL_EV2                                                                                                                          F           /tmp/sql_ev2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  3 レコードが選択されました。

[db2inst1@test root]$ db2
(c) Copyright IBM Corporation 1993,2007
DB2 クライアント 9.7.4 コマンド行プロセッサー

db2 => create event monitor learnmon for statements write to file '/tmp/learnmon'
DB20000I  SQL コマンドが正常に完了しました。
db2 => ^C[db2inst1@test root]$
[db2inst1@test root]$ mkdir /tmp/learnmon
[db2inst1@test root]$ exit
exit
[root@test ~]# chmod 777 /tmp/learnmon/
[root@test ~]# su db2inst1
[db2inst1@test root]$ db2 connect to XXX

   データベース接続情報

 データベース・サーバー                                   = DB2/LINUXX8664 9.7.4
 SQL 許可 ID                                              = DB2INST1
 ローカル・データベース別名                               = XXX

[db2inst1@test root]$ db2
(c) Copyright IBM Corporation 1993,2007
DB2 クライアント 9.7.4 コマンド行プロセッサー

db2 => set event monitor learnmon state 1
DB20000I  SQL コマンドが正常に完了しました。
db2 => ^C[db2inst1@test root]$
[db2inst1@test root]$ db2evmon -db XXX -evm learnmon > /tmp/leanmon_txt.txt
  • db2trc db2の動きをトレースできる。 トレースした後dumpしてdumpファイルをdb2trc flowコマンドで変換するという流れ。 dasの動きだからメモリの動向とかパフォーマンスチューニング的なやつ。あまり意味無い。

  • db2audit db2の監査を行う。 ポリシーの定義、ポリシーとユーザーの紐付け、start stop flush、アーカイブ https://www16.atwiki.jp/rinn/pages/71.html db2audit start db2audit stop

    • db2audit describe 現在のポリシーの設定を表示する。bothがベスト。failture、successは失敗、成功したもののみロギング
    • db2audit configure 現在のポリシーの設定を変更する。sqlでも定義できるけどね。 db2audit configure scope all status both 全部つける。
    • db2audit extract 記録したバイナリファイルからテキスト形式で抜き出す。db2trcみたいな。 db2audit extract file "/tmp/owari.txt" from files db2audit.instance.log.0.20180206161739

監査記録って感じ。

timestamp=2018-02-06-16.16.52.498535;
  category=CONTEXT;
  audit event=ATTACH;
  event correlator=1;
  userid=db2inst1;
  authid=DB2INST1;
  application id=*LOCAL.db2inst1.180206112210;
  application name=db2audit;

timestamp=2018-02-06-16.16.52.499429;
  category=VALIDATE;
  audit event=AUTHENTICATION;
  event correlator=1;
  event status=0;
  userid=db2inst1;
  authid=DB2INST1;
  execution id=db2inst1;
  application id=*LOCAL.db2inst1.180206112210;
  application name=db2audit;
  auth type=SERVER;
  plugin name=IBMOSauthserver;
  • db2ps db2trcとあんまかわらん。psのメモリ情報とか取得する感じ。パフォーマンスチューニング系か。

  • asnqcap なぞ。調べたけどよく分からんかった。 asnqcap capture_server=db2inst1

db2のconfig等の確認

db cfgはdbのテーブルレベルで保管される。ちなみにdb cfgで()が付いていないcfgは変更できない db2 get db cfg for TABLES

dbm cfgなんてものもある。これはdb managerが持っているもの。 db managerはメモリとかdiskとかを最適な値に割り振るやつ。 oracle dbでもあったなぁこんなやつ。 db2 get dbm cfg

レジスト変数なんてものもある。windowsレジストリみたいな。実態は/home/sqllib/profile.envにある。 db2set -all

あとは環境変数環境変数レジストリ変数の違いはレジストリ変数はdb2setコマンドを使って設定すればrebootが必要ないのに対し、環境変数の変更を有効にする為にはrebootが必要になる。

環境変数値はdb2instanceとか。

変数系を変更するにはdb2setの他にdb2caとかも使用できる。

db2set -allの実行結果はこんな感じになる。iとかgはinstanceとglobalの略。instance固有の値を持つものとdb2全体で有効になるやつ。

[i] DB2COMM=tcpip
[i] DB2AUTOSTART=YES
[g] DB2_COMPATIBILITY_VECTOR=MYS
[g] DB2SYSTEM=test
[g] DB2INSTDEF=db2inst1
[g] DB2ADMINSERVER=dasusr1

あとdb2 valuesとかも結構使えるな。

ログ関係

ログ一覧:http://www-01.ibm.com/support/docview.wss?uid=swg21632267

  • db2diag.log
  • トランザクションログ 以下のコマンドの場所にある。バイナリだし人間が見てもあんまデバッグには使えない。 S000000.LOGみたいな名前。 db2 get db cfg for LST | grep LOG
  • historyファイル 使えそうな名前だがあんまデバッグには使えない。リカバリー履歴ファイルはdbごとに作成されバックアップの取得やリストア、表スペースの変更やログファイルの取得などが記録される。 db2rhist.ascとか。
  • 管理通知ログ /home/db2inst1/sqllib/db2dump/db2inst1.nty 流石にdb2diag.logよりは情報無いか。
  • daslog database administration server dasなのであんま期待はできないが良さそうなログ。 /home/dasusr1/das/dump/db2dasdiag.logとかにある
  • インスタンス起動ログ /home/db2inst1/sqllib/log/にある。かなり良さそう。エラーなければ特に出ない。
  • db2eventlog db2diag logと何が違うのか大して分からん。

他にもコマンド叩いたときに初めて有効になるログとかいろいろある。

おまけ(db2のプロセスとか)

db2fmpについて

db2fmp は fenced ストアード・プロシージャーおよびユーザー定義関数を実行するプロセスです。

http://www-01.ibm.com/support/docview.wss?uid=swg21589183

直前のdb2stopによって出力されたやつなのでdb2fmpやdb2acdのエラーは問題なし。

db2fs

db2 first stepの略

db2sampl(https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001934.html) などと合わせて使うとよさそう。入門者的には嬉しいコマンド。

db2sync

db2シンクロナイザー。configu guiも持っていたりする。

おまけ2(入門時に調べた小ネタとかざっくばらんに書いておく)

全般

db2 udb...ユニバーサルデータベースのこと。 db2db2 udbというrdbmsを含めた一連のシステム群になっている

db2のベストハイエンドはDWE

db2のconfig

db2のconfigは構成パラメーターという。ググる場合はこの言葉を使うとよし。

構成パラメーターファイルはdb2systmファイル、SQLDBCONFファイルに入っているが どちらのファイルも直接編集することは出来ない。

レジストリ変数を確認するならdb2set -allを使う。

キーワードを持たないフィールドは、データベース・マネージャーが保守します。 そのようなフィールドを更新することはできません。

lstをインストールすると/home/TMP/LST/SQL00001.TDAというのが出来る。

TDAについて

https://www.ibm.com/support/knowledgecenter/ja/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0024781.html

表再編成のときのソート(表をクローンして再度構成するときにするソート)で使う。

db2XXXXというコマンド各位について

あれはdb2inst1/sqllib/bin/以下に入ってる。

db2fmcuについて

db2fmcuは落ちた(バグで落ちた、rebootした)後db2インスタンスの自動再起動を行うプロセス的なの

udf

user define function ユーザー定義関数

dasprofile

db2profileはkorn shell用の設定なのでbashには関係ない。

DB2_COMPATIVIRITY_VECTOR

db2set -allで表示できるレジスタ変数の一部 MYSはmysqlの値となる。他にもoraとか設定できる。

express-cだと効かない。一応効くけど微妙

http://www-01.ibm.com/support/docview.wss?uid=swg21503288

db2 connect to XXX using YYY

using yyyはパスワード。

db2(odbc)(programから使用するとき)

odbcsqlを実行するときには必ずcursorが使用される。

http://sql55.com/t-sql/t-sql-cursor-example.php http://www.atmarkit.co.jp/ait/articles/0801/21/news117.html

cursorはオラクルとかms serverとか他の鯖にも結構ある。 selectしたものをforするときのポインタみたいなやつ、謎。

http://www005.upp.so-net.ne.jp/khayashi/db2da/tracing.html

db2setupでrspするとき

nlpackディレクトリはdb2ディレクトリのと同じフォルダに置くこと。

kali linux v2017.3 から v2018.1 に乗り換えてみたレポート

基本は特に変わってない。bug fixがメインっぽい。あと

インストール

心なしかインストール時のフォントが綺麗になった気がする。

f:id:lv7777:20180210143059p:plain

起動

特に変わらないですね。相変わらずかっこいい。

今年のはじめの方に落としてきた2017.3と2018.1のdiff

f:id:lv7777:20180210150043p:plain

カーネルバージョンも微妙に上がってた。

conclude

特に変わったところは無いのでスッと乗り換えることができそう。

もう普段使いではなくなってしまったけど相変わらずかっこいいです・・・最高。

皆様もkaliどんどん使ってください

あとほぼ同じだったので記事の中身がスカスカになってしまいました。

windows環境におけるime作成方法(2018年版)

win ime界隈情報が古すぎて情報止まってるのでアップデートしておく。

入門とか現在どうなってるかとかは別の記事にまとめる予定なのでとりあえずサンプルコンパイルして動かすまで。

まずwin imeはけっこう変化が激しくてimm32とかtsfとかwpfとかuwpとか出てくる。

windows 7,vista,8,10によってなんか微妙に違ったりするらしい。

でも基本的にはどのプラットフォームでもtsfでime作成が可能。

基本的にtsfによるime作成はコンパイルしてできた特殊なdllをregsvr32 hoge.dllで登録することでimeとして登録できる。 regsvr32とあるが64bit osでも可。

visual studio2015を入れればとりあえず動いたのでvs2015を入れる。

win7で動くサンプルの作り方

nyaruru大先生のサンプルを使うがvista用なのでwin7での手順を以下に示す

nyaruru.hatenablog.com

Windows SDK Kit for Windows Vista and .NET Framework 3.0 Runtime Componentsも Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1も サンプルの内容としては特に変わらないので下記サイトから取得してインストールする。

Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 Download Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 from Official Microsoft Download Center

ちなみにMicrosoft Windows SDK for Windows 7 and .NET Framework 4でもサンプルは動くのでそちらでもおk。

次にvisual studio 2015をインストール。vs2015はオプションの選択とか無いので入れるだけ。12GB・・・

環境が整ったらnyaruru師匠のブログに戻りサンプルプロジェクトをダウンロード。

本当にありがとうございます・・・

Visual C++ 2005 用のプロジェクトファイルを置いておきますのでご活用くださいませ.
http://www.dwahan.net/nyaruru/hatena/winui-tsfproj.zip

zipを好きな場所に展開すると以下のようになる

f:id:lv7777:20180128095144p:plain

その後windowssdkのサンプルソースファイルをtsfappとかの対応するフォルダにコピーする

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\winui\tsf\tsfappとかのソースファイルを展開したプロジェクト\tsfappにコピー

すると以下のような感じになる

f:id:lv7777:20180128095404p:plain

んでvs2015でさっきのプロジェクト(winui.sln)を開いてtsfappをビルドする。

コケなければreleaseやdebugフォルダにexeができるはずなのでそれをクリックすればTSFに対応したエディタが作成できる。

でも違うんだよなぁ私が作りたいのはエディタじゃなくてimeなんですがって人は同じようにソースをコピってtsfcaseをビルドする。

そうするとTSFCase.dllがなぜか展開した最上位のreleaseにできたのでそれをregsvr32 TSFCase.dllで登録

こんなんでましたけど~

f:id:lv7777:20180128105623p:plain

管理者権限Windows SDK 7.1 Command Prompt(文字が黄色いヤツ)を開いてregsvr32 TSFCase.dll

再登録時にはregsvr32 /u TSFCase.dllした後に登録。

DllRegisterServer への呼び出しはエラーコード 0x8002801c により失敗しました。

以下のようなサンプルができる。やったぜ。

f:id:lv7777:20180128100726p:plain

win10で動くサンプルのビルド

Windows-classic-samples/Samples/IME at master · Microsoft/Windows-classic-samples · GitHub

上記githubのサンプルはwin8用と書かれているが普通にwin10でも動きそう。

でも私が動かしたのはこれ。

Windows Input Method Editor (IME) sample in C++ for Visual Studio 2010

これもvs2010用と書いてあるが同じように2015で開いてビルドする。(ターゲットはwin10だけどwin7でビルドしてもおk)

もしoverflowがなんとかって言っていたらwarningをerrorとして扱うコンパイルオプションを無効化して再度ビルド。

まぁそれがダサいっていうならwarning箇所のboolをintに治せば一応すべてのwarningは消えるはず。

でビルドは成功したけどエラーでた旨のメッセージが出るからガン無視してreleaseに入っているsampleime.dllとかsampleime.expとかすべてwin10にコピーする。

win10でregsvr32 sampleime.dllを実行すれば登録されるはず。

以下のようになる

f:id:lv7777:20180128102033p:plain

オワリ。

win imeは環境構築がくそめんどい。vs重いしwinsdkとか.netとかよくわからんし。

でもlinuxime(ibus)は必要知識多いからなぁ・・・

ime界隈は結局どちらもめんどくさいけどlinuxのほうがスッと始めれるので私はlinuxから入ることをおすすめするよ

まぁその辺のお話は別の記事(IME自作界隈入門の入門)で。

aguse gatewayの画期的な使用方法

ブロックされていることを確認します

f:id:lv7777:20171224213202p:plain

aguse gatewayします。

f:id:lv7777:20171224213350p:plain

オワリ

以上クリスマスに暇すぎて書いた一発ネタでした。

rpmの解析とかspecファイルとかrpmの移植とかtips

大幅に遅刻しましたがharekazeアドカレ17日目です。

adventar.org

centosrhelのパッケージ形式はrpm(それはそう)

rpmの実態は「インストールスクリプト」+「バイナリ本体」でできている。

この両者が同じものなら論理的には同じ動作をするがなんとハッシュ値rpmを作るときによって変わる

鍵QT:diffっても完全に同じだったのにハッシュ違う心霊現象が起きていたがrpmbuildはビルド時間記録するからそこが変わることがが分かった

ちなみに通常更新日時や属性ではhash値は変わらない(それはそう)

rpm -qiとかでこのパッケージをrpmbuildで生成したビルド日時等が見れる。

じゃあ2つのrpmをどうやって比較するかというとインストールスクリプトとバイナリ本体を回答ディレクトリに分けてそれらのdiffを取る

実はrpmdiffとか他にもたぶんいろんな方法あるんですがこの言葉からどれだけ劣悪な環境で開発させられてるか察してほしい

インストールスクリプトrpm -qp --script XXX.rpmとかで表示できる。

rpm -qp --script A.rpm > A.sh
rpm -qp --script B.rpm > B.sh
diff A.sh B.sh

みたいな感じで。

インストールスクリプトの中身はただのsh。でもpreとかpreunとかpostとかpostunとかのいくつかのセクションに分割されている。

バイナリ本体はrpm2cpio XXX.rpm | cpio -idで解凍できる。解凍するとcurrentdirにフォルダごとのバイナリやconfigファイル等のパッケージに必要なものが出力される。

例えばcurrentdirが/tmp/levena/だったとする。このディレクトリでrpm2cpio httpd2.4.rpm | cpio -idを打つと/tmp/levena/var/www/や/tmp/levena/usr/local/にhttpd.confやmod_jk.so等が出力される。

これを2社間でdiffすればいい。winmergeマジ便利なのでお勧めです。

rpmの移植(rhel6→rhel7に移植するときみたいな)

依存ライブラリで死ぬ場合は上記の方法でバイナリ解凍した後、ldd等でどのバイナリでどの共有ライブラリが必要か割り出していく。どこが死んでいるかわかったらあとはバイナリを差し替えるなりソース書き換えるなりすれば良い。

セグ落ちしたりrhel6→7の仕様で壊れてる場合は知らん。気合で直せ。(辛かった)

rpmのビルド

いまさら聞けないrpmbuildことはじめ - hack in 3 minutes

rpmbuildの方法とかについてはたくさん載ってるんだけどpostとかpreunとかrpm ivvvhの見方とかspecファイル特有のコマンドの解説とかは全然載ってないんだよなぁ・・・

rpmのbuildはrpmbuildで行う。

その時どんなものをrpmパッケージに詰めるのか、インストールスクリプトのソースはどうするのかについて指示するのがspecファイル。

specファイルはインストールスクリプトと同じようにいくつかのセクションから出来ている。
っていうかspecに書いたものがそのままインストールスクリプトになる。

だから調べるようにechoデバッグとか入れて調べることもできる。

specファイルでは特殊なコマンドが使用されることが多いが、たいてい既存のコマンドに動作が似ている。

例えばinstallコマンドはcpと同時にchmodが行える。setupコマンドはtarの解凍っぽい感じ。

ただし見慣れないコマンドなので理解するのにめちゃ時間かかった。
それぞれのsetupコマンドとかオプションも尋常じゃない程多いし。
アではふんだんに意味不明なオプション使いまくってたし。

手元に実行環境無いし書き直す前より内容薄くなってしまった・・・

おまけ

syslogとかの対応で苦しむ未来が見えるので予習しておく

RHEL7/CentOS7 では、御存知の通りsystemdが導入されています。この影響でログ関連も大きく構成が変わっています。 う~ん、辛い!w

外側から飛んできたり内側から生えてきたログはまずjournaldに補足された後rsyslogのimmoduleで選別されて/var/log/messages等に行く。

一応レガシーsyslog使えるっぽい。syslog.confをそのままrhel7で動かしたらimklogとかで死んだけど。

ただログの保存に失敗するときあるらしいし素直に移植したほうがよさそう。

この部分移植するのに結構時間かかりそうだなぁ・・・普通に1週間食われるかも・・・

rh6からrh7の移植

# yum install XXX –downloadonly –downloaddir=.
未インストールのパッケージのrpmをカレントディレクトリにダウンロード
# yumdownloader <package>
インストール済みのパッケージのrpmをカレントディレクトリにダウンロードする
# yum list installed | grep pcre
システムにインストール済みのパッケージを探す(rpmのパッケージ名やバージョンが表示できる)
# rpm –ivh XXX.rpm
rpmファイルをインストールする
# rpm –Uvh XXX.rpm
rpmファイルをアップデートする
# rpm –Uvh XXX.rpm
rpmファイルをアップデートする
# rpm -qpi xxx.rpm
未インストールのrpmファイルの情報を表示
# rpm -ivvvh XXXX.rpm
詳細な出力を有効にしてインストール(デバッグ用)
# rpm --eval %{name}
rpmbuildで使用するspecファイルの値の確認をする
# ldd xxxx.rpm
rpmが依存している共有ライブラリを表示する
# ldd xxxx(バイナリ)
xxxxが依存している共有ライブラリを表示する
# ldconfig
システムに登録した依存関係を更新する。
# rpmbuild -vv -bb ./redhat/SPECS/logstareAL-1.7.0.spec
specファイルとソースコードからrpmを作成する。
# find ./ -exec chmod 500 {} +
現在のディレクトリ以下のパーミッションをr-x------とする
# find ./ -type f  -exec chmod 400 {} +
ファイルのパーミッションのみをr--------とする。
# tar –czvf dst.tar.gz ./
tar.gzに圧縮、解凍
# rpm2cpio XXX.rpm | cpio –id
rpmを解凍する、出力はカレントディレクトリとなる。
# install –m
パーミッションを変更しながらコピー。%{__install}はこのコマンドを実行している。
# wget --no-check-certificate  https://xxxx/hoge.tar.gz
証明書が壊れているサイト(pcre等)からgzをダウンロード
# pcre-config –cflags
Apacheをbuildする時にpcreがちゃんとインストールされているかどうか確認する。
このコマンドの実行結果が返ってきていない場合はbuildに失敗する。その場合はpcreのソースを持ってきてそれを先にビルドしmake installなどをする。
# ./configure --with-apache=/usr/local/logsynthe-www/apache2/
mod_jkのconfigureで使用する。(ls-dev01のapacheビルド方法は通常と違う為、このオプションを付けないとmod_jk configure時に認識できない。)
# find . -type f -name "Makefile" | xargs grep -l "V9\." | grep -v "work" | grep -v "devel_old_pkg" | grep -v "b.+up" | xargs perl -i -pe "s/db2\/V9.\d/db2\/V10.5/g"
db2に関する記述があるmakeファイル内の中でdevel_old_pkgやbackup、work以外のdb2を指定するバージョンをv9.Xからv10.5にする。

aviutlのスクリプトを改良した

とりあえず2つ

MIDIFileReaderとgometh兄貴の音MAD特有の左右反転するやつ。

MidiFileReaderのアップデートは2つ。

とりあえず再生できるようにした。

というのもなぜか白水さんのスクリプト・プラグイン - purinka.workから持ってきたmidifilereaderはうまく動かなかったから。

あとはmidiを読み込むと音MAD特有の左右反転するやつの効果を自動で足してくれる奴作った。

ただし現状リズムトラックなんかは1トラックで複数の素材を使うわけでそういうのはトラックを分ける必要がある(e.g. スネアとキック)

とはいえ普通のトラックなら作業量が100分の一くらいになるんじゃないかな。

obj.effectの部分変えればいろんな効果(e.g. ノートに合わせて伸縮とか)が得られる・

動画は作者のデフォルトであったのでそれは普通に動いたのでそっち使う(なんか日本語おかしいな相当つかれてるっぽい)

音madミラーっぽい効果を追加 · GitHub

音MAD特有の左右反転するやつ

16部と32部を足した。fh,tyを新しく追加

1.5とか3連符とかも追加しようと思ったがかなりだるかったので上の方法に切り替えた

gometh兄貴の音MAD特有の左右反転するやつに16分音符付け足したやつ (ver1.2).avi ...