這裏有兩臺主機,其中express
192.168.1.4上安裝的是Linux Mint 18.2 Sonya系統。主機名是qwfys,用戶名是lwk。ubuntu
192.168.1.25上安裝的是Ubuntu Server 16.04.3 LT系統。主機名是ubuntu,用戶名是lwk。vim
當在192.168.1.25上輸入命令apt的時候這樣的:bash
lwk@ubuntu:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:5e:65:ca brd ff:ff:ff:ff:ff:ff inet 192.168.1.25/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe5e:65ca/64 scope link valid_lft forever preferred_lft forever lwk@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial lwk@ubuntu:~$ apt apt 1.2.24 (amd64) Usage: apt [options] command apt is a commandline package manager and provides commands for searching and managing as well as querying information about packages. It provides the same functionality as the specialized APT tools, like apt-get and apt-cache, but enables options more suitable for interactive use by default. Most used commands: list - list packages based on package names search - search in package descriptions show - show package details install - install packages remove - remove packages autoremove - Remove automatically all unused packages update - update list of available packages upgrade - upgrade the system by installing/upgrading packages full-upgrade - upgrade the system by removing/installing/upgrading packages edit-sources - edit the source information file See apt(8) for more information about the available commands. Configuration options and syntax is detailed in apt.conf(5). Information about how to configure sources can be found in sources.list(5). Package and version choices can be expressed via apt_preferences(5). Security details are available in apt-secure(8). This APT has Super Cow Powers. lwk@ubuntu:~$
當在192.168.1.4上輸入命令apt的時候倒是這樣的:ssh
lwk@qwfys ~ $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 9c:b6:d0:dd:fc:f7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic wlp2s0 valid_lft 246699sec preferred_lft 246699sec inet6 fe80::a0fd:f518:e91a:dde0/64 scope link valid_lft forever preferred_lft forever lwk@qwfys ~ $ lsb_release -a No LSB modules are available. Distributor ID: LinuxMint Description: Linux Mint 18.2 Sonya Release: 18.2 Codename: sonya lwk@qwfys ~ $ apt apt Usage: apt command [options] apt help command [options] Commands: add-repository - Add entries to apt sources.list autoclean - Erase old downloaded archive files autoremove - Remove automatically all unused packages build - Build binary or source packages from sources build-dep - Configure build-dependencies for source packages changelog - View a package's changelog check - Verify that there are no broken dependencies clean - Erase downloaded archive files contains - List packages containing a file content - List files contained in a package deb - Install a .deb package depends - Show raw dependency information for a package dist-upgrade - Upgrade the system by removing/installing/upgrading packages download - Download the .deb file for a package edit-sources - Edit /etc/apt/sources.list with your preferred text editor dselect-upgrade - Follow dselect selections full-upgrade - Same as 'dist-upgrade' held - List all held packages help - Show help for a command hold - Hold a package install - Install/upgrade packages list - List packages based on package names policy - Show policy settings purge - Remove packages and their configuration files recommends - List missing recommended packages for a particular package rdepends - Show reverse dependency information for a package reinstall - Download and (possibly) reinstall a currently installed package remove - Remove packages search - Search for a package by name and/or expression show - Display detailed information about a package showhold - Same as 'held' source - Download source archives sources - Same as 'edit-sources' unhold - Unhold a package update - Download lists of new/upgradable packages upgrade - Perform a safe upgrade version - Show the installed version of a package lwk@qwfys ~ $ apt help install "apt install " is equivalent to "sudo /usr/bin/apt install " lwk@qwfys ~ $ apt help add-repository "apt add-repository " is equivalent to "sudo add-apt-repository " lwk@qwfys ~ $ apt help purge "apt purge " is equivalent to "sudo /usr/bin/apt purge " lwk@qwfys ~ $
有沒有一種辦法讓Ubuntu Server 16.04.3 LT系統也擁有Linux Mint 18.2 Sonya那樣的apt功能呢?ide
讓我咱們先查找一下apt命令的出處吧。oop
在主機192.168.1.4上咱們輸入以下命令ui
lwk@qwfys ~ $ whereis apt apt: /usr/bin/apt /usr/lib/apt /etc/apt /usr/local/bin/apt /usr/share/man/man8/apt.8.gz lwk@qwfys ~ $
在主機192.168.1.4上咱們輸入以下命令code
lwk@ubuntu:~$ whereis apt apt: /usr/bin/apt /usr/lib/apt /etc/apt /usr/share/man/man8/apt.8.gz lwk@ubuntu:~$
經過對比,咱們發現Linux Mint 18.2 Sonya系統中的目錄/usr/local/bin/下面多了一個apt文件。那麼咱們假定將Linux Mint 18.2 Sonya系統中的文件/usr/local/bin/apt複製一份放到Ubuntu Server 16.04.3 LT系統中的目錄/usr/local/bin/下,會不會有效果呢,咱們不防試一下。orm
在主機192.168.1.25上咱們輸入以下命令
lwk@ubuntu:~$ ll total 36 drwxr-xr-x 4 lwk lwk 4096 Nov 23 00:06 ./ drwxr-xr-x 3 root root 4096 Nov 10 11:20 ../ -rw------- 1 lwk lwk 3479 Nov 23 00:03 .bash_history -rw-r--r-- 1 lwk lwk 220 Nov 10 11:20 .bash_logout -rw-r--r-- 1 lwk lwk 3771 Nov 10 11:20 .bashrc drwx------ 2 lwk lwk 4096 Nov 10 11:30 .cache/ -rw-r--r-- 1 lwk lwk 655 Nov 10 11:20 .profile drwx------ 2 lwk lwk 4096 Nov 10 11:42 .ssh/ -rw-r--r-- 1 lwk lwk 0 Nov 10 11:38 .sudo_as_admin_successful -rw------- 1 root root 3433 Nov 23 00:00 .viminfo lwk@ubuntu:~$
確認主機192.168.1.25用戶lwk主目錄下沒有apt文件。
這時,在主機192.168.1.4上咱們輸入以下命令
lwk@qwfys ~ $ scp /usr/local/bin/apt lwk@192.168.1.25:~/ apt 100% 6329 6.2KB/s 00:00 lwk@qwfys ~ $
切換到主機192.168.1.25上輸入以下命令
lwk@ubuntu:~$ ll total 44 drwxr-xr-x 4 lwk lwk 4096 Nov 23 00:48 ./ drwxr-xr-x 3 root root 4096 Nov 10 11:20 ../ -rwxr-xr-x 1 lwk lwk 6329 Nov 23 00:48 apt* -rw------- 1 lwk lwk 3479 Nov 23 00:03 .bash_history -rw-r--r-- 1 lwk lwk 220 Nov 10 11:20 .bash_logout -rw-r--r-- 1 lwk lwk 3771 Nov 10 11:20 .bashrc drwx------ 2 lwk lwk 4096 Nov 10 11:30 .cache/ -rw-r--r-- 1 lwk lwk 655 Nov 10 11:20 .profile drwx------ 2 lwk lwk 4096 Nov 10 11:42 .ssh/ -rw-r--r-- 1 lwk lwk 0 Nov 10 11:38 .sudo_as_admin_successful -rw------- 1 root root 3433 Nov 23 00:00 .viminfo lwk@ubuntu:~$
這時候咱們發現apt文件的歸屬不對,這裏改一下,而後將其扔到/usr/local/bin/,而後查看有沒有生效。
lwk@ubuntu:~$ sudo chown root:root apt [sudo] password for lwk: lwk@ubuntu:~$ ll total 44 drwxr-xr-x 4 lwk lwk 4096 Nov 23 00:48 ./ drwxr-xr-x 3 root root 4096 Nov 10 11:20 ../ -rwxr-xr-x 1 root root 6329 Nov 23 00:48 apt* -rw------- 1 lwk lwk 3479 Nov 23 00:03 .bash_history -rw-r--r-- 1 lwk lwk 220 Nov 10 11:20 .bash_logout -rw-r--r-- 1 lwk lwk 3771 Nov 10 11:20 .bashrc drwx------ 2 lwk lwk 4096 Nov 10 11:30 .cache/ -rw-r--r-- 1 lwk lwk 655 Nov 10 11:20 .profile drwx------ 2 lwk lwk 4096 Nov 10 11:42 .ssh/ -rw-r--r-- 1 lwk lwk 0 Nov 10 11:38 .sudo_as_admin_successful -rw------- 1 root root 3433 Nov 23 00:00 .viminfo lwk@ubuntu:~$ sudo mv apt /usr/local/bin/ lwk@ubuntu:~$ apt apt Usage: apt command [options] apt help command [options] Commands: add-repository - Add entries to apt sources.list autoclean - Erase old downloaded archive files autoremove - Remove automatically all unused packages build - Build binary or source packages from sources build-dep - Configure build-dependencies for source packages changelog - View a package's changelog check - Verify that there are no broken dependencies clean - Erase downloaded archive files contains - List packages containing a file content - List files contained in a package deb - Install a .deb package depends - Show raw dependency information for a package dist-upgrade - Upgrade the system by removing/installing/upgrading packages download - Download the .deb file for a package edit-sources - Edit /etc/apt/sources.list with your preferred text editor dselect-upgrade - Follow dselect selections full-upgrade - Same as 'dist-upgrade' held - List all held packages help - Show help for a command hold - Hold a package install - Install/upgrade packages list - List packages based on package names policy - Show policy settings purge - Remove packages and their configuration files recommends - List missing recommended packages for a particular package rdepends - Show reverse dependency information for a package reinstall - Download and (possibly) reinstall a currently installed package remove - Remove packages search - Search for a package by name and/or expression show - Display detailed information about a package showhold - Same as 'held' source - Download source archives sources - Same as 'edit-sources' unhold - Unhold a package update - Download lists of new/upgradable packages upgrade - Perform a safe upgrade version - Show the installed version of a package lwk@ubuntu:~$
至此,咱們發現已經將Linux Mint 18.2 Sonya系統中的apt命令成功遷移到了Ubuntu Server 16.04.3 LT系統。