それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

2023-01-01から1年間の記事一覧

laravel 5/6/7アプリケーションをphp8.0で動かす。

稼働中のLaravelアプリをバージョンアップ php8で動かしたいと思ったけど、エラーになるので、対応する。 マニュアルupgrade 5.8 to 6を参考にアップグレードする composer.json ## require - "php": "^7.1", + "php": "^7|^8.0", - "laravel/framework": "5…

debian 11 -> 12 のアップデートした。pt1_drv が死んだgem が死んだ。openssh-server が死んだ、mysqldumpが死んだ

debian 11 -> 12 にアプグレ そろそろアップデートしようかなと思った。 nodesource や gitlab や php など apt でインストールしているパッケージ関連も debian 12 に対応したっぽいので特に問題なくアップグレード出来るはず。 準備。 事前に最新版にする …

openWrt でipsecしてトンネルを経由する。(nft/nftablesに注意する。)

openWrt は nft / nftables になっているので、注意する。 最初にパケットを定期的に送る。(watch を使うのがコツ / ping コマンドで送ると継続パケットになり、パケットがマークされたままになり、経路が変わっても以前の経路を通る) ssh s0 -- watch -n 2…

インターリンクのVPNサービスにLinux(ubuntu)のstrongswanから接続する。

strongswan でIKEv2を接続する UbuntuでStrongswanをインストールして、固定IPサービスを利用する。 MyIP 契約 を用意する インターリンクMyIPの契約をすると、グローバル・アドレスが直接割り当てられる。 ちなみに、グループ専用VPN では、1つのグローバ…

nft によるMSQUERADE(iptables MASQUERADEからの移行)

nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…

tailwindcss でチェックボックスやラジオボタンと連携させる。

