사용자로서 일부 Ubuntu 서버에 대한 SSH 액세스 권한이 있고 편의를 위해 시스템 도구가 아닌 일부 도구(mc, rtorrent, mcedit)를 설치해야 한다고 가정합니다. 나는 이러한 작은 프로그램에 대해 관리자를 귀찮게 하고 싶지 않습니다.
다음과 같은 것을 사용하지 않고 설치(실행)하는 방법이 있습니까 sudo apt-get install
?
답변1
소스에서 이를 컴파일해야 합니다. 그것은 단지 문제가되어야합니다
apt-get source PACKAGE
./configure --prefix=$HOME/myapps
make
make install
그러면 바이너리는 ~/myapps/bin
. 따라서 파일 export PATH="$HOME/myapps/bin:$PATH"
에 추가 .bashrc
하고 . 물론 이는 시스템에 gcc가 설치되어 있다고 가정합니다..bashrc
source ~/.bashrc
답변2
컴파일하고 설치합니다 (그리고 이를 포함하도록 설정하도록
~/bin
편집 ). 라이브러리는 유사하게 컴파일 및 설치될 수 있으며 ( 이를 가리키도록 설정), 개발 헤더는 예를 들어 ..bashrc
PATH
~/lib
LD_LIBRARY_PATH
~/includes
설치하려는 프로그램의 특정 세부 사항과 해당 프로그램이 의존하는 라이브러리에 따라 .deb 파일을 다운로드하고 '
dpkg-deb -x
'를 사용하여 홈 디렉터리 아래에 압축을 풀 수 있습니다. 그러면PATH
,LD_LIBRARY_PATH
및 기타 설정을 "재미있게" 즐길 수 있습니다variables
. 설치하는 프로그램이나 앱이 복잡할수록 더 재미있을 것입니다 :)물론 이 방법으로 바이너리를 설치할 수는 없습니다
setuid
. 바이너리는 설치되지만 (루트 권한을 부여하거나 비트를 설정할 권한이 없기 때문에setuid
) 바이너리는 귀하가 소유한 일반 바이너리일 뿐입니다. .마찬가지로, 특정 항목으로 실행되거나
UID
uid를 변경할 수 있는 기능이 있거나 파일이 있을 것으로 예상하는 데몬 및 시스템 서비스는/etc
전혀~/etc
제대로 작동하지 않을 가능성이 높습니다.대부분의 시스템 관리자는 "대부분 무해한" 무해한 프로그램을
mc
고려 하고 있습니다.mcedit
그러나 토렌트 클라이언트 설치가 무해하다고 생각하는 사람은 거의 없습니다. 특히 대역폭 비용을 지불해야 하거나 결국 법적 책임을 져야 하는 경우에는 더욱 그렇습니다. 대부분의 시스템 관리자는 최종 사용자가 허가 없이 그러한 소프트웨어를 설치하는 것을 별로 좋아하지 않을 것입니다. 그들은 "물론이죠, 어서 하세요"라고 말할 수도 있고 그렇지 않을 수도 있습니다. 그러나 기계의 소유자/관리자에게 문제를 일으킬 수 있는 모든 것에 대해 물어봐야 합니다.
답변3
당신이 사용할 수있는준네스트, 사용자 디렉터리에 작은 Linux 컨테이너를 생성하여 모든 패키지를 설치할 수 있습니다.
답변4
실제로 제가 오늘 만든 도구가 있습니다.
https://github.com/z3r0n3t/pkget
필요한 것은 bash에 액세스하는 것뿐입니다. 루트는 특별한 것이 아닙니다. whet을 사용하여 zip 파일로 다운로드하거나 git clone을 사용할 수 있습니다.