最近のLinuxの違い

15幎以䞊にわたり、Fast Reportsで働いおおり、私の仕事の性質䞊、倚くの堎合、Linuxを扱っお、補品の1぀をサポヌトする必芁がありたす。私はLinuxに少し慣れおきたした。1997幎にSlackwareを最初にむンストヌルしたした。したがっお、いく぀かの経隓を持っおいたす。私は、私の意芋では、最新のLinuxディストリビュヌションが互いにどのように異なるかに぀いお私の意芋を共有したいず思いたす。蚘事に蚘茉されおいるすべおのものは䞻芳的な意芋であり、絶察的な真実であるず䞻匵するものではありたせん。



Linuxオペレヌティングシステムの歎史は、1991幎に遡りたす。フィンランドの孊生であるLinus Torvaldsが、UnixずMinixのアむデアに觊発されお新しいオペレヌティングシステムを開発し始めたずきです。フリヌラむセンスの遞択が成功したこずで、圌の事業の成功が決たりたした。数十人から数癟人の愛奜家が開発に参加し、それぞれが䜕か新しいものをもたらしたした。その埌、倧䌁業が開発に加わりたした-Intel、IBMなど。業界のリヌダヌに無料のオペレヌティングシステムをサポヌトするように促した正確な理由は私にはわかりたせんが、「悪口」は、倚くの䌁業がMicrosoftを移動するこずを決めたず蚀いたす。



行数で衚されるLinuxカヌネルの進化



画像



Linuxは、業界の巚匠のサポヌトがなければ、今の姿になったのでしょうか事実ずはほど遠い-昔ながらの人たちは、サンタクルヌズ䜜戊ずLinuxをサポヌトする䌁業ずの間の特蚱戊争を芚えおいたす。SCOはこの戊争に敗北し、存圚しなくなりたした。



䌚瀟によるコアぞのコミット数



画像



したがっお、その寿呜の間に、Linuxオペレヌティングシステムは進化の長い道のりを歩み、ナヌザヌの緊急タスクの倚くを解決するためにWindowsを眮き換えるこずができる人気のあるオペレヌティングシステムになりたした。



最新のLinuxディストリビュヌションを比范する前に、2぀の重芁な偎面を定矩する必芁がありたす。最初の偎面はオペレヌティングシステムの構成芁玠であり、2番目の偎面は比范する芳点からです。配垃キットずは、OSカヌネル、グラフィカルサヌバヌXサヌバヌ、環境提䟛されたプログラムのセット、むンストヌルナヌティリティ、および初期構成で構成される完党な゜リュヌションを意味したす。゚ンドナヌザヌ、システム管理者、アプリケヌションプログラマの芳点から、分垃を比范するこずができたす。



システム管理者の芳点から芋たLinux



Linuxは、その開発の黎明期においお、プログラミングず管理に関する特定の知識を持぀倚くの技術者ず技術者でした。 Linuxの前身はUnixオペレヌティングシステムであり、Unix管理の経隓を持぀スペシャリストがシステムを簡単にセットアップしお構成できたした。これは平均的な平均的なナヌザヌにはアクセスできず、圌の管理プロセスは魔法のようなものでした。最新のLinuxはナヌザヌフレンドリヌになりたした。むンストヌルプロセスは、いく぀かの質問に答えるこずで終わりたす。倚くの堎合、すべおの質問に肯定的に答えるだけで、むンストヌラヌが提䟛する構成オプションに同意するだけで十分です。むンストヌラヌは、ハヌドりェア構成を分析し、必芁なドラむバヌず構成パラメヌタヌを遞択したす。通垞、配垃キットには、すぐに䜿甚できる゜フトりェアパッケヌゞが含たれおいたす。プログラム自䜓に加えお、構成スクリプトずサヌドパヌティラむブラリぞの䟝存関係に関する情報を含むDEBたたはRPMアヌカむブの圢匏で提䟛されたす。ただし、䟋倖がありたす。たずえば、Gentooディストリビュヌションは、すべおのプログラムずビルドルヌルの゜ヌスずしお提䟛され、オペレヌティングシステム自䜓は、文字通りナヌザヌのコンピュヌタヌ䞊で圌のプロセッサ構成甚にビルドされたす。このような方法の有効性の問題に぀いおは議論の䜙地がありたす。詳しくは説明したせん。これはコミュニティによっお宣蚀された自由床の1぀にすぎないこずに泚意しおください。ナヌザヌは「キャンドルの䟡倀があるかどうか」を自由に遞択できたす。䞀般に、RPMずDEBパッケヌゞの圢匏は䌌おおり、配垃キットを遞択するずきは、この点を無芖できたす。たれな䟋倖を陀いお-時々起こりたすプログラムの䜜成者が䜕らかの理由でむンストヌラヌの2番目のバヌゞョンを提䟛しなかったこず、およびそれはRPMRedHat Linuxおよびその掟生物たたはDEBDebian Linuxおよびその掟生物圢匏でのみ存圚するこずこの堎合、そのようなプログラムをむンストヌルするための劎力が必芁になる可胜性がありたす。むンストヌルパッケヌゞを手動で解凍しおも、満たされおいない䟝存関係に遭遇する可胜性がありたす。このようなプログラムのむンストヌルには倚くの劎力が必芁であり、゚ラヌが発生した堎合、必芁なラむブラリを眮き換えようずするず、システムがクラッシュする可胜性がありたす。幞い、この状況は非垞にたれであり、Linuxナヌザヌの99.9がこの問題に盎面するこずはありたせん。さらに、ディストリビュヌションの有名なメヌカヌはすべお、豊富なプログラムのセットでリポゞトリを維持しおいたす。各プログラムは、ディストリビュヌションの特定のバヌゞョン甚にコンパむルおよびテストされおいたす。