tailwindcss でチェックボックスと連動させる チェックボックスやラジオボタンのチェック状態(疑似セレクタ:check)と連動させることができる。 .peer/{$name}:checked ~ .peer-checked/{$name}:{$tailwindcss-class} tailwindcss で「実数とネガティブ」(…

オープンソースのWebDAVサーバー

WebDAV のオープンソースなサーバは無いのか WebDAVサーバーを設置しておけば、HTTPSでファイルがアップロードが出来て便利だと思う。 ファイルの管理や一覧が便利なので、ある程度扱いやすいと思う。 いまさら、Apache+mod_dav も不便だよなぁ。と考えてた…

sqlite3 を使っていると遭遇するロック・エラー database is locked

sqlite3 を使っていると遭遇するロック・エラー sqlite3 を使っていると、トランザクションでデータベースがロックされて、書き込みに失敗することがある。php や python や ruby でもなんでも良いけど、トランザクションを使ってるときに、ロックが行われて…

nvmeの大きめヒートシンクを導入してその効果を検証する。

昨年・一昨年、nvmeが死にまくったので、ヒートシンク導入した nvme故障連発した。夏場のPCのnvmeが高温で死んでるかもしれないので、今年から大きめのヒートシンクを導入している。 導入したヒートシンクは、ヒートパイプつきでファンは無いけど、CPUファン…

mattermost でファイルのアップロードができない。

ファイルアップロードで失敗する mattermostでファイルをアップロードしようとすると、アップロードで止まってしまう。 { "create_post.fileProcessing": "処理しています...", } 処理していますは、とmattermostのソースコードで日本語化ファイルをみる と"…

NTT フレッツ HGW(RP-500MI)のvpnサーバーに iOS/iPhoneからつなぐ

NTT のホームゲートウェイのVPNサーバー設定 NTTのホームゲートウェイにはVPNサーバ機能がついている機種があり(PR-500系)、L2TP/IPsecで接続することができる。 ユーザを作って、共有鍵を取得しておく iOSのVPN画面から 接続先・ユーザ名・パスワード・IP…

L2TP/ipsecのvpnサーバーに OpenWrt からつなぐ

OpenWrt からL2TP/IPsecにつなぐ 接続相手は、NTT フレッツ HGW(RP-500MI)のVPNサーバー。 基本的にはNTTのHGWにUbuntuでL2TP/IPSecで繋いだのと同じ法 インストール opkg install xlt2ptd strongswan 動作確認したときのインストール状態 strongswanは次の…

NTT フレッツ HGW(RP-500MI)のvpnサーバーに ubuntu からつなぐ

NTT フレッツ HGW(RP-500MI)のvpnサーバーに ubuntu からつなぐ NTT が提供する ホームゲートウェイ・光コンバータ一・ひかり電話の一体型機器にはVPNサーバー機能がある。 NTT 東 https://web116.jp/shop/hikari_r/guide/500ki/1-r/m01_m35.html NTT西 http…

xl2tpd でサーバ&クライアントを作り、PPP通信をする(IPSecなし)

L2TP/IPsec について L2TP/IPSec と一言でいっても、Linux上では、次の3つの機能によって成り立ってる。 ipsec ( ikev1 ) xl2tpd pppd このうち、xl2tpd + pppd はペアで1つのPPP接続(≒vpn)を作る、ipsecは暗号化である。ipsecで指定したIP/ポートを暗号化…

パケットがipsecトンネルに入るか否かを確認する。(l2tp/ipsc)

パケットがトンネルに入るか否かを確認する。 xl2tpd / ipsec で ipsec と l2tpd が併せて語られる記事をいっぱい見かけたけど、ipsec は ipsec で単体で、独立して動作しているよね?って思ったので、念のための念のために確認した。 ipsec を準備する 2台…

ファイル名の全角半角統一する。(uconv )

ファイル名に全角半角を混ぜないで 混ぜないでと言っても、混ぜないでと何度いっても、全角半角(日本語と英語)を混ぜる人がいる。 大抵は、プログラミングで補えるところなので入力補助でサポートされるよね。でも、ファイル名になると、バリデーションな…

linux でファイル名に連番を付加して整理する。

コマンドで、ファイルに番号をつけたい。 なんか適当にファイルをつくちゃってて、ちょっと整理が大変なとき。 ls -l total 0 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aeja6 -rwxrwxrwx 1 takuya takuya 0 Aug 3 16:34 aen4b -rwxrwxrwx 1 takuya takuya …

JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る

JOINコマンドの例 JOINを使って出欠(出勤)の一覧を作る LEFT OUTERJOIN的なことをやって、NULLをゼロで埋めて、表を作る 過去にもやったけど、書き直して。覚え直し。 次のようなデータを作りたい。 2023-08-01 1 1 2023-08-02 0 1 2023-08-03 0 0 2023-08…

sed で複数条件の置換を並べて書く。

sed の複数条件を複数列挙する。 cat sample.txt | sed -e 's|^|s/|' -e 's|$|/|' パイプ2個使わなくて良い cat sample.txt | sed -e 's|^|s/|' | sed -e 's|$|/|' 正規表現の|でも工夫できる cat sample.txt | sed -e 's|[apple|pen]|s/|' 複数列挙するほ…

Airplayミラーリングをraspiでやる

appleTV が動かない AppleTV(第3世代)とAppleTV(第2世代)でミラーリングしていたけど、先日、ついに動かなくなった。 ミラーリングメニューがiOSから出たり出なかったり、ミラーリング選択をしても映ったり映らなかったり。つまりAppleTVを初期化して…

raspberry Pi をiPhoneのリモートスピーカーにする。

AirPlay音楽再生を行う。 AirPlayとは、iPod / AirMacExpress の頃からある、iOSのリモートスピーカー機能。 WiFi経由で音楽を再生できる。とても便利である。Radikoと相性がよく愛用している。 Bluetoothより通信が安定しているし、2.4GHz電子レンジ加熱で…

Raspebrry pi の起動設定(raspi-config)をリモートからGUIで行う

raspi-config をGUIで使いたい。 /usr/bin/rc_gui コマンドからやると煩雑。 sudo raspi-config 同じことができるが、cursesのタブ切り替えに未対応なので、すごく煩雑。 SSH のX転送で行う。 ssh -X raspi3.local /usr/bin/rc_gui /usr/bin/rc_gui をX11 fo…

raspberry pi zero にUSB-LANを繋いでOpenWrtを動かす。

pi-zero で open wrt を使う pi-zero で open wrt の入ったSDカードを使う。 Raspberry Pi で OpenWrt を使うには。 公式サイトに専用ページが設けられている。 https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi pi Zero + OpenWrt を使う場合…

lxc で実験環境を作るときのメモ

lxc

最近、LXCで実験環境を作ることが多いけど、いつも忘れるのでメモ。 LXC_NAME=test ## lxc launch ubuntu:22.04 $LXC_NAME lxc config device add $LXC_NAME mytap0 nic nictype=macvlan parent=eth0 lxc shell $LXC_NAME ## in shell ## use apt-caching-pr…

ddnsのサービス一覧を更新する

ddns がたまに動かなくなってることがある。 原因としてはいくつか考えられるが、ddnsのサービス定義ファイルが古いことがある。 ここで、サービス定義ファイルの更新日(最終確認日=チェック日)を確認できる。 これが、古いことがあるので、偶に更新する…

OpenWrt (x86-64/ext4)のディスクをメンテナンスした。

OpenWRTが起動して動作してるが、Read Onlyになっていて、ext4 のフォーマットがエラーになっていたので修正する。 [ 5.150903] EXT4-fs (vda2): warning: mounting unchecked fs, running e2fsck is recommended [ 5.161300] EXT4-fs (vda2): re-mounted. O…

QEMUを終了する(デタッチと終了

QEMUを終了する Ctrl-A-X docker / docker compose や lxc みたいに、デタッチ したり、終了するには、キーボードからエスケープ・シーケンスを送信してから該当のキーを送信する。 参考資料 https://superuser.com/questions/1087859/how-to-quit-the-qemu-…

qemu でネットワークを使う。

起動時に、-net をつけると良い -net user 何も考えずに、何も考えないでつける。 qemu system nic "10.0.2.2" dhcp ブリッジを使いたいときは -nic bridge,br=br0,model=virtio-net-pci sudo qemu-system-aarch64 \ -m 2G \ -nographic \ -enable-kvm \ -ma…

ubuntu (aarch64 ) on raspi-ubuntu +nvram な仮想マシンを作る

apt で libvirt を入れる。 sudo apt -y install qemu-kvm libvirt-daemon-system \ libvirt-daemon virtinst bridge-utils libguestfs-tools virt-top libvirt 経由でNVRAMとUEFIを使って起動する・ NAME=u2204-02 DIR=/var/lib/libvirt/images NVRAM=$DIR/…

SQLite3でテーブルが存在するか調べてCREATE table if not exists

sqlite3って if exists 対応してた 存在するときにテーブルを消す if exists でテーブルがあるときに、消して作り直せる DROP TABLE IF EXISTS TableName 存在しないときにテーブルを作る テーブルがまだ無いときだけ作る。 CREATE TABLE if exists {table} …