2014-02-10 64 views
1

我需要binutils包中的鏈接器ld。 但我遠程工作的服務器已經有ld版本,但它太舊了。apt-get install會替換舊版本嗎?

如果我做

sudo apt-get install binutils 

這將取代舊的,可能惹了誰需要這個舊版本的其他用戶?

如果是的話,我怎樣才能得到一個ld只爲我?

回答

1

它會爲所有共享同一standart/bin和/ usr/bin的用戶更新ld,除非他們生活在chroot之內,那麼它根本不會影響他們。

你可以採取更新的二進制,並把在另一個地方(這應該是在你的PATH),所以你可能mkdir ~/.bin,所有其他目錄之前將其添加到PATH和用新鮮ld

但是這種方式很弱,因爲每次你想更新ld時都需要手動更新它。

因此,最好的辦法是讓所有用戶都在自己的chroot服務器上(這也會增加安全性,因爲您的代碼與他們的代碼分離,反之亦然),並在您需要時在您的chroot中更新ld

+0

有沒有辦法知道我們是否在chroot中? – anotherCode245

+0

我想,你應該看看這個問題:http://unix.stackexchange.com/questions/14345/how-do-i-tell-im-running-in-a-chroot –

+0

順便說一句,我建議只更新爲它在你的問題中描述,除非你完全確定,其他用戶需要老'ld'。 –

1

是,將取代LD的當前版本

binutils的包中包含: libc6的(> = 2.11)

的zlib1g(> = 1:1.1.4)

所以,我認爲你需要手動更新ld

+0

問題是我找不到二進制文件,如果我嘗試從源代碼進行編譯,那麼即使您更新了ld,我最終也會得到「此連接器未配置爲使用sysroot」 – anotherCode245

+0

,我認爲這不會影響使用它的用戶, 我對嗎 ? – Redaa

+0

我不知道,我希望如此:) – anotherCode245

相關問題