Linux
4年ほど前にRaspberry Pi向けのC/C++クロスコンパイル環境を整えたのだけど、当時と今では環境構築の方法が異なるようだ。ということで、現時点(2022年8月)での「Linux上でRaspberry Pi向けクロスコンパイル環境を構築する方法」についてメモを残しておく…
Debian 10ではパケットフィルタリングまわりの設定に使用するフレームワークがnftablesに変更されたのだが、この変更が「既に運用中の『iptablesを使用しているDebian 9』」をアップグレードする際にどのような影響を及ぼすのか、メモを残しておく。(Debian…
umask(1)の仕様を調べようとしたのである。で、ググって見つかった「デフォルトのファイルアクセス権 (umask) (Solaris のシステム管理 (基本編))」を見てちょっと驚いた。 設定する umask の値は、与えたいアクセス権の値を 666 (ファイルの場合) または 77…
Raspberry Pi用にQtをクロスコンパイルする方法を探していたのだが、どの情報も非X11のコンソール環境にてEGLFS経由で直接OpenGL ESで画面描画する構成のQtのバイナリを作るものばかりだった。しかし私は、諸事情よりX11のデスクトップ上でアプリを実行でき…
ALSA C libraryのAPIを使用してMIDIの入出力を行うLinuxアプリがあるのだが、出力したMIDIをループバックさせて入力として読み込みたい――という話である。macOSなら標準のIACドライバを、Windowsならサードパーティの仮想MIDIケーブル*1を使うパターンである…
id:eel3:20121112:1352651058 でシンボリックリンクを張りなおすMakefileを書いたのだが、デッドリンク(リンク切れしたシンボリックリンク)がそのまま残ってしまう問題があった。この問題に対処するために、デッドリンクを探す方法を――『覚えて便利 います…
改行区切りのテキストレコードを舐めて、特定の形式に当てはまるものを除外するツールが欲しくなった。形式の判定には正規表現が使えそうだった。Unix環境で動かすなら、既存のテキストフィルタを使えばよい。だが残念なことに動作環境はWindowsで、しかもス…
たぶんまだまだ初級な小ネタ。こんな感じに16進数(プレフィックスなし)のデータが並んでいるテキストファイルtest.datがあって: 00000000 00000001 0000000F 00000010 7FFFFFFF 80000000 FFFFFFFE FFFFFFFFこれを元データ(32bit符号なし整数)としてちょ…
初級小ネタ。例えばgrep(1)する際に、こんな感じのサンプルコードが示されることがある。 cat file.txt | grep foo しかし個人的には次のほうが好みだ。 grep foo file.txt せっかく引数でファイルを指定できるのだから、そちらを使いたい気分になるのだ。tr…
もう1つ、初級小ネタ。DebianやUbuntuで、あるパッケージがインストールされているか否か調べるのに、今までdpkg(1)とgrep(1)を組み合わせていた。 dpkg -l | grep acpi ところで先日、dpkg(1)のmanを見たところ: -l, --list package-name-pattern... 「pac…
Ubuntu 14.04.5にAppleのSwiftを入れて遊ぼうとしていたのだが、Swift 2.2.1から3.0に差し掛かえたらSegmentation faultが多発するようになった。 $ swift Welcome to Swift version 3.0 (swift-3.0-RELEASE). Type :help for assistance. 1> 1 + 3 Segmenta…
タイトル名の通りのことを今更ながら実感したので、記録を残しておく。netcat(nc(1))を使って、TCPで簡易的にファイルを転送する方法は2パターンある。ファイルを送る側のコンピュータでlistenする方法と、ファイルを受け取る側のコンピュータでlistenする…
LinuxにRustをインストールした後、rustc(1)を実行しようとして、次のようなエラーメッセージが表示されることがある。 $ rustc rustc: error while loading shared libraries: librustc_driver-4e7c5e5c.so: cannot open shared object file: No such file …
id:eel3:20140309:1394294944 の続きというか、ついでというか。Node.jsのプロジェクトでは、x86とx86_64向けのLinux用バイナリも配布している。これの手動インストール手順を確かめてみた。環境はUbuntu 12.04 LTSだ。 公式サイトのダウンロード一覧から、L…
手元のWindows/LinuxとMacとで、CapsLockキーの動作に思わぬ違いがあった。具体的には、CapsLockがONの状態でShiftキーを押しながらアルファベットを入力した時、Windows XP・Windows 7・Ubuntu 12.04 LTSでは小文字が入力されたが、Mac(Mac OS X v10.8.4)…
身辺整理というか、開発用機材の入れ替えだ。新しいPCに移行するので、返却する古いPCのHDDデータを削除する必要があるのだ。今まではWindowsだけで、しかも1回に1台のPCだけで済ましていたというのに、なぜか今回はWindows・Mac・LinuxのオールスターPC軍団…
PowerShell 1.0の頃から例外処理用にtrap文が用意されていて、これがまた興味深い。trap文の元となったのは、おそらくBourne shellの系統のシェルに用意されている組み込みコマンドtrapだろう。『Windows PowerShellインアクション』1.2.1によれば、PowerShe…
Ubuntu 10.04から12.04.1にアップグレードしたらfile(1)の出力内容が変わった。スクリプトファイルのテキストのエンコーディングを出力するようになったようだ。例えば10.04の頃の出力はこんな感じだった。 # Groovy 2.0.5付属の起動用シェルスクリプトで実…
Javaプラットフォームで動作する言語処理系を幾つかUbuntuに入れている。$HOME/langs以下に各処理系のアーカイブを伸張・展開しておき、付属の実行スクリプトへのシンボリックリンクを$HOME/binに作成して使用している。アーカイブを展開した後のディレクト…
ものすごーく久しぶりに――具体的には6年ぶりぐらいに――偽アセンブラであるCASL IIを触ってみようと思い立ったのだけど、WindowsはともかくLinux上で使えそうなシミュレータがなかなか見当たらない。「Linux CASL」等でググってもIPAのサイトで公開されている…
本当に今更だけど、投げ売りなのか1,480円で売ってたので試しに買ってみた。一緒に買ったUSBメモりの方が高かった。PLANEX USB機器のデータをパソコンやデジタル家電で共有できるUSB 2.0メディアサーバ 1ポート (PS3・Xbox 360対応) MZK-USBSV出版社/メーカ…
id:eel3:20110618:1308377037 の続き。前回までの作業で、Ubuntu上でCDをリッピングしてMP3化する環境を構築できた。しかし安心するのはまだ早い。十分な容量のSDメモリカードを持っていないし、作業するPCにSDカードリーダーの類は付いていない。肝心のハー…
「カーナビ三部作」となっているが、カーナビ絡みだがカーナビとは斜め45度ぐらいの方向にて苦労した話だ。カーナビにSDメモリカードのリーダが付いていた。SDメモリ内のMP3ないしWMAファイルを再生できるらしい。そこで手持ちのCDをリッピングしてMP3に変換…
id:eel3:20110317:1300326487 で ~/.vim/after/ftplugin に置いた *.vim なファイルが読み込まれなくて悩んでいたが、ようやく解決した。Ubuntu用のvimの設定一式をDebian 5.0にコピーしたら同じ問題が起きたので、これはほぼ間違いなく自分の設定に不備があ…
ubuntu 10.04でPCをシャットダウンする場合、通常は画面右上の電源マーク的なもの*1をマウスでクリックしてシャットダウンを選択するのだが、万一マウスが壊れてしまった場合はどうするべきか?ノートPCなのでタッチパッドが付いているとかUSBの替えのマウス…
C言語やC++を使うときはタブ(半角4文字分)でインデントするので、vimの標準設定(.vimrc にて設定)はそれに合わせている。が、言語によっては別の設定にしたくて、例えばRubyの場合は半角スペース2文字でインデントしたい。という訳でこんなファイル(rub…
何の気の迷いか、それとも魔が差したのか、夜中に思いついてライフゲームを実装するという暴挙*1に出てみた。夜中で頭の働き低下していたので、取りあえず書きなれているC++を使用。本来はC言語の方が書きなれているはずだが、ここ最近C++を弄くっている影響…
openSUSE 11.0のx86_64を入れてたんだけど、もう何ヶ月も放置状態だったので、入れ替えた。やっぱり目的に合ったツールを選ばないといけない。元々Cressida NBを買った理由は、 主にプログラミングの勉強用のマシンとして使う。 ついでに持ち運びが楽だとう…
ふと思い立って、NASを買わないで自作してみた。バカだな、自分。 ちなみにこんな構成。RAIDじゃないのは仕様です。 OS Vine Linux 4.2 FTP MB VIA EPIA-N8000E (VIA CN400 North Bridge + VIA VT8237R-Series South Bridge) HDD HITACHI Deskstar T7K500 32…
今更ながらubuntuを7.10から8.04にアップグレードした。いつも使っているFirefoxのアドオンがFirefox 3に対応するのを待っていたのだ。まあアップグレードといっても途中で止まってしまってにっちもさっちもいかなくなったので、結局クリーンインストールし…