タグ付けされた質問 「package-management」

事前に準備されたパッケージを使用して、オペレーティングシステムのソフトウェア構成をインストール、削除、および更新するプロセス。

2
「apt-get purge」に相当するyum
CentOSにパッケージを再インストールし、ゼロから開始したい。Debianでは、a apt-get purge fooを行うことができ、fooのすべての設定ファイルを削除します。yum remove foo構成ファイルを削除しません。apt-get purge fooyumを使用して行う方法はありますか?

4
パッケージリポジトリをプロキシするためのベストプラクティス
企業ネットワークにCentOSサーバーのコレクションがあります。セキュリティ上の理由から、ほとんどのサーバーは、サーバーのコア機能要件でない限り、一般的なアウトバウンドインターネットアクセスを持ちません。 これは、パッケージを更新する必要があるときに課題を作成します。yumリポジトリについては、現在、インターネットから必要なすべてのリポジトリをミラーリングし、ミラーをイントラネット内で利用できるようにします。開発、QA、ステージング、2つの本番データセンターの5つの環境のそれぞれに、各リポジトリのコピーを保持しています。 現在、言語固有のパッケージリポジトリについては解決していません。サーバーがrubygems、PyPI、PECL、CPAN、またはnpmからの更新を必要とする場合、サーバーはパッケージを取得するために一時的なアウトバウンドインターネットアクセスを取得する必要があります。私はrubygemsとPyPIのミラーリングを開始するように求められましたが、残りはおそらく続くでしょう。 これらはすべて不格好で、うまく機能しません。完全なミラーの複雑さとディスクオーバーヘッドを排除するために、ある環境では単一のキャッシングプロキシに置き換え、他の環境では4つのデイジーチェーンプロキシに置き換えたいと思います。さらに: フォワードプロキシまたはリバースプロキシのいずれかです。各パッケージマネージャーは、プロキシサーバーまたはカスタムリポジトリエンドポイントをサポートします。これは、ローカルミラーまたはリバースプロキシのいずれかです。 きめ細かいアクセス制御が必要なので、どのクライアントIPがどのレポドメインに接続できるかを制限できます。 クライアントは、不明なドメインへのリダイレクトを追跡できる必要があります。元のリクエストはrubygems.orgに限定される場合がありますが、そのサーバーがランダムなCDNに302を返す場合、それに従うことができるはずです。 HTTPSバックエンドをサポートする必要があります。他のSSLサーバーを偽装する必要は必ずしもありませんが、HTTPS経由でHTTPSサイトを再公開したり、別の証明書で終了して再暗号化できる必要があります。 最初は逆プロキシを見ていたが、プロキシ内で302リダイレクトを内部的に解決できるのはVarnishだけだと思われる。ただし、無料版のVarnishはHTTPSバックエンドをサポートしていません。現在、Squidをフォワードプロキシオプションとして評価しています。 これは企業ネットワーク内で比較的一般的な問題になるはずのように思えますが、他の人がこれをどのように解決したかの例を見つけるのに苦労しています。誰かが同様の何かを実装しましたか、それを行うための最善の方法について考えを持っていますか? ありがとう!

