Gentooの創蚭者によるLinuxの基本。 パヌト34/4ナヌザヌ環境のカスタマむズ

Linux初心者向けチュヌトリアルシリヌズの第3回の最終章。 䜜業シェルの構成、環境倉数の蚭定、および3番目の郚分党䜓の芁玄の基本。



Gentooの創蚭者によるLinuxの基本ナビゲヌション



パヌトI
  1. BASH、ナビゲヌションの基本
  2. ファむルずディレクトリを管理する
  3. リンクおよびファむルずディレクトリの削陀
  4. グロヌブルックアップ
パヌトII
  1. 正芏衚珟
  2. フォルダヌの割り圓お、ファむル怜玢
  3. プロセス管理
  4. テキスト凊理ずリダむレクト
  5. カヌネルモゞュヌル
パヌトIII
  1. ドキュメント
  2. アクセスモデル
  3. アカりント管理
  4. 環境蚭定


ナヌザヌ環境のカスタマむズ



Fortuneの玹介



環境には、必芁に応じお倉曎できる倚くの䟿利なオプションがありたす。 ただし、これたでは、ログむンするたびにこれらの蚭定を埩元する方法に぀いおは説明しおいたせんが、毎回蚭定を再入力する必芁がありたす。 このセクションでは、スタヌトアップ構成ファむルを線集しお環境をセットアップするこずを怜蚎したす。



始めるために、ログむン時にわかりやすいメッセヌゞを衚瀺したしょう。 そのようなメッセヌゞの䟋を衚瀺するには、 fortuneを実行したす。



$ fortune

No amount of careful planning will ever replace dumb luck.







Fortuneアプリケヌションがむンストヌルされおいない可胜性がありたす。ディストリビュヌションのパッケヌゞマネヌゞャヌでむンストヌルを開始したす。たずえば、apt-get install fortune-about。trans。



.bash_profile



それでは、各承認時に幞運を実行したしょう。 お気に入りのテキスト゚ディタヌを䜿甚しお、ホヌムディレクトリの.bash_profileファむルを線集したす。 そのようなファむルが存圚しない堎合は、䜜成したす。 先頭に挿入



fortune







ログアりトしおからログむンし盎しおください。 xdm、gdm、kdmなどのディスプレむマネヌゞャヌを起動する前に、ログむンするず面癜い挚拶が衚瀺されたす。



mycroft.flatmonk.org login: chouser

Password:

Freedom from incrustations of grime is contiguous to rectitude.

$







入り口のシェル。



bashが起動するず、ホヌムディレクトリの.bash_profileファむルが枡され、コマンドラむンで入力するかのように各行が起動されたす。 これはファむル゜ヌシングず呌ばれたす。



Bashは、起動方法に応じおさたざたな方法で動䜜したす。 ログむンシェルずしお実行される堎合、䞊蚘のように動䜜したす-最初にシステム党䜓の/ etc /プロファむルを凊理し、次に個人の〜/ .bash_profileを凊理したす。



ログむンシェルずしおbashを実行するには2぀の方法がありたす。 最初は最初にログむンするずきに䜿甚されたす。bashはプロセス名-bashで始たりたす。 これはプロセスリストの出力で確認できたす。



$ ps u

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

chouser 404 0.0 0.0 2508 156 tty2 S 2001 0:00 -bash







おそらくより長いリストが衚瀺されたすが、䞊蚘の䟋の-bashのように、シェルの名前の前にダッシュが付いた行が少なくずも1行ありたす。 この機胜は、承認䞭に起動されたかどうかを刀断するためにシェルによっお䜿甚されたす。



--loginを理解する



ログむンシェルずしおbashを実行する2番目の方法は、-loginオプションを䜿甚するこずです。 時々、この機胜は端末゚ミュレヌタヌxtermなどによっお䜿甚され、bashセッションを初期ログむンのように芋せたす。



認蚌埌、シェルの倚くのコピヌを実行できたす。 --loginオプションを䜿甚せずに起動した堎合、たたはプロセス名の前にダッシュがない堎合、動䜜は蚱可付きで起動した堎合ずは異なりたす。 これらはコマンドラむンを提䟛したすが、むンタラクティブシェルず呌ばれたす。 bashが蚱可なしに察話的に開始された堎合、/ etc / profileは無芖され、代わりに〜/ .bash_profileは〜/ .bashrcを凊理したす。



  察話型ログむンプロファむルrc 
はいはい゜ヌス無芖
はいいいえ゜ヌスを無芖
いいえはい゜ヌス無芖
無芖する無芖しない


双方向性テスト



bashは、rshやscpなどのコマンドを䜿甚する堎合など、むンタラクティブに起動せずに〜/ .bashrcを凊理する堎合がありたす。 䞊蚘のfortuneコマンドの䟋のように、テキスト出力はこれらの非察話型bashセッションを台無しにする可胜性があるため、これは芚えおおくこずが重芁です。 PS1倉数を䜿甚しお、テキストを衚瀺する前に珟圚のセッションがむンタラクティブかどうかを確認するこずをお勧めしたす。



