RHCE的学习(12)

第九章 Ubuntu

什么是Ubuntu

概述

  • Ubuntu(乌班图)属于Debian系列,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。

  • Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable、testing 和 unstable。

  • Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。

  • Ubuntu Server是Ubuntu操作系统的一个版本,是Ubuntu家族的一员,被工程设计作为互联网的骨干系统,Ubuntu Server为公共或私有数据中心带来经济和技术上的可扩展性。

Ubuntu版本简介

桌面版
  • 网址:https://cn.ubuntu.com/download

  • 桌面版是带有GUI界面、面向普通用户使用的操作系统,预装了可帮助用户执行日常基本活动的软件,如:视频、浏览器、文本处理、电子邮件和多媒体等,对标Windows10操作系统

服务器版
  • 服务器版本用于托管网络服务器和数据库等应用程序,是专业人员使用的服务器操作系统

  • 注意:

    • 一般选择LTS长期更新版,LTS为“长期支持”版本每两年在4月份发布一次。LTS版本是Ubuntu的“企业级”版本,使用得最多。估计95%的Ubuntu安装都是LTS版。

    • 可以在开源镜像站点下载,如阿里开源镜像

部署系统

新建虚拟机

安装系统

  • 择安装语言,默认 【 English 】,直接回车

  • 选择键盘,默认回车

  • 安装的服务器版本,如需精简版本选择 【Minimized】最小安装,此处根据需求自行选择,本次安装选择 【 Ubuntu Server

  • 网络设置,此处默认使用DHCP,回车即可

  • Proxy(代理配置),用于访问安装程序环境和已安装系统中的包存储库和snap存储库,不用配置,回车即可

  • 配置软件源,建议更改为国内镜像源提高下载速度,也可以直接回车,以后在更改

  • 系统分区,选择安装磁盘,直接回车默认自动分配,需要手动分区的话选择 【custom storage layout】。此次安装选择【Custom storage layout】进行手动分区,按Tab进行选项选择,按空格键选中选项后回车

  • 新建第一个分区:/boot,容量1GB

  • 添加第二个分区:/根分区,剩余容量,不填即可

  • 设置计算机名、用户名及密码

    • your server name:主机名

    • pick a useranme:账户名

    • 注意:ubuntu默认不能设置root密码,可以安装完毕后,使用命令更改root密码

  • 安装OpenSSH Server 服务,空格键选中

  • 选择安装其他服务,直接跳过

  • 开始系统安装

  • 安装完成后选择【Reboot Now】重启系统

  • 注意:出现下列报错,表示未找到光驱,回车即可

  • 使用之前创建的普通账户登录

部署后的设置

设置root密码

  • 由于默认的root用户没有固定密码,则可以通过下列方法更改并切换账户

andy@server:~$ sudo  passwd  root   # 以普通账户登录后执行此命令修改root初始密码
[sudo] password for andy:     # 普通账户的密码
New password:                 # 新的root密码 
Retype new password:          # 再输入一遍
passwd: password updated successfully
andy@server:~$ su - root      # 切换到root账户
Password: 
root@server:~# 

关闭防火墙

root@server:~# systemctl status  ufw    # 查看ufw防火墙状态
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; preset: enabled)Active: active (exited) since Sat 2023-12-02 07:55:04 UTC; 13min agoDocs: man:ufw(8)Main PID: 624 (code=exited, status=0/SUCCESS)CPU: 1msroot@server:~# systemctl  stop  ufw
root@server:~# systemctl  disable  ufw

启用允许root进行ssh

root@server:~# vim  /etc/ssh/sshd_config
PermitRootLogin 的参数设为yesroot@server:~# systemctl  restart  ssh   # 注意服务接口为ssh

安装所需软件

root@server:~# apt  install  tree  gcc  make  net-tools  openvswitch-switch -y

制作快照

网络配置