7
FLOSSサーバー管理および監査ツール
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 HPのサーバーオートメーションツールスイートを長い間使用してきましたが、それは素晴らしいツールですが、小規模ビジネスやホームネットワークでは使用するには多すぎます(正確には、大企業に比べてコストが高すぎます)金銭的な余裕がある)。 プロビジョニングと監視のためのPuppetとOpenNMSにある程度精通しています。ただし、他の情報をグーグルで調べた後は、管理ツールを維持するための労力をあまりかけずに使用できるほど成熟した管理ツールがあまりないようです。 以下を管理するための他のFLOSSツールはありますか(商業的にサポートされています)。 サーバーのプロビジョニング パッチ管理 ソフトウェアパッケージプッシュ 等 拡張 ネイティブプロビジョニングとの統合は問題ありません(キックスタート、ジャンプスタート、オートヤスト、unattend.txt、winpeなど) ある種のGUIはいいでしょうが、必須ではありません たとえば、OSプロファイルをセットアップして、できればホスト名、IPなどのプロセス中に入力されるフィールドを備えたX-manyデバイスに出荷できるようにしたい エージェントベースの方が非エージェントベースよりも望ましい(つまり、パッケージおよびパッチ管理にpsshのようなものを使用できることはわかっているが、エージェント/証明書認証ではなく事前共有キーが必要) Nagios、OpenNMS、または同様のものに結び付けることができるのは素晴らしいことです。そのため、既知のポート、プロセス、SNMPデータは素晴らしいでしょう。 仮想化のサポートは本当に役立ちますが、VM を作成できなくてもかまいません。データを入力/プロビジョニングするだけです。 この質問に対する答えが「ここにソリューションの一部であるツールの束があります」であることが判明した場合、私は私自身の使用のためにある種のラッパーを作成したいと思います。

4
ソースからソフトウェアをインストールしましたが、パッケージからインストールしないようにyumと言うにはどうすればいいですか?
CentOS 7では、ソースからコンパイルされたfoob​​arバージョン2 をインストールしました。 依存関係のためにfoob​​arバージョン1をインストールしないようにyumにそのインストールを認識させるにはどうすればよいですか? foob​​arのインストール $ git clone https://example.com/foobar.git [...] $ cd foobar $ make && sudo make install [...] $ foobar --version foobar v2 foob​​arを必要とするパッケージのインストール $ sudo yum install baz [...] ---> Package baz.x86_64 0:3.14.15-9 will be installed --> Processing Dependency: foobar >= 1 for package: baz-3.14.15-9.x86_64 [...] Dependencies …