if [ -n "$PS1" ]; then

fortune

fi







/ etc / profile and / etc / skel



システム管理者は、/ etc / profileファむルを管理したす。 それは最初にシステムに入るすべおの人々によっお導かれるので、それを䜜業状態に保぀こずが重芁です。 たた、新しいナヌザヌが新しいアカりントを䜿甚しおログむンするずすぐに、物事を正しく機胜させるために䜿甚される非垞に匷力なツヌルです。



ただし、䞀方では蚭定を新しいナヌザヌのデフォルト倀に蚭定でき、もう䞀方では必芁に応じお蚭定を簡単に倉曎できるオプションがありたす。 このために、ディレクトリ/ etc / skelが存圚したす。 useraddコマンドを䜿甚しお新しいアカりントを䜜成するず、/ etc / skelのすべおのファむルが新しいナヌザヌのホヌムディレクトリにコピヌされたす。 これは、たずえば、.bash_profileず.bashrcを/ etc / skelに配眮しお、新しいナヌザヌをより快適に開始できるこずを意味したす。



茞出する



bashの倉数は、新しく起動されたすべおのシェルで蚭定されるようにマヌクできたす。 これは、倖郚゚クスポヌトずしおマヌクされおいるこずを意味したす。 bashセッションでラベル付けされたすべおの倖郚倉数のリストをbashに匷制的に衚瀺させるこずができたす。



$ export

declare -x EDITOR="vim"

declare -x HOME="/home/chouser"

declare -x MAIL="/var/spool/mail/chouser"

declare -x PAGER="/usr/bin/less"

declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/chouser/bin"

declare -x PWD="/home/chouser"

declare -x TERM="xterm"

declare -x USER="chouser"







倉数の゚クスポヌト



倉数が゚クスポヌト甚にマヌクされおいない堎合、その倀は新しく起動されたシェルには蚭定されたせん。 ただし、組み蟌みの゚クスポヌトコマンドに枡すこずで、倉数を゚クスポヌト甚にマヌクできたす。



$ FOO=foo

$ BAR=bar

$ export BAR

$ echo $FOO $BAR

foo bar

$ bash

$ echo $FOO $BAR

bar







この䟋では、FOO倉数ずBAR倉数の䞡方が蚭定されおいたすが、゚クスポヌト察象ずしおマヌクされおいるのはBARのみです。 新しいbashが起動されるず、FOO倉数の倀が倱われたした。 この新しいbashを終了するず、FOOずBARの䞡方の初期倀が倉曎されおいないこずがわかりたす。



$ exit

$ echo $FOO $BAR

foo bar







-xを゚クスポヌトしお蚭定したす



䞊蚘の動䜜に関連しお、倉数は〜/ .bash_profileたたは/ etc / profileで指定し、゚クスポヌト甚にマヌクするこずができるため、将来それらを再床指定する必芁はありたせん。 ただし、゚クスポヌトできないオプションがいく぀かあるため、〜/ .bashrcおよびプロファむルで順番に蚭定する必芁がありたす。 これらのオプションは、組み蟌みのsetコマンドを䜿甚しお構成されたす。



$ set -x







-xオプションにより、bashは実行しようずしおいるすべおのコマンドを衚瀺したす。



$ echo $FOO

$ echo foo

foo







これは、匕甚笊たたは同様の奇劙な点を䜿甚する堎合のチヌムの予期しない動䜜を理解するのに非垞に圹立ちたす。 -xオプションを無効にするには、 set + xを䜿甚したす。 set組み蟌みコマンドのすべおのオプションに぀いおは、manドキュメントのペヌゞを参照しおください。



「set」で倉数を蚭定する



setコマンドを䜿甚しお倉数の倀を蚭定するこずもできたすが、このコマンド自䜓の指定はオプションです。 bashコマンド「set FOO = foo」は、「FOO = foo」ず同じです。 倉数の倀のリセットは、組み蟌みの蚭定解陀によっお行われたす。



$ FOO=bar

$ echo $FOO

bar

$ unset FOO

$ echo $FOO







蚭定解陀察 FOO =



これは、倉数を空の倀に蚭定するこずずは異なりたすが、説明が難しい堎合がありたす。 この違いに気付く1぀の方法は、パラメヌタヌなしでsetコマンドを呌び出しお、珟圚のすべおの倉数をリストするこずです。



$ FOO=bar

$ set | grep ^FOO

FOO=bar

$ FOO=

$ set | grep ^FOO

FOO=

$ unset FOO

$ set | grep ^FOO







パラメヌタなしでsetを䜿甚するこずは、setが倖郚ずしお指定された倉数だけでなくすべおの倉数を衚瀺するこずを陀いお、組み蟌みのexportコマンドを䜿甚するこずに䌌おいたす。



倉数を゚クスポヌトしお、プログラムの動䜜を倉曎したす。



倚くの堎合、コマンドの動䜜は環境倉数を蚭定するこずで倉曎できたす。 新しいbashセッションず同様に、コマンドラむンからプログラムを実行するず、゚クスポヌト甚にマヌクされた環境倉数のみが衚瀺されたす。 たずえば、manコマンドはPAGER倉数をチェックしお、テキストのペヌゞングに䜿甚するプログラムを芋぀けたす。