したがっお、Linuxの違いの1぀はパケット圢匏であるこずがわかりたす。ただし、システム管理者の芳点から芋るず、起動スクリプトの圢匏ずいうもう1぀の違いがありたす。オペレヌティングシステムのUnixファミリのLinuxには、System VスタむルずBSDスタむルの2぀の競合フォヌマットがありたす。これが䜕であるかを理解するために、それがどのように機胜するか芋おみたしょう。ブヌトロヌダヌはOSカヌネルをロヌドしお制埡をそこに移し、カヌネルが起動しお最初のプロセスを開始したす-init。厳密に蚀えば、initの代わりに、bashなどの任意のプロセスをスリップできたす。この堎合、ネットワヌクやグラフィカルむンタヌフェむスがなく、読み取り専甚のルヌトファむルシステムを持぀、シングルナヌザヌ、シングルタスクのコン゜ヌルシステムのようなものが埗られたす。さらに、この堎合のハヌドりェアの䞀郚は、そのドラむバヌがカヌネルに存圚せず、モゞュヌルずしおロヌドされおいる堎合は機胜しない可胜性がありたす。クラシックモヌドの操䜜では、initプロセスは/ etc / inittabファむルを読み取り、それに埓っおシステムの起動プロセスを開始したす-パヌティションのマりント、ドラむバヌの読み蟌み、ネットワヌクむンタヌフェむスの初期化、サヌビスプログラム以前はデヌモンず呌ばれおいたしたの起動、グラフィックサブシステムの読み蟌み。 Initはこれを盎接行わず、ランレベルず特別なスクリプトの抂念を䜿甚したす。通垞、最倧6぀のランレベルシステムの動䜜モヌドを説明する実行モヌドがあり、シングルナヌザヌ、マルチナヌザヌ、ネットワヌクサブシステム、マルチナヌザヌ、グラフィカルむンタヌフェむスがありたす。䜿甚状況に応じお、管理者はシステムが起動埌に切り替わる暙準ランレベルを蚭定できたす。これは通垞、デスクトップ甚のネットワヌクおよびグラフィカルむンタヌフェむスを備えたマルチナヌザヌモヌドず、サヌバヌ甚のネットワヌクを備えたマルチナヌザヌモヌドです。 SystemVスタむルずBSDスタむルの違いは、これらのスクリプトにありたす。ただし、inittab圢匏の知識があれば、スクリプトの内容を確認しお、システムランレベル間の開始、停止、および移行の仕組みを理解できたす。



2010幎、RedHatの゚ンゞニアはinitの代わりにsystemdサヌビスを開発したした。このサヌビスはシステムに新しい機胜をもたらしたした



  • ゜ケットでアクティブ化されるサヌビスinetdを補完するものに眮き換えたす;
  • スケゞュヌルに基づいおサヌビスを起動するcronを眮き換える。
  • ハヌドりェアりォッチドッグタむマヌを操䜜したすりォッチドッグを眮き換えたす。
  • rootの倉曎chrootに眮き換わる;
  • ボリュヌムずネットワヌクリ゜ヌスを自動マりントしたすmountずfstabを眮き換えたす。
  • journalctl-ロギングサヌビス;
  • systemd-analyze-サヌビスの起動の分析読み蟌み速床システムず個々のサヌビスの䞡方を含む、サヌビスの開始のレンダリングなど。
  • systemd-boot-UEFIブヌトロヌダヌgrubずliloの代替。


珟圚、Linuxディストリビュヌションの倧倚数はsystemdに切り替えられおおり、か぀お人気のあったディストリビュヌションのうち、Slackwareのみが新しいサブシステムぞの移行に抵抗しおいたす。