2
複数のパッケージ管理システムに関する優れた実践
一部のプログラミング言語には独自のパッケージ管理システムが付属しています。たとえば、Rの場合、組み込みinstall.packagesコマンドはCRANリポジトリからインストールされ、依存関係を処理します。 並行して、OSには、aptDebianベースのLinuxディストリビューション用のコマンドなど、独自のパッケージ管理システムが付属しています。 私は、システム上のすべてのものに互換性があることを保証するために、ディストリビューションのパッケージマネージャーを使用する方が良いと判断しました(/programming//a/31293955/1878788を参照)。 しかし、すぐに、この方法では入手できないものが必要になりました。たとえば、私のディストリビューションでパッケージ化されていないバイオインフォマティクスプログラムには、特定のバージョンのRが必要です。たまたま「バイオコンダクター」というプロジェクトを通じてプログラムが利用可能でした。相互に互換性がある(https://www.bioconductor.org/install/#why-biocLiteを参照)。 そこで、RにはOSパッケージ管理システムを使用せずbiocLite、生体伝導体プロジェクトが提供するコマンドですべてをインストールすることにしました。 このアプローチはしばらくの間スムーズに実行されましたが、一貫性のある健全で簡単に再構築可能なバイオインフォマティクスエコシステムを維持するために、一部の人々はcondaパッケージ管理システムを使用することに決めました。「bioconda」と呼ばれるこのプロジェクトは、Rパッケージだけでなく、あらゆる種類の言語のものを提供し、バージョンの切り替えなどを簡単に行うことができます(https://bioconda.github.io/を参照)。 その後、代わりにこのアプローチを使用することにしましたが、bioconda / condaで提供されていないRパッケージが必要になるまでスムーズに実行されました。おそらく非常に簡単ですが、condaパッケージを作成する私の試みは失敗し、その後、生体伝導体の方法を使用してパッケージをインストールしようとしましたが、再び失敗しました。どういうわけか、間違ったRインストールがパッケージビルドメカニズムによって使用されていた印象があります。それで、私は(まだ非常に若い)コンダのインストールを消去し、私のバイオコンダクターのエコシステムに戻ることにしました。 あるアプローチから別のアプローチにジャンプするのにどれくらいの時間がかかるかと思っています。これらの複数の、干渉する、重複するレベルのパッケージ管理に対処する方法に関して、一般的なグッドプラクティスはありますか? 編集(14/09/2017) :しかし、私は考えられて別のオプションは次のように、代替OSレベルパッケージマネージャを使用することですGuixまたはニックス。

3
同じファイルを書き込む2つのパッケージをインストールする方法
/ usr / bin / ffprobeを作成する2つのパッケージがあります。それらの1つはDeb Multimediaリポジトリのffmpegで、もう1つはソースからビルドされたffmbc 0.7-rc5です。ハンドロールはビジネスに不可欠であり、以前は必要な場所からソースからインストールするだけでした。私はそれがffmpegファイルを破壊するだろうと仮定することができるだけで、悪影響はありませんでした。 理論的には、ffmbcパッケージがffmpegパッケージのファイルを上書きしても問題ありません。欠点は、ffmpegの更新がffmbcバイナリを上書きすることです。これを調整する簡単な方法はありますか?

2
Debian / Ubuntu-/ var / cache / apt構造を削除した後に復元する方法
Ubuntuサーバーのスペースが不足していたので、スペースを節約するためにこのコマンドを実行しました sudo rm -rf /var/cache/apt/archives ただし、aptで処理しようとすると、次のエラーが表示されます。 E: Could not open lock file /var/cache/apt/archives/lock - open (2 No such file or directory) E: Unable to lock the download directory そして、のようなもの Archive directory /var/cache/apt/archives/partial is missing. 明らかに、いくつかのディレクトリ構造を削除しました。apt-get rebuild-var-treeまたは同様の方法がありますか?

2
関連するサービスを開始せずにパッケージをインストールするにはどうすればよいですか?
ご存じのとおり、デフォルトでは、DebianまたはUbuntuベースのシステムにパッケージをインストールするときに、パッケージにサービスが含まれている場合、そのサービスは通常、パッケージのインストール時に有効になり、自動的に開始されます。 これは私にとって問題です。 LXCコンテナを作成するためのテンプレートを管理する必要があることに気付きました。いくつかのコンテナがあり、それぞれがDebianまたはUbuntuリリースに対応しています。(Red Hatベースのコンテナもありますが、ここでは関係ありません。) /var/lib/libvirt/filesystems/debian6_template /var/lib/libvirt/filesystems/debian7_template /var/lib/libvirt/filesystems/ubuntu1004_template /var/lib/libvirt/filesystems/ubuntu1204_template テンプレートに不足しているパッケージがあるか、他の変更が必要な場合があるので、それらをchrootしてパッケージをインストールします。残念ながら、それを行うと、パッケージのサービスのコピーがいくつか実行されてしまいます! 例として、テンプレートにsyslogデーモンがないことがわかったため、syslogデーモンをインストールしました。 for template in /var/lib/libvirt/filesystems/{debian,ubuntu}*_template; do chroot $template apt-get install rsyslog done そして、rsyslogの4つのコピーが実行されてすぐに巻き上げられました。exim4の2つのコピーは言うまでもありません。おっとっと! chrootで実行しているときにサービスを開始することは想定されていませんが、ここでは発生していません。 潜在的に実行可能な厄介なハックの 1つは、start-stop-daemonやなどの実際にサービスを開始するさまざまなコマンドを一時的に置き換えるinitctlことです。他に選択肢がない場合は... ここでの理想的な解決策は、Debianベースのシステムがこのがらくたの実行を停止することですが、それに失敗するのは、おそらくapt-get? 明確でない場合は、可能であれば、テンプレートの外部でのテンプレートの管理に関連するものは何でも保持したいと思います。




5
CentOS 5.7 64ビットにPHP 5.3.3のmcryptをインストールする方法は?
私はPHP 5.3といくつかのモジュールを使用してインストールしました yum install php53-{module-name} しかし、mcryptは機能しませんでした。 私はこのように検索しました: yum list php* | grep mcry 登場した唯一のパッケージは php-mcrypt.x86-64 5.1.6-15.e15.centos.1 extras 私はmhashでもまったく同じ問題を抱えています。phpの結果はさらに複雑です。 これはおそらく馬鹿げた質問だと思いますが、助けていただければ幸いです。私はUbuntuのシンプルな「apt-get install」に慣れており、すべてが機能します。CentOSは、より詳細指向のようです。 ありがとう。 編集:ここに私が試したものがあります: yum install php53-mcrypt 結果: No package php53-mcrypt available そしてこれを試してみてください: yum install php-mcrypt 結果: Error: php53-common conflicts with php-common php-mcryptは依存関係としてphp-commonを取得しようとするため(?)、CentOS 5.7ではデフォルトのphp 5.1ではなくphp 5.3を使用しようとしています。

2
Puppet-パッケージとバージョンのリストを取得
1つ(またはすべて)のノードのカタログをコンパイルし、その特定のデータをどこかに保存するようにpuppetに指示することは可能ですか? ノードごとに必要なすべてのパッケージとそのバージョンを取得することに特に興味がありますが、データを取得する一般的なアプローチも適しています。

5
2つのホストにインストールされているパッケージの違いのリストを計算する
Debian仮想サーバーにいくつか問題を追加し、それらすべてをゼロから再インストールするだけです。しかし、私はまだ古いバージョンにアクセスでき、インストール済みパッケージのリストを取得できました。 将来的に仮想サーバーを復元するプロセスを容易にするために、サーバーごとに特定のパッケージのリストを作成したいと思います。 私が達成したいことをよりよく説明します。私はすでに、どこでも基本的なパッケージと構成を使用して新しい仮想サーバーを作成する自動プロセスを持っています。ここで、この「スケルトン」でデルタを保存して、特定のサーバーの再インストールを簡単にしたいと思います。 本当のプラスは、変更された構成ファイルもデフォルトから保存することですが、パッケージリストだけで生きることができます。 つまり、ホストにはインストールされているが別のホストにはインストールされていないパッケージのリストを作成する方法が必要です。 リストに手動でインストールされたパッケージのみが含まれ、すべての依存関係のリストが含まれていない場合は、非常に便利です。 この特定のタスクを達成するために設計された既存のツールがある場合は、お気軽に提案してください。ただし、依存関係をできるだけ小さくしたいと思います。詳細については、これらは正確には仮想サーバーではなく、LXCコンテナーです。

4
yum updateが最後に実行された時期を確認する方法
yum updateシステムで最後に実行された時間を知るための正規の方法はありますか? 私たちのセットアップでは、自動更新を実行するステージングサーバーがあり、それらがフォールオーバーしない限り、月に1回程度(重要な更新を除き)手動で運用サーバーを更新します。(私は手動で言いますが、理想的にはそれらすべての更新を手動でトリガーしたいのですが、それは別の問題です)。 しかし、あなたは忙しくなり、タスクはスリップします。それで、私がそれをあまりにも長く残している場合、私たちを悩ませ始めるnagiosチェックをセットアップしたいと思います。 ウェブを検索しても、それほど遠くはありません。システムをたたくと、私がこれまでに見つけた最良のものは次のようなものになります: grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2 これによりMar 12、日付に変換できるようなものが得られます。日付が今年なのか去年なのかについて、いくつかの小さな問題があり/var/log/yum.log.1ます。また、logrotateの直後にチェックする場合は、チェックする必要があります。しかし、それは単なるスクリプトの詳細です。 もちろん、これは一般的な更新ではなく、単一のパッケージへの更新によって「だまされる」可能性があります。 では、いつyum update実行されたかを確認するためのより標準的な方法はありますか? 編集:私は今、私が質問で提案したアイデアを使用するNagios NRPEプラグインを作成しました。https://github.com/aptivate/check_yum_last_updateから入手できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.