約 4,405,529 件
https://w.atwiki.jp/hyosida/pages/20.html
Linux Beanのインストール ライブUSBを作るのは簡単だが、Linux Benaはインストールに手間取った。 14.02の場合 まず、14.02の場合、USBをメモリから起動して外付けUSBのHDDにインストールしたところ、おそらくインストーラのバグで/dev/adaつまり本体のHDDをのMBRを書き換えてしまう。このため本体にWindowsが入っていると起動しなくなってしまう。これは2度やって2度ともそうだったので確か。ただ、HDDをではなく、USBメモリにインストールしたときは本体のブートローダを上書きするような動作はしなかった記憶がある。しかも初期画面の左上にある、インストールするアイコンをダブルクリックしてもインストールができない。 →これは実はインストーラのバグではないことが後日判明した。テストに使っていたPCはdynabook R732/Fというもので、これはどうもUSB接続の外付けHDDから起動できない。USBメモリなら起動できる。HDDから起動できないので本体のHDDのMBRを書き換えてしまう。内蔵HDDを外したら外付けHDDから起動できないことが分かりようやく判明した。 →と思ったがやっぱりインストーラのバグだった。外付けHDDから起動可能なHPのELITE8200を用いて試してみたが、インストールの設定画面でブートローダのインストール先を/dev/sdcにしても必ず/dev/sdaにする。ので、このバージョンのインストールを外付けHDDにやりたい場合は必ず本体のHDDを外さなければならない。 次に14.02のライブCDから起動してみた。こちらは起動後何故かコマンドプロンプトで止まってしまい、手動でstartxと入れないとウインドウが立ち上がらない。しかも立ち上がった画面は英語になっている。やはり左上のアイコンのダブルクリックではだめで、コマンドを入れなければインストールが始まらなかった。 16.04の場合 次に、16.04の方で同じことをやったら、インストールの途中でクラッシュしてしまいうまく行かなかった。もう一度やればそんなことはなかったのかもしれないが、一度でもインストーラがクラッシュするということは、たまたまうまく行ってもあまり嬉しくないので、やめた。 →これはライブCDの部屋にも注意書きがある通りで、インストール途中のファイルコピー中に次にすすむ的なボタンを押すとクラッシュする。しばらく待ってファイルコピーが終われば次に進む。そうするとクラッシュすることはなかった。 16.04のインストーラは14.02のようにGRUBを/dev/sdaにインストールすることはない。 このように、なんとなくこのlinuxはインストーラが不安定な気がした。 ま、気を取り直して、次のようにしてみた。つまり、windows10がインストールされているdynabook R732/FのSSDを外し、中古で買ってきた250GBのHDDに差し替えた。このHDDは空っぽ。そしてUSBメモリからlinux Bean14.04を起動し、本体、つまり/deb/sdaのHDDにインストールしてみた。インストールにかかる時間は異常に短い。5分位で終わってしまう。 アップデート http //takaq1.plala.jp/contents/bean/upgrade1404_1604/index.html を参考にアップデートしてみた $ lsb_release -a Distributor ID Ubuntu Description Ubuntu 14.04.2 LTS Release 14.04 Codename trusty ふむふむ。 $ sudo apt update なんかエラー出しながらもやっとる。 $ sudo apt upgrade こっちは時間かかった。 さらに、 $ sudo apt dist-upgrade $ sudo shutdown -r now $ sudo apt install update-manager-core $ sudo leafpad /etc/update-manager/release-upgrades prompt lts で保存 $ sudo do-release-upgrade これが時間かかる2時間ぐらい。色々聞かれるが全部デフォルト設定。終了して再起動。 $lsb_release -a Distributor ID Ubuntu Description Ubuntu 16.04.6 LTS Release 16.04 Codename xenial というわけで16.04になっているということらしい。 ちなみにアップグレード後、windowが立ち上がった状態でのメモリ使用量はたった94MBしかない。ほんとか? lucy@lucy-dynabook-R732-F ~$ free -h total used free shared buff/cache available Mem 3.8G 94M 3.5G 27M 268M 3.4G Swap 5.8G 0B 5.8G 14.02と16.04のファイルサイズとメモリ使用量 16.02をインストールし起動直後のメモリ使用量とHDD使用量はこんな感じ。HDDは3.1GBで結構大きい。メモリ使用量は138MBと非常に小さい。
https://w.atwiki.jp/riftinfo/pages/41.html
* Name CastTime(sec) Cooldown(sec) CastCost(energy) Description Bash - 6 30 A quick blunt strike that deals 149 to 153 Physical damage, in addition to interrupting casting. Battlefield Intimidation - 30 10 Roar in rage, causing an enemy to be rooted for 6 seconds, in addition to fearing all nearby enemies for 6 seconds. Bladefury - 8 15 Series of strikes that hit up to 6 nearby enemies for weapon plus Physical damage 1 Point 100% of weapon plus 126 damage.2 Points 120% of weapon plus 220 damage.3 Points 140% of weapon plus 315 damage. Blitz - - - Allows Bull Rush to be used in combat and causes the enemy to be rooted. Blood Frenzy - - - Increase the critical hit chance of Bloodthirst by 100%. Bloodthirst - 8 10 For 30 seconds after getting a killing blow, strike an enemy for weapon plus 139 to 143 Physical damage. This ability is not affected by the global cooldown. Brutal Punishment - - - Inescapable Fury has a 100% chance to critically hit. Bull Rush - 15 10 Charges an enemy dealing 156 to 161 Physical damage. Cannot be used in combat. This ability grants 1 Attack Point. Cornered Beast - 120 15 While moving, strike up to 8 nearby enemies with a quick succession of blows for weapon plus Physical damage over the next 6 seconds. Cannot be affected by crowd control while Cornered Beast is active 1 Point 100% of weapon plus 571 damage 2 Points 120% of weapon plus 999 damage3 Points 140% of weapon plus 1428 damage Cruel Efficiency - - - Increases chance to hit with two-handed weapons by 5%. Deadly Strikes - - - Increases damage done by attack abilities that do not consume Attack Points by 24% while wielding a two-handed weapon. Deathblow - - 15 Take advantage of an enemy s weakened state to deal weapon plus Physical damage. This ability can only be used when an enemy is under 30% Health 1 Point 100% of weapon plus 172 damage.2 Points 120% of weapon plus 301 damage.3 Points 140% of weapon plus 431 damage. Debilitating Strike - 10 20 Strike that deals weapon plus 61 to 65 Physical damage, in addition to increasing damage done to the affected enemy by Attack Point consuming abilities by 50 for the next 15 seconds. Damage over time abilities are not affected. This ability grants 1 Attack Point. Destroyer s Bearing - 10 10 While in this martial trance all abilities that consume Attack Points have their damage increased by 35%, in addition to granting an Attack Point. Only one Bearing can be active at a time. Lasts 1 hour. Disruptive Strike - 8 25 Powerful strike that deals weapon plus 294 to 294 Physical damage. This ability grants 2 Attack Points. Don t Make Me Angry - - - Attack Power is increased by 30% after being the victim of a critical hit. Follow Through - - - Mighty Blow, Bladefury, and Cornered Beast hit 2 additional targets. Frenzied Strike - 6 10 Follow up a critical hit with this attack, dealing 120% of weapon plus 149 to 154 Physical damage. Must follow dealing a critical hit. This ability is not affected by the global cooldown. Grim Satisfaction - - - Successful critical hits regain 15 Power over 5 seconds. Inescapable Fury - 6 10 Just when an enemy thinks they have escaped, strike them for 120% of weapon plus 130 to 134 Physical damage. Must be used after being Dodged or Parried by an opponent, cannot be parried or dodged. This ability is not affected by the global cooldown. Intense Training - - - Increases the damage bonus of Soldier s Bearing to 14%, the critical damage bonus of Slayer s Bearing to 30%, and the damage bonus of Destroyer s Bearing to 50% Leg Sweep - - 30 Strike an enemy s legs, dealing weapon plus 50 to 53 Physical damage, in addition to reducing their movement speed for 15 seconds. This ability grants 1 Attack Point. Lingering Wounds - - - Critical hits reduce healing on target by 50% for 15 seconds. Mark of Extermination - 15 20 The marked enemy takes an additional 20% damage from melee critical hits. Lasts 1 minutes. Only one enemy can have Mark of Extermination at a time. Mark of Inevitability - 15 20 The marked enemy loses 321 points of armor. Lasts 1 minute. Only 1 enemy can have Mark of Inevitability at a time. Mighty Blow - - 25 Sweeping blow that hits three enemies in front of the Champion for weapon plus 80 to 84 Physical damage. This ability grants 1 Attack Point. Overrun - - - Bull Rush stuns the enemy for 3 seconds. Perfect Timing - - - Reduces cooldown of Proper Timing by 30 seconds. Power Strike - - 20 Strike that deals weapon plus 100 to 104 Physical damage. This ability grants 1 Attack Point. Proper Timing - 60 10 Time the next swing to make it count. The next attack ability used within 30 seconds will be a critical hit. Punishing Blow - - 10 Punishing follow up strike deals weapon plus Physical damage 1 Point 100% of weapon plus 135 damage.2 Points 120% of weapon plus 236 damage.3 Points 140% of weapon plus 337 damage. Ruthless Pursuit - 30 10 Break the hold of Disarm, Stun, Root, and Snare effects. Slayer s Bearing - 10 10 Intense training gives a 15% increase to critical strike damage. Only one Bearing can be active at a time. Lasts 1 hour. Soldier s Bearing - 10 10 Strong battle discipline gives an extra 5% Physical damage. Only one Bearing can be active at a time. Lasts 1 hour. Take No Prisoners - - - Damaging abilities that consume Attack Points deal an additional 10% damage. Taste of Blood - - - You have slain an enemy Thunderous Kick - 15 20 Kick an enemy hard, dealing 160 to 165 Physical damage and knocking them back. This ability grants 1 Attack Point. Titan s Strength - - - Increases Strength by 15%. Titan s Strike - 60 10 A massive strike that deals weapon plus Physical damage and stuns the enemy. Up to 5 adjacent enemies take 150% of the damage done 1 Point 100% of weapon plus 250 damage, 1 second stun.2 Points 120% of weapon plus 438 damage, 3 second stun.3 Points 140% of weapon plus 625 damage, 5 second stun. Two-handed Specialization - - - Physical ability damage while wielding a two-hander is increased by Physical ability damage while wielding a two-hander is increased by 1.7% for each soul point spent in the Champion tree with a maximum bonus of 50%.
https://w.atwiki.jp/magicman/pages/40909.html
Soul of UNKNOWN C 零文明 (5) タマシード:アンノウン ■シンカライズ:このタマシードがクリーチャーであるかのように、この上に進化クリーチャーを置いてもよい。 ■シンカパワー:このタマシードが進化する時、進化したクリーチャーに「このクリーチャーが相手のクリーチャーとバトルする時、かわりにその相手クリーチャーを破壊する。」を与える。 作者:UNKNOWN 概要 【企画】What is your soul-seed?〜MAX to WIN〜の参加カード。 この上に進化させた進化クリーチャーにバトルすり抜け破壊効果を付与するタマシード。 効果はそのクリーチャーが離れるまで持続する。 バトルに勝っているわけではないので《無限掌》効果は適用されない。 フレーバーテキスト オリジナル版 本当に、「私」だと思う? 参加 【企画】What is your soul-seed?〜MAX to WIN〜 評価 名前 コメント
https://w.atwiki.jp/wiki7_hmt/pages/10.html
Tips Red Hat Linux 画面をキャプチャしたい
https://w.atwiki.jp/linux_kai/pages/45.html
Total - (Today - Yesterday - ) 最終更新日 2010/08/21 07 37 ここではdebian lennyでBUFFALO WLI-UC-GNP (Ralink RT3070L)をXLink Kai用として設定した際のメモを紹介する debian lenny(2.6.26-2-686)にはWLI-UC-GNPに対応するドライバは用意されていなかった RalinkからRT3070USBドライバのソースコードをダウンロード後、少し修正して使用する このページについての指摘や情報がありましたらコメントに投稿をお願いします 旧内容ページ 1.ドライバのインストール 2.ドライバとインタフェースの確認 コメント 1.ドライバのインストール ここで使用しているdebianの情報 $ uname -a Linux debian 2.6.26-2-686 #1 SMP Mon Jun 21 05 58 44 UTC 2010 i686 GNU/Linux WLI-UC-GNPのVID/PIDを確認する $ lsusb Bus 002 Device 003 ID 0411 019e MelCo., Inc. http //www.ralinktech.com/support.php?s=2からRT3070USBのドライバをダウンロードし、圧縮ファイルを展開する $ cd ~/Downloads $ tar jxvf DPO_RT3070_LinuxSTA_V2.3.0.4_20100604.tar.bz2 $ tar xvf DPO_RT3070_LinuxSTA_V2.3.0.4_20100604 $ cd DPO_RT3070_LinuxSTA_V2.3.0.4_20100604/ WLI-UC-GNPのVID/PIDを追加する $ vi ./common/rtusb_dev_id.c ... {USB_DEVICE(0x2019,0xAB25)}, /* Planex Communications, Inc. RT3070 */ {USB_DEVICE(0x0411,0x019E)}, /* Buffalo WLI-UC-GNP */ この行を追加した ... XLINKモードを有効にする $ vi ./os/linux/config.mk ... # Support XLINK mode HAS_XLINK=y ... ファイルパスを修正する $ vi ./include/os/rt_linux.h ... #define STA_PROFILE_PATH "/etc/Wireless/RT3070STA/RT3070STA.dat" ... 設定ファイルを編集する SSIDはMHP2Gのものに設定した $ mv RT2870STA.dat RT3070STA.dat $ vi ./RT3070STA.dat ... SSID=PSP_AULJM05500_L_MHP2Q000 NetworkType=Adhoc Channel=1 ... PSP_XLINK_MODE=1 ... ドライバをビルドする $ sudo make clean $ sudo make ドライバをインストールする $ sudo make install 2.ドライバとインタフェースの確認 ドライバをロードする $ sudo modprobe rt3070sta $ modinfo rt3070sta | head -10 filename /lib/modules/2.6.26-2-686/kernel/drivers/net/wireless/rt3070sta.ko version 2.3.0.4 license GPL description RT2870 Wireless Lan Linux Driver ... インタフェースを有効化する $ sudo ifconfig ra0 down $ sudo ifconfig ra0 up インタフェース情報を確認する $ iwconfig ra0 ra0 Ralink STA ESSID "PSP_AULJM05500_L_MHP2Q000" Nickname "RT2870STA" Mode Ad-Hoc Frequency=2.412 GHz Cell 26 F2 03 ?? ?? ?? Bit Rate=150 Mb/s RTS thr off Fragment thr off Link Quality=70/100 Signal level 0 dBm Noise level -115 dBm Rx invalid nwid 0 Rx invalid crypt 0 Rx invalid frag 0 Tx excessive retries 0 Invalid misc 0 Missed beacon 0 $ ifconfig ra0 ra0 Link encap Ethernet HWaddr 00 24 a5 ?? ?? ?? UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 RX packets 0 errors 0 dropped 0 overruns 0 frame 0 TX packets 0 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 1000 RX bytes 107652 (105.1 KiB) TX bytes 33624 (32.8 KiB) 以上で設定は終わり。 上へ戻る コメント 名前 コメント
https://w.atwiki.jp/naobe/pages/34.html
Unix/Linuxに戻る Linux専用技術の判定が難しいため、UNIX共通技術が混ざっている。 ERRNO システムライブラリAPIを実行したときに、グローバルメモリに保管するエラー番号。 これがあるためにスレッドセーフでなくなる。 /usr/include/asm-generic/errno-base.h 参照 ERRNO 説明 EINTR Interrupted system call。ネットワークからIOしているときに発生する。このエラーの場合、リトライする。 制限 項目 値 出典 パス名最大長(PATH_MAX) 4096 /usr/include/linux/limits.h ファイル名最大長(NAME_MAX) 4096 同上 プロセス最大オープンファイル(OPEN_MAX) 256 同上 ulimit -a で現在の制限を表示する タイムゾーン 参考URL http //phys.cool.coocan.jp/physjpn/bccwinc/TZ.htm 環境変数TZがタイムゾーン。JSTが日本のタイムゾーン。TZには、国のタイムゾーンとUTCと国のタイムゾーンとの差(UTC-国のタイムゾーン)を設定する。JSTはUTCより9時間進んでいるため(JST=UTC+9)、タイムゾーンに日本を設定するには、TZ=JST-9を設定する。つまり-9の数字が大事。 1日前に設定するには、UTCのほうが大きくなるように時間差を設定しなければならないので、TZ=JST+15を設定する。この意味は、UTCより15時間前のタイムゾーンに設定したということになり、日本の現在時刻は、UTCの9時間後なので、9+15=24時間前にタイムゾーンを設定したことになる。 【1日前の表示】 $ TZ=JST+15 date 2012年 11月 15日 木曜日 20 06 47 JST $ date 2012年 11月 16日 金曜日 20 06 55 JST 文字化けしているファイルの消し方 元URL http //centos.bungu-do.jp/2008/05/linux.html $ls -i 50869301 text.txt 238939076 ?V?????t?H???_ $find . -inum 238939076 ./?V?????t?H???_ $find . -inum 238939076 -exec rm -rf {} \; man セクション 説明 1 コマンド (ls、cat、kterm など) 2 システムコール (C言語の関数。open、fork など) 3 ライブラリ関数 (C言語の関数。printf、fopen、Tck/Tk、Xlib などの関数群) 4 デバイス・デバイスドライバ 5 ファイルフォーマット (uuencodeなどのファイル形式、hostsなどの書式) 6 ゲーム 7 その他 (環境変数の説明、groff の書式など) 8 システム管理 (各種デーモン、sendmail、mount*など) 9 新しく追加されたマニュアル(Tkなど?) 乱数発生器(RNG Random Number Generator) /dev/urandomをopenして,バイト数を指定してread 最大ヒープサイズ 以下のプログラムを実行して、最大ヒープサイズを求める #include stdio.h #include stdlib.h int main(int argc, char **argv) { int MB = 0; while(malloc(1 20)) ++MB; printf("Allocated %d MB\n", MB); } 実行結果: Allocated 3054 MB coreダンプ デフォルトでは、HDを圧迫しないように、吐かない設定になっている。 $ ulimit -a core file size (blocks) (-c) 0 以下のコマンドを実行する。10000000はcoreファイルの最大サイズ。 ulimit -c 10000000 .bashrcに設定しておく ディストリビューションのバージョン Debian系 Debian/GNU Linux # cat /etc/debian_version 3.1 RedHat系 CentOS # cat /etc/redhat-release CentOS release 4.3 (Final) Fedora Core # cat /etc/redhat-release Fedora Core release 5 (Bordeaux) Vine Linux # cat /etc/vine-release Vine Linux 3.2 (Ducru Beaucaillou) Turbo Linux # cat /etc/turbolinux-release Turbolinux Server 8.0 (Viper) カーネルバージョン uname -r 小技 項目 説明 asciiでない名前のファイル削除 ls foo*で他のファイルがないことを確認する。rm foo* ファイルの16進ダンプをとる od -t x1z -A x 逆アセンブル objdump -d 実行形式ファイル 標準出力と標準エラー出力をマージする $ command foo 2 1 標準出力をfooへ、標準エラー出力を標準出力へ転送するという意味。command 2 1 foo とすると、2 1とした時点では標準出力はコンソールなので、標準エラー出力はコンソールにひもづく。 http //www.aksystem.jp/computer/UNIX/ForgettingUNIXCommand.htm 参照 実行形式ファイル、共有ライブラリが使用する共有ライブラリを表示する -dオプションはダイナミックセクションを表示。 readelf -d 実行形式ファイル/共有ライブラリ NEEDEDが使用する共有ライブラリ 【例】 [foo@host c]$ readelf -d tst Dynamic section at offset 0x5c8 contains 21 entries Tag Type Name/Value 0x00000001 (NEEDED) Shared library [libfoo.so.1] 0x00000001 (NEEDED) Shared library [libc.so.6] 0x0000000c (INIT) 0x804831c 0x0000000d (FINI) 0x8048518 0x6ffffef5 (GNU_HASH) 0x8048168 0x00000005 (STRTAB) 0x8048244 0x00000006 (SYMTAB) 0x80481a4 0x0000000a (STRSZ) 138 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x804969c 0x00000002 (PLTRELSZ) 16 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x804830c 0x00000011 (REL) 0x8048304 0x00000012 (RELSZ) 8 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x80482e4 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x80482ce 0x00000000 (NULL) 0x0 [foo@host c]$ readelf -d libfoo.so.1 Dynamic section at offset 0x65c contains 21 entries Tag Type Name/Value 0x00000001 (NEEDED) Shared library [libc.so.6] 0x0000000e (SONAME) Library soname [libfoo.so.1] 0x0000000c (INIT) 0x2f8 0x0000000d (FINI) 0x624 0x6ffffef5 (GNU_HASH) 0xb4 0x00000005 (STRTAB) 0x1c0 0x00000006 (SYMTAB) 0xf0 0x0000000a (STRSZ) 164 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000003 (PLTGOT) 0x1730 0x00000002 (PLTRELSZ) 40 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x2d0 0x00000011 (REL) 0x2b0 0x00000012 (RELSZ) 32 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x280 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x264 0x6ffffffa (RELCOUNT) 1 0x00000000 (NULL) 0x0 ldd 実行形式ファイル/共有ライブラリ 【例】 [foo@host c]$ ldd tst linux-gate.so.1 = (0x00241000) libfoo.so.1 = /home/foo/language/c/libfoo.so.1 (0x0094f000) libc.so.6 = /lib/libc.so.6 (0x00c95000) /lib/ld-linux.so.2 (0x002c4000) [foo@athlon4 c]$ ldd libfoo.so.1 linux-gate.so.1 = (0x00b07000) libc.so.6 = /lib/libc.so.6 (0x00de2000) /lib/ld-linux.so.2 (0x002c4000) プロンプト 以下の設定で、値がシングルコーテーションで囲まれているのは何故か。PS1は、ログイン初期スクリプト(.profileなど)が実行されるときとコマンドが実行されるときの2度評価される。初回の評価ではPS1には、${PWD##*/}という文字がそのまま設定される。次にコマンドが実行されたときにもう一度評価されて、現在のディレクトリを表示する。 PS1='[$USER@$HOSTNAME ${PWD##*/}]\$ ' キーボード設定 /etc/sysconfig/keyboard KEYBOARDTYPE="pc" KEYTABLE="jp106" クロック設定 http //jibun.atmarkit.co.jp/lskill01/rensai/lpicdrill08/lpicdrill01.html 参照 /etc/sysconfig/clock # The ZONE parameter is only evaluated by system-config-date. # The timezone of the system is defined by the contents of /etc/localtime. ZONE="Asia/Tokyo" UTC=true ARC=false UTC=trueでブート時にハードウェアクロックにUTCを設定。UTC=falseだとlocaltimeを設定 OSのバージョン /etc/redhat-release 【CentOSの場合】 CentOS release 5.5 (Final) VNC /etc/init.d/vncserver参照 /etc/sysconfig/vncserverを修正して、ユーザ、ディスプレィ番号を修正する。 SCIMのキーバインド変更 SCIM入力メソッドの設定-- フロントエンド-- 入力設定-- 開始終了キーの設定-- キーコードでダイアログを表示したときに希望するキーを押す。 firefoxプラグインのインストール /usr/lib/firefoxXXXの下にpluginsディレクトリを作成 ダウンロードした.soをpluginsディレクトリにコピー ライブラリ Program Library HOWTO(英語) 参照 Program Library HOWTO(日本語) 参照 静的ライブラリ コンパイルしたときにアプリケーションとリンク。ライブラリファイルの拡張子はa 静的ライブラリの作成 ar rcus アーカイブ オブジェクトファイル1 [オブジェクトファイル2 ...] 【例】 ar rcus libfoo.a foo.o 共有ライブラリ 実行形式ファイルをメモリにロードするときにリンク。ライブラリファイルの拡張子はso。ライブラリを使うプログラムのコンパイルオプションとして、-l(ライブラリ名からlibを除いたもの)を指定する。 soname 共有ライブラリの名前。以下の形式。realnameのシンボリックリンクになる。 libライブラリ名.so.インタフェース変更時に増加するバージョン番号 realname 実際の共有ライブラリファイルの名前。以下の形式。 soname.マイナー番号.リリース番号 共有ライブラリの作成 gcc -shared -Wl,-soname,SONAME -o REALNAME オブジェクトファイルリスト リンク gcc -shared -Wl,-soname,libmystuff.so.1 -o libmystuff.so.1.0.1 a.o b.o -lc 共有ライブラリを使って実行形式ファイルを作成する libmystuff.soをlnコマンドで作成 静的ライブラリを作成 ldを使ってリンク 【例】 ln -s libmystuff.so.1 libmystuff.so ar rcus libfoo.a foo.o gcc -o tst tst.o -L/home/foo/language/c -lfoo 静的ライブラリがないと、-lfooは共有ライブラリを見つけてくれない。また-Lオプションでldの検索ディレクトリを指定しなければならない。静的ライブラリと、共有ライブラリの両方があれば共有ライブラリをリンクする。 libmystuff.soをlnコマンドで作成しないと静的ライブラリをリンクしてしまう。 共有ライブラリの登録 実行形式ファイルをメモリにロードするときに、共有ライブラリをロードするための検索パスをld.so.confに設定する。 /etc/ld.so.confに共有ライブラリのディレクトリを追加する #ldconfig 共有ライブラリディレクトリの確認 ldconfig -p 動的ライブラリ dlopenを使って、アプリケーション実行中にライブラリが必要なときにロード。ライブラリファイルの拡張子はso。ライブラリを使うプログラムのコンパイルオプションに-ldlを使う(dlopen等の動的ロード関数のライブラリ)。 apacheのDSOは、動的ライブラリを使って実装している。
https://w.atwiki.jp/novita/pages/15.html
GNU/Linux Distro Debian系 Ubuntu Desktop Ubuntu Server 共通ツール覚書 Tweepy_ServerMonitoringReport
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/riivolution/pages/28.html
ISO/partition.bin tmd.bin cert.bin h3.bin ticket.bin 戻る
https://w.atwiki.jp/aerocats/pages/63.html
/varとは /varの構成 標準Linuxのvarディレクトリは/mnt/ram/varのシンボリックリンクとなっている。 つまりRAM上に作られているため、玄箱PROの電源を切るたびに内容は消えてしまうということだ。 実際に標準Linuxではどのような構成となっているか。 ファイルもしくはディレクトリ名 設定内容 empty lib lock log run spool tmp