ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    最新の広告

    VPSでWebサイトを作る


    ドメイン名を取得する


    プログラミングの質問サービス


    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    FC2ブログ 管理画面


    with Ajax Amazon

    Linuxでストレージを暗号化

    このエントリーをはてなブックマークに追加
    サイバー攻撃が増加する昨今、コンピューターのデータは暗号化しておきたい。

    Linuxサーバーには、ストレージを暗号化するツールが用意されている。

    ext4のファイルベース暗号化FSを試してみる
    DM-Cryptを使ってファイル システムを暗号化する
    dm-crypt/システム全体の暗号化 - ArchWiki

    「dm-crypt」等、ストレージのデータを暗号化しておくツールは、いろいろあるので、用途や規模に応じて利用したい。
    可能なら、ツールを自作すればいいかな?
    このエントリーをはてなブックマークに追加

    Linuxのディレクトリー数とファイル数の上限

    このエントリーをはてなブックマークに追加
    Linuxのファイルシステムで、1つのディレクトリーにどれくらいファイルやディレクトリーを配置できるのだろうか?
    理論上は無限だったとしても、多くなればなるほどアクセス速度が遅くなって、実用性が失われるだろう。

    Linux ファイルシステム ディレクトリ 階層 深さ アクセス 速度 - Google 検索

    (参考)
    pxt | OS依存:ファイルシステムの文字数の上限について
    ファイル数・ディレクトリ数

    昔、Linux 上で 1つのディレクトリの直下に 30000個 強のディレクトリを作ったら落ちるという現象に遭遇したことがある。
    こちらによると、一つのディレクトリに 32768 のサブディレクトリの上限があり、一つのディレクトリ内のファイル数は、実運用上約 10000~15000 個が上限 とある。
    システム全体の数は i-node によると書かれている。



    Linuxは1ディレクトリに大体ファイル数を 1万ファイル位(まあ大… - 人力検索はてな

    1ディレクトリ内のディレクトリ数の制限はあるのでしょうか?

    ここに情報があります。
    https://jp.linux.com/JF/JFdocs/kernel-docs-2.4/filesystems/ext2.txt.html
    > 一つのディレクトリに 32768 のサブディレクトリの上限があります。
    > 現行の単方向リンクのリストによるディレクトリの実装で、一つのディレクトリ内のファイル数は、実運用上約 10-15k 個が上限になります。
    > この制限はこのような大きなディレクトリ内のファイルを作成および削除 (さらに検索) する時のパフォーマンスの問題のためです。

    実用上、15000 までは OK との見解ですね。



    サブディレクトリ―の数やファイル数は、10000個~15000個程度にしておくのが無難、という情報がヒットしました。
    (やや古い情報だったので、最新の情報は分かりません。)

    ファイルシステムの改良によって上限は増えていくでしょうが、一つの目安として、実用上はこの程度だと覚えておくと良いのかもしれませんね?


    ゼロからはじめるLinuxサーバー構築・運用ガイド 動かしながら学ぶWebサーバーの作り方
    中島 能和
    翔泳社
    2016-07-06
    ¥ 2894
    このエントリーをはてなブックマークに追加

    デスクトップ用のリナックスは、Linux Mintで決まり!?

    このエントリーをはてなブックマークに追加
    Linuxを使う場合、すべてのツールを自分でコンパイルして使う人ではない限り、メジャーなディストリビューションから選択することになるでしょう。

    パッケージの管理ツールの違いから、
    ・RedHat系 → CentOS
    ・Debian系 → Ubuntu
    の二択だったのですが、UbuntuはGUIが劣化したので、選択肢から外しました。

    Linux Mintの人気:浜村拓夫の世界

    Ubuntuの代わりとして、Linux Mintも一考と。



    【“デスクトップ用のリナックスは、Linux Mintで決まり!?”の続きを読む】
    このエントリーをはてなブックマークに追加

    CentOS7の変更点

    このエントリーをはてなブックマークに追加
    CentOS7は、大きな変更点がいくつかあるようです。(検索結果をメモ)

    慣れればOKなんだろうけど、面倒くさいですね?
    まあ、無料だから文句あるなら、自分で作れよっていう話で。><

    さくらのVPS 新プラン(v4) メモリ1G、SSD 30Gに乗り換えました | riatw.me

    CentOS 6→CentOS 7に変更
    ・serviceコマンド廃止 → systemctl
    ・iptables → firewalled
    ・chkconfig廃止 → systemctl
    ・MySQL → MariaDBに変更



    iptablesの廃止が痛いかな~?
    蓄積していたノウハウが使えなくなっちゃうね!
    iptablesの設定方法 - 浜村拓夫の世界

    新しい「firewalld」の使い方を勉強せにゃならん。


    ●systemd
    CentOS7では、システムの制御で「init」の代わりに「systemd」という仕組みが導入されたそうです。
    これに伴って、従来あった「service」というコマンドは「systemctl」というコマンドに置き換わります。

    RHEL 7 に採用される systemctl コマンド - /dev/null blog

    init の代替を目指し Fedora 15 に採用されたのが systemd です。
    systemd を採用することで、より速く、効率が良いブート処理を実現しています。
    ユーザーにとっても大きな変化があります。

    ・chkconfig / service コマンドの廃止
    ・runlevel がなくなり、新たにターゲットの概念を採用
    ・サービス制御のために systemctl コマンドの採用



    systemdで使われるsystemctlコマンドは以下のような記法(文法)らしいです。

    まずはサービスの起動と停止です。
    # CentOS 6.4
    service httpd (start|stop)
    # Fedora 19
    systemctl (start|stop) httpd.service

    次は自動起動の設定と解除です。
    # CentOS 6.4
    chkconfig httpd (on|off)
    # Fedora 19
    systemctl (enable|disable) httpd.service

    サービスの制御と自動起動の設定がひとつのコマンドに集約されました。
    httpd.service というこれまで見かけなかったオプションが出てきました。
    これは設定ファイルのシンボリックリンクで、実体は /usr/lib/systemd/system/ にあります。
    中を見てみると init のようなシェルスクリプトではなく、シンプルな設定ファイルであることが分かります。



    へー、コマンドにオプションが付けられて、その実体は設定ファイルなんだと。

    Life with open mind: Systemdコマンド早見表(CentOS 7対応)

    CentOS 7ではsystemdが導入されているので、サービスの管理が従来と大きく変わっています。
    「前のコマンドはsystemdでどう入力するの?」というのだけ、簡単にまとめてみました。



    操作SysV InitSystemd
    起動/etc/init.d/sshd startsystemctl start sshd
    終了/etc/init.d/sshd stopsystemctl stop sshd
    強制終了PID探してkill -9systemctl kill -s 9 sshd
    再起動/etc/init.d/sshd restartsystemctl restart sshd
    設定反映/etc/init.d/sshd reloadsystemctl reload sshd
    状態取得/etc/init.d/sshd statussystemctl status sshd
    自動起動を有効chkconfig sshd onsystemctl enable sshd
    自動起動を無効chkconfig sshd offsystemctl disable sshd
    自動起動の状態確認chkconfig --list sshdsystemctl is-enabled sshd(status でも表示される)
    サービス一覧の表示ls /etc/init.dsystemctl --type service


    こんなかんじで、一通り揃ってると。

    systemd解説のスライド
    Linux女子部 systemd徹底入門 from Etsuji Nakai


    CentOSも、今後どんどんバージョンアップを重ねていくだろうから、今のうちから新しい仕組みに慣れておくかー。

    はじめてのCentOS7 Linuxサーバ構築編 (TECHNICAL MASTER)
    デージーネット
    秀和システム
    2014-09-30
    ¥ 3,456

    このエントリーをはてなブックマークに追加

    Linuxでファイル名が文字化けして消せないファイルを、inode番号を指定して削除する方法

    このエントリーをはてなブックマークに追加
    LinuxのWebサーバー管理で、ファイルが削除できなくて困った。
    ファイル名が文字化けして、変なファイル名になっており、ファイル名が指定できない状態に陥ってしまった。

    Linuxのファイル管理システムでは、ファイルのメタデータとして「inode」がある。
    inode番号を指定して、ファイルを削除することができたので、備忘録としてメモ。


    ● inode とは?
    Inode - ウィキペディア

    inode(あいのーど)は、ext2などのUnix系ファイルシステムで古くから使われているデータ構造である。
    inode にはファイル、ディレクトリなどのファイルシステム上のオブジェクトに関する基本情報が格納される。



    Linuxシステムの仕組みと運用、管理 ファイルの属性情報(inode) - 株式会社アットマークテクノ

    すべてのファイルはファイルの内容とは別に、ファイルの属性を表すメタデータを持っています。
    このメタデータのことを、inodeといいます。



    iノード番号 - Linux初心者の基礎知識

    Linuxのファイルシステムでは各ファイルの実体をiノード番号で 管理しています。



    Windowsでファイルを右クリックして、プロパティーを選択すると、ファイルに関するいろいろな情報(メタデータ)が表示される。
    メタデータとは - IT用語辞典 e-Words

    メタデータ 【 meta data 】 メタ情報 / meta information
    データについてのデータ。
    あるデータそのものではなく、そのデータに関連する情報のこと。
    データの作成日時や作成者、データ形式、タイトル、注釈などが考えられる。
    データを効率的に管理したり検索したりするために重要な情報である。
    文書や画像などを保存するファイル形式の多くは、ファイルの先頭にメタデータを格納し、続いてデータ本体を格納するようにできている。



    ・Linuxのファイルシステムでは、ファイルにinodeというメタデータが付与されており、inode番号でファイルを特定(指定)できる。
    ・ファイル名が文字化けして、うまく指定できない場合でも、inode番号が分かれば、ファイルを指定できる。
    ・inode番号でファイルを指定して、削除することもできる。


    ● inode番号でファイルを削除する方法
    C's Memo: inode 指定 ファイル削除
    inodeを指定してファイルを削除 | hogefoobar* blog

    ファイル名が文字化けしたらinodeを指定してファイルを削除します。

    inodeを調べる。
    $ ls -i
    8115737 broken_named.file

    テスト。
    $ find . -inum 8115737
    ./broken_named.file

    削除。
    $ find . -inum 8115737 -exec rm {} \+

    慎重派。
    $ find . -inum 8115737 -ok rm {} \+
    “rm ./broken_named.file”? y



    この通りにやったら、上手く削除できました!
    ブロガーの皆さん、有益な情報提供、どうもありがとうございます。(・∀・)

    Linuxシステム[実践]入門 (Software Design plus)
    沓名 亮典
    技術評論社
    2013-07-03
    ¥ 3,110


    このエントリーをはてなブックマークに追加

    CentOSをUSBメモリーでインストールする方法

    このエントリーをはてなブックマークに追加
    Windows XP が入っていたノートパソコンを、Linuxマシンとして再生することにしました。
    Windows XPサポート終了後はLinuxに乗換え - 浜村拓夫の世界

    光学ドライブ(CD、DVD)が付いていないノートパソコン(Panasonic Let's Note CF-R7)だったので、USBメモリでLinuxをインストールすることにしました。
    Linuxのディストリビューションは、CentOSにしました。

    今回の肝は、通常のインストーラーを使うのではなく、「LiveCD」用のデータを使う点です。

    Live CD - ウィキペディア

    Live CD(ライブCD)あるいはLive DVD(ライブDVD)とは、ハードディスクドライブやSSDなどの内部ストレージにインストールすることなく、直接OSを起動させることができるCDやDVDである。



    今すぐ使えるかんたんmini USBメモリー徹底活用技 〔Windows8/7/Vista対応版〕
    オンサイト 技術評論社 2013-09-18


    ●LiveCDでOK
    今回は、LinuxをインストールするPCとは別に、準備作業が行えるPCがあったので、そちらで準備作業を行いました。

    (1) 空のUSBメモリを用意する。

    (2) CentOSの公式サイトから、LiveCD用のOSイメージファイルをダウンロードする。
     → http://wiki.centos.org/Download
     → 32ビット用(i386)と64ビット用(x86_64)がありますが、今回は64ビット用を採用しました。
     → http://isoredirect.centos.org/centos/6/isos/x86_64/
     → http://ftp.iij.ad.jp/pub/linux/centos/6.5/isos/x86_64/IIJのミラーサイト)
     → 「CentOS-6.5-x86_64-LiveCD.iso 30-Nov-2013 02:09 649M」これをダウンロードする。

    (参考)LiveCDとLiveDVDの違い(CentOS6.5編)

    対象者
    LiveCD Linux経験者(LPIC認定技術者とか)
    LiveDVD Linux初心者(Windowsユーザとか)


    …単純には、CD=最小限、DVD=テンコ盛り、というかんじ?

    (3) Image Writer for Microsoft Windows をダウンロードする。
    OSのイメージファイルを、起動可能な形でUSBメモリにコピーするために、今回は「Image Writer」という専用ツールを使いました。
     → https://launchpad.net/win32-image-writer/
     → http://sourceforge.net/projects/win32diskimager/
     → http://sourceforge.net/projects/win32diskimager/files/Archive/
     → 「Win32DiskImager-0.9.5-binary.zip 2014-03-19 18.3 MB」インストールしないで使えるこれをダウンロードしました。
     → zipを展開して、「Win32DiskImager.exe」をクリックすればOK(インストール不要)

    (参考)USBメモリへのディスクイメージの書き込み

    Windows 環境上で、ISO イメージを USB メモリに書き込むには、 DDforWindows や Disk Imager for Windows というアプリケーションが使用出来ます。



    (4) USBメモリにコピー
    「Image Writer for Microsoft Windows」(Win32DiskImager.exe)を使って、
    「CentOS-6.5-x86_64-LiveCD.iso」ファイルをUSBメモリに書き込みます。

    (5) PCのブートシーケンス(起動の順番)を変更
    USBメモリからブート(起動)できるように、ノートパソコンのBIOSで、HDDよりも先にUSBメモリを読み込むように、順番を変更しておきます。

    (6) CentOSのLiveCDを起動
    USBメモリをノートPCに付けて、電源を入れます。
    CentOSのGUI(操作画面)が表示されたら、ここまでの準備作業は成功です。

    (7) CentOSをインストール
    USBメモリから起動させて試用しているCentOSですが、気に入れば(動作に問題がなければ)、
    PCのストレージ(HDD、SSD等)にインストールして、継続的に使用することができます。
     → LiveCDのFirefoxで、インターネット接続可能か確認しておきます。(=LANが認識されているか?の確認)
     → LiveCDのCentOSを、HDDにインストールすればOK

    これで、CentOS(Linux)をUSBメモリでノートパソコンにインストールすることができました!
    【“CentOSをUSBメモリーでインストールする方法”の続きを読む】
    このエントリーをはてなブックマークに追加

    Windows XPサポート終了後はLinuxに乗換え

    このエントリーをはてなブックマークに追加
    間もなく、Microsoft社が終了します。

    …じゃなかった、Windows XPのサポートが終了します。

    Amazon.co.jp: Windows XP/Office 2003 サポート終了のお知らせ
    Windows XP終了後は、
    ・Windows 8を買う
    ・新しいPCを買う
    という提案で、買い替え需要を促しています。(商魂)

    Windowsじゃないと困る人は、今なら「8」じゃなくて「7」がオススメ
    →ご存知のようにWindows 8は、UIがクソ設計で、8.1に衣替えしたOSです。

    Windowsじゃなくても良い人は、Linuxを使えばOK
    危険なWindowsXPマシンはUbuntu Studioマシンにしちゃえ! - 藤本健の“DTMステーション”

    パソコンを買い換えるなら、Macにしときましょう。(笑)

    もう一つの手として、特定のOSに依存しないために、「仮想化」もオススメです。
    PCのスペックがある程度高ければ、VirtualBox等の仮想化ツールを使って、使用OSを切り替えたら良いでしょう。



    はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS)
    清水 美樹
    工学社
    2012-07
    2415円



    このエントリーをはてなブックマークに追加

    yumコマンドで追加したリポジトリを確認する方法

    このエントリーをはてなブックマークに追加
    Linux(CentOS)で、追加したリポジトリを確認したい場合、

    yum repolist


    yum repolist all


    というyumコマンドを打てはOK。

    すると、使用できるリポジトリのリストが一覧で表示されます。
    「remi」「epel」辺りが使えるように設定されていれば、だいたい事足りるかな?

    (参考)[CentOS]追加したyumリポジトリを一覧で確認するコマンド

    プロのための Linuxシステム構築・運用技術 (Software Design plus)
    中井 悦司
    技術評論社
    2010-12-22
    3024円


    【“yumコマンドで追加したリポジトリを確認する方法”の続きを読む】
    このエントリーをはてなブックマークに追加

    Linuxのソフトのアンインストール

    このエントリーをはてなブックマークに追加
    Linuxで、インストールしたソフトウェアをアンインストールするとき、残骸データは残らないのだろうか?と疑問に思った。
    結論から言うと、インストールした痕跡は残ってしまうが、Windowsのレジストリのようなデータはない、とのこと。

    本日の教訓: Linuxにはレジストリがない

    【“Linuxのソフトのアンインストール”の続きを読む】
    このエントリーをはてなブックマークに追加

    Linux/UNIX ファイルの型(type)

    このエントリーをはてなブックマークに追加
    SSL/TLSを導入するため、WebサーバーのApacheをインストールし直す必要があった。
    設定ファイルをバックアップするとき、何気にシェルの表示が気になった。
    →「ls -l」で出てくる、左側の記号の意味が曖昧だった。

    # cd /etc/httpd
    # ls -l

    drwxr-xr-x 2 root root 4096 4月 29 12:48 conf
    drwxr-xr-x 2 root root 4096 4月 29 13:08 conf.d
    lrwxrwxrwx 1 root root 19 8月 24 2011 logs -> ../../var/log/httpd
    lrwxrwxrwx 1 root root 29 8月 24 2011 modules -> ../../usr/lib64/httpd/modules
    lrwxrwxrwx 1 root root 13 8月 24 2011 run -> ../../var/run



    この「d」とか「l」って、何なのさ?

    【“Linux/UNIX ファイルの型(type)”の続きを読む】
    このエントリーをはてなブックマークに追加