GNU/Linux >> Linux の 問題 >  >> Linux

個々のプログラムを編集して再コンパイルしますか?

whereis pwd
pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz

バイナリフォルダのpwdは

と同じではありません
type pwd
pwd is a shell builtin

では、外部電源で実験を行うのは無害ではないでしょうか。たとえば、「He​​lloshell!」を追加します。原理を示すためだけにカウトしますか?

pwdのソースはどこにありますか?通常、ディストリビューション(私はDebianを使用しています)で入手しますか、それとも何らかの方法でインストールまたはダウンロードしますか? Cですか? gccを使用して他のファイルと同じようにコンパイルし、結果をパスに含まれるフォルダーに(chmodをフィッティングして)配置しますか?アップグレードはどうですか?ご存知のように、私はここで全体像を見逃しています。

(ちなみに、ヘッダーファイルは無関係のようです。パスワードのようにpwdであり、作業ディレクトリを印刷/表示するのではありません。)

承認された回答:

外部の電源で実験を行うのは無害ではないでしょうか?

/bin/pwdを何も使用しないのは悪い賭けです 。セキュリティ上の理由から、シェルスクリプト(特にrootによって一般的に実行されるスクリプト)では、外部プログラムへのフルパスを提供することをお勧めします。

それでも、カスタムのpwdを安全に作成できます それをホームディレクトリのどこかに置きます。パッケージがAutoconfを使用している場合、これは通常、ホームディレクトリの下にインストールされるパッケージを構成するのに十分です:

$ ./configure --prefix=$HOME

--prefix=$HOME/pwd-testのように言うかもしれません 代わりに、競合の可能性を回避するためです。

パッケージのビルドシステムが正しく設定されている限り、そのように設定すると、make installと安全に言うことができます。 ルートにならずに、書き込むすべてのファイルは指定したプレフィックスの下に配置する必要があるためです。

pwdのソースはどこにありますか?

pwd coreutilsの一部です 。あなたはDebianパッケージ検索エンジンでそのようなことを見つけます。

通常、ディストリビューションで入手できますか(私はDebianを使用しています)

おそらくまだディストリビューションソースをダウンロードしていませんが、そうです、Debianディストリビューションの一部と見なされています。これらは、約25 GBで構成される6ディスク(!)のソースDVDセットに分けられているため、ほとんどの人はダウンロードしません。

ただし、Debianディストリビューション全体を再構築したり、派生ディストリビューションを作成したりするようなことをしようとしているのでない限り、おそらく今でもダウンロードすべきではありません。 アラカルト この段階では、ダウンロードの方がおそらく良いでしょう。

どういうわけかそれをインストールまたはダウンロードしますか?

はい、apt-getを使用することもできます パッケージのソースコードをインストールします。これについては、APTHOWTOに全章があります。

関連:電源イベントでプログラムを実行する方法は?

(そのドキュメントは廃止とマークされていますが、代わりのドキュメントは表示されません。)

Cですか?

おそらくそうです。

gccを使用して他のファイルと同じようにコンパイルし、結果をパスに含まれるフォルダーに(chmodをフィッティングして)配置しますか?

おそらくgccを直接実行するのではなく、おそらく標準のconfigure ; make ; make install ダンス。 Debianパッケージ検索ページからソースtarballをダウンロードすると、おそらくINSTALLが見つかります。 またはREADME tarball内のファイル。ビルド手順が含まれます。

アップグレードはどうですか?

彼らをどう思いますか?パッケージ検索エンジンは、必要になる可能性のあるソフトウェアのバージョンを見つけるのに役立ち、apt-get バイナリの場合と同じように、ソースへの変更を追跡するのに役立ちます。

ここに全体像が欠けています。

次に、Debianドキュメントを確認することをお勧めします。

ヘッダーファイルは無関係のようです。パスワードのようにpwdであり、作業ディレクトリを印刷/表示するのではありません。)

うん。これは、ユーザーデータベースにアクセスするためのCプログラマー向けのユーティリティヘッダーです。 man 3 getpwentと言います そのインターフェースから何が利用できるかを知るために。


Linux
  1. SoftHSMをインストールし、Javaプログラムを介してアクセスします

  2. MySQLでユーザーを作成および編集する

  3. Debian に Redis をインストールして構成する方法

  1. Pwdと/bin/ pwdの奇妙な違いは?

  2. Debian11にTelnetをインストールして使用する方法

  3. Debian 11 に Node.js と NPM をインストールする方法

  1. KWriteとKateを使用してLinuxでテキストを編集する

  2. Debian 10 で最初の Qt プログラムを作成して実行する方法

  3. プログラムがデッドロック状態にあることを検出して見つける方法は?