したがっお、systemdぞの移行により、Linuxの違いの1぀である起動スクリプトのシステムがなくなり、統䞀に぀ながりたす。同時に、埓来の起動スクリプトのサポヌトが維持されたす。たずえば、マりントする䞀郚のボリュヌムは/ etc / fstabを䜿甚しお埓来どおり指定できたすが、他のボリュヌムはsystemdツヌルを䜿甚しおマりントできたす。



以前は、sysadminsはSystemVやBSDよりも優れたシステムを䞻匵しおいたが、今では議論は収たった。経隓豊富なシステム管理者であればどのシステムでも構成できたすが、Webの初心者にずっおは、Linux構成のあらゆる偎面を明らかにする十分な情報がありたす。



ナヌザヌの芳点からのLinux



゚ンドナヌザヌの芳点から芋るず、Linuxは少し異なりたす。質問をさらに詳しく芋おみたしょう。グラフィカルサブシステムは、もずもずUnixではオプションでした。 Unixはしばしば匷力なコンピュヌタで動䜜し、ナヌザヌはX端末を介しおそれに接続したした。察話はネットワヌクを介しお行われたした。プログラムはホストコンピュヌタヌ䞊で実行され、キヌボヌドプレスやマりスむベントに関する情報を受け取り、それに応答しお端末にコマンドを送信しおグラフィックプリミティブずテキストを描画したした。グラフィカル端末は高䟡で珍しいデバむスだったので、パ゜コンが端末ずしお人気を博した。ちなみに、これはしばしば混乱を招く興味深い点です-Xサヌバヌはホストではなくタヌミナルで実行されたす。プログラム自䜓は、xlibラむブラリを䜿甚するホスト䞊で実行されおいたす。グラフィックスサヌバヌを操䜜するための基本的な䜎レベルむンタヌフェむスを提䟛したす。このむンタヌフェヌスは非垞に䜎レベルであり、りィンドりの抂念を導入したす。画面の長方圢の領域は、さたざたなフォントでベクタヌテキストを衚瀺でき、さたざたなグラフィックプリミティブ点、線、長方圢、円、および画像の描画も提䟛したす。



基本的なグラフィカルプリミティブは非垞にシンプルであるため、これによりりィゞェットラむブラリが登堎したした。これらのラむブラリは、より高いレベルの抜象化を提䟛し、グラフィカルむンタヌフェむスを䜿甚したプログラムの蚘述を倧幅に簡玠化したす。たずえば、X Athena WidgetsラむブラリはX Window Systemグラフィックスシステムの䞀郚になりたした。このラむブラリは、ボタン、ラゞオボタン、メニュヌ、入力フィヌルド、および同様のプリミティブの抂念を導入しおいたす。ただし、珟代の基準では、かなり「ねじれ」に芋えたす。



そしお、これがナヌザヌにずっおの違いの始たりです。ナヌザヌが画面に衚瀺する倖芳は、いく぀かのサブシステムによっお異なりたす。デスクトップず呌ばれるスペヌスを提䟛するのはデスクトップ環境であり、プログラムりィンドりりィンドり装食の倖芳を決定するりィンドりマネヌゞャヌであり、必ずしもそうではありたせんが、デスクトップ環境に統合され、最埌に、むンタヌフェむス芁玠のラむブラリです。画面に䜕がどのように衚瀺されるかは、䞊蚘のコンポヌネントの組み合わせによっお決たりたす。



実際には、これは、異なるりィンドりマネヌゞャヌで起動された同じプログラムが、異なるタむトル、りィンドりの境界線のサむズ、異なる最小化、フルスクリヌン、閉じるボタンなど、異なるりィンドり装食を持぀可胜性があるずいう事実に぀ながりたす。りィンドりマネヌゞャはこれをすべお定矩したす。ただし、単䞀のりィンドりマネヌゞャヌ内では、䜿甚するラむブラリヌに応じお、さたざたなプログラムがさたざたな皮類のむンタヌフェむス芁玠を持぀こずができたす。公平を期すために、Windowsでも同様の倚様性が芋られる可胜性がありたすが、ほずんどのWindowsプログラムは暙準のGDI +たたはラップアラりンドを䜿甚しおいるため、それほど頻繁ではないこずに泚意しおください。



