LinuxシステムでのGNUCoreutilsの使用を中止することを考えていましたが、正直なところ、他の多くのGNUコンポーネントとは異なり、できません。 (Linuxの場合)代替案を考えてください。 GNU coreutilsに代わるものは何ですか?複数のパッケージが必要ですか?プロジェクトへのリンクは、ディストリビューションパッケージに名前を付けるための必須のボーナスポイントです。
また、Linuxで動作し、手順を参照できることを知っている場合を除いて、提案しないでください。Iすぐにカーネルを切り替えるのではないかと疑っています。単純な./configure; make; make install
以外のことにはあまりにも怠惰です。確かにCをハックするつもりはありません。
警告:ディストリビューションがcoreutilsを使用している場合、それらを削除すると、ディストリビューションの機能が損なわれる可能性があります。ただし、ほとんどのスクリプトは絶対パスを使用する必要があるため、$PATH
の最初に配置しなくても問題は発生しません。
コメント
回答
busybox
のお気に入り組み込みLinuxシステム。
BusyBoxは、多くの一般的なUNIXユーティリティの小さなバージョンを1つの小さな実行可能ファイルに結合します。これは、GNU fileutils、shellutilsなどで通常見られるほとんどのユーティリティの代替品を提供します。BusyBoxのユーティリティは、通常、フル機能のGNUいとこよりもオプションが少なくなっています。ただし、含まれているオプションは期待される機能を提供し、GNUの対応するオプションと非常によく似た動作をします。 BusyBoxは、小規模または組み込みシステムにかなり完全な環境を提供します。
BusyBoxは、サイズの最適化と限られたリソースを念頭に置いて作成されています。 。また、非常にモジュール化されているため、コンパイル時にコマンド(または機能)を簡単に含めたり除外したりできます。これにより、組み込みシステムを簡単にカスタマイズできます。動作するシステムを作成するには、/ devにいくつかのデバイスノード、/ etcにいくつかの構成ファイル、およびLinuxカーネルを追加するだけです。
ほとんどのcoreutil名をbusyboxバイナリへのリンクにすることができ、それは機能します。 busybox <command>
を実行することもできます。例:「Gentooを使用していて、vi
をまだインストールしていない場合は、busybox vi filename
を実行すると、viになります。 。それは
-
Alpine Linux -BusyBoxとuClibc、
概要はこちら
コメント
- ディストロへのリンクを使用して、これを自由に変更してください
- また、これは埋め込みでお気に入りなので、代替手段では'ではおそらく十分ではありません。デスクトップ/サーバー環境のGNUを置き換える
- Cをハックしたくない場合は、これが唯一の実用的なソリューションatmです。'そしてbusyboxのバージョンはかなり標準的な適合。
Answe r
これは古いトピックだと思いますが、ただし、このソリューションは言及されておらず、「Linux withbsduserland」のグーグルで比較的高くなっています。
別の解決策があります:家宝。Archで動作することはわかっています。AURにパッケージ化されています(たとえば、gnu2sysvを見てください)。これにより、Archのcoreutilsパッケージが置き換えられ、同等の家宝が提供されます。archのwikiですべてを読むことができます: https://wiki.archlinux.org/index.php/Base2heirloom
回答
これは、Rustで記述されたGNUcoreutilsのクロスプラットフォーム実装です。 MITライセンスです。この回答を書いている時点では、100℅完全ではありません(ls
やcp
などの重要なものがありません)が、他の多くのものがあります
回答
GNU Coreutilsを取り除くのに苦労していると思いますが、そこにあります。 GNUツールのドロップイン代替品ではありませんが、常に同等のBSDツールです。
コメント
- BSDのインストール方法を教えてください。 Linuxディストリビューションのツール?どこで入手できますか?
- FreeBSD ' OS全体はCVS freebsd.org/cgi/cvsweb.cgi/src ただし、LinuxカーネルでBSDユーザーランドをコンパイルするのはかなり難しいでしょう。GNU'のユーザーランドはGNU 'のユーザーランド(少なくとも最初は)は複数のカーネル間で移植できるように構築されているため、おそらくBSDよりも移植性が高いでしょう。
- それはいいですねea PITA、'誰かがLinux用に少なくとも1回はパッケージ化した可能性があるかどうかを確認してください。
- Solaris(140現在-何かも利用可能です)オプションにもなります。ディストリビューションを使用している場合、あなたは夢中です。今すぐ停止します。 LFS を使用している場合は、ぜひご利用ください。楽しむ!ディストリビューションを作成している場合は、勇気あるサーに拍手を送ります。
- ええ、'わかりません' sも可能です。 ' FreeBSDをインストールして、Linuxとの互換性を有効にする方がおそらく簡単です。 GNU coreutilsはFreeBSDで簡単に動作させることができますが、その逆はできません。
回答
通常、誰かが「広く使用され、十分にテストされ、多くのプラットフォームで検証されている」何かから逃れるように頼んだとき、それは「コードの臭い」および「技術的負債」の制御されていない蓄積として知られる根本的な問題の外見的な表現です。 「コードの負債」。 GNUアーカイブは、何年にもわたってかなりの量のコード債務を積み上げてきました。コードベースが適切に維持されていないと、限界点に達する可能性があります(レガシーコード、さらには病的なレガシーコード)。
通常、 、これを制御し続けるために、間隔を置いてリエンジニアリングとリファクタリングのプロセスを実行します。したがって、ここで提起されている本当の問題は、coreutilsのリファクタリングバージョンが開発されているかどうかです。これには、もちろん、完全な置き換えの可能性が含まれます(特別な場合として)-WaylandがX …開発者の多くはXキャンプから直接出てきます。
私の提案は、実際にcoreutilsにアクセスして、coreutilsをリファクタリングすることです。誰かがやらなければなりません。そして、coreutilsの置き換えの問題を提起する人は誰でも-あなたのアイデアはあなたのプロジェクトです。
この目的のために、cscoutのようなリファクタリングエンジン、またはより高度な分析/合成方法を適用するものなど、見つけることができる自動化を活用してください(例えば、正式な概念の格子)。しかし、詳細な分析はまだ比較的新しくオープンな活発な研究分野であり、人工知能にまたがっています。 (ロボットソフトウェアエンジニア。)
ほとんどのユーティリティにはすでにテストスイートが用意されているはずなので、段階的な変更と自動回帰テストの手順で検証を行うことができます。これはかなり速く進む可能性があります(たとえば、1日あたり10回以上のリビジョン更新)。ソフトウェアスイートのどこかにハードウェアまたは低レベルのソフトウェアの依存関係がある場合、このプロセスは複雑になります。複数のプラットフォームでの検証が必要になるためです。 coreutilsにあることの多くはわかりません。ハードウェアまたは低レベルのソフトウェア層から何らかの分離が必要です(たとえば、coreutilsがタイプの種類を知っている場所の数マルチプラットフォームテストを行う目的で使用されるエミュレーターと仮想マシンには制限があります。たとえば、Mac OS Xは、機能を妨害するように特別に設計されています。エミュレートまたはVMする。
回答
Solaris(svn_140以降)もオプションです。
ディストロを使用している場合は、頭がおかしいです。今すぐやめてください。精神的な助けを求めてください。
LFSを使用している場合、頑張ってください!楽しんでください!
あなたがディストロを作っているなら、私はあなたの勇敢なサーに拍手を送ります。
コメント
- これ'どのディストリビューション"を使用できるかについての"に関する質問ではありません
。 ' opensolaris coreutilsを参照していない限り、また、これはFreeBSDオプションよりもPITAではありませんか?
a>ですが、'その逆のことは聞いたことがありません。カーネルの切り替えは本当に簡単です。恥ずかしがり屋です。