生活百科
ubuntu无法定位软件包位置(安卓修改手机定位的app推荐)
2022-11-05 15:49

Ubuntu是基于Debian的、免费的Linux发行版,Ubuntu官方承诺:

Ubuntu将永远免费,包括企业版和安全升级。

Ubuntu将全球数百个公司提供商业支持。

Ubuntu包含由自由软件团体提供的最佳翻译和本地化。

Ubuntu光盘仅仅包含自由软件,鼓励用户使用自由和开源软件,并改善和传播它。

相对于RedHat系列的发行版,Ubuntu显得更为激进。如果你想体验最新的Linux内核、最新的软件仓库,Ubuntu绝对是最佳选择!今天朱哥和大家唠唠:如何在虚拟机中安装Ubuntu Server操作系统。

一. 系统安装

1.1 准备

安装之前,我们要从官网下载所需的系统镜像文件,如:

由于本次是安装服务器版的Ubuntu,所以请点击【Ubuntu Server】下的 【18.04 LTS】按钮开始下载(带有 LTS 标识的为长期支持版本)。下载完成后,我们得到的镜像文件如:
ubuntu-18.04.3-live-server-amd64.iso。

接下来,我们还要做以下准备:

  1. 在自己电脑上安装 VMware WorkstationVirtualBox 等虚拟化软件;
  2. 创建虚拟机、添加磁盘、设置虚拟机网络(可以先设置为桥接模式);
  3. 将下载好的镜像文件添加到CD驱动器中;
  4. 启动虚拟机,开始安装。

1.2 安装系统

选择安装语言: 保持默认,按回车键进入下一步

选择键盘布局: 保持默认,按回车键进入下一步

选择网路连接: 默认为DHCP动态获取IP地址。此处可保持默认,后期在系统中可以另行修改网络参数。按回车键进入下一步

设置代理服务器: 这里无需设置,直接按回车键进入下一步

设置镜像源: 可以手动将默认的,使用国内软件源可以加快软件安装的速度。输入完成后,按 Tab 键,选择 Done,然后 按回车键进入下一步

磁盘分区: 可以通过上下方向键选择菜单,这里可以选择第二个选项,即使用整块磁盘并设置LVM,按回车键开始设置

磁盘分区: 保持默认,按回车进入下一步

磁盘分区: 这里默认为 / 目录分配了 4GB 的存储空间,而且没有设置 SWAP 分区。我们可以将这 4GB 空间调整为 SWAP分区,然后将剩余空间全部分配给 / 。

通过上下方向键,选择编辑默认的 / 根目录挂载点,回车选择【Edit】菜单,如:

Format 菜单中, 将其调整为 swap 交换分区,然后回车确认

在剩余的磁盘空间中创建分区:通过上下方向键选择可用设备的 ubuntu-vg(new) 选项,然后回车,选择 Create Logical Volume菜单,以创建主分区:

将其空间调到最大值,然后在 Mount 菜单中:回车选择挂载到 / 根目录

Tab 键,选择 页面底部的 Done,按回车以保存磁盘分区设置

选择 Continue ,回车确认分区规则,执行磁盘分区

设置用户参数:

这里我们需要选择安装SSH服务,将光标停留在在 Install OpenSSH server 选项上,按下空格键选中他。然后按 Tab 键,选择 Done,进入下一步

根据需要选择其他可选服务: 这里我们暂时都不安装,保持默认,选择 Done ,开始安装系统。

等待系统安装完成,出现如下界面时,选择 Reboot 以重启虚拟机完成安装。

二. 系统配置

2.1 初始配置

2.1.1 设置ROOT用户密码

默认情况下,root 用户没有密码。通过以下命令,可以为其设置密码:

 sudo passwd root

然后按提示输入密码、确认密码即可。

2.1.2 更新系统

根据需要,可以通过以下命令更新软件或升级系统:

 # 更新软件仓库信息
 sudo apt-get update
 ​
 # 更新软件
 sudo apt-get upgrade
 ​
 # 升级系统
 sudo apt-get dist-upgrade

2.1.3 安装常用软件

为方便后续使用,朱哥为大家整理了一些常用软件。可以一次性安装:

 sudo apt-get install -y gcc g++ make cmake build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config libexpat1-dev gettext libz-dev

2.2 网络配置

2.2.1 基本参数

新版的UbuntuServer采用netplan配置网络,其配置文件在/etc/netplan目录下,修改配置文件:

 sudo vim 50-cloud-init.yaml

具体可参考以下配置:

 network:
     version: 2
     ethernets:
       enp0s3:
         dhcp4: no
         dhcp6: no
         addresses: [192.168.0.110/24]
         gateway4: 192.168.0.1
         nameservers: 
           addresses: [114.114.114.114, 223.5.5.5, 223.6.6.6]

更新网络配置:

 sudo netplan apply 

2.2.2 防火墙配置

① 检查防火墙状态:

 sudo ufw status verbose

如果输出:Status: inactive 说明防火墙未被激活。

②激活、启用防火墙:

 sudo ufw enable 
 sudo ufw default deny

如需关闭防火墙,可执行:

 sudo ufw disable

③ 开启/禁用相应端口或服务举例

 # 允许外部访问80端口
 sudo ufw allow 80
 ​
 # 禁止外部访问80 端口
 sudo ufw delete allow 80
 ​
 # 允许此IP访问所有的本机端口
 sudo ufw allow from 192.168.0.1
 ​
 # 禁止外部访问smtp服务
 sudo ufw deny smtp
 ​
 # 删除上面建立的某条规则
 sudo ufw delete allow smtp
 ​
 # 要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
 sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22
 ​
 # 可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是思科的网络分级)
 sudo ufw allow from 10.0.0.0/8
 sudo ufw allow from 172.16.0.0/12
 sudo ufw allow from 192.168.0.0/16

