TL; DR : 많은 회색 영역이 있으며 수행중인 작업에 따라 다릅니다. 대부분의 경우 소프트웨어 센터 및 명령 줄 방법은 .deb
패키지와 관련하여 유사한 작업을 수행 하지만 다른 소프트웨어 패키지에는 다른 단계가 필요할 수 있습니다.
Ubuntu 소프트웨어 센터에 소프트웨어를 설치하는 것과 명령 줄의 차이점은 무엇입니까?
현실은 다음과 같습니다. 설치는 소프트웨어 패키지와 함께 제공된 파일을 적절한 디렉토리에 넣는 것 이상입니다. 명령 행 또는 Software Center를 통해 수행되는지 여부는 중요하지 않습니다. 동일한 작업을 수행하여 파일을 해당 디렉토리에 넣습니다. 그러나 중요한 것은 패키지와 처리 방법입니다. 여기에서는 우분투에서 다룰 수있는 기본 패키지 중 일부를 살펴 보겠습니다. 명령 줄과 Software Center의 차이점은 가장 기본적인 차이점은 Software Center에서 단추를 클릭한다는 것입니다. 명령 행에서 명령을 입력합니다. Software Center는 많은 Python 코드를 사용하지만 명령 줄에서는 사용하는 유틸리티에 따라 다릅니다. Software Center에서 제거 할 수있는 양도 있습니다 (아래 내용 참조).
Ubuntu 용 소프트웨어 패키지는 .deb
파일, .run
파일 및 압축 zip
또는 tar
아카이브의 원시 소스 코드의 세 가지 방법으로 제공 될 수 있습니다 . 다루는 대상에 따라 명령 줄 설치가 다소 어려울 수 있습니다. 최소한 Linux를 사용한 첫 해에는 새로운 사용자가 정말로 걱정해야 할 것이 아닙니다.
대부분 .deb
파일 을 볼 수 있습니다. 미리 컴파일 된 소프트웨어 패키지이므로 바로 사용할 수 있습니다. 이것들은 덜 고통 스럽습니다. 그들은 종종 의존성을 지정합니다-프로그램이 실행되지 않는 다른 소프트웨어. 명령 줄 유틸리티 등 apt
과 apt-get
당신을 위해 자동으로 종속성을 설치합니다. 실제로 Software Center는 apt-get
백엔드로 사용 하므로 종속성도 자동으로 설치합니다.
.run
파일은 일반적으로 독점적이고 인코딩 된 이진 파일입니다. 그들이하는 일을 실제로 볼 수는 없습니다.
원시 소스 코드를 사용하면 소프트웨어를 빌드하고 종속성을 설치하는 모든 작업을 직접 수행해야합니다.
패키지와 같은 다른 배포판에서 패키지를 설치하는 방법도 .rpm
있지만 매우 드물게 수행됩니다.
컨테이너라고하는 소프트웨어 클래스도 있습니다. 도커와 lxd
컨테이너가 있습니다. 최근 우분투는 snap
패키지 라고 알려진 것을 소개했습니다 . 모든 것에 대해 좋은 점은 무엇입니까? 기본 시스템과 안전하게 격리 된 어느 곳에서나 실행할 수 있으며 매우 빠르게 설치 / 재설치 할 수 있습니다. 이러한 유형의 소프트웨어는 Software Center를 통해 설치할 수 없으며 일반적으로 전문 시스템 관리자 또는 기술자 / 고급 사용자를 위해 설치할 수 없습니다 . 새로운 사용자로서 당신은 그것들에 대해 걱정할 필요가 없으며, 그것들이 존재하고 그것들이 훌륭하다는 것을 명심하십시오 :)
마지막으로 스크립트와 같은 파일 (및 일반적으로 단일 파일)도 응용 프로그램으로 간주 될 수 있으며 다시 설치하는 것은 해당 파일이 속해 있거나 속해야하는 곳에 해당 파일을 던지는 것 이상입니다.
명령 행으로 설치 한 일부 소프트웨어를 소프트웨어 센터에서 검색 할 수없는 이유는 무엇입니까 (윈도우 키 누름)?
다시, 이것은 실제로 패키지에 달려 있습니다. 소프트웨어 개발자가 .desktop
패키지에 파일 을 포함하기로 결정한 경우 대시에서 파일을 검색 할 수 있습니다. .desktop
파일은 훨씬 더 많은 작업을 수행하지만 Windows 바로 가기와 비슷합니다. .desktop
파일 과 함께 제공되는 명령 줄 유틸리티의 좋은 예 는 Byobu입니다. 터미널을 추가 탭 / 창으로 분리하는 데 매우 편리한 프로그램입니다.
그러나 .desktop
각 프로그램마다 고유 한 파일을 만들어 ~/.local/share/applications/
폴더에 넣을 수 있습니다.
다시 말하지만 이것은 명령 줄 또는 GUI 인 앱과 관련 이 없습니다 . 앱 개발자의 선택에 달려 있습니다.
명령 줄에서 소프트웨어를 설치하여 검색 할 수있는 올바른 명령은 무엇입니까?
다시 말하지만, 당신이하고있는 일에 달려 있습니다. 공식 우분투 리포지토리에서 소프트웨어를 설치하는 경우 간단하게 할 수 있습니다sudo apt-get install my-software
.deb
패키지를 설치하는 경우 dpkg
명령 또는을 사용할 수 있습니다 apt-get
. 다음은 apt-get으로 google-chrome deb 패키지를 설치하는 예입니다. 참고 : 설치시 나는 .deb
파일 과 같은 디렉토리 에 있으므로 ./
부분 을 지정해야합니다
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
[sudo] password for xieerqi:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .
좋은 점은 무엇입니까 apt-get
? 프로그램과 관련된 모든 것을--purge
제거 할 수있는 옵션 이 있습니다 . 예를 들어, 소프트웨어 센터에서 제거 하거나 Software Center를 통해 수행하면 구성 파일이 남을 수 있으므로 소프트웨어를 다시 설치할 때 이전과 같이 사용할 수 있습니다. 옵션은 구성 파일도 삭제합니다. 소프트웨어가 고장 나서 완전히 새로 설치하려는 경우 편리합니다. 소프트웨어 센터는 그렇게하지 않으므로 다른 차이점이 있습니다.sudo apt-get remove google-chrome-stable
--purge
.run
파일을 다루는 경우 해당 파일을 실행 가능하게 만들고 실행해야합니다. 이처럼 :
$ sudo chmod +x ./software.run
$ sudo ./software.run
시스템을 한 번 백업하고 복원했지만 이전에 "subl"과 같은 일부 명령은 시스템을 복원 한 후에 작동하지 않습니다.
수행 한 백업 유형에 따라 다릅니다. 백업 subl
에 작동 하는 데 필요한 모든 파일이 포함되어 있으면 제대로 작동 한 것입니다. 또한 subl
설치 하기 전에 백업이 수행되었을 수도 있습니다 . 백업을 올바르게 구성했는지 확인하십시오
나는이 질문들이 $ PATH에 관한 것이라고 생각하지만 이것에 관한 자료를 찾을 수 없습니다. 추가 자료가 있으면 감사하겠습니다.
$PATH
변수는 쉘 (당신이 명령을 넣어 명령 인터프리터)에 관련이있다. Unity Dash와는 관련이 없습니다. $PATH
variable은 실제로 디렉토리 목록이며, 여기서 쉘은 실행 권한이 설정된 프로그램을 검색합니다. 대시는 실제로 .desktop
파일에만 관심이 있습니다. 예를 들어, 프로그램을 /usr/bin
폴더에 넣고 명령 줄을 통해 열 수는 있지만 해당 .desktop
파일 이 없기 때문에 Dash는 그렇지 않습니다 .
에 대한 추가 자료를 찾으려면 $PATH
문자 그대로 Linux 쉘 스크립팅에 대한 책을 선택하십시오. 명령 행을 사용하려는 Linux 사용자를위한 기본 지식 항목 중 하나입니다.
일부 최종 견해 : Linux를위한 소프트웨어 설치의 복잡성은 Windows 또는 Mac 세계에서 온 새로운 사용자에게 충격을 줄 수 있습니다. 실제로, 그것은 같은 원칙입니다-그것이 속한 모든 것을 던지면 작동합니다. 프로그램 바로 가기를 찾지 못하셨습니까? 하나만 만드십시오 – 그것은 단지 텍스트 파일입니다! 컴퓨터는 기계이며 작동되어야합니다. Windows에는 %PATH%
명령 줄에 대한 변수 도 있습니다. Windows 명령 줄은 Linux보다 다재다능하고 덜 사용되기 때문에 알지 못합니다. 요컨대, 일상적으로 가장 자주 사용되는 명령 또는 작업의 약 20 %이기 때문에 볼 수있는 모든 것에 겁 먹지 말고 80 %의 작업을 수행하십시오.