美文网首页
迁移Linux mint 18.2 apt到Ubuntu Ser

迁移Linux mint 18.2 apt到Ubuntu Ser

作者: qwfys | 来源:发表于2018-01-03 21:08 被阅读21次

    1、问题描述

    这里有两台主机,其中

    192.168.1.4上安装的是Linux Mint 18.2 Sonya系统。主机名是qwfys,用户名是lwk。

    192.168.1.25上安装的是Ubuntu Server 16.04.3 LT系统。主机名是ubuntu,用户名是lwk。

    当在192.168.1.25上输入命令apt的时候这样的:

    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的时候却是这样的:

    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功能呢?

    2、解决方案

    让我我们先查找一下apt命令的出处吧。

    在主机192.168.1.4上我们输入如下命令

    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上我们输入如下命令

    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/下,会不会有效果呢,我们不防试一下。

    在主机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系统。

    相关文章

      网友评论

          本文标题:迁移Linux mint 18.2 apt到Ubuntu Ser

          本文链接:https://www.haomeiwen.com/subject/tsmknxtx.html