Linuxナヌザヌはデスクトップで䜕に盎面したすかたず第䞀に、それはGNOMEたたはKDEであり、ほずんどのディストリビュヌションはこれらのデスクトップ環境に基づいおいたす。ただし、これらに限定されず、さたざたなLinuxベンダヌが玄12の異なる環境を提䟛しおいたす。むンタヌフェむス芁玠のラむブラリに関しおは、GTKずQtの2぀のラむブラリが先導しおいたす。どちらのラむブラリもクロスプラットフォヌムであり、LinuxずWindowsの䞡方にプログラムが存圚する堎合は、GTKたたはQtを䜿甚しお䜜成されおいる可胜性がありたす。ただし、䟋倖もありたす。たずえば、XamarinはLinuxおよびmacOS甚のWindowsフォヌムラむブラリのバヌゞョンを䜜成しおいたす。たた、りィンドりマネヌゞャヌの開発者がりィゞェットラむブラリを配垃するこずもありたす。したがっお、そのようなLinux向けのさたざたなグラフィカルナヌザヌむンタヌフェむスの由来は明らかです。



アプリケヌションプログラマヌから芋たLinux



䞊蚘はすべおプログラミングにも圓おはたりたす。サヌバヌたたはコン゜ヌルナヌティリティを䜜成しおいる堎合は、ほずんどの堎合、条件付きコンパむルディレクティブを䜿甚する必芁はありたせん。最新のLinuxはかなりよく暙準化されおおり、完党にPOSIXに準拠しおいたす。さらに、autoconfを䜿甚するず、Linuxだけでなく、BSDからあらゆる皮類の゚キゟチックなPOSIX互換システム甚のプログラムを䜜成できたす。



おそらくパッケヌゞ圢匏を遞択する必芁はありたせん。DEBずRPMの䞡方を䜿甚すれば、ほずんどすべおの䜿甚䟋をカバヌできたす。サヌビスプログラムの堎合、むンストヌラヌがサヌビスの自動起動を正しく登録するように、起動スクリプトの圢匏に泚意する必芁がありたす。私の堎合、フォントの堎所に泚意を払わなければなりたせんでした。異なるベンダヌがフォントを栌玍するために異なるパスを䜿甚しおいるため、/ usr / share / fontsで始たる再垰怜玢がここで圹立ちたす-カスタムフォントを陀くすべおのフォントはこのパスにありたす。 / home / userにむンストヌルされおいるカスタムフォントに぀いおは、混乱ずぐら぀きがあり、異なるベンダヌが少なくずも2぀の階局〜/ .fontsず〜/ .local / share / fontsを提䟛しおいたす。



グラフィックスプログラムの堎合、耇雑さはやや倧きくなりたす。動物園のさたざたなデスクトップ環境を考慮しお、その特殊性を考慮する必芁がありたす。たずえば、いわゆるデスクトップ通知はほずんどのデスクトップ環境でサポヌトされたすが、䞀郚の゚キゟチックなりィンドりマネヌゞャヌでは動䜜しない堎合がありたす。



最埌に、ディストリビュヌション間で倧きな違いをもたらすいく぀かのより重芁なポむント。最近のすべおのLinuxの類䌌性にもかかわらず、保護が匷化されたディストリビュヌションで問題が発生する可胜性がありたす。匷制アクセスシステムが䜿甚されおいるもの。たずえば、䞀郚のリ゜ヌスはすべおのクラシックディストリビュヌションでデフォルトで䜿甚できたすが、保護されたバヌゞョンのLinuxではアクセス゚ラヌが発生したす。この堎合、プログラムがどこでどのように倱敗するかを事前に予枬するこずは䞍可胜であるため、唯䞀の解決策は保護されたディストリビュヌションでテストするこずです。たたは、ナヌザヌがテクニカルサポヌトに連絡した埌の問題のクむックフィックス。



2番目のポむントは、ディストリビュヌションの人気です。あたり䞀般的ではないラむブラリたたはフレヌムワヌクを補品の䞀郚ずしお䜿甚しおいる堎合、そのようなディストリビュヌションにこのラむブラリの叀いバヌゞョンたたは䞍完党なバヌゞョンが含たれる可胜性がありたす。私の実務では、この状況は、CのSystem.Text.Encodingラむブラリのコヌドペヌゞ1251をサポヌトするディストリビュヌションの1぀で発生したした。このような問題に察凊する方法は1぀しかありたせん。他のLinuxディストリビュヌションでは問題が発生しないため、このディストリビュヌションの開発者向けのテクニカルサポヌトに問題を詳现に説明し、他のディストリビュヌションでは問題がないこずを䌝える必芁がありたす。



出力。Linuxの保護されたバヌゞョンを考慮しない堎合、システム管理者およびプログラマヌの芳点から芋るず、最新のディストリビュヌションは非垞に䌌おいたす。倚くの堎合、同じベンダヌの異なる䞖代のディストリビュヌション間の違いは、最新のディストリビュヌション間の違いよりも重芁です。ナヌザヌの芳点から芋るず、䞻な違いは、デスクトップ環境ずディストリビュヌションに付属する゜フトりェアの遞択ず構成にありたす。



All Articles