tomyamaのブログ

日記・雑記。

Linux

SAMBAで共有できない?それってSELINUXに邪魔されていませんか?

SAMBAを使ったファイル共有がうまく構築できず、「NT_STATUS_ACCESS_DENIED」というエラーに悩まされました。 でもうまく構築出来なかった原因は「SAMBA」の設定では無く、「SELINUX」に邪魔をされていた、というオチでした。 SELINUXはその存在をすっかり忘…

シェルスクリプトのテンプレート

いつも使っている Shell Script のテンプレートです。 今はほとんどの環境でデフォルトのシェルは「bash」です。でも自分は枯れつくした「Bourne Shell」で動くように書いています。ですので、1行目は「#!/bin/sh」になっています。 どうしても配列を使いた…

C言語 rand()関数のサンプルコード

C言語の rand()関数のサンプルプログラムです。 rand()関数は、0 から RAND_MAX までの整数を返します。決まりきった事を実行する事が得意なコンピューターにとって、乱数を生成するのは難しい作業です。そのため実際には純粋にランダムな数字では無く、疑似…

C言語 srand()関数のサンプルコード

C言語の srand() 関数のサンプルプログラムです。 srand()関数は、疑似乱数を返す rand()関数の開始点を設定します。 逆に言うと、srand()関数をコールしないと、rand()関数は毎回同じ所から開始する事になります。その事を確認するプログラムを書いてみます…

cronデーモンの実行予定を見易く表示するスクリプト

昔に書いたPerlスクリプトです。PATHの通っている /usr/local/bin/ に置いてコマンドとして使用しています。 cron daemonのスケジューリングを確認したい時に使います。 cronデーモンとは? Unix系のOSには、cronというデーモン(サービス)があります。時間…

C言語 <assert.h> デバッグ用の診断機能

C言語の「assert.h」を使ったサンプルプログラムです。 たまに見かけるコードなのですが、自分では今までに使った事が無くて、今回初めて使ってみました。 assert() 条件の検証 準拠 POSIX.1-2001, POSIX.1-2008, C89, C99 #include <assert.h> void assert( int expre</assert.h>…

C言語 <stdarg.h> 可変引き数 サンプルソースコード

C言語の「stdarg.h」を使ったサンプルプログラムです。 va_start() 引数リストを初期化する C89 #include <stdarg.h> void va_start( va_list ap, last ); va_arg() 次の位置にある引数を取得する C89 #include <stdarg.h> type va_arg( va_list ap, type ); va_arg() を呼び出す</stdarg.h></stdarg.h>…

C言語 POSIX 正規表現(regex)

C言語で使える正規表現ライブラリのサンプルプログラムです。 regex [POSIX.1-2001準拠] ヘッダーファイル #include <sys/types.h>#include <regex.h> 構造体 typedef struct{ regoff_t rm_so; /* 次の最大マッチング部分の開始オフセット位置 */ regoff_t rm_eo; /* 終了オフセッ</regex.h></sys/types.h>…

Linux系の各ディストリビューションのバージョンを確認するコマンド

目次 目次 はじめに Linux全般 /proc/version CentOS・Debian系 /etc/redhat-release /etc/os-release Knoppix /home/knoppix/Desktop/KNOPPIX/KNOPPIX/kversion Cygwin cygcheck コマンド Android, Termux ENVIRONMENT [ 環境変数 ] さいごに [ver]スクリプ…

検索にマッチした行の前後を表示する

前にPerlで書いたフィルタースクリプトです。 主な機能は、指定したキーワードを見易いようにANSIエスケープシーケンスでマーキングすることです。ログを読むときに、蛍光ペンを引いたようにキーワード部分を読み易くしたくて作成しました。 また、-fオプシ…

シンプルなダイナミックリンクライブラリ(DLL)【3/3】

『【1/3】DLLを作成してみる』で作成したDLLを利用するアプリケーションを書いてみる。 繰り返しになりますが、想定しているのは以下のプラットフォーム(開発環境)です。 WindowsのDLLファイル(Visual Studio) LinuxのSOファイル(gcc) CygwinのDLLファ…

シンプルなダイナミックリンクライブラリ(DLL)【2/3】

『【1/3】DLLを作成してみる』で作成したDLLを利用するアプリケーションを書いてみる。 繰り返しになりますが、想定しているのは以下のプラットフォーム(開発環境)です。 WindowsのDLLファイル(Visual Studio) LinuxのSOファイル(gcc) CygwinのDLLファ…

シンプルなダイナミックリンクライブラリ(DLL)【1/3】

C言語でシンプルなダイナミックリンクライブラリを書いてみる。 単一のC言語ソースで、複数アーキテクチャ向けの共有ライブラリとしてビルドすることを考える。 想定しているのは以下のプラットフォーム(開発環境)です。 WindowsのDLLファイル(Visual Stu…

PCのフルバックアップを実施

PCのフルバックアップを実施しました。 前回のバックアップから1週間が経過。バックアップ先は2面分確保しているので、今回のフルバックアップで、前々回のフルバックアップのデータが消えることになります。 フルバックアップの対象と書き込み先のディスク…

FIFOを使ってプロセス間通信する

昔に書いたFIFOを使ってプロセス間通信をするシェルのサンプルスクリプトを見つけた。 全然覚えていない。 スクリプト中身を確認すると、FIFOを3つ作って、1つは読み書き用、残り2つは通信する2つのプロセスの状態を通知する為に使っているみたい。通信を5往…

ANSIエスケープシーケンスを使えない環境に対応する

目次 ANSIエスケープシーケンスとは ANSIエスケープシーケンスの使用例 ANSIエスケープシーケンスの制御コードは邪魔になることも… 制御コードを抑制する為の条件は…? isatty()関数のドキュメント STDOUT(標準出力)の出力先によって切り替える 端末エミュレ…

PCのフルバックアップを実施

定期的にPCのフルバックアップを実施しています。 差分バックアップもこまめに実施しているのですが、最近はフルバックアップも週1くらいの短いペースで実施できています。 前は3か月に1回くらいのペースだったのですが、やはり短い間隔で実施した方が安心感…