CentOS 7ではまったこと:/var/run直下のディレクトリが消える
CentOS7 系の /var/run ディレクトリは /run ディレクトリのシンボリックリンク、
実態の/runディレクトリは tmpfs ファイルシステムでマウントされています。
$ ls -ld /var/run lrwxrwxrwx. 1 root root 6 2月 18 2016 /var/run -> ../run $ df -k ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/centos-root 8869888 1055424 7814464 12% / devtmpfs 498144 0 498144 0% /dev tmpfs 508388 0 508388 0% /dev/shm tmpfs 508388 6600 501788 2% /run tmpfs 508388 0 508388 0% /sys/fs/cgroup /dev/vda1 508588 126316 382272 25% /boot tmpfs 101680 0 101680 0% /run/user/0
ちなみに CentOS6系の/var/runは実在するディレクトリです。
$ ls -ld /var/run drwxr-xr-x. 14 root root 4096 4月 5 17:14 2017 /var/run
よって、OSを再起動すると、/run (/var/run)に置かれたファイル・ディレクトリは全て削除されてしまいます。
今回は ZabbixAgentd の PID ファイル(/var/run/zabbix/zabbix_agentd.pid)が作れず起動失敗していたことで発覚しました。
対応方法
systemd の systemd-tempfiles に要因
システム起動時にファイル・ディレクトリが自動的に作成されるようにする
/etc/tmpfiles.d に設定ファイルを作成する
$ vi /etc/tmpfiles.d/hoge.conf
以下のように記述する
#Type Path Mode UID GID Age Argument d /var/run/hoge 0755 hoge hoge -
記述は /usr/lib/tmpfiles.d ディレクトリ内に既に多くの設定ファイルが保存されているのでそちらを参考に
ちなみにシンボリックリンクを作成したい場合は以下のように記述する
#Type Path Mode UID GID Age Argument d /var/run/hoge 0755 hoge hoge - L+ /var/run/hogelink - - - - /var/run/hoge
※/usr/lib/tmpfiles.d < /etc/tmpfiles.d が優先される
rpmコマンドメモ ~rpmパッケージの詳細を確認したい~
※gccを例に
■インストール済みの特定パッケージの詳細を確認したい
$ rpm -qi gcc
[出力例]
Name : gcc Version : 4.8.5 Release : 4.el7 Architecture: x86_64 Install Date: yyyymmdd hh:mm:ss Group : Development/Languages Size : 39010978 License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD Signature : RSA/SHA256, yyyymmdd hh:mm:ss, Key ID xxxxxxxx Source RPM : gcc-4.8.5-4.el7.src.rpm Build Date : yyyymmdd hh:mm:ss Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://gcc.gnu.org Summary : Various compilers (C, C++, Objective-C, Java, ...) Description : The gcc package contains the GNU Compiler Collection version 4.8. You'll need this package in order to compile C code.
$ rpm -qip <rpmファイル名>
上記と同じ出力結果
■インストールされたファイルのリストを確認したい
$ rpm -ql gcc
Zabbixサーバ fping設定
ZabbixでICMP Pingを使用する場合は、fpingユーティリティが必要
(試した環境はZabbix-2.4.5)
[zabbix_server.conf]
### Option: FpingLocation # Location of fping. # Make sure that fping binary has root ownership and SUID flag set. # # Mandatory: no # Default: # FpingLocation=/usr/sbin/fping
デフォルトは /usr/sbin/fping
インストールされていない場合はfpingをrpmなどで入手し、手動インストール
インストール後は、Zabbixユーザがfpingを実行できるように、パーミッション変更する。
[変更前]
$ ls -l /usr/sbin/fping -rwsr-xr-x 1 root root 27776 7月 6 2010 /usr/sbin/fping
[変更]
$ chown root:zabbix /usr/sbin/fping $ chmod 710 /usr/sbin/fping $ chmod ug+s /usr/sbin/fping $ ls -l /usr/sbin/fping -rws--s--- 1 root zabbix 27776 7月 6 2010 /usr/sbin/fping
Subversion リポジトリ作成~初期設定メモ
~前書き~
Apache-2.4 + mod_dav_svn 構成
SVNクライアント(TortoiseSVN)からhttpアクセス
httpd.conf : <Location /svnTest>
SVNParentPath : /svn/svn_Test
■リポジトリの作成
$ cd <httpd.confのSVNParentPathで指定したパス> $ svnadmin create <リポジトリ名> $ chown -R apache:apache <リポジトリ名>
■trunk, branches, tagsの作成
$ cd /tmp <--どこでもOK $ svn co file:///svn/svn_Test/<リポジトリ名> <リポジトリ名> --no-auth-cache $ cd <リポジトリ名> <--/tmp/<リポジトリ名> $ svn mkdir trunk branches tags $ svn commit -m "Initial Commit" --username admin --password <adminのパスワード> --no-auth-cache $ svn list file:///svn/svn_Test/<リポジトリ名> $ cd .. $ rm -rf /tmp/<リポジトリ名>
$ svn ls http://<SVNサーバIP>/svnTest/<リポジトリ名>/trunk
■既存リポジトリ領域からチェックアウトする
$ cd <作業領域など> $ svn co http://<SVNサーバIP>/svnTest/<リポジトリ名>/trunk <リポジトリ名>
jQuery はじめに
jQuery入門
JQueryを始めるための覚書きです。
①jQueryを使用したいページのHEADタグ内に、jQueryを呼び込むためのタグを記載する
パターン:1
jQueryのダウンロードページから入手し、srcディレクトリ等に配置
<head> ~ <script type="text/javascript" src="js/jquery.js"></script> ~ </head>
パターン:2
CDNを利用
<head> ~ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/x.x.x/jquery.min.js"></script> ~ </head>
※当然インターネット接続していないと使えない
補足:jQuery には圧縮版の Minified と、非圧縮版の Uncompressed があって、一般的には読み込みの早い圧縮版を使います。圧縮版は改行などが排除されていて、ファイル名が jquery-1.6.4.min.js のように min がついてるのがそうです。数字はバージョンを表しています。
②コードを記載する場所
jQueryのコードは、HEDAタグ内の、jQuery本体のコードの後ろに記載すること
※CSSを読み込む場合は、CSSのほうが上になるように
というわけで、こんな感じの順序にする
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/style.css" /> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/script.js"></script> </head>
③jQueryの基本文法
$(function(){ $("A").B(C) });
A:セレクタ ・・・divタグ等、class要素を指定するところ
B:メソッド ・・・Aの要素に対して処理を加える部分
C:パラメタ
「AをBする」
④サンプル
例:クリックするとhoge1の指定箇所が消えるサンプル
【HTML】
<div class="hoge1">クリックすると消えます</div>
【CSS】
.hoge1{ color:#00FF00; }
【JS】
$(function(){ $(".hoge1").click(function(){ $(this).hide() }); });