2.3 清理过期内核

随着系统的不断更新、升级,一些过时的老旧内核会占用一些磁盘空间,我们可以将其移除。

首先查看当前使用的内核版本:

 uname -a

查看系统中存在的内核:

 dpkg --get-selections|grep linux

移除过期内核,如:

 sudo apt-get remove linux-image-xxxxxx-generic
 sudo apt-get remove linux-headers-xxxxxx
 sudo apt-get remove linux-headers-xxxxxx-generic

如果清理完还有deinstall状态的记录,如

 linux-image-4.8.0-36-generic            deinstall
 linux-image-extra-4.8.0-36-generic      deinstall

可以执行清理

 dpkg -P linux-image-4.8.0-36-generic
 dpkg -P linux-image-extra-4.8.0-36-generic

2.4 APT-GET 使用

2.4.1 什么的是apt-get

APT(Advanced Packaging Tools)是Debian及其衍生发行版的软件包管理器。APT可以自动下载、配置、安装二进制或者源代码格式的软件包。她简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限,所以一般跟着sudo命令。她和yum 、pacman、installpkg等性质差不多,都是系统软件的管理工具。

2.4.2 apt-get中文参数

 # 用法:apt-get [选项] 命令,如:
 sudo apt-get [选项] install|remove pkg1 [pkg2 ...]  
 sudo apt-get [选项] source pkg1 [pkg2 ...]  
   
 # apt-get 是一个下载安装软件包的简单命令行接口。  
 # 最常用的命令是update(更新)和install(安装)。  
   
 ########### 命令 ###########
 # 更新本地软件包缓存列表
 sudo apt-get update

 # 更新已安装的包
 sudo apt-get upgrade

 # 安装新的软件包  
 sudo apt-get install

 # 移除软件包
 sudo apt-get remove

 # 自动移除全部不使用的软件包
 sudo apt-get autoremove

 # 移除软件包和配置文件
 sudo apt-get purge

 # 下载源码
 sudo apt-get source

 # 为源码包配置编译依赖
 sudo apt-get build-dep

 # 升级系统
 sudo apt-get dist-upgrade

 # 依照 dselect 的选择升级
 sudo apt-get dselect-upgrade

 # 清除下载的安装包
 sudo apt-get clean

 # 清除旧的的已下载的归档文件
 sudo apt-get autoclean

 # 检查是否有损坏的依赖
 sudo apt-get check  
   
 ########### 选项 ###########
  -h 本帮助文件。  
  -q 输出到日志 - 无进展指示  
  -qq 不输出信息,错误除外  
  -d 仅下载 - 不安装或解压归档文件  
  -s 不实际安装。模拟执行命令  
  -y 假定对所有的询问选yes,不提示  
  -f 尝试修正系统依赖损坏处  
  -m 如果归档无法定位,尝试继续  
  -u 同时显示更新软件包的列表  
  -b 获取源码包后编译  
  -V 显示详细的版本号  
  -c=? 阅读此配置文件  
  -o=? 设置自定的配置选项,如 -o dir::cache=/tmp

2.4.3 apt-get 常用实例

 # 搜索包
 sudo apt-cache policy #package#

 # 搜索包
 sudo apt-cache search #package#

 # 获取包的相关信息,如说明、大小、版本等
 sudo apt-cache show #package#

 # 安装包
 sudo apt-get install #package#

 # 重新安装包
 sudo apt-get install --reinstall #package#

 # 强制安装, "-f = --fix-missing"当是修复安装吧...
 sudo apt-get -f install #package#

 # 删除包
 sudo apt-get remove #package#

 # 删除包,包括删除配置文件等
 sudo apt-get remove --purge #package#

 # 删除包及其依赖的软件包+配置文件等
 sudo apt-get autoremove --purge #package#

 # 更新源
 sudo apt-get update

 # 更新已安装的包
 sudo apt-get upgrade

 # 升级系统
 sudo apt-get dist-upgrade

 # 使用 dselect 升级
 sudo apt-get dselect-upgrade

 # 了解使用依赖
 sudo apt-cache depends #package#

 # 了解某个具体的依赖,当作查看该包被哪些包依赖吧
 sudo apt-cache rdepends #package#

 # 安装相关的编译环境
 sudo apt-get build-dep #package#

 # 下载该包的源代码
 sudo apt-get source #package#

 # 清理下载文件的存档 && 只清理过时的包
 sudo apt-get clean && apt-get autoclean

 # 检查是否有损坏的依赖
 sudo apt-get check

 # 查找filename属于哪个软件包
 sudo dpkg -S #filename#

 # 查找filename属于哪个软件包
 sudo apt-file search #filename#

 # 列出软件包的内容
 sudo apt-file list #package#

 # 更新apt-file的数据库
 sudo apt-file update

 # 列出软件包解包后的包名称.
 sudo dpkg --info #package#

 # 列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
 sudo dpkg -l

 # 查看系统中与"软件包名"相关联的包.
 sudo dpkg -l |grep -i #package#

 # 查询已安装的包的详细信息.
 sudo dpkg -s

 # 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
 sudo dpkg -L

 # 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
 sudo sudo dpkg -I 

 # 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
 sudo dpkg -i #package#

 # 卸载软件包.不是完全的卸载,它的配置文件还存在.
 sudo dpkg -r #package#

 # 全部卸载(但是还是不能解决软件包的依赖性的问题)
 sudo dpkg -P #package#

 # 重新配置
 sudo dpkg -reconfigure

2.4.4 常见问题

更新出现:

 The following packages have been kept back:
     linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04

这主要是检测到内核更新,需要执行命令:

 sudo apt-get dist-upgrade

三. 总结

Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!

发表评论
0评