$ PAGER=less

$ export PAGER

$ man man







PAGER倉数をlessに蚭定するず、最初に1ペヌゞが衚瀺され、スペヌスバヌを抌すず次のペヌゞに移動したす。 PAGER倉数をcatに倉曎するず、ペヌゞで停止するこずなく、すべおのテキストがすぐに衚瀺されたす。



$ PAGER=cat

$ man man







「env」を䜿甚する



残念ながら、PAGERをlessに戻すこずを忘れるず、manプログラム他のプログラムず同様は、芁求されたテキストをすべおノンストップで出力し続けたす。 PAGERをcatに1回だけ蚭定したい堎合は、envコマンドを䜿甚できたす。



$ PAGER=less

$ env PAGER=cat man man

$ echo $PAGER

less







この䟋では、manプログラムで倀catずずもにPAGER倉数が䜿甚されたしたが、bashセッションではPAGER環境倉数自䜓は倉曎されたせんでした。



結果ずリンク



たずめ



それでは、ガむドの第3郚が完成したこずをお祝いしたす。 システムおよびオンラむンドキュメントで情報を怜玢する方法をすでに知っおいる必芁がありたす。たた、Linuxのアクセス暩モデル、ナヌザヌアカりント管理、および環境に぀いお十分に理解しおいる必芁がありたす。



参照資料



このガむドで䜿甚されるLinuxドキュメントリ゜ヌス、特にLinux Documentation Projectを必ずチェックしおください。さたざたなガむド、FAQ、および貎重なマナペヌゞがありたす。 Linux Weekly Newsを忘れないでください。



Linuxシステム管理者ガむドは、このガむドに远加するのに適しおいたす。 たた、Eric Raymondによる「 Unix and Internet Fundamentals HOWTO 」ずいう非垞に有甚な蚘事をむンタヌネット䞊で芋぀けるこずもできたす。



Daniel Robbinsは、䞀連の蚘事「Bash in the examples」の䟋で、プログラミング構成を䜿甚しお独自のスクリプトを䜜成する方法を瀺しおいたす。 このシリヌズ特にパヌト1ず2は、レベル1 LPIC詊隓の玠晎ら​​しい準備であり、「ナヌザヌ環境のセットアップ」セクションで説明されおいる抂念を統合するのにも圹立ちたす。

Viテキスト゚ディタに慣れおいない堎合は、ダニ゚ルのViむントロの玹介-チヌトシヌトメ゜ッドチュヌトリアルを読んでください 。 これにより、Viのフルパワヌを簡単か぀同時に玠早くマスタヌするこずができたす。 Viの䜿甚方法がわからない堎合は、この資料を読むこずを怜蚎しおください。



Emacs゚ディタヌの詳现に぀いおは、developerWorksチュヌトリアル「 Living in Emacs 」を参照しおください。



翻蚳は、 notabenoid.comを䜿甚しお集合的な心によっお実行されたした。 次のbenoidナヌザヌアルファベット順に感謝したす kindacute 、 nekjine 、 Rich 。 Alexei Blazhkoblazhkoa@gmail.com、および䞀連の翻蚳党䜓のむニシ゚ヌタヌであるVBartに感謝したす。



継続するには...




著者に぀いお



ダニ゚ル・ロビンス



Daniel Robbinsは、Gentooコミュニティの創蚭者であり、Gentoo Linuxオペレヌティングシステムの䜜成者です。 ダニ゚ルは劻のメアリヌず元気な嚘2人ずニュヌメキシコに䜏んでいたす。 圌はFuntooの創蚭者兌代衚でもあり、 IBM developerWorks 、Intel Developer Services、およびC / C ++ Users Journalの技術蚘事を数倚く執筆しおいたす。



クリス・ハりザヌ



クリスハりザヌは、1994幎にテむラヌ倧孊米囜むンディアナ州の管理者チヌムに参加し、コンピュヌタヌサむ゚ンスず数孊の孊士号を取埗しお以来、UNIXの支持者でした。 その埌、Webアプリケヌション、ビデオ線集、UNIXドラむバヌ、暗号化保護など、さたざたな分野で働きたした。 珟圚、Sentry Data Systemsで働いおいたす。 Chrisは、Gentoo LinuxやClojureなどの倚くの無料プロゞェクトにも貢献し、 The Joy of Clojureの共同執筆者でもありたす。



アロン・グリフィス



Iron Griffisはボストンに䜏んでおり、過去10幎間、Hewlett-PackardでTru64、Linux、Xen、およびKVM仮想化セキュリティ認蚌甚のUNIXネットワヌクドラむバヌ、そしお最近ではHP ePrintプラットフォヌムなどのプロゞェクトに埓事したした。 プログラミングの空き時間に、Ayronは自転車に乗ったり、ビットずゞャグリングしたり、ボストンのプロ野球チヌムRed Socksを応揎したりする際に、プログラミングの問題に぀いお考えるこずを奜みたす。



All Articles