真剣な学生としてUnixやLinuxを学びたい、特に珍しい習慣を忘れずにプラットフォームとディストリビューションの間を行くようにしっかり理解できるように基本を学びたいです。
標準分布で何を見つけるべきですか?本当に重要ですか?多くのディストリビューションがPOSIXに準拠しているようです。これが最も重要な考慮事項ですか?
答え1
分布を選択してください
*nixは実際に座って学ぶことではありません。私は次のいずれかのようなディストリビューションを選択します。
POSIX
明らかにあなたが見ることができる他の人がいますdistrowatch.com。私はこの5つを選択しました。なぜなら、この5つは以下を除くほとんどすべての重要な* nixを表すからです。ソラリスまたはHP-UX。
POSIXコンプライアンスは重要ですが、重要ではありません。特に、Bash、awk、sed型のスクリプトを使用する場合はさらにそうです。間違いなく違いがあるため、POSIXパスを維持する傾向がある場合は、長期的に時間を節約できます。特に、ある *nix ファミリのディストリビューションから別のバージョンに移動したり移動したりする場合は、さらにそうです。
ほとんどのディストリビューションはPOSIXと互換性がありません。POSIXに関するウィキペディアページ血まみれの詳細のため。
最下位ビット
LSBまたはLinux標準ライブラリ次のプロジェクト/作業グループ。Linux財団さまざまな*nixディストリビューションでAPI、ツールなどを標準化する試みです。その目標はPOSIXと非常に似ています。
マニュアルと情報ページ
ほとんどのアプリケーションは通常、* nixシステムの3つの場所のうちの1つで使用する方法の詳細を提供します。
マニュアルページ- ほとんどの命令はマンページ(man page)の略語であるマンページ(man page)とともに提供されます。 * nixでコマンドがどのように機能するかを調べようとするときは、親友です。次のコマンドを使用してアクセスできます
man <command>
。$ man less LESS(1) LESS(1) NAME less - opposite of more SYNOPSIS less -? less --help less -V less --version less [-[+]aBcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~] [-b space] [-h lines] [-j line] [-k keyfile] [-{oO} logfile] [-p pattern] [-P prompt] [-t tag] [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines] [-# shift] [+[+]cmd] [--] [filename]... (See the OPTIONS section for alternate option syntax with long option names.)
情報ページ- 情報ページはマニュアルページに似ています。これはほとんどのGNUツールで提供されており、コマンドを使用してアクセスできます
info <command>
。$ info less File: *manpages*, Node: less, Up: (dir) LESS(1) LESS(1) NAME less - opposite of more SYNOPSIS less -? less --help less -V less --version less [-[+]aBcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~] [-b space] [-h lines] [-j line] [-k keyfile] [-{oO} logfile] [-p pattern] [-P prompt] [-t tag] [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines] [-# shift] [+[+]cmd] [--] [filename]... (See the OPTIONS section for alternate option syntax with long option names.)
--help
** - ほとんどのツールは、プログラム自体に対する一種のヘルプサポートを提供します。通常、--help
コマンドに引数を渡してアクセスできます<command> --help
。$ less --help SUMMARY OF LESS COMMANDS Commands marked with * may be preceded by a number, N. Notes in parentheses indicate the behavior if N is given. h H Display this help. q :q Q :Q ZZ Exit. --------------------------------------------------------------------------- MOVING e ^E j ^N CR * Forward one line (or N lines). y ^Y k ^K ^P * Backward one line (or N lines). f ^F ^V SPACE * Forward one window (or N lines). b ^B ESC-v * Backward one window (or N lines). z * Forward one window (and set window to N). w * Backward one window (and set window to N).
何を探すべきですか?
まず、[gcc](コンパイラ)、パッケージマネージャ、sed、アッ、真珠、吹くおよび他のすべての種類またはGNU Coreutilsたとえば、
これリストは引き続き続きますこれが私たちのほとんどがこのスタックエクスチェンジサイト8-)で時間を過ごす理由だと思います。
私は* nixを木工や木工のようにクラフトだと思います。始めるのは簡単ですが、これらのツールを習得するには一生かかることがあります。
編集#1
コメントでいくつかをタッチします。一連の質問を提起しています@ジョエルデビス答えは、潜在的な読者がより簡単に見ることができるように示されています。
尋ねる:Fedora / Ubuntuが言及されていないのはなぜですか?これらの1つの代わりにFreeBSDを選択すると、プールの深いところに投げるように見えます。
ㅏ:CentOSはRed Hatをカバーし、FreeBSDはBSDをカバーします。初心者学習* nixの場合は基本を教えるので、FedoraよりCentOSを好みます。仕事を探すには、Fedora / UbuntuよりもCentOS(BSD、Debian、SUSE)がより適している可能性があります。
私はまた来る*nixの人々にこれを言いたいと思います:「まず、*nixをサーバーOSで管理する方法を学び、2番目にデスクトップOSで管理する方法を学びます。」。私がSEサイトで回答した質問の約80%は、* nixサーバーの管理方法の基本的な理解が不足しているか、そのサーバーで開発/運営する方法を理解していないユーザーが主に見えます。
追加の証拠が必要な場合は、次の zdnet 記事をご覧ください。Linuxサーバーは成長し続け、WindowsとUnixは縮小し続けます。。サーバーは私たちのほとんどが* nixを扱うところです。
私は何らかの方法で* nixデスクトップテクノロジーまたはデスクトップで* nixのパフォーマンスを否定するので、上記の内容を読まないでください。 10年以上にわたり、私の主な日常のオペレーティングシステムはFedoraまたはCentOSでした。サーバーオペレーティングシステムとして* nixを学ぶことに集中しています。
答え2
うーん…実はちょっと負担ですね。日常的なコマンド(cp、ps、rmなど)とユーティリティ(vi、topなど)は、すべてのUnixシリーズシステム(Linuxを含む)でほぼ同じです。もちろん、オプションは異なりますが(すべて利用可能で、文字が変わって使用されます)。
一方、システム管理に関しては、プリンタの処理からユーザーの追加、パッケージのインストールまで非常に多様です。異なるLinuxディストリビューションにも違いがあります。また、デバイスの名前(特にハードドライブ、パーティション、「スライス」)もさまざまです。構成ファイルとサービスも非常に異なる方法で処理されます。
さらに、低レベルのシステム(論理ボリュームやソフトウェアRAIDなど)、システムユーザーやグループの使用方法(Solarisやその「役割」など)も非常に多様です。
XのGUIプログラム(Unix / Linuxの「windows」システム)は次のとおりです。バラよりWindowManager(ウィンドウやボタンなどの外観を提供)またはDesktopEnviroment(デフォルトでは、エディタ、メールクライアント、ファイルブラウザなどの追加機能を備えたより複雑なWM)によって、感じが非常に異なります。 「シェイプ」と「フィール」(ボタンとマウスの仕組み)のテーマが多いため、「テーマ」も含まれています。UnixシステムやLinuxディストリビューションによってデフォルト値が異なります。一般的に簡単ですが)
もちろん、「日常的な使用」では、スプレッドシート、ワードプロセッサ、画像編集ソフトウェアなどのアプリケーションを使用すると、同じアプリケーションが同じように機能します。特に、「商用」Unixシステムは、オープンソースソフトウェアが頻繁に使用されるため、さらにそうです。また。
さまざまなUnixファミリーやLinuxシステムの内部構造は似ていますが、同じではありません。カーネル内部をすぐに扱うことはありませんが、もしそうなら、ある程度似ていますが、同じであるとは距離が離れていることに注意してください。
+++
したがって、すべてのUnixシステムまたはLinuxディストリビューションを使用すると、日常的なコマンドを学び(ほとんどの)アプリケーションを実行できます。存在するオペレーティングシステムに属していますが、オペレーティングシステムの一部ではありません。 Linuxディストリビューションは2つのバンドルを提供することがよくありますが、これは他のシステムでもほぼ同じでなければなりません。しかし、システム管理に関連して、すべてのツールには基本的に同じ利用可能なツールセットがありますが、名前と使い方は異なります。デフォルトでは、すべてのオペレーティングシステムで良い管理ルーチン(バックアップの実行など)を学ぶことができますが、各オペレーティングシステムの実際のコマンドと設定ファイルを学ぶ必要があります。
初心者にはLinuxディストリビューションをお勧めします。通常のディストリビューションの場合は、すべてのUnixシステムとよく似ていますが、管理ディストリビューションの場合は他のディストリビューションと似ていません。無料で広く使用されているので、オンラインで簡単にヘルプを見つけることができます。 3つの主要なUbuntuディストリビューション(Ubuntu、Kubuntu、またはXbuntu)のいずれかを選択することをお勧めします。広く使用されており、多くのパッケージがあり、管理が簡単です... LinuxMintも非常にシンプルでUbuntuのフォークです。
基本を学んだら、他のディストリビューションよりも「実用的」な SlacwareLinux を試すことができます。本を読んでいる間、ソースからすべてを構築してシステムを「起動」できるGentooLinuxもあります。このプロセスにより、システムについて多くのことを学ぶことができます。最後に、本に従って「自分だけの」Linuxシステム(Gentooのような部分自動化なし)を構築できるLinuxFromScratchがあります。本物Linuxのさまざまな部分がどのように連携するかを教えてください。いくつかのLinuxカーネルをコンパイルし、カーネルのソースコードやその他の部分を見ることもたくさん学ぶことができます。
FreeBSDは、「元の」Unixシステム(BSD)の1つに基づくオープンソースの、無料、非Linuxの代替品です。 Solarisはオープンソースではありませんが、ダウンロードすることができます(アップデートとサポートのコストがあるにもかかわらず)。もう1つの「オリジナルリリース」であり、ユーザー(例:「役割」)やディスク処理に関してはやや興味深い機能があります。 Minixは、もともとオペレーティングシステムの教科書の付属製品である「Unixトレーニング」です。 Debian/Hurd は非常に「現代的な」カーネルを使って進行中のプロジェクトです。
オペレーティングシステムを「Unix」と呼ぶには認証が必要です... 高価なため、ほとんどのLinuxディストリビューションは認証されていますが、ほとんどのLinuxやFreeBSDなどの他の無料のオペレーティングシステムは認証されていません。 。 POSIXは、Unixのような「夢のオペレーティングシステム」を指定するもう一つの認証標準です。実際には、この標準に完全に従ったり、すべての部分を実装したりする人はほとんどいませんが(いいえ?)、多くのUnix系オペレーティングシステムはある程度互換性があります。繰り返しますが、認証は高価であり、標準と商用のPOSIX認証オペレーティングシステムの両方を実装しても、多くの無料プロジェクトは認証されません(例えば、Linuxカーネルは標準に非常によく従います)。米国政府または同様のシステム(セキュリティや暗号化などの理由で認証が必要な場合があります)のためのシステムを設定しない限り、心配する必要はありません。 Linuxシステムのほとんどのコマンドは実際にPOSIXと互換性があります。
答え3
私があなたの船にいた場合、私はかなりユーザーフレンドリーで、おそらく過去に使用していたオペレーティングシステムに似たものを選択します。 Linuxの場合、デスクトップユーザーにとって最大の2人の競争相手はFedoraとUbuntuです。 Fedoraは、企業/政府で最も広く使用されているディストリビューションであるRed Hat Enterprise Linuxのコミュニティエディション(本質的に)です。多くの人がUbuntuが好きだと言っていますが、私の意見を言うのにUbuntuを頻繁に使用しません。このようにデスクトップ指向のものを選択すると、普通の生活を送ることができます。
POSIXは今始めたばかりではなく、ソフトウェア開発者や企業のシステム管理者が心配する必要がある問題です。ほとんどのPOSIXドラフトは、コマンドラインツールで提供されるオプションやAPI定義などの項目を標準化します。時々、POSIX規格はシステムのいくつかの動作要件を設定しますが、それでもユーザーの知識レベルを考慮すると細かすぎて心配することはできません。あなたが学んでいる技術はほとんど(すべてではありませんが)Linuxの外に移行できます。 POSIXを使用しても、設計上のオペレーティングシステム機能の特定のサブセットのみを定義し、一部の項目(診断ユーティリティ、ボリューム管理、ログ形式と場所、パッケージ管理、ファイアウォールの実装など)は、ユーザー定義のすべての項目内に存在します。 POSIX 外部基準。定期的に交流しなければなりません。標準化されたものでさえ、しばしば「とにかくXそしてはい実装に任せる予定です。 「これは、特定のベンダーが意識的にPOSIXから外れることを選択しないと仮定します。実際にGNU/Linux時間)。
他の人が何を言っても、POSIXをどれだけ信頼しているかにかかわらず、POSIXが行うことは、オペレーティングシステムの特定の主な機能をベンダー全体で一貫して維持することです。他のオペレーティングシステムに移行するときは、常に大きな学習曲線があります。しかし、あなたは実際にそれをしたいです。状況が変わらない場合、ベンダーソリューションはワークグループがサポートできる正確な機能に制限されます(時にはIEEEの進行速度が遅いため、機能リストが小さく、作成速度が遅くなる可能性があります)。同じ問題を解決する方法がさまざまであることは良いことなので、ベンダーを選択する必要があります。