タグ

Linuxに関するhatekun33のブックマーク (163)

  • #/usr/binとその同種の周辺を探る | POSTD

    (注:2017/04/10、いただいたフィードバックを元に翻訳を修正いたしました。) はじめに 私はLinuxが大好きです。コンピュータとのやりとりが楽しくなるし学ぶことも多くなります。OSとハードウェアの基盤となる基原則を学びたい人にとって、Linuxはとてもいい出発点と言えるでしょう。 ご存じのとおりLinuxとは大抵の場合プログラム(コマンド)を通してやりとりします。Linuxと他のUNIX系システムが持っている特徴は、コマンドラインと、パイプのコンセプトです。プログラムの提供する入力と出力を統合すれば、データを操作するのに非常にパワフルなプラットフォームになります。 Linuxのコマンド、プログラム、バイナリ(何と呼んでもいいのですが)の大部分は、/usr/bin、/usr/sbin/、/binそして/usr/local/binに存在しています。これらのディレクトリを見れば、プロ

    #/usr/binとその同種の周辺を探る | POSTD
  • Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ

    Googleが、太古のディストリビューションであるRed Hat 7.1から、10年新しいDebianベースのディストリビューションへ、ライブアップグレードした話を紹介する。 そのあと、自分の身の回りの環境と比較し、参考にすべきポイントを考察する。 原文は USENIX LISA の投稿論文だ。しかし、中身は論文体というよりは、事例の紹介といった適切かもしれない。 MERLIN, M. Live Upgrading Thousands of Servers from an Ancient Red Hat Distribution to 10 Year Newer Debian Based One. In Proceedings of the 27th conference on Large Installation System Administration (LISA) (2013),

    Googleが数千台もある10年前のLinuxディストリをライブアップグレードした話 - ゆううきブログ
  • grepコマンドで覚えておきたい使い方14個(+3個) | 俺的備忘録 〜なんかいろいろ〜

    LinuxやUnixを使っていく上で、どんなに経験が浅くても一度は利用するgrepコマンド。 今回は、このgrepコマンドで覚えておきたい使い方について紹介する。 なお、ここで扱うgrepコマンドはLinuxのものをベースに記述している。商用UNIXやBSD等の場合、オプションなどが異なる事があるので注意。 1.基の使い方 まずは基的な使い方から。 テキストファイルから特定の文字列を含む行のみ出力する。 grep 検索したい文字列 検索したいテキストファイル ワイルドカードを用いる事で、複数のファイルを指定してgrepを行う事も出来る。 コマンドの出力結果から検索する場合は、「|(パイプ)」を利用する。 コマンド | grep 検索したい文字列 2.複数の条件でor検索する 複数の条件で検索を行う場合、eオプションを付与する。 grep -e 検索したい文字列1 -e 検索したい文字列

  • Linux Insides : カーネル起動プロセス part1 | POSTD

    ブートローダからカーネルまで これまでの私の ブログ投稿 を読まれた方はご存じかと思いますが、しばらく前から低水準言語を使うようになりました。Linux用x8664アセンブリ言語プログラミングについても書いています。また、同時にLinuxのソースコードにも触れるようになりました。下層がどのように機能しているのか、コンピュータでプログラムがどのように実行されるのか、どのようにメモリに配置されるのか、カーネルがどのように処理や記憶をするのか、下層でネットワークスタックがどのように動くのかなどなど、多くのことを理解しようと意欲が湧いています。これをきっかけに、 **x8664** 版Linuxカーネルについてシリーズを書いてみようと思いました。 私はプロのカーネルプログラマではないことと、仕事でもカーネルのコードを書いていないことをご了承ください。個人的な趣味です。私は下層で何が起きているのかと

    Linux Insides : カーネル起動プロセス part1 | POSTD
  • Linuxサーバの時刻設定手順とエラー(the NTP socket is in use, exiting) - Qiita

    はじめに Linuxサーバを作る度に絶対に時刻設定するので、その手順とありがちなエラーについて書き残す。 Linuxサーバ時刻設定手順<決定版>(2015/02/09 追記) Linuxサーバの時刻について設定手順メモを残しておく。 (1) システムクロックの時刻を確認する

    Linuxサーバの時刻設定手順とエラー(the NTP socket is in use, exiting) - Qiita
  • サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ

    はじめに 近年注目されているサーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はこのChefについて、基的な環境構築方法と使い方を紹介する。 前回はサーバーの設定管理ツールとして「Puppet」を紹介したが、今回紹介するChefは、このPuppetと人気を二分するサーバー設定管理ツールだ。 Chefは米Opscodeが開発しているオープンソースソフトウェアで、Rubyなどのオープンソースな技術を使って実装されている。ライセンスはApache License 2.0だ。同社はChefにいくつかの機能を追加した有償版の「Private Chef」やクラウド型の「Hosted Chef」といったサービスも提供しているが、記事ではオープンソース版のChefについて紹介する。

    サーバー設定ツール「Chef」の概要と基礎的な使い方 | さくらのナレッジ
  • サーバー管理ツール「Ajenti」がなかなか良さげ - Qiita

    Linux系のサーバー管理ツールといえば Webmin や、有料なら cPanel なんかが有名。 だけど他にフリーなのないかなと探してみると Ajenti というのが最近人気があるっぽい感じだった。 Ajenti 公式サイト http://ajenti.org/ インストール インストールは簡単で、例えば CentOS6 なら以下のコマンドで一発。 (すべて yum で入れてくれる模様) curl https://raw.githubusercontent.com/ajenti/ajenti/1.x/scripts/install-rhel.sh | sh Ubuntuとか他のものは以下のページにインストール方法がある。 http://support.ajenti.org/list/27624-kb/?category=9290 Pythonで動いてるらしく、上記インストールコマンドでそ

    サーバー管理ツール「Ajenti」がなかなか良さげ - Qiita
  • 「SELinuxのせいで動かない」撲滅ガイド - Qiita

    はじめに 注意事項 この記事は何らかの理由でSELinuxを利用しなければならない時に発生する、意図せずプログラムが動かなくなる問題を解決するための手段を書いたものである。 作業対象のOSは作業中いつでも停止可能であるものとする。SELinuxの設定作業中に停止不可能とか無茶なので。 また、すべての操作はrootユーザで行っている。SELinuxは「管理者による強制的なアクセス制御」なのでrootユーザが操作しなければならない。 内容は主にCentOS 7で確認し、CentOS 6やFedora 22も一部確認に使用している。 SELinuxの管理で使用する各種のコマンドは初期からインストールされているものは少なく、またコマンド名がそれを含むrpmパッケージ名と一致しないものが多い。 このような場合はyum install *bin/<コマンド名>でインストールすることができる。Fedor

    「SELinuxのせいで動かない」撲滅ガイド - Qiita
  • カレントディレクトリ以下で改行コードがCR+LFのファイルを探す - Qiita

    Linux または Cygwin でカレントディレクトリ以下で改行コードがCR+LFのファイルを探すには以下ようにします。 やり方1 grep を使う方法です。grep にファイル名だけを表示する -l を指定しています。 (このやり方ではバイナリファイルも結果に含めてしまいますが、例2のように拡張子を指定すればより意味のある検索になるかもしれません) 追記(2014/06/23 19:10): CR+LFの検出を意図していましたが、現状以下のコマンドではCRのみの場合にもヒットしてしまいます。良い方法が見つかったら修正します。良い方法が見つかったので修正しました。 追記(2014/06/24 15:25): elfmimi さんが見つけてくれた方法で、CR+LFを検出することができました。

    カレントディレクトリ以下で改行コードがCR+LFのファイルを探す - Qiita
  • 大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog

    以下、長々と書いてますが、結論は ”私の環境で”大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablogに書いてます はじめに awk file より cat file|awk のほうが速いという以下のブログエントリが興味深いので調べてみました。 ちなみに cat file|awk が速くなる環境は稀で、巷では awk file のほうが速い環境のほうが多いようで、どちらが速いかは環境依存です。 [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt (中略) [root@localhost sample]# time sh command1 real 0m53.92

    大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog
  • インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 - Qiita

    最近はクラウド上のサーバーを利用する事も多くなってきた。 サーバーの用意やネットワーク周りの設定はインフラ部門がやってくれるけど、アプリのデプロイ/設定は開発者がする事が多いので、開発メインでやってるエンジニアでも最低限SSHの知識は必要になる。 また、Vagrant等でローカル環境にVMを作成する事もあるので、ローカル環境内でSSHを使用するケースも増えてきた。 というわけでインフラエンジニアじゃなくてもSSHクライアントの知識は必須になってきているので、改めてSSHの再学習をしてみることにした。 SSHとは 暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。 SSHでは以下の点で従来のTelnetより安全な通信が行える。1 パスワードやデータを暗号化して通信する。 クライアントがサーバーに接続する時に、接続先が意図しないサーバーに誘導されていないか厳密に

    インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 - Qiita
  • Linuxで脆弱性が見つかった場合の対応方法 まとめ | DevelopersIO

    はじめに 先日、Amazon Linuxで脆弱性が見つかった際に弊社のAWSチームのメンバーが以下の記事を公開していました。私は最近までクライアントサイドの開発案件を主に担当していたので自分の業務にはあまり関わりはないのですが、どのような手順でLinuxの脆弱性に対応しているのか興味があったので社内の人に聞いたり調べてみたことをまとめます。 [AmazonLinux] OpenSSLの脆弱性(CVE-2015-1793)について 1.脆弱性の情報を得る まずは脆弱性が見つかった情報はどこから得るのでしょうか?脆弱性に関する情報は以前から以下のサイトのRSSなどから情報を得ることができますが最近はTwitter見てたら知った、なんてこともあるそうです。 Japan Vulnerability Notes JPCERT コーディネーションセンター 以下はTwitterのアカウントです。 JVN

    Linuxで脆弱性が見つかった場合の対応方法 まとめ | DevelopersIO
  • Systemd メモ書き - Qiita

    SysVinitおぢさんなので。 コレのメモ書き http://www.slideshare.net/enakai/linux-27872553 SysVinit / UpStart systemd の起動処理/操作方法 journald のログ管理 Unit設定の書き方 Tips SysVinit / Upstart BIOS が Grub を読み込んで実行 → Grub が Kernel と初期ラムをメモリに展開して Kernel 実行 → Kernel が init Script を実行 SysVinit/Upstart は /etc/inittabを元に処理を実行。 rc.sysinit (システム初期化 rc (サービス起動) /etc/init.d/(servise) start migetty/prefdm ログイン受付 UpStart RHEL6 にあった 実際にジョブとし

    Systemd メモ書き - Qiita
  • topコマンドで覚えておきたい使い方14個 | 俺的備忘録 〜なんかいろいろ〜

    topコマンドといえば、よくLinuxのパフォーマンス状態をモニタリングするために利用されているコマンドだ。 今回は、そんなtopコマンドで覚えておきたい使い方14個を紹介する。 なお、検証で使用したtopコマンドはCentOS 7 で利用している「procps-ng version 3.3.9」のものとなっている。 1.基的な使い方 基的には、オプション無しで以下のようにコマンドを実行する。 top top - 07:21:06 up 4 days, 17 min, 4 users, load average: 0.00, 0.00, 0.00 Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0

  • システムコールを経由する生のLinuxスレッド | POSTD

    Linuxのスレッドは、洗練された美しい設計です。スレッドは仮想アドレス空間とファイルディスクリプタテーブルを共有するプロセスに過ぎません。プロセスによって生成されたスレッドは、メイン”スレッドの”親プロセスに追加された子プロセスです。これらは同じプロセス管理のシステムコールを通して処理されるので、スレッドに関するシステムコールのセットを分ける必要性を取り除きます。これはファイルディスクリプタと同様に洗練された方法です。 一般的に、UNIX系のシステムではfork()を使ってプロセスを生成します。新しいプロセスは、オリジナルのコピーとして独自のアドレス空間とファイルディスクリプタテーブルを取得します。(Linuxではコピーオンライトを使用して、この部分を効率的に処理します。)しかし、これは非常に高度なスレッドの生成方法なので、Linuxでは別の clone() システムコールを使用します。

    システムコールを経由する生のLinuxスレッド | POSTD
  • Linuxでソースからコンパイルしてインストールしたパッケージを管理する『porg』 | 俺的備忘録 〜なんかいろいろ〜

    yumやapt-getからインストールしたり、rpmやdebパッケージを利用してインストールした場合、アンインストールやアップグレードを行うのは簡単だ。 しかし、ソースファイルからコンパイルしたパッケージの場合、makeファイルにuninstallが用意されているならまだしも、もし用意されてないと、パッケージをアンインストールしたりするのは非常に大変だ。 そんなソースからコンパイルしmake installしたパッケージを管理してくれるのが、『porg』だ。pacoという、同じくソースからインストールしたパッケージの管理ツールが前身。 今回は、この『porg』をCentOS 7に実際にインストールし、ソースからインストールしたパッケージを管理してみることにする。 1.『porg』のインストール まずは『porg』のインストールから。 以下のコマンドを実行し、パッケージのソースコードをダウン

    hatekun33
    hatekun33 2015/07/01
    素晴らしいツール
  • Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々

    とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど

    Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々
  • 本を読む UbuntuからのCIFSマウントでちょっとだけハマる

    久しぶりにWindowsの共有ディレクトリをUbuntu Linuxからマウントする。 $ sudo mount -t cifs -o username=ore,uid=ore,gid=ore //192.168.0.1/myfolder /mnt mount: ブロックデバイス //192.168.0.1/myfolder は書き込み禁止です、読込み専用でマウントします mount: ブロックデバイス //192.168.0.1/myfolder を読込み専用でマウントできません ありゃ。LANG=Cだとこんな感じ。 $ LANG=C sudo mount -t cifs -o username=ore,uid=ore,gid=ore //192.168.0.1/myfolder /mnt mount: block device //192.168.0.1/myfolder is wri

  • トラフィック量をリアルタイムに監視する「iftop」 - エーエイチレフ linuxサーバー技術情報

    トラフィック量の監視はMRTG等を使って定期的な監視&グラフ化はよく聞きますが、 現在のトラフィック量を監視するようなツールはなかなかありません。 で、ちょっと調べて使ってみたところ、iftopというツールがとても使いやすかったのでご紹介。 インストール iftopは多分デフォルトでは入っていないのでインストールします。 apt-get install iftop 多分RedHat系も同じようにyum install iftopで入るんじゃないかな、と思います。 起動 iftop - i eth0 一番簡単な起動方法は上記のような形です。 -iの後に監視するイーサネットの名前を記述します。 起動するとこんな感じです。 一番上の段はメジャーのようになっており、現在、最高で62.5Kbとなってます。 一番上の行の192.169.100.117が白く塗りつぶされていますが、これ

  • sed コマンド | コマンドの使い方(Linux) | hydroculのメモ

    sed コマンド 2015/05/13 文字列を全置換したり、行単位で抽出したり、削除したり、いろいろなテキスト処理のできるコマンド。処理内容はコマンドラインパラメータで指定して、非対話的に一括処理できる。 sedで書ける処理であれば、処理内容にもよるが、perlのワンライナーで書くよりも速いことが多い。 sedというコマンド名は Stream EDitor の略らしい。 基的な使い方 2021/01/17 標準入力をなにかしら処理して標準出力に出力するので、パイプとして使える。まあたいていのUNIXツールはパイプとして使えるのだが。 ファイル名を指定すればそのファイルを読み込んで処理して標準出力に出力する。 ファイル名を指定してオプション -i を使えば、そのファイルを読み込んで、結果をそのファイルに上書きする。ファイル自体を編集したい場合には便利。(-i はGNU sed限定) 処理