約 3,726,683 件
https://w.atwiki.jp/kwkw/pages/16.html
OSの構成要素のうち、メモリ管理やプロセス管理、デバイス管理など、コアとなる機能を提供する部分をカーネルという。 本頁では、Linuxを構成するカーネル(Linuxカーネル)について、特徴や利用の方法について述べる。 特徴 開発の背景 ~UNIXライクなOS~ 1969年、AT Tにて、UNIXと呼ばれるOSが開発された。 AT Tは当初独占禁止法の問題を抱えていたため、このOSのソースコードを無償で配布した。C言語というアイデアにより移植性が高いため、大学や研究所などの教育機関で大規模な採用が行われたが、のちにAT Tはライセンスによる制限を与えた。 広く普及したUNIXを代替する無償のOSへの需要は高く、様々な派生OS(これをUNIXライクなOSという)を生み出される。しかしこれらは、著作権の問題がなかなか解決されなかった。 この時期、オランダ・アムステルダム自由大学にてアンドリュー・タネンバウムの下、OSを学んでいた学生リーナス・トーバルスは、講義で利用したMinixと呼ばれるOSを参考にUNIXのコードを一切利用していないUNIXライクなOSを開発した。普及の進んでいたインターネットを通じて無償で公開され、瞬く間に注目を集める。これがのちの、Linuxカーネルである。 設計思想 ~マイクロカーネル~ カーネルには、先述したOSが担うべき機能を同一のメモリ空間内で実装すべきであるというモノリシックカーネルと、カーネルが持つべき機能を最低限に抑え資源の抽象化を行うべきであるというマイクロカーネルの2つの設計思想に大別される。Linuxは比較的モダンな後者のアイデアを採用しているが、UNIXはこれに対し前者のアイデアを採用していた。どちらも一長一短であり、「アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論」にてこれについては議論されている。 開発スタイル ~バザール方式~ UNIXライクなOSである点に着目され多くの注目集めたLinuxカーネルであるが、その開発手法についても大きな注目が集まった。 UNIXライクなOSへ需要が高まっていた時期、FSFのリチャード・ストールマンも無償のカーネルを開発していたが難航している状況にあった。彼は、これまであたりまえのように行われてきた、外部にバグを隠しウォータフォールによる慎重に積み上げるような開発スタイルを行っていた。 同時期、リーナス・トーバルスは普及しつつあったインターネットにより世界中の多くの開発者とコミュニケーションを行い、先述した開発スタイルとは全く正反対の方法で、巨大なカーネルプログラムを完成させた。 これら2つのケース(開発手法)について分析され、1997年エリック・レイモンドによって、論文「伽藍とバザール」として発表された。 「はやめにリリース、しょっちゅうリリース」という考えで、プログラマやテスタがコミュニティを形成しプログラムを完成させるそのスタイルを比喩し、バザール方式と名付けた。その後、Mozillaプロジェクトの成功を受け、ビジネスからも注目が集まった。 ライセンス ~オープンソースソフトウェア~ 先述した通り、FSFのリチャード・ストールマンはUNIXライクなOSの開発に失敗していた。自身の提唱するフリーソフトウェアというアイデアが採用されたUNIXライクなOSを欲していた彼は、同時期インターネットを通じて注目を浴びていたLinuxにその代わりを託したいと考えた。Linuxは彼の開発したフリーソフトウェアであるGNUのgccを用いていたため、この提案は行いやすい状況にあったからである。 Linuxは、その開発手法から、「無償でソースコードを公開する」という著作権上の要件を満たすため、パブリックドメイン化(著作権の破棄)を行う必要がある。しかし、パブリックドメインで公開されたソースコードは、第三者による独占化などのリスクも多く、この開発手法には不向きであった。リチャードの発明したフリーソフトウェアライセンスを適用すれば、このリスクを回避できる。このため、Linuxへこのライセンスの適用は、ごく自然なものであった。 その後、先述した論文「伽藍とバザール」によって、バザール方式開発と共にこのフリーソフトウェアライセンスも有名なものとなった。 論文の作者であるエリックは、この開発手法をビジネス界へ普及させるマーケティング手段として、これら開発手法・ライセンス体系に対して「オープンソース」という名称を与えた。このような背景もあり、Linuxはオープンソースの代表と呼ばれることが多い。 しかし、ライセンスという手段を、あくまでバザール方式開発で起こりうるリスクを低減するための目的に用いているリーナス側と、自身の「ソースコードは無償であるべき」という思想を支えることを目的とするリチャード側では、開発手法の考え方・ソースコードやソフトウェアのあり方・考えに大きな溝が存在する。リチャードは、「フリーソフトウェア」という言葉と、「オープンソース」という言葉を同一視することを拒否しており、Linuxはフリーソフトウェアライセンスを採用はしているものの、フリーソフトウェアとは言い難い。しかしながら、オープンソースという言葉はマーケティングとして成功しているため、フリーソフトウェアをオープンソースと呼ぶことも少なくない。 このような背景により、Linuxカーネルは、オープンソースライセンスでありフリーソフトウェアライセンスの一種である、GPLによって配布されている。 利用 バージョン Linuxカーネルのバージョンは、開発手法が独特であるため、その扱い方に若干の癖がある。 カーネルを管理する際には、十分なテストが行われ安定して動作することを保証するものと、実験段階などにより安定していないものを区別する必要がある。 現在(2009年10月時点)は、「A.B.CD」と表記する。 Aは、メジャーバージョン番号と呼ばれ、コード全体が前バージョンとは全く異なる新しいものによって構成された場合に増加する。現在の2.0は、1996年5月に公開された。 Bは、マイナーバージョン番号と呼ばれ、かつてはコードが安定版か開発版かを判断するのに用いた。この番号が偶数の場合は安定版カーネル、奇数の場合は開発版カーネルとすることで区別し、Cではそれらのリビジョン番号として修正が入る都度増加するようになっていた。 しかし、2.6からコード数の増大によりこの法則は崩れた。2.6.11以降より、Dの4番目のリビジョン番号を持たせることで対処している。 Dが「.数字」の場合、安定版を表している。この数字は公開される都度増加する。 Dが「-rc数字」の場合、リリース候補と呼ばれ、次回の安定版の候補である事を表している。 Dが「-git数字」の場合、実験的なリリースであることを表し、試験的に機能を実装している事を表している。 カーネルに含まれる機能はバージョンによって判断が可能である。 これを確認するには、以下の3つの方法がある。 1. unameコマンド unameコマンドは「Unix Name」の略であり、実行中のOSの名称やバージョン、ハードウェアアーキテクチャ等の情報を出力する。 名称の通り、UNIX専用のプログラムであるが、Linux上でも動作しており移植性は高い。 # uname -r 2.6.23.17-88.fc7 実行結果から、このカーネルはリリース候補であることが理解できる。 2. /proc/version /procファイルシステムは本来、プロセスに対する操作をファイルという抽象的なインタフェースに操作するためのものであった。 現在は、物理的なファイルやデバイスに見えないようなものを、ファイルとして抽象化する領域として用いられている。 ここに置かれたversionファイルを参照することで、動作中のカーネルのバージョンを確認できる。 # cat /proc/version Linux version 2.6.23.17-88.fc7 (mockbuild@xenbuilder2.fedora.redhat.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)) #1 SMP Thu May 15 00 35 10 EDT 2008 3. カーネルソースコードのMakefile カーネルを一からコンパイルして利用している場合は、ソースコードが存在するため、これをチェックすることで確認が可能である。 Makefileにはコンフィギュレーションを設定するため、これを直接参照する。 # head -4 /usr/src/linux/Makefile VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 23 EXTRAVERSION = .17-88.fc7 カーネルイメージ カーネルイメージとは、カーネルのバイナリデータのことであり、ファイルシステム上に置かれている。 ブートローダはディスクをファイルシステムとして認識した上で、指定した場所に置かれたカーネルイメージをメモリ上へロードする。 この場所は、一般的に以下の名称となる。 # ls /boot/vmlinuz* /boot/vmlinuz-2.6.21-1.3228.fc7 /boot/vmlinuz-2.6.23.17-88.fc7 /boot/vmlinuz-2.6.21-7.fc7xen 「vmlinuz-バージョン」となっており、この中から任意のカーネルを選択する。 カーネルは巨大なプログラムであるため、そのサイズは非常に大きい。 解凍は、ブートローダの機能でなければ、カーネル側の機能でもない。圧縮されたカーネルイメージはあたかも自己展開型形式ファイルのように自身を解凍し、指定のポイントからカーネルプログラムの実行を開始する。この流れは、以下のイメージである。 1.BIOSプログラムの実行(ブートローダのロード) ↓制御を渡す 2.ブートローダの実行(圧縮されたカーネルイメージのロード) ↓制御を渡す 3.自身の解凍処理の実行(解凍後のカーネルイメージのロード) ↓制御を渡す 4.カーネルプログラムの実行 一般的なOSの場合、カーネルプログラムの実行開始時には必ず様々な初期化処理が走る。具体的には、スタック領域の初期化やメモリレイアウトの構成、割り込みベクタを整理等である。 しかし、インテルアーキテクチャなどのCPUの場合、過去の命令・メモリとの互換性を保つため、起動時はリアル・モードで起動される。したがって、カーネルプログラムの実行開始時には、これら初期化処理の前に、プロテクト・モードへ切替えを行い、拡張された命令やメモリ空間へのアクセスが行えるように設定を行う必要がある。 カーネルイメージの解凍処理は、この切替処理が実行される前に実施される。このため、「リアル・モード」のままで動作する。 リアル・モードは、i8088プロセッサと同様の振る舞いをサポートするため、最大1Mのメモリ空間でしか活動が行えない。ビデオメモリを配慮すると、さらに小さな領域しか扱えなくなるため、圧縮されたカーネルイメージが512Kバイト以下で収まることを前提に設計を行う必要があった。しかし、近年カーネルは様々な機能をサポートし肥大化したため、このサイズには収める事ができなくなった。そこで、拡張BIOS命令を用いて、この制限を解除して解凍処理が行えるような方法も考えられた。前者はzImage、後者はbzImageと呼ばれる。 拡張BIOS命令は、全ての環境でサポートされるわけではないので、zImageのニーズは0ではない。 しかし、近年のカーネルイメージのサイズはどれだけ削っても512Kバイトに収まることは難しいため、bzImageが主流である。
https://w.atwiki.jp/forget-me-not/pages/20.html
Linux 関連 前日・何日前の日付の取得
https://w.atwiki.jp/hobata/pages/41.html
IBM developerWorks Linuxカーネル解説 http //www.ibm.com/developerworks/jp/linux/library/l-linux-kernel/index.html カーネル・ソース https //www.kernel.org/ カーネルAPI http //www.ibm.com/developerworks/jp/linux/library/l-user-space-apps/index.html カーネルデバッグ http //www.ibm.com/developerworks/jp/linux/library/l-debug/#resources http //d.hatena.ne.jp/big-eyed-hamster/20090331/1238470673 http //www.mjmwired.net/kernel/Documentation/kdump/kdump.txt カーネルモジュール作成 http //wiki.bit-hive.com/tomizoo/pg/Loadable%20Kernel%20Module%A4%CE%BA%EE%A4%EA%CA%FD -
https://w.atwiki.jp/linux_kai/pages/39.html
Total - (Today - Yesterday - ) 最終更新日 2011/05/05 11 46 ubuntuでの設定例まとめ すべての作業は自己責任でお願いします。 旧内容ページ 1.ネットワーク設定1.1. ubuntuのIPアドレス固定化 1.2. ubuntuのファイアウォール設定 2.パッケージの更新および追加2.1. ubuntuのパッケージ更新 2.2. ubuntuのパッケージ追加 3.その他の設定 コメント 1.ネットワーク設定 ルータの設定は済んでるものとして、ubuntuのIPアドレス固定化とファイアウォール設定を行う。 1.1. ubuntuのIPアドレス固定化 NetworkManagerを使用する場合 NetworkManagerアプレットを右クリック、メニューから接続の編集を選択。 有線タブを選択、Auto eth0を選択して編集ボタン押下。 IPv4タブを選択、内容を編集する。アドレス、ネットマスク、ゲートウェイ、DNSサーバなどを設定する 編集が終わったら適用ボタン押下。ネットワーク接続の画面を閉じる。 ネットワークを再起動する。ネットワークを有効にするのチェックをOFF後、ネットワークを有効にするのチェックをONにする。 1.2. ubuntuのファイアウォール設定 ubuntuは初期状態で通信すべて許可の状態なので、設定しないならそのままでもOK ファイアウォール設定しているなら、Kai用のいくつかのポートを許可するよう設定する。 設定内容を整理中。 2.パッケージの更新および追加 ubuntuはインストール後からデスクトップ、ブラウザ、日本語入力などが入ってるので、ここでの設定は少ない。 ubuntuではapt-getの使用が推奨されてるので、他ページでaptitudeを使用している記述があったらapt-getと読み替えてください ubuntu 10.10を新規インストールした場合、初期状態ではaptitudeコマンドがインストールされない。最初にaptitudeパッケージを追加する $ sudo apt-get install aptitude 2.1. ubuntuのパッケージ更新 パッケージを更新してOSを最新状態にする。 パッケージ更新後、OS再起動が必要な場合、ubuntuを再起動しておく $ sudo apt-get update $ sudo apt-get upgrade 2.2. ubuntuのパッケージ追加 iwconfigを追加する。インストール後から追加されているかもしれない。 $ sudo apt-get install wireless-tools その他のパッケージを追加する。 $ sudo apt-get install wget $ sudo apt-get install unzip ビルドに必要なパッケージを追加する。 追加は任意だがチップベンダーが公開するドライバをビルドしたり、カーネルソースに含まれるドライバをリビルドするのに必要になる $ sudo apt-get install build-essential $ sudo apt-get install linux-headers-`uname -r` $ sudo apt-get install linux-source 3.その他の設定 日本語フォルダ名を英語表記に変更する。 $ LANG=C xdg-user-dirs-gtk-update 以上でubuntuでの準備は終わり。 上へ戻る コメント aptitude = apt-getに変更 -- kar (2011-05-05 11 46 46) 名前 コメント
https://w.atwiki.jp/vmlinuz/pages/50.html
vsftpd 3.0.2のソースからのインストール TOP linux vsftpd 3.0.2 install src 概要 ソースからコンパイルを行ってインストールする方法 コンテンツ一覧 +コンテンツ一覧 vsftpd 3.0.2のソースからのインストール概要コンテンツ一覧 実行環境 実施手順ソースの入手、コンパイル~インストール 補足 参考サイト 実行環境 CentOS 6.3(minimal) 実施手順 ソースの入手、コンパイル~インストール ############################################################# OSによってパターンが変わります############################################################# 管理者権限で実行su - # case by CentOSsudo su # case by ubuntu ############################################################# 以降の手順は基本的に同じです。############################################################ # ソースダウンロード先comp_dir=/usr/local/src# パッケージ名pack_name=vsftpd# バージョンversion=-3.0.2# ソースのファイル形式ext=.tar.gz# tar解凍時のオプションext_opt=z# インストール先ディレクトリins_dir=/opt/${pack_name}# ダウンロード元パッケージdl_uri=https //security.appspot.com/downloads/vsftpd-3.0.2.tar.gz cd ${comp_dir}rm -rf ${pack_name}${version}wget ${dl_uri} -O ${pack_name}${version}${ext}tar ${ext_opt}xf ${pack_name}${version}${ext}cd ${comp_dir}/${pack_name}${version} # makeに失敗するのでlibcap.o を指定しないようにするcp -a ./vsf_findlibs.sh ./vsf_findlibs.sh.bkvi ./vsf_findlibs.sh # # Look for libcap (capabilities) # if locate_library /lib/libcap.so.1; then # echo "/lib/libcap.so.1"; # elif locate_library /lib/libcap.so.2; then # echo "/lib/libcap.so.2"; # else # locate_library /usr/lib/libcap.so echo "-lcap"; # locate_library /lib/libcap.so echo "-lcap"; # locate_library /lib64/libcap.so echo "-lcap"; # fi --- # Look for libcap (capabilities) if locate_library /lib/libcap.so.1; then echo "/lib/libcap.so.1"; elif locate_library /lib/libcap.so.2; then echo "/lib/libcap.so.2"; else locate_library /usr/lib/libcap.so echo "-lcap"; locate_library /lib/libcap.so echo "-lcap"; locate_library /lib64/libcap.so echo "-lcap"; fi # 設定ファイルの読み込み先を設定sed -ie "s|/etc/vsftpd.conf|${ins_dir}/etc/vsftpd.conf|g" ./defs.hsed -ie "s|/etc/vsftpd.conf|${ins_dir}/etc/vsftpd.conf|g" ./defs.he make -j/bin/mv ${ins_dir} /tmp/${pack_name}_bk`date +%Y%m%d%H%M%S` # installターゲットが雑(PREFIX指定できない)なので自分でインストールmkdir -p ${ins_dir}/{sbin,etc}install -m 755 vsftpd ${ins_dir}/sbin/vsftpdmkdir -p ${ins_dir}/man/man{5,8}install -m 644 vsftpd.8 ${ins_dir}/man/man8/vsftpd.8install -m 644 vsftpd.conf.5 ${ins_dir}/man/man5/vsftpd.conf.5install -m 644 vsftpd.conf ${ins_dir}/etc/vsftpd.conf 補足 ソースからのインストールに関する共通の注意点を参照してください。 参考サイト vsftpd Today - Yesterday - Total -
https://w.atwiki.jp/kotya/pages/8.html
【Link(Linux)】 Linux Square @IT 2ch-Linux-Beginners DAG Apt/Yum RPM repository パソコンおやじ
https://w.atwiki.jp/linuxjapanwiki/pages/200.html
AlterLinux
https://w.atwiki.jp/linux_kai/pages/65.html
Total - (Today - Yesterday - ) 最終更新日 2010/08/26 22 44 ここではmandrivaでの設定例をまとめる すべての作業は自己責任でお願いします。 1.sudo設定 2.ネットワーク設定2.1. mandrivaのIPアドレス固定化 2.2. mandrivaのファイアウォール設定 3.パッケージの更新および追加3.1. mandrivaのパッケージ更新 3.2. mandrivaのパッケージ追加 4.その他 コメント 1.sudo設定 wheelグループにLinuxアカウントを追加する。すでに登録済みの場合は不要 $ su - # usermod -G wheel アカウント名 # exit Linuxアカウントでsudoを許可するよう設定しておく $ su - # visudo %wheel ALL=(ALL) ALL ← この行の先頭の#を削って、有効化する ... # exit 2.ネットワーク設定 ルータの設定は済んでるものとして、mandrivaのIPアドレス固定化とファイアウォール設定を行う。 2.1. mandrivaのIPアドレス固定化 ネットセンターで手動設定を選択して、IPアドレスを固定する。 draknetcenter、有線(Ethernet)、eth0 手動設定を選択、固定IPアドレスを設定 2.2. mandrivaのファイアウォール設定 mandrivaは初期状態でファイアウォールが有効 ファイアウォールを停止するか Kai通信を許可する設定を行う。設定内容を整理中 mandrivaのファイアウォールはiptablesだが、その設定にはshorewallが使用されているので注意 3.パッケージの更新および追加 mandrivaはインストール後からデスクトップ、ブラウザ、日本語入力などが入ってるので、ここでの設定は少ない。 3.1. mandrivaのパッケージ更新 パッケージを更新してOSを最新状態にする。 パッケージ更新後、OS再起動が必要な場合、mandrivaを再起動しておく $ sudo urpmi --update --auto-select 3.2. mandrivaのパッケージ追加 iwconfigを追加する。 $ sudo urpmi wireless-tools その他のパッケージを追加する。 $ sudo urpmi wget $ sudo urpmi unzip $ sudo urpmi subversion ビルドに必要なパッケージを追加する。 追加は任意だがチップベンダーが公開するドライバをビルドしたり、カーネルソースに含まれるドライバをリビルドするのに必要になる $ sudo urpmi make gcc $ sudo urpmi kernel-source-latest 4.その他 ダウンロードファイル用の保存ディレクトリを作成する $ mkdir ~/Downloads 以上でmandrivaでの準備は終わり。 上へ戻る コメント 名前 コメント
https://w.atwiki.jp/robot/pages/9.html
RT-Linuxに関するメモです. 私たちのチームは中型機リーグではWindowsでロボットを動かしているのでLinuxはわかりません! インストールについて HOAPはFedoraCore1で動くみたいなのでとりあえず 理研のミラーサイト↓からFedoraCore1のダウンロードしてみました. http //ftp.riken.jp/Linux/fedora/core/1/i386/iso/ WindowsユーザーとしてはLinuxをためす環境が無いのでVirtual PCでやってみることにしました. Virtual PC 2004 SP1 - 日本語(無償ダウンロードページ) 使用方法
https://w.atwiki.jp/shxxxohxxxx/pages/2.html
'23octお引越し Ubuntuから外部のファイルサーバにアクセスする サーバーや共有ディスクのファイルを閲覧する SambaにUbuntuのGUIファイルマネージャーを使ってアクセス ソフト更新 【Linux】Chromeを最新バージョンに更新する[Ubuntu]($ sudo apt install google-chrome-stableでいけた) https //self-development.info/%e3%80%90linux%e3%80%91chrome%e3%82%92%e6%9c%80%e6%96%b0%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%81%ab%e6%9b%b4%e6%96%b0%e3%81%99%e3%82%8bubuntu/ Python切り替え Ubuntu 22.04にPython3.xを複数インストールして切り替える方法(PPA・apt) https //qiita.com/murakami77/items/b612734ff209cbb22afb Ubuntuでpythonのバージョンを切り換える https //qiita.com/piyo_parfait/items/5abbe4bee2495a62acdc 【緊急】OpenSSHの脆弱性について https //zenn.dev/cloud_ace/articles/cve_2024-040 Ubuntu22.04 でリモート接続のパスワードが煩わしいhttp //slapper.sblo.jp/article/189603656.html