約 4,405,838 件
https://w.atwiki.jp/linux2ch/pages/229.html
PCLinuxOS PCLinuxOS に関する FAQ です。 特徴は、初心者が扱い易い RPM 系ローリングリリースディストリビューション。 PCLinuxOS 公式サイトとガイド、レビュー システム要件 isoイメージ 日本語版 HDD へのインストール 日本語環境 ミラーリスト (/etc/apt/sources.list) LiveCD でモニターを認識してくれない。 pppoe 接続をしたい。 sudo がない。 2ch Linux板 スレッド 公式サイトとガイド、レビュー 公式サイト http //www.pclinuxos.com/ PCLinuxOSフォーラム http //www.pclinuxos.com/forum/ マガジン http //pclosmag.com/ PCLinuxOS Gnome Website http //linuxgator.org/ Texstar s twitter https //twitter.com/#!/iluvpclinuxos wallpaper等 http //linfx.com/gallery/ システム要件 システム要件 http //pclosusers.com/system.php 各パッケージのバージョンなどは、DistroWatch.com を参照してください。 isoイメージ http //ftp.jaist.ac.jp/pub/Linux/PCLinuxOS/live-cd/ http //ftp.kddilabs.jp/Linux/distributions/pclinuxos/pclinuxos/live-cd/ http //ftp.yz.yamagata-u.ac.jp/pub/linux/pclinuxos/live-cd/ 日本語版 ライブCDの部屋(日本語版) http //simosnet.com/livecd/pclinuxos/ Operation Normal ? --- Linux 備忘録 --- http //tomcat.nyanta.jp/sb2/ HDD へのインストール デスクトップのインストール用アイコンを選択します。LiveCD で install PCLinuxOS を選んでください。 日本語環境 Q,日本語化したい。 A,インストール後 localization Manager で日本語化と日本語入力ができる。 ミラーリスト (/etc/apt/sources.list) Q,リポジトリはどこを選んだら良いか? A,日本の jaist, kddi, yamagata のどれか一つでよい。その他ゲーム用リポジトリや野良リポジトリを加えてもよいが重要なアップデート時リポジトリを一つにするように警告されるばあいがある。 リポジトリ http //ftp.jaist.ac.jp/pub/Linux/PCLinuxOS/apt/ http //ftp.kddilabs.jp/Linux/distributions/pclinuxos/pclinuxos/apt/ http //ftp.yz.yamagata-u.ac.jp/pub/linux/pclinuxos/apt/ http //ftp-srv2.kddilabs.jp/Linux/packages/pclinuxos/megagames/apt/ 野良リポジトリ(日本語関連 mozc, jd 等) http //tomcat.nyanta.jp/linux/PCLOS/apt/ (Operation Normal ? --- Linux 備忘録 ---) LiveCD でモニターを認識してくれない。 起動メニューの Video safe mode-VESA で起動してみる。 pppoe 接続をしたい。 ネットワークの設定で DSL 接続を選ぶ。(デフォでは firewall は無効になってる) sudo がない。 sudo はリポジトリの special セクションにある。 2ch Linux板 スレッド 3 http //engawa.2ch.net/test/read.cgi/linux/1308139207/ 2 http //hibari.2ch.net/test/read.cgi/linux/1209789817/ 1 http //pc11.2ch.net/test/read.cgi/linux/1181663224/
https://w.atwiki.jp/sfrontier/pages/57.html
Books 作成日 2007/11/01 H.Naito 更新日 2007/11/05 T.Kodama General CommandBook Shell KNOPPIX General No 名前 版数 出版年月日 著者 出版社 値段 (+tax) 保持者 貸出先 作成日 更新日 購入 ブックレビュー 001 UNIX という考え方 その設計思想と哲学 初版 2003/09/10 Mike Gancarz ( 芳尾桂・訳 ) オーム社 1600 内藤 NULL 2007/11/04 2007/11/04 amazon NULL 002 INSIDE LINUX 初版 1997/12/01 Randolph Bentson レーザー5出版局 3800 003 Linux Q A ビギナーズTips 初版 2002/09/11 北浦 訓行 ASCII 2200 CommandBook No 名前 版数 出版年月日 著者 出版社 値段 (+tax) 保持者 貸出先 作成日 更新日 購入 ブックレビュー 001 Unixコマンドブック 初版 2005/08/27 小野斉大、田谷文彦、前田雄一郎 SoftBank Publishing 2200 内藤 NULL 2007/09/18 2007/08/18 amazon NULL Shell No 名前 版数 出版年月日 著者 出版社 値段 (+tax) 保持者 貸出先 作成日 更新日 購入 ブックレビュー KNOPPIX No 名前 版数 出版年月日 著者 出版社 値段 (+tax) 保持者 貸出先 作成日 更新日 購入 ブックレビュー 001 KNOPPIX Beginner's Bible 初版 2006/10/30 大津真 MYCOM 3980 内藤 NULL 2007/09/18 2007/09/18 amazon NULL
https://w.atwiki.jp/futurepinball/pages/18.html
Table Information テーブル情報では、テーブルをプレイするときに初期化画面に表示されるテーブルに関するさまざまな情報を設定できます。 テーブル情報ダイアログでは、ハイスコアやその他のゲーム情報を含むfpRamファイルのデフォルトを設定することもできます。 (テーブルのスクリプトを提供するには、適切なグローバルスクリプト変数を使用します。 (テーブルメニューの)[テーブル情報]をクリックすると、次のダイアログが表示されます。 OK これにより、テーブルへの変更が保存されます。 Cancel これにより、行った変更がキャンセルされ、テーブルエディターに戻ります。 Table / Author Details これにより、自分自身の詳細と、テーブル(または他の誰かが行ったテーブル)のさまざまな情報の詳細を示すテーブルを入力できます。 この情報のほとんどは、テーブルが最初にプレイされたときに初期化画面に表示されます. テーブル名 (テーブルのnameプロパティの代わりに)テーブルによりわかりやすい名前を付けることができます。これは、再生ボタンを押すと初期化画面に表示されます... バージョン テーブルのバージョン(バージョン1、ベータ2など)をメモできます。これは初期化画面にも表示されます。 テーブル作成者 テーブルの作成者を記録できます。これは初期化画面にも表示されます。 発売日 テーブルのリリース日を記録できます。 Eメール 誰かがあなたのテーブルについてあなたに連絡できるように、あなたがあなたのメールアドレスを残しておくことができます(あなたが望むなら)。 このボタンをクリックすると、電子メールプログラムが起動し、空の電子メールが開き、誰かがテーブルにコメントを送信できるようになります。 ウェブページ 誰でもアクセスしたい場合に備えて、ホームページのWebページのアドレスを残すことができます。 このボタンをクリックすると、指定したWebページが現在のWebブラウザーで開きます。 説明 テーブルに関する1行の説明的なタグ行を指定できます。 ルールセット テーブルのルールセットの説明に使用できる最大2048文字(2K)のテキストを許可します。 画像の読み込み ロード画面の背景テクスチャを定義できます。テクスチャは、テクスチャマネージャ(リンク)を介してテーブルにインポートされます。テクスチャが選択されていない場合、デフォルトの画像が使用されます。 テキストの色 画面に描画されるすべてのテキスト([デバッグテキスト]ウィンドウを除く)の色を定義します。これには、初期化画面、一時停止中のダイアログ、ハイスコア入力ウィンドウが含まれます。 不揮発性RAMのデフォルト ダイアログに表示される値は、さまざまなグローバルスクリプト変数のデフォルトです。 現在の値は表示されず、ファイルが見つからない場合に使用される値のみが表示されます(通常、最初にテーブルを実行するとき)。 もちろん、Future Pinballに組み込まれた内蔵の不揮発性RAMシステムを実際に使用する場合にも意味があります。 ゲームごとのボール(nvBallsPerGame) ゲームで使用するボールの数を定義できます。 ゲームごとに1〜9個のボールを選択できます。 初期ジャックポット(nvJackpot) マシンの初期ジャックポットを定義できます。 テーブルにジャックポットをスクリプト化したくない場合は、この値を設定する必要はありません。 /ハイスコアのデフォルト(nvHighScoreName1-nvHighScoreName4 / nvHighScore1-nvHighScore4) Future Pinballには、最小限のスクリプト記述ですべてのテーブルにハイスコアサポートを提供するための組み込みのハイスコアシステムが含まれています。 これにより、現在のテーブルの(4エントリの)ハイスコアテーブルが保持されます。 イニシャル 上位4つのハイスコアにデフォルトのイニシャル(最大3文字の英数字)を割り当てることができます。 スコア 上位4つの高得点にデフォルトの得点を割り当てることができます。 これらのフィールドに入力する値がテーブルで達成可能であることを常に確認する必要があります。 特別スコアフィールド Future Pinballでは、Loop Champion、Highest Jackpot Awards、ユーザーがマシンを蹴った回数(など)のような特別なハイスコアエントリも許可されています。 特別なハイスコアは、要件に応じてオプションです。 [タイトル]フィールドを空白のままにすると、特別なハイスコアサポートを使用したくないことをゲームエンジンに通知します。 タイトル(nvSpecialHighScoreTitle) 特別スコアのタイトル。これは、一時停止中の画面だけでなく、ハイスコアの入力画面(プレーヤーが負けた場合)にも表示されます。上記のように空白のままにすると、ゲームエンジンでは特別なハイスコアは使用されません。このフィールドは最大16文字です。 イニシャル(nvSpecialHighScoreName) 特別なハイスコアにデフォルトのイニシャル(最大3文字の英数字)を割り当てることができます。 値(nvSpecialHighScore) 特別なハイスコアのデフォルト値を定義します。 テキスト(nvSpecialHighScoreText) 特別スコアタイトルの1単語バージョンにするためのテキスト文字列が含まれています。 (つまり、「ループチャンピオン」は「ループ」になります)。これは、高得点表の特別得点値の修正後として表示されます。 Rest fpRAM このボタンをクリックすると、.fpRamファイルが削除され、基本的にデフォルトがグローバルスクリプト変数に復元されます。永続化されている変数(nvCreditsなど)もリセットされます(通常は0)。 オブジェクト数 これにより、エディターがテーブルに配置できるオブジェクトの最大数と、使用しているオブジェクトの数が表示されます。
https://w.atwiki.jp/linuxjapanwiki/pages/240.html
Mandriva Linux Mandriva Linuxは、Red Hat Linuxをベースとして開発がスタートした、Red Hat系のLinuxディストリビューションである。 2011年のMandriva Linux 2011を最後にリリースは行われておらず、また2015年5月にMandriva社は倒産した。 ▲デスクトップ画面(Mandriva Linux 2011) 各種データ 開発者 Mandriva S.A. 系統 Red Hat系 開発状況 開発終了 初版 1998年7月(Linux Mandrake 5.1) 最新版 Mandriva Linux 2011 / 2011年8月29日 アップデート方式 urpmi(rpmdrake) パッケージ管理 RPM カーネル Linux ウィンドウマネージャー KDE ライセンス GPLなど ウェブサイト http //www.mandriva.com/ 5.1から8.0まではLinux Mandrake、8.1から9.2まではMandrake Linux、10.0から10.1まではMandrakelinuxという名称を使っていた。 概要 開発母体はフランスのMandrakeSoft社で、同社の共同創設者であるガエル・デュバルによって始められた。 1998年7月、Red Hat Linuxをベースにして、最初のバージョンであるLinux Mandrake 5.1をリリースした。 2005年4月7日に、MandrakeSoftがブラジルのLinuxディストリビューターであるConectiva社を買収し吸収合併、Mandrivaに社名変更したことに伴い、MandrakelinuxもMandriva Linuxへ名称を変更した。 また、Conectiva社のLinuxディストリビューションであったConectiva Linuxとの統合が進められた。 2010年9月には主要な開発者やコミュニティがMandriva Linuxから独立し、Mageiaというフォークを立ち上げている。 また、2012年以降、Mandriva Linux自体もフリー版はOpenMandriva Lxとしてフォークし、OpenMandriva Associationに移管している。 デスクトップ環境は、2010.2まではGNOMEと KDE を標準でサポートし、インストール時にユーザーが選択することができ、Xfceもオプションで用意されていた。 2011ではKDEのみのサポートとなった。 パッケージ管理 urpmi urpmiは "User mode rpm install" というMandriva Linux独自のパッケージ管理ツールであり、APTのようにパッケージ間の依存関係も自動的に解決しつつ、任意のパッケージのインストールや削除を行うことができる。 urpmiには、グラフィカルなフロントエンドとしてgurpmiが存在する。 rpmdrake Mandriva Linuxには、rpmdrakeというグラフィカルなパッケージ管理ツールも用意されている。 内部での処理はurpmiによって実行される。 ▲rpmdrake また、デスクトップ上のパネルには、最新パッケージの更新を自動的に通知するアイコンが置かれている。 2007 Spring以降はMandriva Clubの会員となってオンラインアップデートのサブスクリプションを購入しなくても、このアプレットを利用して自動更新が行えるようになった。 Smart Package Manager Smart Package Managerは、APT-RPMの後継として、Conectiva社のGustavo Niemeyerによって開発されたパッケージ管理ツールである。 Conectiva社がMandriva社に吸収合併された為、Smart Package ManagerはオプションとしてMandriva Linuxで公式に提供されるようになった。 Smart Package Managerは、RPMだけでなくdebやSlackwareのtgzなどを扱うことができ、APTやyum、URPMIなどのリポジトリ(Smart Package Managerでは「Channel」と呼ぶ)などに対応している。 また、インストールやアップグレード、アンインストールなどに際しては、適用可能な解決方法の中から最適なものを選択して実行するアルゴリズムも搭載しており、依存関係の問題が発生しているシステムでも利用出来る。 専用のグラフィカルなインターフェースも備えており、Mandriva Linux以外の多くのLinuxディストリビューションにおいても、このパッケージマネージャーが配布されるようになった。 リリース リリース年月日 / リリース名(※括弧内はコードネームあるいは正式名) 1998年7月23日 Linux Mandrake 5.1(Venice)リリース 1998年12月1日 Linux Mandrake 5.2(Leeloo)リリース 1999年2月11日 Linux Mandrake 5.3(Festen)リリース 1999年5月27日 Linux Mandrake 6.0(Venus)リリース 1999年9月14日 Linux Mandrake 6.1(Helios)リリース 2000年1月14日 Linux Mandrake 7.0(Air)リリース 2000年6月13日 Linux Mandrake 7.1(Helium)リリース 2000年10月30日 Linux Mandrake 7.2(Odyssey)リリース ※ベータ版でのコードネームは「Ulysses」 2001年4月19日 Linux Mandrake 8.0(Traktopel)リリース 2001年10月22日 Mandrake Linux 8.1(Vitamin)リリース 2002年3月18日 Mandrake Linux 8.2(Bluebird)リリース 2002年11月7日 Mandrake Linux 9.0(Dolphin)リリース 2003年3月25日 Mandrake Linux 9.1(Bamboo)リリース 2003年10月14日 Mandrake Linux 9.2(FiveStar)リリース 2004年3月4日 Mandrakelinux 10.0(10.0 Community)リリース ※コミュニティによるフィードバックを目的としたリリース 2004年4月14日 Mandrakelinux 10.0(10.0 Official)リリース ※Community版でのフィードバックを元に、改良した版のリリース 2004年9月16日 Mandrakelinux 10.1(10.1 Community)リリース 2004年10月27日 Mandrakelinux 10.1(10.1 Official)リリース 2005年4月7日 Mandriva Linuxに名称変更。 2005年4月13日 Mandriva Linux Limited Edition 2005(10.2 Official)リリース 2005年10月6日 Mandriva Linux 2006(2006 Official)リリース 2005年11月14日 Mandriva Linux 2006 Free Download Edition リリース 2006年10月4日 Mandriva Linux 2007(2007 Official)Commercial Edition リリース 2006年10月5日 Mandriva Linux 2007 Free Download Edition リリース 2007年4月17日 Mandriva Linux 2007 Spring(2007.1 Official)リリース 2007年10月9日 Mandriva Linux 2008(2008.0 Official)リリース 2008年4月9日 Mandriva Linux 2008 Spring(2008.1 Official)リリース 2008年10月9日 Mandriva Linux 2009(2009.0 Official)リリース 2009年4月29日 Mandriva Linux 2009 Spring(2009.1 Official)リリース 2009年11月3日 Mandriva Linux 2010(2010.0 Official)リリース 2010年7月8日 Mandriva Linux 2010 Spring(2010.1 Official)リリース 2010年12月22日 Mandriva Linux 2010.2(2010.2 Official)リリース 2011年8月29日 Mandriva Linux 2011(2011 Official)リリース 派生ディストリビューション urpmi系 パッケージ管理にurpmiを用いる。 Mageia APT-RPM系 パッケージ管理にAPT-RPMを用いる。 PCLinuxOS コメント欄 コメント欄の利用に関してはコメント欄の利用を参照して下さい。 本ページに無関係な内容のコメントは一律して削除されます。Wiki運営に関しては Wiki運営掲示板 にお願いします 。 投稿されているコメントへの返信の際は、必ず返信したいコメント横の○にチェックを入れて返信して下さい。 +上記の内容を守れる方のみご利用ください。 上記の内容を守れる方のみご利用ください。 コメントログ作成 - 名無しさん (2020-08-12 12 37 28) 名前 コメントログ
https://w.atwiki.jp/linux2ch/pages/204.html
PXEブート&NFS-ROOTなBerry Linuxの構築 PXEブート&NFS-ROOTなBerry Linuxの構築 特徴 用意するもの 構築手順 構築例における各パラメータ (1)Berry Linuxを一旦ハードディスクにインストール (2)Berry Linuxカーネルの再構築 カーネル再構築のためのコンフィグレーション カーネルの入れ替え (3)NFSの設定 (4)Berry Linuxルート以下の母艦側へのコピー (5)Berry Linuxファイルの一部修正 (6)tftp用ファイルの準備 (7)dhcpdの設定 Berry Linuxファイル修正用スクリプト(base64) コメント 初出2005年5月6日 最終更新2005年5月9日 中田裕一朗氏が開発されている Berry Linux をベースに、 PXEブートでNFS-ROOTなディスクレスでしかも自動コンフィグレーション機能を 持ったLinuxを構築する方法を紹介します。 knoppix-terminalserverと異なり、伝統のNFS-ROOT方式を採用している為、ディスクレス運用を実現する仕組みが簡単です。Linuxの勉強にも向いているでしょう。また、ファイルシステムは全て展開済みの為、knoopix-terminalserverよりかなりパフォーマンスに優れています。 この方法は、2ちゃんねるUNIX板のなんとなくSolaris/x86 part5の644氏が考案しました。 ここで紹介しているPXEブート&NFS-ROOTな機能を中田氏がBerry Linux本体に組み込まれることを願っています。 姉妹ページ tips/ディスクレス環境の構築 姉妹ページBerry LinuxをUSBメモリにインストール 特徴 母艦としてUnix系のOSを用意してnfsdとdhcpdを整備することで、Windowsしか入っていない、光学ドライブもついていないPCがPXEブートするだけでインストール作業なしに、いきなりフル機能なLinuxマシンに早変わりします※1。 OpenOfficeもxine(DVDプレーヤー)もMediaPlayerもxmms(mp3プレーヤー)もブラウザーも最初から入っています※2。 システムのストレージとして、光学ドライブよりも高速なNFSを用いるのでone CD Linuxよりもずっと快適な使用感が得られます。 光学ドライブもHDDも取りはずしてスピンドルレス(ディスクレス)での運用ももちろん可能です。 dhcpdの設定を例えばサブネットで共通にしておくと、いつでもどのマシンも使いたい時だけインストール作業なしにLinuxマシンになります※3。 例えば普段はWindowsを使用していて、何かトラブルが起きたときのトラブルシューティングの手段として、あるいはネットワーク経由のバックアップ、レストアの手段としても大変便利です※4。 ※1.自動コンフィグレーション機能は元々のBerry Linuxの機能に依存します。 ※2.当初の機能は元々のBerry Linuxの機能に依存しますが自分で自由にソフトウェアをインストールすることができます。 ※3.PXEブートできるマシンに限ります。 EthreBoot Project に関連したサイトである ROM-o-matic.net からPXEに対応していないマシンでもFDDや光学ドライブを使ってPXEブートができる様々便利な物がダウンロードできます。 PXEブートができないマシンでも、ブートフロッピーやブートCD-Rを用いることでブート後のディスクレス運用は可能です。 ※4.システム管理者も重宝するでしょう。 ※今のところ複数のクライアントを同時に立ち上げることには対応していません。 用意するもの Berry Linux 0.57 http //berry.sourceforge.jp/download.htmlからダウンロード 母艦マシン NFS、ISC dhcpd、TFTPDの機能を持つUNIX、Linuxマシン(Linuxを推奨) 構築用クライアントマシン HDDを持ち、PXEブートのできるPC Berry Linux 0.57用カーネルソース http //sourceforge.jp/projects/berry/files/?release_id=14401#14401からkernel-2.6.11-b1.src.rpmをダウンロード pxelinux.0 syslinuxパッケージに含まれるpxelinux.0ファイルを用意します。http //www.kernel.org/pub/linux/utils/boot/syslinux/からダウンロードできます。コンパイル済みのRPMパッケージからpxelinux.0ファイルだけ取り出せばいいでしょう。既に母艦にsyslinuxパッケージがインストールされている場合は/usr/lib/syslinux/pxelinux.0ファイルを用いることができます。 ※これ以降の説明では母艦はLinuxOSで既にsyslinuxパッケージが導入されているとして話を進めます。 構築手順 構築例における各パラメータ 説明を簡単にするために構築例として値を定めます。 母艦のIPアドレス 192.168.0.3 母艦からNFSエクスポートするパス /home2/nfsroot_berrylinux tftpdのルート /tftpd (1)Berry Linuxを一旦ハードディスクにインストール 構築用クライアントマシンで作業をおこないます。 光学ドライブからBerry Linuxを立ち上げ、[メニュー]→[BERRY]→[BERRYのインストール]を選択してBerry Linuxをハードディスクにインストールします。 注意点 [Input your whole name (name surname)]で「Berry User」を入力します。 ※実際には何を入力してもいいんですが、次と整合性を取る為です。 [Input your user name (perhaps you like buser]で「berry」を入力します。 ※必ずberryと入力して下さい。 [BERRYのインストール]完了後、Berry Linuxをハードディスクから起動します。 これ以降はBerry LinuxのCDは必要ありません。 (2)Berry Linuxカーネルの再構築 コンパイル作業は構築用クライアントマシン、母艦側マシンのどちらで作業してもかまいませんが、コンパイルするマシン上にLinuxカーネルコンパイル環境が必要です。私は母艦側でコンパイル作業をおこないました。Berry Linux内にカーネルを再構築するための開発環境が入っているのか私は確かめていません。クライアント側で作業をおこなう場合にはもしカーネル再構築するための開発環境が揃っていなければ自分で揃えて下さい。Fedora3用の開発パッケージ等が使えると思います。 カーネル再構築のためのコンフィグレーション 以下の項目を全てカーネル組み込みにして下さい。 Networking support→Networking options→IP kernel level autoconfiguration→IP DHCP support File systems→Network File Systems→NFS file systems support→Provide NFSv3 client support File systems→Root file system on NFS 以下の項目は自ら必要な項目を判断してカーネル組み込みにして下さい。 Networking support→Network device support→ 例えば私は自分が使う可能性のあるマシンのNICに合わせて以下の項目をカーネル組み込みにしました。 Networking support→Network device support→ Ethernet (10 or 100Mbit)→ 3c590/3c900 series (592/595/597) "Vortex/Boomerang" support Broadcom 4400 ethernet support (EXPERIMENTAL) EtherExpressPro/100 support (eepro100, original Becker driver) RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL) RealTek RTL-8139 PCI Fast Ethernet Adapter support Makefileを書き替えない場合はバージョンが2.6.11.7になります。 カーネルの入れ替え コンパイル後、カーネルを入れ替えます。 lilo.confの当該セクションからはinitrdの既述を外して下さい。 新しいカーネルは/boot/vmlinuz-2.6.11.7という名前にして下さい。(説明の都合上) ※NFS-ROOT環境では原則的にinitrdは不要です。 ※元々存在する/boot/initrd.gzは後で中身の一部を使用しますので必ずそのまま残しておいて下さい。 新しいカーネルでの動作を確認して下さい。 (3)NFSの設定 母艦側で作業します。 NFS-ROOT用ディレクトリを作成します。 # mkdir /home2/nfsroot_berrylinux /etc/exportsとかに /home2/nfsroot_berrylinux 192.168.0.0/255.255.255.0(rw,no_root_squash,async) みたいな行を追加してnfsdを(再)起動します。 (4)Berry Linuxルート以下の母艦側へのコピー 構築用クライアント側で作業します。 # mkdir /mountpoint # mount 192.168.0.3 /home2/nfsroot_berrylinux /mountpoint # cp -ax / /mountpoint # umount /mountpoint # rmdir /mountpoint これ以降は構築用クライアントマシンにハードディスクは必要ありません。 (5)Berry Linuxファイルの一部修正 NFS-ROOTで環境で動作し、しかも自動コンフィグレーションをおこなう為にはBerry Linuxのファイルを少々修正しなければなりません。 かなり簡単なのですが文面で説明するには複雑過ぎるのでスクリプトを用意しました。このページの最後尾に貼り付けてあるbase64エンコードされた部分をデコードして下さい。 tar.gz形式のファイルを解凍するとディレクトリが作成されます。 中にはいくつかのディレクトリとテキストファイルが入っています。 申し訳ありませんが基本的にこのスクリプトはLinux用です。他のOSを母艦として使用したい人はスクリプトの中身を少し修正して下さい。 ※テキストファイルの中身をよく確認してdd if=/dev/zero of=/dev/hdaのようなコードがないか確認して下さい(笑)。 ※このスクリプトの中で前に触れたBerry Linuxの/boot/initrd.gzを使用します。 オリジナルのファイル名はnfsroot-berrylinux-filechg.tar.gzです。ここではその名前でファイルを復元したとします。 このファイルを母艦上で解凍します。 # gzip -dc nfsroot-berrylinux-filechg.tar.gz| tar xvf - nfsroot-berrylinux-filechgという名のディレクトリが作成されます。 # cd nfsroot-berrylinux-filechg # ls -F # diff/ filechg.conf filechg.sh* modified/ new/ original/ work/ filechg.confを自分の環境に合わせて編集し、シェルスクリプトfilechg.shを実行すれば、Berry Linuxの一部のファイルが自動的に修正されます。 (6)tftp用ファイルの準備 PXEブートするためのtftp用ファイルの準備をおこないます。 母艦側で作業します。 /tftpboot直下にpxelinux.0ファイルとカーネルを配置します。 # cd /tftpboot # cp /usr/lib/syslinux/pxelinux.0 . # cp /home2/nfsroot_berrylinux/boot/vmlinuz-2.6.11.7 . /tftpboot/boot.msgというファイルを作成します。 例えばこんな内容にします。(好きな内容にして下さい。) Press return (or wait 5 seconds) to boot your Berry Linux system from the network. You may override the default linux kernel parameters by typ ing "linux params ", followed by return if you like. pxelinuxの仕様に合わせて/tftpboot/pxelinux.cfgディレクトリを作成します。 # mkdir pxelinux.cfg /tftpboot/pxelinux.cfg/defaultというファイルを作成します。 こんな内容にします。 default linux prompt 1 display boot.msg timeout 50 label linux kernel vmlinuz-2.6.11.7 append vga=791 devfs=mount noswap=yes root=/dev/nfs ip=dhcp rw ※Solaris 9以前のSolaris/x86がインストールされているクライアントを使用する方はnoswap=yesを必ず既述して下さい。 (7)dhcpdの設定 PXEブートするためのISC dhcpdの設定をおこないます。 母艦側で作業します。 dhcpd.confのサブネットセクションの設定の内側か、ホスト毎の設定セクションの内側なんかに、このような2行を追加してdhcpdを(再)起動します。 filename "pxelinux.0"; option root-path "192.168.0.3 /home2/nfsroot_berrylinux"; ※本ページで紹介しているLinuxには自動コンフィグレーション機能がありますので複数のマシンで共通の設定を使用することが本来の姿だと思います。 構築方法の説明は以上です。クライアントマシンをPXEブートして下さい。KDEデスクトップが現れるのを期待しましょう。(構築用クライアントマシン以外のマシンでもOKな筈) Berry Linuxファイル修正用スクリプト(base64) ブラウザによってはコピーした際に各行頭に半角スペースが付くことがあります。その場合は取り除いて使用して下さい。 復元方法の例を示します。 ブラウザからコピーした文字列をmime.txtというファイル名で保存します。 $ uudecode -o nfsroot-berrylinux-filechg.tar.gz mime.txt ※uudecodeコマンドは一般的にsharutilsパッケージに含まれています。 begin-base64 644 nfsroot-berrylinux-filechg.tar.gz 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 JEjQP4L+BL0UgNEAUAAA ==== コメント 動作報告・問題点などありましたらコメントをお願いします。 コメントをぶら下げるには編集ボタンを押してください。 コメント
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
https://w.atwiki.jp/generation3d/pages/780.html
UNKNOWN ENEMY データ COST 性格 EXP SP MP 射撃 格闘 反応 指揮 覚醒(LV) MS SP OP CV 精神コマンド なし アビリティ なし 備考 ガンダムAGEシリーズにおけるUE系機体のパイロット。
https://w.atwiki.jp/aerocats/pages/33.html
標準Linuxの/usr/local/bin/内にある。 HDDの初期化の役割を担う。 ユーザーの意思次第で、開発用LinuxをHDDに設置したりHDDブートするように設定する。 動作内容 スクリプト スクリプト詳細ExitWithError関数 スクリプト本文 デバイスの初期化 動作内容 HDDがマウントされていないことを確認。されていればエラー終了。 HDDがxfs形式でフォーマットされていないことを確認。されていればエラー終了。 /mnt/mtdにChangeMeDevHDDがあるかどうかを確認して以下を実行。 ある場合 HDDを/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4の4つのパーティションに切り、それぞれをフォーマットする(マウントはしない)。 デバイス フォーマット形式 /dev/sda1 ext3 /dev/sda2 xfs /dev/sda3 swap /dev/sda4 xfs SetupDevEnv.shの実行 /mnt/mtdにhddrootfs.tar.gz、uImage.buffaloがあるかどうかを確認して以下を実行。 ある場合 /mnt/bootディレクトリを作成し、/dev/sda1をext3形式でマウントして、そこにuImage.buffaloをコピーする。 /mnt/rootfsディレクトリを作成し、/dev/sda2をxfs形式でマウントして、そこにhddrootfs.tar.gzを展開する。 デバイス マウントポイント マウントタイプ /dev/sda1 /mnt/boot ext3 /dev/sda2 /mnt/rootfs xfs /usr/local/bin/kuro_libを/mnt/rootfs/usr/local/binにコピーする。 ChangeMyUbootEnvがあればU-Boot環境変数を書き換える。なければそのまま終了する。 ない場合 エラー終了させる。 ない場合 HDDを/dev/sda1と1つだけのパーティション?に切りxfs形式でフォーマットする。 デバイス フォーマット形式 /dev/sda1 xfs /dev/sda1を/mnt/disk1にxfs形式でマウントする。 デバイス マウントポイント マウントタイプ /dev/sda1 /mnt/disk1 xfs /mnt/disk1のパーミッションを777にする。 スクリプト #!/bin/sh . /usr/local/bin/kuro_lib # $1 Error type {mounted | formatted} ExitWithError(){ miconapl -a led_set_cpu_mcon diag miconapl -a led_set_on_off diag miconapl -a led_set_brink diag miconapl -a bz_on on3off3 case $1 in mounted) echo "disk is already mounted!" /dev/console ;; formatted) echo "disk is already formatted!" /dev/console ;; esac sleep 5 miconapl -a bz_on miconapl -a led_set_brink off miconapl -a led_set_on_off off miconapl -a led_set_cpu_mcon off exit 1 } # Check point 1. disk is already mounted or not. IsMounted ${DISK1_DEV} ; [ $? = 1 ] ExitWithError mounted IsMounted ${DISK1_DEV}1 ; [ $? = 1 ] ExitWithError mounted IsMounted ${DISK1_DEV}4 ; [ $? = 1 ] EixtWithError mounted # Check point 2. disk is already formatted or not. XFS_FORMATTED=`dd if=${DISK1_DEV} bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}1 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}4 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted # OK! Disk is not mounted and not formatted. miconapl -a led_set_code_information 28 miconapl -a bz_on button if [ -e ${CHANGE_TO_DEVHDD_FILE} ] ; then fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition Format_EXT3 ${DISK1_DEV}1 Format_XFS ${DISK1_DEV}2 Format_XFS ${DISK1_DEV}4 mkswap ${DISK_DEV}3 /usr/local/sbin/SetupDevEnv.sh else fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition1 Format_XFS ${DISK1_DEV}1 MountShare ${DISK1_DEV} ${DISK1_MPT} fi miconapl -a led_set_code_information clear ~ # スクリプト詳細 ブロックごとに見てみる。 #!/bin/sh シェルの指定。shを指定している。 . /usr/local/bin/kuro_lib /usr/local/bin/kuro_libをサブシェルで実行している。 このkuro_lib内の InMounted関数 Format_EXT3関数 Format_XFS関数 MountShare関数 IsHavePartition関数 DISK1_DEV変数(=/dev/sda) DISK1_MPT変数(=/mnt/disk1) CHANGE_TO_DEVHDD_FILE変数(=/mnt/mtd/ChangeMeDevHDD) HEXDUMP変数(=/usr/bin/hexdump) を使用するためだ。 ExitWithError関数 関数の定義が始まる。なお、この項目は関数が以後の命令で呼び出された時に機能する内容であり、スクリプト実行と同時に実行されるわけではない。 # $1 Error type {mounted | formatted} ExitWithError(){ 第1引数はmountedかformattedというエラータイプだ、と解説されている。 miconapl -a led_set_cpu_mcon diag miconapl -a led_set_on_off diag miconapl -a led_set_brink diag miconapl -a bz_on on3off3 まずはどのタイプのエラーであれ(この関数が呼び出されている時点で何らかのエラーには間違いないため)、miconaplコマンドでLEDとブザーが共通の操作をされている。 詳しくはmiconaplコマンドで記すが、この4行で エラーLEDが点滅 ブザーがピッピッピと鳴る という動作になる。 case $1 in 先ほどの第1引数の内容によって以後の処理動作を分けている。 第1引数がmountedの場合 mounted) echo "disk is already mounted!" /dev/console ;; echoコマンド?で「disk is already mounted!」という一文がコンソールデバイスに出力されている。 これだけでこのcase文を抜ける。 第1引数がformattedの場合 formatted) echo "disk is already formatted!" /dev/console ;; echoコマンド?で「disk is already formatted!」という一文がコンソールデバイスに出力されている。 これだけでこのcase文を抜ける。 esac 以上の処理でmountedかformattedか、というcase文は終了する。 sleep 5 miconapl -a bz_on miconapl -a led_set_brink off miconapl -a led_set_on_off off miconapl -a led_set_cpu_mcon off 5秒間一時停止した後に、LEDとブザーの動作を止めている。 exit 1 終了ステータスに異常を表す「1」を指定。 } ExitWithError関数はここまで。 スクリプト本文 ここからがいわゆるInitDisk1.shのスクリプト本体だ。 # Check point 1. disk is already mounted or not. まずはチェックポイント1としてHDDがすでにマウントされているかいないかを以下で調査している。 サブシェルで走らせている/usr/local/bin/kuro_lib内の関数「IsMounted」を使うことになる。 ここで述べておく方が理解が容易なので、InitDisk1.shスクリプトの内容ではないが/usr/local/bin/kuro_lib内のIsMounted関数に触れておく。 IsMounted関数 /usr/local/bin/kuro_lib内の関数であり、引数を1つ付けさせて内容により戻り値として「0」か「1」を返す仕組みのようだ。 # $1 device of check target # retval # 1 device $1 is mounted. # 0 device $1 is not mounted. 第1引数はチェック対象のデバイスであり、このIsMounted関数が戻り値1を返せばそのデバイスはマウントされている、0を返せばされていないとする旨の解説だ。 IsMounted(){ MOUNTED=`grep $1 /proc/mounts` MOUNTEDという変数を用意しそこにgrep $1 /proc/mountsの結果を代入している。 $1とはIsMounted関数に付けられた第1引数であり、${DISK1_DEV}すなわち/dev/sdaを指す。 つまり、procコマンド?でマウント状態を調べたとき、/dev/sdaという文字が含まれるものを抽出していることになる。 その結果がMOUNTEDという変数に代入される。 if [ "${MOUNTED}" != "" ] ; then return 1 else return 0 fi このMOUNTED変数がカラでなければ戻り値1を返しIsMounted関数を終了、そうでなければ(カラであれば)0を返しIsMounted関数を終了する、という内容。 この作業で、/dev/sdaがマウントされているかどうかが判別できる。 return 0 上のいずれにもあてはまらなければ(実際にはあり得ないが)0を返す。 } IsMounted関数はここまで。 ここからまたスクリプト本文の解説に戻る。 IsMounted ${DISK1_DEV} ; [ $? = 1 ] ExitWithError mounted IsMounted ${DISK1_DEV}1 ; [ $? = 1 ] ExitWithError mounted IsMounted ${DISK1_DEV}4 ; [ $? = 1 ] EixtWithError mounted IsMounted関数に${DISK1_DEV}(=/dev/sda)、${DISK1_DEV}1(=/dev/sda1)、${DISK1_DEV}4(=/dev/sda4)という引数をそれぞれ付け、戻り値は0か1が返ってくるのを待ち、返って来た結果(戻り値「$?」)が1ならばExitWithError関数をmountedという引数を付けて実行している。 /dev/sdaもしくは/dev/sda1、/dev/sda4のいずれか一つでもマウントされていればInitDisk1.shはエラー終了してしまう、ということだ。 誤動作防止のためだと思われる。 これでチェックポイント1であるマウントされているかどうかの調査は終了する。 # Check point 2. disk is already formatted or not. 次にチェックポイント2としてHDDがすでにフォーマットされているかいないかを以下で調査している。 XFS_FORMATTED=`dd if=${DISK1_DEV} bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}1 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted XFS_FORMATTED=`dd if=${DISK1_DEV}4 bs=1 count=3` ; [ "${XFS_FORMATTED}" = XFS ] ExitWithError formatted 流れとしては XFS_FORMATTEDという変数を用意 そこに対象となるデバイスのフォーマット形式を代入 それがxfs形式かどうかを判別 xfs形式ならばExitWithError関数にformatted引数を付けてエラー処理 となる。 デバイスのフォーマットの調べ方だが、ここではddコマンドで行っている。 ddコマンドのofパラメータは出力先を指すが、今回これは指定しないのですなわち標準出力を指す。 xfs形式でフォーマットされたデバイス(パーティション?)は、 dd if=デバイス bs=1 count=3 とすると XFS3+0 records in 3+0 records out とコンソールには表示されるが、内部的にはXFSの3文字だけが出力されている(of=/mnt/disk1/dd.txtなどで確認してみるとはっきりする)。 ext3ではXFSは表示されないが、XFS形式のものをmkfs.ext3で上書きした場合はXFSと表示されてしまう。 パーティション?の先頭を0で埋めた後、領域を破壊した上でmkfs.ext3を実行しないと機械的にはXFSとみなされるので注意が必要だ。 上の命令は/dev/sda、/dev/sda1、/dev/sda4のいずれかがxfs形式ならばformattedという引数を付けてExitWithError関数を実行(すなわちエラー処理)する、という意味だ。 # OK! Disk is not mounted and not formatted. 以上、2つのチェックポイントを無事通過できると次の処理が待っている。 デバイスの初期化 miconapl -a led_set_code_information 28 miconapl -a bz_on button オレンジのLEDを点滅させ、ブザーをピっと鳴らす。 /mnt/mtdにChangeMeDevHDDがある場合 if [ -e ${CHANGE_TO_DEVHDD_FILE} ] ; then この「-e」という評価式は「存在すれば真」なので、CHANGE_TO_DEVHDD_FILE(/mnt/mtd/にChangeMeDevHDD)が存在すれば以下を実行、という意味になる。 なお、このChangeMeDevHDDとは、附属CD-ROM内にあるもので「HDDパーティション?を開発用に設定するための意思表示ファイル」となっている。中身は何もない。 この条件分岐のためだけにあり、あるかないかが問題なだけだ。 fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition /usr/local/bin/PartitionDefinitionに記載されている内容に従って/dev/sdaにパーティション?をきっていく。 記載された内容とは パーティション? サイズ パーティションタイプ /dev/sda1 50MB Linux /dev/sda2 3GB Linux /dev/sda3 128MB swap /dev/sda4 残り Linux となっている。 次に、きられたパーティション?に今度はファイルシステムを導入する。 まずは/usr/local/bin/kuro_lib内の関数「Format_EXT3」を説明する。 Format_EXT3関数 /usr/local/bin/kuro_lib内の関数であり、引数一つを受け取りそのデバイスをext3形式にフォーマットする関数のようだ。 # $1 target device to format Format_EXT3(){ 第1引数のデバイスをフォーマット対象とする。 echo "***** Starting to format $1 *****" 画面に「***** Starting to format 対象デバイス *****」と表示する。 mkfs.ext3 $1 mkfs.ext3コマンド?で第1引数のデバイスをext3形式でフォーマットする。 if [ $? -eq 0 ] ; then $?とは上のmkfs.ext3コマンド?の実行結果の終了ステータスを指しているのだが、これが「0」すなわち成功ならば次を実行、となっている。 echo "Format is succeeded without error." 画面に「Format is succeeded without error.」と表示する。つまり「フォーマットはエラーもなく成功した。」と表示している。 else $?が「0」でなければ、つまりフォーマットに失敗しているのならば次を実行。 return 1 exit 1 fi return 1とは、関数の戻り値を1に明示的に指定してFormat_EXT3関数を終了しているわけだが、このスクリプト内で戻り値を具体的に利用する様子は見受けられないので意味はないだろう。 /usr/local/bin/kuro_libは様々なスクリプトで利用されているライブラリ的なスクリプトなので、どこかで利用するものかもしれない。 exit 1も同じような意味合いだが、終了ステータスを「1」(異常)に設定してスクリプト(/usr/local/bin/kuro_lib)を終了するようにしている。 return 0 戻り値「0」をセットしFormat_EXT3関数を抜ける。 } Format_EXT3関数はここまで。 次に/usr/local/bin/kuro_lib内の関数「Format_XFS」を説明する。 Format_XFS関数 /usr/local/bin/kuro_lib内の関数であり、引数一つを受け取りそのデバイスをxfs形式にフォーマットする関数のようだ。 # $1 target device to format. Format_XFS(){ 第1引数のデバイスをフォーマット対象とする。 KEY=`dd if=$1 bs=1 count=3` KEYという変数を用意し、そこにdd if=$1 bs=1 count=3の結果を代入する。 先ほど検証したようにxfs形式のデバイスに対してこのコマンドを使うと「XFS」と出力される。 if [ "${KEY}" = "XFS" ] ; then KEYの値がXFSならば次を実行、という意味だ。つまりここは対象デバイスのフォーマット形式がxfs形式かどうかを条件分岐にしている。 . /etc/melco/info /etc/melco/infoをサブシェルで走らせているが、標準Linuxにはこのファイルは存在しない。 製品仕様書にも初期化SWの項目に 内蔵HDD(/dev/sda)が既にxfs形式でフォーマットされている場合、フォーマットは行われない。但し、/etc/melco/info内、force_format=yesとすることで、xfsでフォーマットされている/いないにかかわらず、フォーマットを行うようにすることができる。 と記載されている。強制フォーマットの機能を使うのであれば自分で/etc/melco/infoを用意するしかない。 if [ "${force_format}" = "yes" ] ; then /etc/melco/info内の「force_format」項目が「yes」となっていれば以下を実行。 echo "Disk (or partition) is looks like already formatted." echo "If you stop format, Press Ctrl+C in 10 seconds!!!" 画面に「Disk (or partition) is looks like already formatted.If you stop format, Press Ctrl+C in 10 seconds!!!」と表示。 「ディスク(あるいはパーティション?)は既にフォーマットされているようです。フォーマットを中止する場合は10秒以内にCtrl+Cを押してください」という意味。 COUNTER=10 COUNTERという変数を用意し、そこに10を代入。 echo -n "waiting " 画面に「waiting」と表示。-nオプションは「テキストの行末で改行しない」という意味。 while [ ${COUNTER} -gt 0 ] COUNTER変数が0より大きければdo~doneの内容を繰り返す。 do echo -n "." sleep 1 COUNTER=$((${COUNTER} - 1)) done 「waiting」の行末に「.」を表示し、1秒待った後COUNTER変数から1を引く、という内容。 先のwhile条件から、1を引いた結果が0よりも大きければ同じことを繰り返す、ということなので、これで結果的に10秒間待機することになる。 「.」を1秒ごとに表示させるためにwhile文を使ったのだろう。 echo "" echo "OK, go on formatting." echoで空白を表示、これは改行させる目的で、次に「OK, go on formatting.」を表示させている。 else /etc/melco/info内の「force_format」項目が「yes」となっていなければ以下を実行。 return 0 戻り値を「0」に設定しFormat_XFS関数を抜ける。つまりこの関数内の以後の命令は実行しない。 fi fi if [ "${force_format}" = "yes" ]を抜け、すぐ次にif [ "${KEY}" = "XFS" ]も抜けている。 echo "***** Cleaning Disk partition information *****" 画面に「***** Cleaning Disk partition information *****」と表示。 dd if=/dev/zero of=$1 bs=512 count=1 ddコマンドを使ってデバイスの先頭から512バイトに「0」を書き込んでいる。 要するにそのデバイス(パーティション?)を先頭から512バイト分データを消去している。 echo "***** Starting to format $1 *****" 画面に「***** Starting to format 対象デバイス *****」と表示。 mkfs.xfs $1 -f デバイスをmkfs.xfsコマンド?でxfs形式にフォーマットしている。-fは上書きオプション。 if [ $? -eq 0 ] ; then 終了ステータスが0であれば、つまり上のmkfs.xfsコマンド?がエラーでなければ以下を実行。 echo "Format is succeeded without error." 画面に「Format is succeeded without error.」と表示。 else mkfs.xfsでエラーが発生すれば return 1 exit 1 fi 戻り値を1、終了ステータスを1に設定して終了。 return 0 戻り値を0に設定しFormat_XFS関数を抜ける。 } Format_XFS関数はここまで。 これら関数を使ってファイルシステムを導入する命令が以下。 Format_EXT3 ${DISK1_DEV}1 Format_XFS ${DISK1_DEV}2 Format_XFS ${DISK1_DEV}4 mkswap ${DISK_DEV}3 わかりやすく表にすれば デバイス フォーマット形式 /dev/sda1 ext3 /dev/sda2 xfs /dev/sda3 swap /dev/sda4 xfs という意味だが、 mkswap ${DISK_DEV}3 は上のパーティション?の様子からすると mkswap ${DISK1_DEV}3 でなければならないはずだ。開発用Linuxのfstabで/dev/sda3をswapでマウントしようとしても、フォーマットが完了していないため失敗するだろう。 /usr/local/sbin/SetupDevEnv.sh そして、/usr/local/sbin/SetupDevEnv.shを実行する。詳細はSetupDevEnv.shの項目で説明する。 その後、miconapl -a led_set_code_information clearを実行してInitDisk1.shを終了する。 /mnt/mtdにChangeMeDevHDDがない場合 else CHANGE_TO_DEVHDD_FILE(/mnt/mtd/にChangeMeDevHDD)が存在しなければ以下を実行。 fdisk ${DISK1_DEV} /usr/local/bin/PartitionDefinition1 /dev/sdaを/usr/local/bin/PartitionDefinition1に従ってパーティション?分割作業する。 パーティション? サイズ パーティションタイプ /dev/sda1 すべて Linux という内容だ。 Format_XFS ${DISK1_DEV}1 Format_XFS関数で/dev/sda1をxfs形式にフォーマット。 MountShare ${DISK1_DEV} ${DISK1_MPT} MountShare関数に 第1引数 /dev/sda 第2引数 /mnt/disk1 という引数を付けて実行させている。 ここで/usr/local/bin/kuro_lib内のMountShare関数を説明する。 MountShare関数 /usr/local/bin/kuro_lib内の関数。4つまでの引数に対応し、3つの戻り値を設定できる。 # $1 target device to mount. # $2 target mountpoint of $1. # $3 File system of target device(default is xfs). # $4 Mounted device permission(default is 777). MountShare(){ 第1引数にマウントする対象デバイス、第2引数に対象デバイスのマウント先、第3引数に対象デバイスのファイルシステム(初期値はxfs形式)、第4引数にマウントしたデバイスのパーミッション(初期値は777)、という解説。 # ret 0 this is no partition disk. # ret 1 this is nand share type partition # ret 2 this is developkit type partition (maybe) MountShare関数の戻り値ではない。IsHavePartition関数からの戻り値を説明している。 戻り値「0」で「パーティション?が存在しないディスクです」、「1」で「NANDフラッシュ共有時(つまり標準Linux時)のパーティション?です」、「2」で「(おそらく)開発用Linux時のパーティション?です」と、それぞれ意味する。 if [ "$1" = "/dev/sda" -o "$1" = "/dev/sdb" ] ; then 第1引数が/dev/sdaあるいは/dev/sdbであれば以下を実行。 IsHavePartition $1 /usr/local/bin/kuro_lib内のIsHavePartition関数に第1引数を付けて実行している。 ここでIsHavePartition関数を説明する。 IsHavePartition関数 # $1 target device to check partition 第1引数にパーティション状態をチェックする対象デバイス、という解説。 # ret 0 this is no partition disk. # ret 1 this is nand share type partition # ret 2 this is developkit type partition (maybe) 戻り値「0」で「パーティション?が存在しないディスクです」、「1」で「NANDフラッシュ共有時(つまり標準Linux時)のパーティション?です」、「2」で「(おそらく)開発用Linux時のパーティション?です」と、それぞれ意味する。 IsHavePartition(){ if [ -x ${HEXDUMP} ] ; then HEXDUMP変数(=/usr/bin/hexdump)に-xオプションを付けて条件としている。-xオプションは「存在し、かつ実行可能なら真」という意味なので、ここでは「/usr/bin/hexdumpが存在し、かつ実行可能なら次を実行」という意味になる。 DISK_1_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "1p"|awk '{print $10}'` DISK_1_PART_TAILという変数を用意し、そこにhexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "1p"|awk '{print $10}'という内容を代入している。 パイプで3つの命令がつながっているが、それぞれに分けて考えてみる。 hexdump hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 hexdumpコマンドを使っている。先頭から446バイト読み飛ばした所から64バイト分だけを読み込み、それを「8/1 "%02x " 2/4 "%10d " "\n"」というフォーマットで第1引数のデバイスを表示する、という意味になる。 HDDの先頭512バイトはMBR領域となっており、その中の先頭446バイトから64バイトはパーティションテーブルが4エントリ分(1エントリ16バイト)ある。 つまりここでは4つのパーティションテーブルを読み込んだことになる。 次に、詳細はhexdumpコマンドで説明するが、「繰り返し回数/バイト数 "フォーマット"」の羅列がhexdumpコマンドのフォーマット形式なので、この場合は 8回繰り返し/1バイト "フィールド幅2(2桁表示で満たない桁は0で表示)で16進数変換" 2回繰り返し/4バイト "フィールド幅10(10桁表示で満たない桁は空白で表示)で10進数変換" 改行 という内容になる。 つまり、「1バイトづつ8回、4バイトづつ2回、計16バイトを10回にわけて読み込み、それを4行に出力」という内容だ。 パーティションテーブルを1つ読み込んでは改行し、64バイト分すべてを16バイトづつ4行10フィールドで表現している。 4つのパーティション?を切ったHDDで試してみると以下の結果を得た。 00 01 01 00 83 fe 3f 06 63 112392 00 00 01 07 83 fe 7f 74 112455 5879790 00 00 41 75 82 fe 7f 85 5992245 273105 00 00 41 86 83 fe ff ff 6265350 150031035 sed sed -n "1p" 「-n」オプションでhexdumpコマンドから受け取った結果の1行目(pが行を表す)だけを抽出している。 ここの「1p」が「2p」「3p」「4p」と変化していくのは、それぞれパーティションテーブルを1から4まで読み、該当パーティションテーブル以外を破棄している。 先ほどの例で試すと 00 01 01 00 83 fe 3f 06 63 112392 という結果を得る。 awk awk '{print $10}' sedコマンド?から受け取った行の第10フィールドの値を出力している。 第10フィールドはLBAのパーティション?総セクター数(4バイト)を意味する。 つまり、最終的にDISK_1_PART_TAIL変数に代入したい値とは、各パーティション?の総セクター数であることがわかる。これはhexdumpコマンドで10進数にされている。 DISK_2_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "2p"|awk '{print $10}'` DISK_3_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "3p"|awk '{print $10}'` DISK_4_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "4p"|awk '{print $10}'` 先ほどと同様な処理を各パーティション?ごとにDISK_パーティション番号_PART_TAILという変数に代入している。 例で試すと 112392 という結果。 総セクター数が0であればそのパーティション?は存在しない、という意味になる。 if [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -eq 0 -a "${DISK_3_PART_TAIL}" -eq 0 -a "${DISK_4_PART_TAIL}" -eq 0 ] ; then 第1パーティションの総セクター数が0ではない かつ第2~4パーティションの総セクター数が0 の場合に以下を実行する。 return 1 戻り値「1」を設定し関数を抜ける。 つまり「this is nand share type partition」ということになる。 elif [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -ne 0 -a "${DISK_3_PART_TAIL}" -ne 0 -a "${DISK_4_PART_TAIL}" -ne 0 ] ; then 第1~4パーティションの総セクター数が0ではない の場合に以下を実行。 return 2 戻り値「2」を設定し関数を抜ける。 つまり「this is developkit type partition (maybe)」ということだ。 else それ以外の場合、つまり 第1パーティションの総セクター数が0 の場合に以下を実行。 return 0 戻り値に「0」を設定し関数を抜ける。 つまり「this is no partition disk.」ということになる。 fi パーティション?総セクター数の条件分岐を終了する。 else 「/usr/bin/hexdumpが存在し、かつ実行可能」ではない場合は以下を実行、という意味。 return 0 戻り値に「0」を設定し関数を抜ける。 つまり「this is no partition disk.」ということになる。 fi 「/usr/bin/hexdumpが存在し、かつ実行可能」という条件分岐を終了する。 return 0 いずれにもあてはまらなかった場合、戻り値に「0」を設定し関数を抜ける。 つまり「this is no partition disk.」ということになる。 } IsHavePartition関数はここまで。 ここからまたMountShare関数に戻る。 RET=$? RETという変数を用意し、そこにIsHavePartition関数の戻り値を代入。 [ "${RET}" -eq 1 ] TARGET_DEV=${1}1 [ "${RET}" -eq 2 ] TARGET_DEV=${1}4 [ "${RET}" -eq 0 ] TARGET_DEV=${1} 戻り値が1ならば、TARGET_DEV変数にMountShare関数に付けた第1引数(if文の関係上、/dev/sdaか/dev/sdb)の第1パーティション?を代入する。 戻り値が2ならば、TARGET_DEV変数にMountShare関数に付けた第1引数(if文の関係上、/dev/sdaか/dev/sdb)の第4パーティション?を代入する。 戻り値が0ならば、TARGET_DEV変数にMountShare関数に付けた第1引数(if文の関係上、/dev/sdaか/dev/sdb)を代入する。 というように処理している。 else MountShare関数に付けた第1引数が/dev/sdaでも/dev/sdbでもなければ以下を実行。 TARGET_DEV=$1 TARGET_DEV変数にMountShare関数に付けた第1引数を代入。 fi MountShare関数に付けた第1引数が/dev/sdaか/dev/sdbか、という条件分岐を抜ける。 IsMounted ${TARGET_DEV} IsMounted関数に第1引数としてTARGET_DEV変数を渡す。先ほど説明したとおり、戻り値「1」で「device is mounted.」、戻り値「0」で「device $1 is not mounted.」という意味になる。 if [ $? = 1 ] ; then 戻り値が「1」ならば、つまり「device is mounted.」という意味ならば次を実行。 echo "${TARGET_DEV} is already mounted." 画面上に「対象デバイス is already mounted.」と表示。 return 1 戻り値「1」を設定しMountShare関数を抜ける。 fi IsMounted関数の戻り値による条件分岐を抜ける。 if [ "$3" = "" ] ; then MountShare関数の第3引数が何もなければ以下を実行する。 FS=xfs FSという変数を用意し、そこにxfsを代入する。 else MountShare関数の第3引数に何かあれば以下を実行する。 FS=$3 FSという変数を用意し、そこにその第3引数を代入する。 fi MountShare関数の第3引数の有無の条件分岐を抜ける。 if [ "$4" = "" ] ; then MountShare関数の第4引数が何もなければ以下を実行する。 PERMISSION=777 PERMISSIONという変数を用意し、そこに777を代入する。 else MountShare関数の第4引数に何かあれば以下を実行する。 PERMISSION=$4 PERMISSIONという変数を用意し、そこにその第4引数を代入する。 fi MountShare関数の第4引数の有無の条件分岐を抜ける。 echo "Mounting ${TARGET_DEV} on $2 as a ${FS} file system." 画面上に「Mounting 対象デバイス(MountShare関数の第1引数) on マウントポイント( MountShare関数の第2引数) as a ファイルシステムタイプ(MountShare関数の第3引数) file system.」と表示する。 mount -t ${FS} ${TARGET_DEV} $2 実際に設定した変数の値をもとにmountコマンドでマウントする。 case $? in mountコマンドの終了ステータスをもとに実行内容を変える。 0) 終了ステータス「0」(正常)の場合 chmod ${PERMISSION} $2 echo "Success." ;; chmodコマンド?で設定したパーミッションでマウントポイントのデバイスを指定し、画面上に「Success.」と表示してcase文を抜ける。 *) 終了ステータス「1」(異常)の場合 echo "Failed." return 1 ;; 画面上に「Failed.」と表示して、戻り値「1」を設定しMountShare関数を抜ける。 esac case文はここまで。 echo "" return 0 画面上を改行して戻り値「0」を設定しMountShare関数を抜ける。 } MountShare関数はここまで。 fi CHANGE_TO_DEVHDD_FILE(/mnt/mtd/にChangeMeDevHDD)の有無の条件分岐を抜ける。 miconapl -a led_set_code_information clear LEDの点滅を止める。
https://w.atwiki.jp/wiki13_chibi/pages/5.html
コンテンツ一覧 シェル変数、環境変数の設定 容量の確認 usermod コマンド lsコマンドが無くなった場合の緊急策 locateコマンドでファイルを検索 hdparm 秘密鍵のパスフレーズをあとで変更する シェル変数、環境変数の設定 シェル変数の表示 $ set 環境変数の表示 $ env 例として、historyコマンドの履歴件数を100件に設定して、 環境変数に適用してみる。 $ HISTSIZE=100 $ export HISTSIZE または、 $ export HISTSIZE=100 しかしこれだとログアウトすると、また元の設定に戻ってしまうため、 永続的に設定するには、以下のような編集を行う。 $ vi .bash_profile ←ホームディレクトリで HISTSIZE=100 ←追加 export HISTSIZE PATH (exportの行にHISTSIZEを追加。PATHは元々記述してあったもの。) 以上で、ログアウトしても適用されたままの状態になる。 htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 容量の確認 再帰的に検索して、容量を確認し、大きい順に並べてみる(表示はK単位) ここでは、例として、/var/www/以下を確認してみる。 # cd /var/www/ # du -csk * | sort -rn 30492 total 15552 blog 13528 html 728 debian 524 awstats 152 apache2-default 8 index.html htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 usermod コマンド usermod コマンドを使用すると、ユーザの情報を変更することが可能。 # usermod -l chibi linux ユーザ名の変更。この場合は、chibi から linux に変更 # usermod -L chibi chibi のパスワードを無効にし、ログインできなくする。 パスワードを再度有効にするには、 # usermod -U chibi を実行する # usermod -G otaku chibi chibi を otaku というグループに所属させる htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 lsコマンドが無くなった場合の緊急策 lsコマンドで、"/"を確認したかったのに、 lsコマンドが消えていたりして"/"の確認ができない。 でも、どうしても今すぐ確認したい時はどうすればいいか? こーゆー時は、一時的な対応策として、echo コマンドを使う。 # ls / としたかったのを代わりにechoで行うには、以下のようにする。 # echo /* これで、lsと同じように確認が可能。/var以下が見たいのであれば、 # echo /var/* とすればOK。緊急策として、覚えておくと便利かも? htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 locateコマンドでファイルを検索 # locate httpd などとやれば、httpdというキーワードを含むファイルが全て表示される。 locateコマンドは、あらかじめ作成しておいたデータベースを参照して 検索するので、 処理が高速。同じ事ができるコマンドにfind コマンドがあるが、 こっちは、データベースなどはなく、逐次検索するので処理は遅い。 なお、locateコマンドだが、1日1回updatedb というコマンドで データベースの更新を自動で行っているが、 このupdatedb 間に作成されたファイルはデータベースに反映されていないので、 locateコマンドで見つけることはできない。 今の状態をすぐに反映させたい場合は、自分でupdatedbコマンドを実行すればOK。 # updatedb これで現在の状態がデータベースに反映されるので、 さっき作ったばかりのファイルもlocateで見つけることができる。 htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 hdparm # hdparm -y /dev/hda ハードディスク停止 # hdparm -S 12 /dev/hda 12は60秒。ディスクの回転を停止。 # hdparm -i /dev/hda ディスクの情報表示 htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 秘密鍵のパスフレーズをあとで変更する # ssh-keygen -p htmlプラグインエラー このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
https://w.atwiki.jp/n-3104/pages/29.html
CVSサーバ構築インストール リポジトリの構築 xinetdへの登録 ユーザの登録 参考 EclipseからCVSサーバに接続Webアプリの開発 EclipseとCVSサーバの対応状況 CVSサーバ構築 インストール CDの2枚目に入っているrpmファイルをインストールするだけ。 # rpm -ivh /mnt/cdrom/RedHat/RPMS/cvs-1.11.2-10.i386.rpm リポジトリの構築 リポジトリ用のディレクトリを作って初期化するだけ。今回は /var/cvs/A と /var/cvs/B という2つのリポジトリを作ることにした。 # mkdir /var/cvs/A /var/cvs/B # cvs -d /var/cvs/A init # cvs -d /var/cvs/B init cvs init はCVSリポジトリとして必要なCVSROOTディレクトリや各種ファイルを生成してくれるだけ。どこか別のディレクトリに情報を書き込んだりはしていない。よってバックアップをしたければ、リポジトリのディレクトリを丸ごとコピーしてtarで固めておいたりすればよい。 xinetdへの登録 cvsはxinetdを使って公開する場合はxinetd用の設定ファイルを作成する必要がある。 # vi /etc/xinetd.d/cvspserver /etc/xinetd.d/cvspserverの中身 # cvspserver service cvspserver { socket_type = stream wait = no protocol = tcp user = root server = /usr/bin/cvs server_args =-f --allow-root=/var/cvs/A --allow-root=/var/cvs/B pserver disable = no } 設定ファイルを作成したら、xinetdを再起動する。 # /etc/init.d/xinetd restart ユーザの登録 CVS用のユーザはLinux上のユーザが利用されるが、それとは別にCVS専用のユーザを作ることも出来る。この場合は、CVS専用のユーザをLinuxのユーザに割り当てるという考え方になる。よって、まずはLinux上にCVS用のユーザを作成し、このユーザにリポジトリディレクトリへの書き込み権限を付与する必要がある。 # useradd cvs # cd /var/cvs # chown -R root cvs A B # chmod 775 A B CVS用のユーザを作るには、CVSROOTディレクトリの下に"passwd"という名前のファイルを作ればよい。書式は以下の通りである。 CVSユーザ名 パスワード Linuxのユーザ名 ユーザの追加においては再起動は必要ない。 参考 オブジェクトワークス(NRI)が公開しているガイドがとても分かりやすい。 参考:http //works.nri.co.jp/service/documents.html の「CVS on RedHat Linux 環境構築ガイド」 EclipseからCVSサーバに接続 Webアプリの開発 tomcat-pluginを利用した場合、自動的にworkフォルダ用の.cvsignoreを生成してくれるため、初回に以下のファイルをテキストとして登録するだけでとりあえず使えそう。ちなみに、classファイルについては無視するリソースに設定が見当たらないが、なぜか除外してくれる。 *.jsp .tomcatplugin EclipseとCVSサーバの対応状況 EclipseのCVSクライアントとCVSサーバの対応状況はeclipse.orgのCVS FAQで確認できる。 http //wiki.eclipse.org/index.php/CVS_FAQ#What_server_versions_of_CVS_are_supported_by_Eclipse.3F