Netplan概述

  • Netplan —— 抽象网络配置生成器 ,是一个用于配置 Linux网络的简单工具。

  • 通过 Netplan ,你只需用一个 YAML文件描述每个网络接口需要配置成啥样即可。 根据这个配置描述, Netplan 便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥

  • Netplan 的特点和功能:

    • YAML 语法:Netplan 使用 YAML 文件格式来描述网络配置信息。YAML 格式旨在使文件易于编写、阅读和理解。您可以在每行结束时添加注释以方便自己和其他管理员查看文件。

    • 多种网络选项:Netplan 支持多种网络选项,包括 IP 地址、子网掩码、网关、DNS 设置、静态路由和 DHCP 客户端等。您可以根据需要选择所需的选项并将其添加到配置文件中。

    • 支持多个网络接口:Netplan 支持管理多个网络接口。无论您使用有线或无线网络,或者使用虚拟网络接口,都可以在配置文件中指定各个接口的设置。

    • 自动应用配置:当您修改 Netplan 配置文件后,Netplan 会自动将其应用到相应的网络接口上。这意味着您无需手动执行命令即可生效所做的更改。

    • 兼容性:Netplan 可以与旧版网络管理工具共存,并且可以在 Ubuntu 16.04 及更高版本上运行。如果您已经使用 ifupdown 或 NetworkManager 进行网络配置,您可以继续使用这些工具,或者将其与 Netplan 配置文件结合使用。

  • Netplan目前支持以下两种 网络管理工具 :

    • NetworkManager

    • Systemd-networkd

    • 一言以蔽之,从前你需要根据不同的管理工具编写网络配置,现在 Netplan将管理工具差异性给屏蔽了。 你只需按照 Netplan规范编写 YAML 配置,不管底层管理工具是啥,一份配置走天下!

配置详解

配置文件
# 默认配置文件:/etc/netplan/*.yaml# 本机
root@server:~# vim  /etc/netplan/50-cloud-init.yaml 

DHCP
network:             ethernets:ens32:dhcp4: trueversion: 2

静态IP设置
  • 注意:netplan 说明文件格式存储在下列路径下,该目录下有各种样例文件,可以提供帮助

root@server:~# cd  /usr/share/doc/netplan/examples/
root@server:/usr/share/doc/netplan/examples# ls
bonding_router.yaml               infiniband.yaml          sriov_vlan.yam    ……# 静态IP范例
root@server:/usr/share/doc/netplan/examples# cat  static.yaml 
network:version: 2renderer: networkdethernets:enp3s0:        # 网卡名addresses:- 10.10.10.2/24    # 静态IP地址/子网掩码nameservers:search: [mydomain, otherdomain]    # 域名addresses: [10.10.10.1, 1.1.1.1]   # DNS解析地址1 , DNS解析地址2routes: - to: defaultvia: 10.10.10.1    # 网关地址
  • 查看本机IP信息

