タグ

linuxに関するmackey13のブックマーク (114)

  • Linux におけるファイル I/O の基礎

    すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。 ファイル Unix におけるファイルとは、普通「通常ファイル」のことを指し、バイトがリニアに並んだデータ (byte stream) のことである。 ファイル内のバイトは読み書きが可能で、指定されたバイトから開始する。この開始バイトはファイル内の「位置」と考えることができ、ファイルポジションまたはファイルオフセットという。 通常ファイルとは別に、スペシャルファイルというファイルとして表現されたカーネルオブジェクトがある。Linux では、スペシャルファイルとしてデバイスノード・名前付

    Linux におけるファイル I/O の基礎
  • bashで変数同士を計算させる | クロジカ

    $(( ... )) という括弧内に変数を書くことで、数値としての判断が可能。 括弧内には、変数は${}を付けずそのまま書く。 例えば、 new=456 last=123 echo $(( new - last )) を実行すると、333が表示される。

    bashで変数同士を計算させる | クロジカ
  • sudo でスイッチ後のユーザーの環境変数を使う方法

    sudo でコマンドを実行すると、スイッチしたユーザーの環境変数が使われるものと思っていました。 RVMでRubyを入れて使っているのですが、sudo をかませて ruby を実行するとRVMで入れたrubyではなく、プリインストールのrubyが使われてハマることがありました。 sudo でスイッチ後のユーザーの環境変数を引き継ぐ方法をまとめました。 sudoを使う前と使った後の環境変数をみてみる まずはsudoを使わずに環境変数やらを見てみます。 [bacchi@mitsuya ~]$ id uid=200(bacchi) gid=1000(sysad) 所属グループ=1000(sysad),10(wheel) [bacchi@mitsuya ~]$ ruby -v ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-linux] [bacchi@m

    sudo でスイッチ後のユーザーの環境変数を使う方法
  • CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~

    2019年9月24日に CentOS 8 がリリースされます。 RedHat Enterprise Linux 8 の情報を元に、CentOS 8 で想定される変更点をまとめました。 PHPMySQL といったミドルウェアのバージョン変更や、 サービスの追加・削除など数多くの変更が入ることになります。 RHEL 8・CentOS 8 に PHP 7.3 をインストールする(remi 使用) 2020-07-07 CentOS 8 のリリースは2019年9月24日 CentOS 8 はリリース前の状態で、現在コミュニティによる開発が行われています。 2019年7月時点では、ベースとなる「RHEL 8」のパッチ開発と検証作業が進行中です。 前回バージョンアップ時は、「RHEL 7」の27日後に「CentOS 7」がリリースされましたが、 今回の進捗を踏まえると 2019年8月~9月 頃の

    CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~
  • Linuxネットワークコマンド新旧まとめ

    ipコマンドの実行例 / Ubuntu 18.04 LTS これまでLinuxディストリビューションではUNIX系オペレーティングシステムでよく使われているコマンドと、Linux独自のネットワーク系コマンドが混在したような状態になっていた。最近のLinuxディストリビューションではこうしたコマンドをipコマンドに一化する取り組みを続けている。 ipコマンドにはいくつものサブコマンドが用意されており、これまで個別のコマンドで実行していた処理をipコマンドのもとに集約するような作りになっている。なお、ipコマンドはLinux系に特有のコマンドで、他のUNIX系オペレーティングシステムでは使うことができない。記事では、非推奨になったコマンドを今後使うことはお薦めできないとしている。

    Linuxネットワークコマンド新旧まとめ
  • コマンドラインツールを作るときに参考にしている資料 | SOTA

    コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた.古いが全然色あせてない. コマンドラインツールの作り方を書いたではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい

  • ターミナルが文字化けした時の対処方法

    Takuya Digital crafts(man|dog). Love photography. Always making otherwise sleeping. born in 1984. 朝起きたら、ログを表示していたターミナルがエラい事に・・。 上のスクショのようにアルファベットさえ文字化けしてしまう事ってたまにありますよね。 例えば、バイナリファイルを開いてしまった時とか。 この状態になると、いつもターミナルを一旦閉じて開き直していました。 が。 ターミナルを開き直さなくても元に戻せる方法があったのです!! 方法は簡単。 #!bash echo ^[c エスケープシーケンスのcを入力するので、下記のようなキーボード入力を行います。 echo <ctrl -V><esc>c<enter> ほら!! なおりましたね 🙂 tmux内のttyでも有効なので、お試しあれ^^

    ターミナルが文字化けした時の対処方法
  • 雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog

    κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼

    雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog
  • Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita

    はじめに 脆弱性対応のためのアップデート作業というものは頻繁に発生するものですが、番運用しているシステムではサービスへの影響を最小限にしたいものです。 アップデートした後、出来ることなら必要なプロセスだけリスタートさせることで済ませたいのですが、どのプロセスをリスタートすれば良いのか、そもそもOS再起動しないと反映されないものなのか、判断が付かない場合が少なくありません。 そのような場合のため、再起動が必要なプロセスを見つけたり、OS再起動が必要かどうかアドバイスしてくれるコマンドがあります。 Redhat系 「yum-utils」パッケージに入っている「needs-restarting」コマンドを使います。 # needs-restarting -h Usage: needs-restarting: Report a list of process ids of programs th

    Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • Linuxシステムコール徹底ガイド | POSTD

    要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3

    Linuxシステムコール徹底ガイド | POSTD
  • Linux シグナル入門 - 6. SIGALRM と sigaction システム・コール

    2013-11-6, 2013-12-3 (鈴) 1. シグナルとは? 2. シグナル・ハンドラと signal システム・コール 3. シグナルの用途 4. SIGHUP, SIGINT, SIGTERM 5. SIGCHLD 6. SIGALRM と sigaction システム・コール 7. siglongjmp による大域脱出 8. popen/pclose と SIGCHLD Linux を含む Unix 類はプロセスごとに一つずつセルフタイマーのようなものを持つことができる。 このタイマーはシステム・コール alarm(2) でセットできる。 unsigned int alarm(unsigned int seconds); 引数 seconds の値はタイマーが切れるまでの秒数または 0 である。 0 のときはタイマーをセットしない。 戻り値は,呼び出し前にタイマーがセットさ

  • CENTOS 5.X でOSが起動しなくなってしまった場合の対処方法 | QK

    単なるメモ書きですが・・OSブート時に以下のメッセージが出てCENTOSが起動できなくなってしまった場合の作業メモです。エラーメッセージは以下の通り couldn't boot due to problems with the filesystems in /dev/VolGroup00/LogVol00 まあ・・あれです・・ほとんどの場合ブートセクターが破損した場合なので、ハードディスクに障害があるかその類の問題であることはたしかなのですが、なんとか起動までもっていきたい場合など、直る可能性もありますので是非とkも試してみてください。結果からいうと、fsckかけるだけです。 ・上記のエラーを出力後、以下のようなプロンプトが表示されます。あれですね、パスワードを入れるか、CTRL + D で再起動するかどっちかにしろってことだと思いますが、ここで、OSのrootパスワードを入力してENTE

  • 閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional

    2016/12/27 更新 Googleなどの大手IT企業がうるう秒対策済のNTPサーバが公開したため、これを利用する内容などを以下にまとめました。 元旦に実施される うるう秒の対策 まとめ 2016/07/08 更新 2017/1/1に閏秒の実施が決定されました。対応はこの記事のとおりで問題なさそうです。 2015/06/24 情報追加(2015/06/29 更新) 下記の対応に関わるntpdの比較的新しいバージョンにSLEWモードで動作していても、うるう秒が挿入されるバグが発見されました。[redhat] これによりntp-4.2.8p3-RC1以降のバージョンでないとSLEWモードで動作していてもうるう秒が挿入されます。RedHatはntp-4.2.6p5-3.el6_6という対応済みのバージョンを提供しています。Ubuntuでは今日現在12.04LTS, 14.04LTSの2バージ

    閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional
    mackey13
    mackey13 2015/01/09
    "日本時間の2015年7月1日にうるう秒が追加"ですって。
  • codebook-10000.com

    This domain may be for sale!

    codebook-10000.com
  • れぶろぐ - [CentOS] CentOS 5 で IPv6 を本当に無効にする

    ■ CentOS 5 で IPv6当に無効にする CentOS 5 のインストール時に IPv6 を無効にするよう設定したはずなのに、 netstat や lsmod の結果を見ると無効になっていなかったので、どうすればいいのか調べてみた。 FAQ/CentOS5 - CentOS Wiki CentOS 5 : IPv6 サーバでない場合は IPv6 を無効にする | Linux - P-SOC IPv6 を停止する まとめると、 /etc/sysconfig/network に NETWORKING_IPV6=no の設定を追加 /etc/modprobe.conf に以下の設定を追加 alias ipv6 off alias net-pf-10 off /sbin/chkconfig ip6tables off を実行 マシンを再起動 これでようやく IPv6 を無効にすること

  • VMware Player 上の CentOS で yum が使えない - akishin999の日記

    VMware Player 上に CentOS 6.2 をインストールしたのですが(ネットワークは NAT)、yum を実行すると以下のようなエラーが発生してしまいました。 # yum update Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid bas

    VMware Player 上の CentOS で yum が使えない - akishin999の日記
  • rootのパスワードを忘れてしまった:ITPro

    シングル・ユーザー・モードで起動すれば,ユーザー名やパスワードを入力することなく,root権限でシェルが起動します。このシェルからパスワードを再度設定します。 難易度:★★★ 対象ディストリビューション:すべて 前任者から引き継ぎを受けていないLinuxサーバーの管理を任されてしまったためにrootのパスワードが分からない場合や,rootのパスワードをうっかり忘れてしまった場合には,rootのパスワードを再設定します。 〔Ctrl〕キーと〔Alt〕キーと〔Delete〕キーを同時に押してパソコンを再起動させ,そのときにシングル・ユーザー・モードを指定します。シングル・ユーザー・モードとは,ユーザー認証がなく,root権限でLinuxを操作できるモード*3で,メンテナンス用に用意されています。ネットワーク機能は無効で,最小限のファイル・システムのみがマウントされます。 シングル・ユーザー・モ

    rootのパスワードを忘れてしまった:ITPro
  • ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる

    既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン

    ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる
    mackey13
    mackey13 2014/09/16
    "結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。"