Tips


Tips

Linux&Unix-tips

 

Solarisパッケージのアップグレード

  • Solarisバイナリパッケージのアップグレードは、pkgaddコマンドで行う。
  • アップグレード
# pkgadd -d . デバイス
  • d:パッケージファイルの場所。. はパッケージファイルが現在位置(カレントディレクトリ)にあることを示す
  • 例:gcc 2.95.2 をインストールする
# compress -d < GNUgcc.2.95.2.SPARC.32bit.Solaris.8.pkg.tar.Z | tar xvf -
# pkgadd -n -d . GNUgcc 
  • また、Solarisの場合、ソフトウェアによってはパッチで提供される場合がある。その場合、SunSolve?よりパッチを個別に入手し、patchaddコマンドで適用する必要がある。
# patchadd パッチファイル
  • 元に戻す
  • pkgaddコマンドでインストールしたパッケージは、いったんpkgrmで削除し、元のパッケージファイルを再度pkgaddすることになる。
# pkgrm 削除するパッケージ名
# pkgadd -n -d . 前バージョンのパッケージ 
  • pkgrmは、-Aを指定しない限りデフォルトでは設定ファイルなどは削除されないが、より安全に行う場合は個別にバックアップを取っておくとよい。  
  • また、patchaddで適用したパッチを前のものに戻す場合は、patchrmコマンドを使う。
# patchrm パッチID

BSDパッケージ(packages、ports、pkgsrc)

  • pkg_add、pkg_update 
  • FreeBSDやNetBSDでバイナリパッケージを適用する場合は、pkg_updateやpkg_addコマンドを実行する。
# pkg_update パッケージファイル(FreeBSD)
# pkg_add -u パッケージファイル(NetBSD)
-u:インストール済のパッケージをアップグレードする
  • 例:パッケージファイルapacheをアップグレードする。
# pkg_update apache-1.3.27.tgz (FreeBSD)
# pkg_add -u apache-1.3.27nb3.tgz (NetBSD)
  • また、インストール前に、インストールの手順がどのように進むかを確認するには、-nオプションを指定するとよい。
% pkg_add -n apache-1.3.27nb3.tgz
parsing: .
path: /tmp/.
increasing RLIMIT_NOFILE to max. 1772 open files
trying PKG_PATH /home/y-kimura/.
Requested space: 5546012 bytes, free space: 33431179264 bytes   
in /var/tmp/instmp.02281a
Package `apache-1.3.27nb3' conflicts with `apache-*ssl-[0-9]*'.
Package `apache-1.3.27nb3' conflicts with `apache6-[0-9]*'.
Depends pre-scan: `expat>=1.95.2' required. Depends pre-scan: `libmm>=1.2.1'   
required. Package `apache-1.3.27nb3' depends on `expat>=1.95.2'.  - expat-
1.95.6nb1 already installed.
Package `apache-1.3.27nb3' depends on `libmm>=1.2.1'.  - libmm-1.2.2 already  
installed.
Running install with PRE-INSTALL for apache-1.3.27nb3.
Running install with POST-INSTALL for apache-1.3.27nb3. 

   (拡大)

ports、pkgsrc
  • portsやpkgsrcを使うことで、ソースプログラムの取得、チェックサムの確認、コンパイル、そしてインストールまでの一連の手順を簡単に行うことができる。また、インストールするために必須となるパッケージがインストールされていない場合は、最初にそれらのインストールも自動的に行ってくれる。
% make
# make install 
# make clean 
# make update 
  • makeでソースプログラムのコンパイルまでを行い、make install(make update)で実際にインストールされる。また、事前にインストールの手順を確認したい場合は、-nを指定する。
  • パッケージを生成する portsやpkgsrcでは、それらをもとにパッケージを生成することもできる。これは同じ構成のサーバが複数台存在した場合に重宝する。なぜならサーバごとにコンパイルの必要がないため、復旧までの時間を短縮することができるからだ。
  • パッケージを生成する方法としては、ports, pkgsrcによるインストールの際に、make install(update)ではなくmake packageで行う。
# make package 
  • このほか、pkg_createコマンドで生成する方法も存在する。
  • 元に戻す
  • *BSD のパッケージを元のバージョンに戻す場合、pkg_updateやpkg_add -uを使う方法もあるが、バージョンアップによりファイル構成などが変更されていることを考慮すると、いったんpkg_deleteで削除し、その後にpkg_addでインストールするのがよいだろう。また、より安全に行うためにも、pkg_deleteの前に、現状の設定ファイルのバックアップを忘れずに取るようにすること。