# IP and netmask:
root@server:~# ifconfig  ens32  # IP:192.168.48.151
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.48.151  netmask 255.255.255.0  broadcast 192.168.48.255inet6 fe80::20c:29ff:fee1:522e  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:e1:52:2e  txqueuelen 1000  (Ethernet)RX packets 52971  bytes 74147184 (74.1 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 11760  bytes 744059 (744.0 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0# gateway:      192.168.48.2
root@server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.48.2    0.0.0.0         UG    100    0        0 ens32# DNS:114.114.114.114
  • 设置

root@server:~# vim  /etc/netplan/50-cloud-init.yaml 
# 清除已有内容,将静态IP范例文件内容拷贝到当前配置中,在修改,注意缩进格式
network:ethernets:ens32:dhcp4: noaddresses: [192.168.48.150/24]routes:- to: defaultvia: 192.168.48.2    #via经过,路过  next hopnameservers:addresses: [114.114.114.114]version: 2
  • 生效

root@server:~# netplan  apply

软件安装

方法

  • 使用 apt 工具安装 dpkg -i apt

  • deb 软件包安装 rpm -ivh yum/dnf

  • 自己下载程序源码编译安装

apt安装软件

作用

  • Apt (Advanced package tool) 是一个命令行包命令行包管理工具,适用于 Ubuntu / Debian Linux。

  • Apt 用于在 Ubuntu / Debian 系统中从命令行安装、删除、更新和升级 Debian 包。Apt 克服了在 apt-get 命令中注意到的问题和错误。使用 apt 命令时,用户必须具有 sudo 权限

常用命令

apt update : 更新软件仓库信息,建议在安装或升级包之前执行该命令
apt list : 列出所有可用的软件包
apt list --installed :只列出已安装的包
apt list --upgradeable :只列出可升级的包
apt install 软件包名  -y :安装新软件包
apt download 软件包名 : 下载软件包而不安装
apt remove 软件包名 : 删除软件包
apt upgrade : 升级所有软件包
apt install 包名 --only-upgrade : 要升级特定的安装包
apt full-upgrade : 全面系统升级,请务必小心,因为它可能会删除已安装的软件包并安装更新的软件包
apt search 软件包名 : 搜索软件包
apt show nginx : 查看软件包信息
apt clean : 清除apt缓存

配置apt源

  • 配置文件:

/etc/apt/sources.list
  • 推荐的源

序  号源       地址
1   阿里       http://mirrors.aliyun.com/ubuntu/
2   网易       http://mirrors.163.com/ubuntu/
3   搜狐       http://mirrors.sohu.com/ubuntu/
4   华为云      http://repo.huaweicloud.com/ubuntu/
5   中国官方    http://cn.archive.ubuntu.com/ubuntu/
6   官方       http://archive.ubuntu.com/ubuntu/
7   清华        http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
8   中科大      http://mirrors.ustc.edu.cn/ubuntu/
  • 修改:

    • 打开文件:vim /etc/apt/sources.list

    • 将默认的Index of / , 替换为 mirrors.aliyun.com ,如:

#光盘挂载 mount /dev/cdrom /cdrom

软件包的路径:/cdrom/pool/main/xxxx.deb

  • 最后需要更新软件列表:

root@server:~# apt  update
root@server:~# apt install kubuntu-desktop
default-display-manager 的设置。可以通过编辑 /etc/x11/default-display-manager 
文件来配置默认的显示管理器。如果该文件中的值为 /usr/sbin/gdm,则会进入 gdm 图形界面;
如果是 /usr/sbin/lightdm,则进入 lightdm 图形化界面;如果值为 false,则进入控制台。
可以根据自己的需求进行修改,但修改后需要重启系统才能生效。
root@server:~# vim /etc/gdm3/custom.conf
WaybillEnable=ture

deb软件包安装

概念
  • deb包是Debian,Ubuntu等Linux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包。

dpkg命令
  • 格式:

dpkg [<选项> ...] <命令>
  • 常用命令

dpkg -i 包名  : 安装软件包
​
dpkg -I 包名  : 查看软件包的详细信息(软件名称、版本以及大小等)
​
dpkg -c 包名  : 查看软件包结构
​
dpkg -r 包名  : 卸载软件包
  • 注意:不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【案例】故障雪花屏

开发平台&#xff1a;Unity 6.0 开发工具&#xff1a;Shader Graph 参考视频&#xff1a;【U2D Shader Graph】❄️雪❄️花❄️屏❄️   一、效果图 二、Shader Graph 路线图 三、案例分析 核心思路&#xff1a;雪花屏幕效果 &#xff08;混合&#xff09; 原图像 最终图像…

图像手动标注-labelme+yolo格式导出

conda环境 运行以下命令来激活你的虚拟环境&#xff1a; conda activate labelme如果你没有创建 labelme 环境&#xff0c;首先需要创建一个环境并安装 labelme&#xff1a; conda create -n labelme python3.8 conda activate labelme conda install -c conda-forge labelm…

有什么办法换网络ip动态

在数字化时代&#xff0c;网络已成为我们生活、工作不可或缺的一部分。然而&#xff0c;随着网络应用的日益广泛&#xff0c;IP地址作为设备在网络中的唯一标识&#xff0c;其重要性不言而喻。动态换IP&#xff0c;作为一种灵活且高效的网络技术&#xff0c;正逐渐受到越来越多…

unity实习生面试

北京教育中厂的成都分部 11.5 时长有28分钟 一面二面合并了 面试官人挺好的&#xff0c;也不是特别急&#xff0c;答的不是很好的问题面试官直接跳过了 顺序不是很统一 只写记得的部分 1.问了值类型和引用类型的区别 2. 问了ugui的组件有哪些 ugui有哪些优化方案 答用打图集…

Spring Boot中集成MyBatis操作数据库详细教程

目录 前言1. 项目依赖配置1.1 引入MyBatis和数据库驱动依赖1.2 数据源配置 2. 创建数据库映射实体类3. 创建Mapper层接口4. 创建Service层4.1 定义Service接口4.2 实现Service接口 5. 创建Controller层6. 运行和测试项目6.1 启动项目6.2 测试接口 7. 总结 前言 在Java开发中&a…

OpenCV相机标定与3D重建(2)鱼眼相机模型

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 鱼眼相机是一种具有非常宽视野的相机&#xff0c;通常会产生强烈的径向畸变。鱼眼相机模型旨在捕捉这种畸变&#xff0c;以便能够准确地处理和校…

Matplotlib 绘图艺术:从新手到高手的全面指南

引言 在数据科学和机器学习领域&#xff0c;数据可视化是一项至关重要的技能。一个优秀的可视化图表可以直观地展示数据的内在规律&#xff0c;帮助我们更好地理解数据&#xff0c;并做出更明智的决策。而在众多的绘图库中&#xff0c;Matplotlib 是 Python 中最强大、最灵活的…

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏 目录 文章目录 【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果代码推荐阅读指数&…

RocketMQ部署教程

拉取 RocketMQ 镜像&#xff1a; 首先&#xff0c;从 Docker Hub 获取最新的 RocketMQ 镜像&#xff1a; docker pull apache/rocketmq:latest创建 Docker 网络&#xff1a; 为了使各容器之间能够通信&#xff0c;创建一个名为 rocketmq 的网络&#xff1a; docker network cre…

ORACLE批量插入更新如何拆分大事务?

拆分大事务 一、批量插入更新二、拆分事务之前文章MYSQL批量插入更新如何拆分大事务?说明了Mysql如何拆分,本篇文章探讨Oracle或OceanBase批量插入更新拆分大事务的问题 一、批量插入更新 oracle批量插入更新可使用merge语法eg: merge test ausing test_tmp bon (a.id = b.id…

鸿蒙next打包流程

目录 下载团结引擎 添加开源鸿蒙打包支持 打包报错 路径问题 安装DevEcoStudio 可以在DevEcoStudio进行打包hap和app 包结构 没法直接用previewer运行 真机运行和测试需要配置签名,DevEcoStudio可以自动配置, 模拟器安装hap提示报错 安装成功,但无法打开 团结1.3版本新增工具…

chatgpt3.5权重参数有多少MB;llama7B权重参数有多少MB

目录 chatgpt3.5权重参数有多少MB llama7B权重参数有多少MB chatgpt3.5权重参数有多少MB 关于ChatGPT 3.5的权重参数占用的存储空间大小,虽然直接给出具体的MB数值可能较为困难(因为这取决于多种因素,如参数表示的精度、是否进行了压缩等),但可以根据其参数量来估算一个…

基于Jeecgboot3.6.3vue3的flowable流程online表单的审批使用介绍

更多技术支持与服务请加入我的知识星球或加我微信&#xff0c;名称:亿事达nbcio技术交流社区https://t.zsxq.com/iPi8F 今天介绍一下基于jeecgboot3.6.3的flowable流程使用online表单进行审批的情况 1、首先建立一个online应用类型的流程&#xff0c;如下&#xff1a; 2、进行…

【LeetCode】【算法】238. 除自身以外数组的乘积

LeetCode 238. 除自身以外数组的乘积 题目描述 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位整数范围内。 请不…

如何构建一个可扩展的测试自动化框架?

以下为作者观点&#xff1a; 假设你是测试自动化方面的新手&#xff0c;想参与构建一个框架。在这种情况下&#xff0c;重要的是要了解框架所需的组件&#xff0c;以及它们是如何组合的。思考项目的具体需求和目标&#xff0c;以及可能遇到的困难和挑战。 假如你是一个测试架…

实战:索引的命中机制

在 SQL Server 中,查询是否能命中索引(即是否能使用 Index Seek)取决于多个因素,包括索引的结构、查询条件的排列、和数据库优化器的策略。以下是一些常见的命中索引和不能命中索引的情况,及其详细解释: 一、命中索引的情况 1. 前导列匹配(典型的命中索引场景) 索引结…

使用Docker快速部署FastAPI Web应用

Docker是基于 Linux 内核的cgroup、namespace以及 AUFS 类的Union FS 等技术&#xff0c;对进程进行封装隔离&#xff0c;一种操作系统层面的虚拟化技术。Docker中每个容器都基于镜像Image运行&#xff0c;镜像是容器的只读模板&#xff0c;容器是模板的一个实例。镜像是分层结…

C++【string类,模拟实现string类】

&#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: C专栏 目录 为什么学习string类 C语言中的字符串 标准库中的string类 auto和范围for auto关键字 迭代器 范围for string类的常用接口说明和使用 1. string类对象的常见构造 2.string类对象的容量操作 3…

android——jetpack startup初始化框架

一、jetpack startup Android Jetpack Startup是一个库&#xff0c;它简化了Android应用启动过程&#xff0c;尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个StartupComponent&#xff0c;用于声明应用的初始化逻辑&#xff0c;这个逻辑会在首…

A019基于SpringBoot的校园闲置物品交易系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…