私は最近、LAMPサーバーでより多くの作業を行うことに陥りました。これは私にとってはかなり新しいことです。最初は、設定ファイルの移行に問題はありませんでしたが、成長して学習するにつれて、設定とワークフローがより具体的になりました(移植性が低下しました*)。今朝、私は古いRed Hat 4サーバーで作業するように頼まれましたが、それは...とても古いので、どうしたらよいかわかりません。 Vim 6? RPMForgeを介してインストールされたものはすべて?リポジトリを追加せずにtree
をインストールすることさえできませんか? root以外に実際のユーザーアカウントはありませんか? /sbin/
および/usr/sbin/
rootユーザーのパスにも含まれていませんか?
これは一度インストールされ、変更されることはありません。インストールされているパッケージはすべて氷河期のものです。最初の氷河期。
それで、あなたはこの状況で何をしますか?サーバー上でonを操作しようとする必要がありますか、それともこれを実行するためのより良い方法がありますか?
*-本当に壊れたのは、Jellybeansカラーテーマのサポートと、Vimタブの使用法だけです。
編集-私がそれを提起した方法は不明確だったと思いますが、質問の重点はyoにあるべきです。私が本当に理解しようとしているのは、他の人が同じような状況で何をするかということです。
覚えておいてください:私は相談しています。サーバーを再インストールするのは私の仕事ではありません。セキュリティ監査を行ってサーバーを強化するのは私の仕事ではありません。非常に古いサーバーを実行している技術的でないクライアントからあいまいな要件を取得し、それらを可能な限り短時間で実現するのが私の仕事です。それでおしまい。
私は開発者であり、システム管理者ではありません。それはすべて私にとってかなり新しいことであり、適切に速度を上げるには、私が費やすことができるよりも多くの時間がかかります。それは何年もの間生産されています。変更を加えているだけです。
wantこのサーバーを改善しますか?もちろん! wantこのプロジェクトを私が誇りに思うものにしたいと思いますか?はい!それは起こりますか?いいえ。トラフィックをあまり受け取らない、まったく関心のない古いソフトウェアを維持しています。手間をかけずに快適に仕事をしたいだけです。
編集2-少し検索していじった後、最終的に必要なものをsshfsとMacFuseでローカルにマウントしました。そうすれば、ターミナルにとどまり、自分のしていることに基づいてローカルツールとリモートツールを組み合わせて使用できます。
一般的な(ish)unixツールの使用方法を理解する必要があります。 vimはredhat4とredhat300の間で変更されている可能性がありますが、viは同じであると思います(viの代わりにvimを使用している場合でも、viコマンドは期待どおりに機能します)。パッケージツールはなじみがないかもしれませんが、それでもtgzファイルをダウンロードできると思います。./configure
、make
、Sudo make install
それ。
最新かつ最高のものについて学ぶことは素晴らしいことですが、ツールが構築されているツールについても学ぶ必要があります。 unixlandにはかなり一定しているものがあり、それらを使用する方法を知っていて理解していれば、年齢に関係なく(ここでは理由の範囲内で)、最終的にどのバリアントでもより快適に感じることができます。
ツリーがインストールされていませんか? grep、find、awk、sedがそうだと思います。これらはあなたの友達です。
Cygwin/etcの代わりに、VirtualBoxをインストールして仮想環境にLinuxボックスをセットアップし、それを開発に使用して、後でサーバーにファイルをプッシュすることは難しくありません。
「あなたは子供を酷評する」モードに入ります。
ツールは、何が起こっているのかを理解することを妨げることなく、より効率的に仕事をするのに役立つはずです。本当に、RH 4はそれほど古くはなく、今日の周りのものとほとんど同じです。最新で最高のものではないかもしれませんが、必要なこと(必要なことは何ですか)を実行するには十分なはずです。
うそつき。
一方、これがネット上で行われている場合は、少なくとも最新のRH4パッケージで更新する必要があります。
ほとんどのサービス専門家は、最終的に、クライアントに「現在の設定が間違っている/危険です。正しく設定せずに触れるつもりはありません」と安心して伝えることができるようになります。
法的にまたは道徳的に正確である場合とそうでない場合がありますが、実用的な観点から、技術者以外の人は、システムに障害が発生した最後の人を非難します。サーバーにログインした最後の人が侵害されたり、機能しなくなったりした場合は、変更した(または見たばかりの)ものが何の関係もない場合でも、失敗の責任を問われる可能性があります。失敗した。
これは物理的なものでより明白です(ハゲのタイヤを持ってタイヤ店に行き、ハゲのタイヤにパッチを当てるように頼むか、4つの車輪のブレーキがすべて悪い状態でブレーキショップに行き、1つの車輪のセットだけを修理するように頼むことを想像してください。または、ガス会社に危険な錆びた給湯器のパイロットライトを再点灯するように依頼する)同じ原則と考慮事項がソフトウェアとサーバーに適用されます。
クライアントには少なくとも2つの問題があるようです。サーバー環境が維持されていないことと、開発環境と本番環境が同じ物理ハードウェアで動作していることです。そのため、一方を変更せずに他方に影響を与えることはできません。
それが物事を実行するための合理的な方法であるふりをする場合、それが爆発したときにそれを修正することが期待され、それは明らかにそれがあなたのせいであるため、おそらく無料でそれを行うことが期待されますまったく失敗しました。
あなたの質問に直接答えるために、共有ハードウェアシステムは修正が必要な問題であり、メンテナンスされていないサーバー環境は非常に古いため、既存のデータを新しいシステムに移動するために支払う方が安いことをクライアントに伝えます古いシステムをアップグレードするために必要なすべての変更と依存関係を追跡するのではなく。彼らは、(a)開発システムを実行するための新しいハードウェアを入手し、(b)新しいハードウェアに最新のソフトウェアをインストールしてから、開発をその新しいハードウェアに移行する必要があります。共有ハードウェアの問題を修正することで得られるボーナスは、移動する前に新しい開発環境をテストできることです。これにより、より適切な移行が可能になります。
すべてのパッケージを更新して新しいリポジトリを追加するか、データとサイトをバックアップしてサーバーを再インストールするかを選択できます。