# pkg_delete パッケージ名
# pkg_add 前バージョンのパッケージファイル 
  • なお、portsやpkgsrcの場合は、supやCVSでソースツリーを元に戻す方法もあるが、再度コンパイルする手間などを考えると、前述のパッケージをあらかじめ作っておき、戻すようにした方がよいだろう。    パッケージを作る
  • 先述のとおりパッケージシステムを利用することで、ソフトウェアのアップグレードなどは、極端にいえばコマンド1つで行える。また、操作方法もソフトウェアに依存することなく一貫して行えるので、同じ構成のサーバが何十台、何百台存在する場合に管理や維持がとても楽になる。
  • とはいえ、ベンダが提供するソフトウェアパッケージでは、インストール時に各サイトに合わせた細かな設定が行えない場合がある。そのような時は、自サイト用のパッケージを作るようにする。今回紹介したパッケージシステムの場合、manコマンドや以下のサイトが参考になるので、早速挑戦してみようという管理者は一読することをお勧めする。
・RPM

 Maximum RPM  http://www.redhat.com/docs/books/max-rpm/index.html  

 JFドキュメント、RPM HOWTO  http://www.linux.or.jp/JF/JFdocs/RPM-HOWTO.html  

 @IT Linux Squareフォーラム「自分で作るRPMパッケージ」  http://www.atmarkit.co.jp/flinux/special/mkrpm/mkrpm01.html

・Solarisパッケージ

 Solaris Answer Book, Application Packaging Developer's Guide  http://docs.sun.com/db/doc/802-5892?l=ja

・FreeBSD portsシステム  

 FreeBSD port 作成者のためのハンドブック  http://www.jp.freebsd.org/www.FreeBSD.org/ja/porters-handbook/index.html

・NetBSD pkgsrc

 NetBSDパッケージシステムドキュメンテーション(Packages.txt)  http://www.jp.netbsd.org/ja/JP/Documentation/Packages/Packages.txt

IRQ

  • IRQ は Interrupt ReQuest? の略で、意味は「割り込み要求」です。PC/AT 互換機のアーキテクチャ (というか、16bit ISA BUS) ではこの信号線は IRQ0-IRQ15 の16本用意されています。
  • この信号を受け取ると CPU は現在実行中のルーチンを中断して、該当する 割り込みルーチンを実行します。
    • #もちろん、レジスタ等の退避を行ってから実行します。
  • 上記の「割り込みルーチン」は通常、目的のデバイスのドライバにあたるわ けです。
  • IRQ の優先順位ですが

IRQ番号 | ふつー割当っているもの


IRQ0 | System Timer IRQ1 | Keyboard IRQ9(=IRQ2) | (reserved) IRQ10 | (reserved) IRQ11 | (reserved) IRQ12 | PS/2 Mouse IRQ13 | FPU Error IRQ14 | Primary IDE IRQ15 | Secondary IDE IRQ3 | COM2 IRQ4 | COM1 IRQ5 | LPT2 (Sound Blaster) IRQ6 | Floppy IRQ7 | LPT1 IRQ8 | RTC

  • 上のもの程優先順位が高くなっています。
  • 一方、ポーリングは、一定時間毎に特定の I/O ポートを監視するルーチン が常に走っていて、該当するポートに変化があると、何らかのアクションを起 こすものです。
  • まとめると、ポーリングは定期的に I/O ポートを覗きに行くので、CPU 時 間を無駄に喰います。一方、IRQ はハードウェア的にチェックするので CPU 時間は喰いませんが、代わりに IRQ 信号線を1本占有します。

IRQについて

■IRQとは IRQとは Interrupt ReQuest? (割り込み要求) の略で、コンピューターを制御する上で必要となる割り込み信号のことです。 マザーボードに接続されているキーボード、拡張カードなどの周辺機器や、シリアルポート、プリンタポートなどの外部入出力コネクタは、すべてこのIRQと呼ばれる信号線を利用してマザーボードと信号のやりとりを行っています。 IRQには0から15まで16個の信号線があり、各入出力装置に対して1個づつ与えられています。そしてマザーボードはIRQの番号で、どの機器からの信号なのかを判断し、処理しています。

