답변:
이 동작을 담당하는 패키지는 command-not-found 패키지이며 기본적으로 비활성화되어 있지만 원하는 동작이 이미 포함되어 있습니다. 다음 줄을 추가하여 활성화 할 수 있습니다~/.bashrc
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
이제 동작이
The program 'x' is currently not installed. You can install it by typing:
sudo apt-get install x
Do you want to install it? (N/y)
참고 :
파이썬 충돌 (특히 AttributeError: 'str' object has no attribute 'decode'
) 에 대한 메시지가 표시되면 버그 1073919 입니다. Raring and Saucy에 대한 수정 프로그램이 이미 있습니다. 또는 ( 고급 사용자 만 해당 ) 파일을 변경할 수 있습니다. 변경 /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py
해야하는 행은 버그 보고서에 첨부 된 diff를 참조하십시오.
편집 : 수정 프로그램은 이제 Raring (SRU)의 0.3ubuntu7.1 버전과 Saucy의 0.3ubuntu8 버전으로 릴리스되었습니다.
내 솔루션은 보안과 편안함 사이의 하이브리드입니다.
auto-apt는 환경 내에서 실행중인 프로그램의 파일 액세스를 확인하고 프로그램이 제거 된 패키지에 속하는 것으로 알려진 파일에 액세스하려고하면 auto-apt는 apt-get을 사용하여 해당 패키지를 설치합니다. 이 기능을 사용하려면 apt 및 sudo가 필요합니다. 또한 요청 된 파일이 포함 된 패키지를 검색 할 수있는 간단한 데이터베이스를 제공합니다.
각 파일 액세스가 자동 조정으로 미리 확인되는 환경에 들어가고 존재하지 않는 경우 데이터베이스에서 검색 apt-file
하여 원하는 패키지를 다운로드하여 설치 한 다음 프로그램을 계속할 수 있는 터미널 에뮬레이터입니다. . 루트로 실행해야합니다.
sudo auto-apt
이것은 패키지를 작성 중이고 누락 된 헤더 등에 대한 각 구성 오류를 찾는 화면 앞에서 기분이 좋지 않은 경우에 유용합니다.
또한 apt-get + apt-file 교체로 사용하여 프로그램 command
을 실행 하도록 지시하는 프로그램을 설치할 수 있습니다 .
시스템이 보이지 않을 때는 마치 루트 사용자를 사용하는 것처럼 시스템을 열어 두지 말아야한다는 것을 이해해야합니다.
매뉴얼 페이지 : http://derpi.tuwien.ac.at/cgi-bin/man/man2html?1+auto-apt
자동 설치는 나쁜 생각입니다. 타이핑을 저장하고 싶다면
sudo apt-get install !!
여기서 !!
history의 마지막 명령으로 대체됩니다. 아마도 이것을 별명으로 만들 수도 있지만 !!
평가하지 않고 추가하는 방법을 모르겠습니다 .
댓글에 @ eliah-kagan과 @gertvdijk가 언급했듯이 몇 가지주의 사항이 있습니다. 일부 프로그램은 실행할 바이너리와 패키지 이름이 동일하지 않습니다. 또한 이진에 인수를 전달하면 예기치 않은 결과가 발생할 수 있습니다.
제안 된 패키지를 빠르게 설치하는 몇 가지 방법이 있습니다.
export COMMAND_NOT_FOUND_INSTALL_PROMPT=1
같은 곳에 추가~/.bashrc
비록 가장 안전하지는 않지만 이것은 "가장 멋진"방법이지만 시간의 90 %는 내부 "감사합니다. 응답.
(이 방법의 한 가지 개인적인 단점은 대답을 기억 / 검색하기 어려운 것으로 보이므로 지금까지 많이 사용하지 않는 경향이 있다는 것입니다.)
기본 터미널을 사용하는 경우 신속하게 행을 선택하고 마우스 가운데 버튼을 클릭하여 명령 행에 직접 붙여 넣을 수 있습니다. (다른 터미널 또는 SSH 앱에는 다른 방법이있을 수 있습니다.)
실제로, 나는 이것을 "빨리"실수로하기에는 충분히 빠르며, 조금 더 어려워서, 사전 설정 없이도 대신하는 경향이있다.
그러나 sudo apt install packagename
직접 타이핑하기 위해 빠르게 타이핑 할 수 있거나 배우고 싶다면 말할 것도 있습니다.
그것은 근육 기억력을 행사하는 데 도움이되며 패키지 이름을 읽고 입력해야 함을 의미하므로 나중에 더 쉽게 기억할 수 있습니다. apt
대신에 작동 하기 때문에 최신 우분투 버전에서는 약간 더 쉽습니다 apt-get
.
~/.bashrc
대신에 의미 했습니다 ~/.bash_rc
.
.bash_profile
.