IRQがPCIスロットの使用制限を引き起こす理由としては、主に以下の点が上げられます。

IRQの絶対数の不足 IRQの競合 1・2につきましては、下記に詳細をご説明致します。 PCI拡張スロットの使用制限について IRQの数はどのマザーボードも同じで、基本的に1つのIRQに1つのハード ウェアが割り振られ、重複する場合は動作が不安定になる場合があります。

その為、弊社ではIRQの重複につきましては動作保証を行っておらず、PCIバスに カードを増設する場合には、IRQに ”空き” が必要になります。空きIRQがない場合は 他のハードウェアを使用不可能に設定して、IRQが重複しないようにお見積させて 頂いております。 なにとぞご理解の程よろしくお願い致します。

詳細は、下記の説明および「マザーボード別 IRQの競合と対応状況」をご参照下さい。

マザーボード別 IRQの競合と対応状況 

1-1  IRQ使用状況(拡張カードが無い状態) CUBX-LやP3C-Eをマザーボードに使用したAT互換機のPCでは、以下のようにIRQが割り振られています。 (これは例です。本体の構成や動作状況によって、使用状況・番号の割り振り等は異なります。)

IRQ番号 使用している機器 IRQの開放 0 システムタイマー × 1 キーボード × 2 プログラミング可能な割り込みコントローラー × 3 シリアルポート (COM 2) ◎ IRQを開放するとポートは使用できません。 4 シリアルポート (COM 1) ◎ IRQを開放するとポートは使用できません。 5 -空き- 拡張カードで使用できます。 6 フロッピーディスクコントローラー × 7 プリンタポート ○ IRQを開放するとポートは使用できません。 8 システムCMOS/リアルタイムクロック × 9 ACPIコントローラー × 10 -空き- 拡張カードで使用できます。 11 -空き- 拡張カードで使用できます。 12 PS/2マウスポート × 13 数値データプロセッサ × 14 プライマリーIDEコントローラー × 15 セカンダリーIDEコントローラー ×

  ◎ 優先的に開放。

○ ◎を開放しても不足する場合に開放。 △ IRQの競合が発生する場合に開放。 × 開放不可能。 USBポートのIRQは、ボードによって異なります。 (主に、5・9・10等に割り振られます。)

他のマザーボードでは、下記商品のIRQ使用状況は公開しております。 しかし、それ以外は、現時点では公開しておりません。今後、公開させて頂く所存です。 PCIスロットの状況や、ボード組込の際に使用不可能にするポートにつきましては、「マザーボード別 IRQの競合と対応状況」をご参照下さい。 ・ASUSTeK CUSL2


1-2  IRQ確保について.... 上の表のように、0から15のIRQのほとんどが予めシステムで使用されており、拡張スロットに割り当てることのできるIRQはわずかに5、10、11の3個のみとなっています。 つまり、この状態で増設できる拡張カードは全部で3枚までとなります。 (内、1枚はAGPビデオボードが利用します。) 弊社では、ビデオボードを除く、2枚以上の拡張カードを組み込む構成の場合、シリアルポート(COM1、COM2)及びパラレルポートのIRQを必要な数だけ拡張カードのために開放する設定を行っております。


1-3  IRQが不足する場合のシリアル(COM1,COM2)ポート及びパラレルポートの設定

不足するIRQの数 使用不可能のポート 1 COM 2 2 COM 1 3 パラレル

※COM1、COM2を両方とも開放した場合、モデムやデジタルカメラなどのシリアルポートに接続する機器は使用できなくなります。この場合、どちらかのCOMポートを生かし、プリンターポートのIRQを開放することで、シリアルポートが使用できますが、逆にプリンターポートが使用できなくなりますのでご注意ください。

上記の順序は、基本的なものです。場合によって、上記の順序どおりに行かない場合もございます。あらかじめご了承下さい。

これらのIRQ開放設定は、マザーボードのBIOS設定で行います。もし、これらの設定の変更が必要になった場合はマザーボードマニュアルのBIOS設定の項目をご覧頂くか、弊社サポートセンターまでお問合せください。


2  IRQの競合について

例図 (マザーボードによって、スロットの数等は異なります。マザーボードごとの状況につきましては、「マザーボード別 IRQの競合と対応状況」をご参照下さい。)

       
 AGP  AGPとPCI 1はIRQが競合するため

同時使用不可

PCI 1    
PCI 2      
PCI 3      
PCI 4   PCI 4とPCI 5はUSBポートと

IRQを競合するため使用不可

PCI 5    

PCI 6 & ISA 1

上図のように、特定のポートやPCIバスが1つのIRQを使用する場合、IRQの重複が発生します。(一般に「IRQの競合」「IRQのシェアリング」と呼ばれます。) この場合、重複するハードウェアのいずれか1つのみ使用し、他はボードを追加しない、又はポートを使用不可能に設定しております。

Nic


modulesについて

  • /etc/modulesと/etc/modules.confの違い
  • /etc/modulesは、カーネルモジュールローダーに依らずに起動時に必ず組み込むモジュールのリストです。
  • /etc/modules.confは各モジュールに付けるオプション関連を記述します。

なるほど、これでやっと、呼び出した覚えの無いドライバが、勝手に組み込まれていたナゾが解けた。そういうことだったのね。rc.localだとかでinsmodやmodprobeなんてせずに、組み込んでおきたいモジュールは/etc/modulesに書いておけ、って事だね。

  • さらに追加debian的に
    • /etc/modules.confの設定を変更するのであれば,/etc/modutils以下にあるファイルを変更した上で,update-modulesを実行する。

Windows-tips

はじめに

  • 書くのも恥ずかしいですが念の為に
  • ここに書いてあるレジストリ操作はある程度の知識を持つ方のみ自己の責任でお願いします 最悪の場合、まぁほとんどないですがwindowsが動かなくなることもあります
  • windowsXPよりコマンドラインからの操作の幅が増えました、microsoft以外にやるな

windows外部コマンド一覧

レジストリエディタ

  • regeditと入力

レジストリのバックアップ

  • c:\windows\system32\configにbackupフォルダを作成して、cmdでbakupに入りCOPY default ..とほかのSAM,SECURITY,software,systemもcopyする

バルーンヘルプを非表示にする

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion?\Explorer\Advanced以下にEnableBalloonTips?を作成しDWORD値を選択16進数の0を入力

ごみ箱をなくす(XP)

  • 「HKEY_Local_MACHINE」→「SOFTWARE」→「Microsoft」→「Windo ws」→「CurrentVersion?」→「Explorer」→「Desktop」→「NameSpace?」とダブルクリックで開いていきます。
  • 「{645FF040-5080-101B-9F08-00AA002F954E}」を右クリック、→「名前の変更」をクリック、→名前の先頭に「;」を入力して「;{645FF040-5080〜」のようにして、→「Enter」キーを押して確定します。
  • 「レジストリエディタ」右上の「×」をクリックして終了、→デスクトップの何もない箇所をクリックしてから「F5」キーを押すと、デスクトップのアイコンが消えます。
  • 「ごみ箱」アイコンを元に戻すには、入力したセミコロン「;」を削除します。やはり、デスクトップの何もない箇所をクリックしてから「F5」キーを押すと、デスクトップにアイコンが現れます。

コントロールパネルのアイコンを非表示

  • HKEY_CURRENT_USER\Control Panel\don't loadの中に非表示にするアイコンの*.cplを作成し文字列値のデータを半角でNoと入力する

非表示にできるアイコンの例を以下に

  • access.cpl
  • appwiz.cpl
  • desk.cpl
  • hdwwiz.cpl
  • システム関連の情報を取得する
    • msinfo32を指定して実行
  • XPならほかにも
    • systeminfoを指定する
  • 一時的に管理者権限を使用する
    • runas /user:hatanaka"フルパス"で実行
  • プロセスを確認する
    • cmdでtasklistを実行
  • プロセスを終了させる
    • taskkill /F /PID 444など

デバイスマネージャの詳細オプションを表示

  • システム環境変数に新規でdevmgr_show_detailsを入力し半角で1を入力

デバイス情報を取得

  • cmdからdriverquery /siと入力する

サービスの管理を見る

  • cmdでsc query | more とする

windows updateを実行できない時は

  • net stop cryptsvcとかなまえを変更してみたりする
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion?\WindowsUpdate?を右クリックしてアクセス許可でeveryoneを追加してフルコントロールにする

Windowsのコマンドhelp


違うuserで実行

  • runas [オプション] /user:testuser program

人気の5件

最新の6件

2021-05-17 2011-10-17 2011-12-07 2011-12-02

統計情報

counter: 6212, today: 1, yesterday: 0