ubuntu与redhat的不同之处

ops/2024/9/23 9:33:08/

华子目录

  • 什么是ubuntu
    • 概述
  • ubuntu版本简介
    • 桌面版
    • 服务器版
  • 安装部署
  • 部署后的设置
    • 设置root密码
    • 关闭防火墙
    • 启用允许root进行ssh登录
    • 更改apt源
    • 安装所需软件
  • 网络配置
    • Netplan概述
    • 配置详解
      • 配置文件
      • DHCP
      • 静态IP设置
        • 设置
  • 软件安装
    • 方法
    • apt安装软件
      • 作用
      • 常用命令
      • 配置apt源
    • deb软件包安装
      • 概念
      • `dpkg`命令

ubuntu_1">什么是ubuntu

概述

  • ubuntu(乌班图)属于debian系列,debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统
  • 在这里插入图片描述
  • debian最早由lan Murdock于1993年创建,分为三个版本分支(branch):stable,testing和unstable
  • debian最具特色的是apt-get / dpkg包管理方式,其实redhatyum也是在模仿debianapt方式,但在二进制文件发行方式中,apt应该是最好的了。
  • ubuntu serverUbuntu操作系统的一个版本,是Ubuntu家族的一员,被工程设计作为互联网的骨干系统,Ubuntu server为公共或私有数据中心带来经济和技术上的可扩展性。

ubuntu_9">ubuntu版本简介

桌面版

  • 网址:https://cn.ubuntu.com/download
  • 在这里插入图片描述
  • 桌面版是带有GUI界面,面向普通用户使用的操作系统,预装了可帮助用户执行日常基本活动的软件,如:视频,浏览器,文本处理,电子邮件和多媒体等,对标Windows10操作系统
  • 在这里插入图片描述

服务器版

  • 服务器版本用于托管网络服务器和数据库等应用程序,是专业人员使用的服务器操作系统
  • 在这里插入图片描述
  • 注意:
    • 一般选择LTS长期更新版,LTS为“长期支持”版本每两年在4月发布一次,LTS版本是Ubuntu的“企业级”版本,使用得最多。估计95%Ubuntu安装得都是LTS
    • 可以在开源镜像站点下载,如阿里开源镜像站
    • 在这里插入图片描述

安装部署

  • 这里博主后期有时间再写,博主这里主要写Ubunturedhat系列中的不同之处

部署后的设置

设置root密码

  • 由于默认的root用户没有固定的密码,则可以通过下列方法更改并切换账户
  • 第一种:
huazi@ubuntu:~$ sudo passwd root    #以普通账户登录后执行命令修改root初始密码
[sudo] huazi 的密码:               #普通账户的密码
新的密码:                          #新的root密码
无效的密码: 密码少于 8 个字符
重新输入新的密码:                  #再输入一遍
passwd:已成功更新密码
huazi@ubuntu:~$ su -l root       #切换到root账户
密码:
root@ubuntu:~#

关闭防火墙

root@ubuntu:~# systemctl status firewalld         #查看ufw防火墙状态
Unit firewalld.service could not be found.
root@ubuntu:~# systemctl status ufw
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: >Active: active (exited) since Thu 2024-05-02 18:46:06 CST; 35min agoDocs: man:ufw(8)Main PID: 436 (code=exited, status=0/SUCCESS)CPU: 5ms5月 02 18:46:06 ubuntu systemd[1]: Starting Uncomplicated firewall...
5月 02 18:46:06 ubuntu systemd[1]: Finished Uncomplicated firewall.root@ubuntu:~# systemctl stop ufw    #关闭防火墙
root@ubuntu:~# systemctl disable ufw    #设置开机不启动
Synchronizing state of ufw.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable ufw
Removed /etc/systemd/system/multi-user.target.wants/ufw.service.

启用允许root进行ssh登录

root@ubuntu:~# vim /etc/ssh/sshd_config
PermitRootLogin yes   #将PermitRootLogin的参数设置为yesroot@ubuntu:~# systemctl restart ssh    #重启ssh服务

更改apt源

  • 先确定Ubuntu的时间版本,我这里是ubuntu 22.04 LTS
  • 然后到阿里云镜像开源站的Ubuntu中选择对应的apt
  • 在这里插入图片描述
root@ubuntu:~# vim /etc/apt/sources.listdeb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseroot@ubuntu:~# apt update      #配置完需要更新apt源

安装所需软件

root@ubuntu:~# apt install tree gcc make net-tools openvswitch-switch -yroot@ubuntu:~# apt list tree        #检查是否已安装
正在列表... 完成
tree/jammy,now 2.0.2-1 amd64 [已安装]
root@ubuntu:~# apt list gcc
正在列表... 完成
gcc/jammy,now 4:11.2.0-1ubuntu1 amd64 [已安装]
gcc/jammy 4:11.2.0-1ubuntu1 i386
root@ubuntu:~# apt list make
正在列表... 完成
make/jammy,now 4.3-4.1build1 amd64 [已安装]
make/jammy 4.3-4.1build1 i386
root@ubuntu:~# apt list net-tools
正在列表... 完成
net-tools/jammy,now 1.60+git20181103.0eebece-1ubuntu5 amd64 [已安装]
net-tools/jammy 1.60+git20181103.0eebece-1ubuntu5 i386
root@ubuntu:~# apt list openvswitch-switch
正在列表... 完成
openvswitch-switch/jammy-security,jammy-updates,now 2.17.9-0ubuntu0.22.04.1 amd64 [已安装]
N: 还有 1 个版本。请使用 -a 选项来查看它(它们)。root@ubuntu:~# apt list nginx      #未安装
正在列表... 完成
nginx/jammy-updates 1.18.0-6ubuntu14.4 amd64
N: 还有 2 个版本。请使用 -a 选项来查看它(它们)

网络配置

Netplan概述

  • Netplan抽象网络配置生成器,是一个用于配置Linux网络的简单工具
  • 通过Netplan,你只需用一个YAML文件描述每个网络接口需要配置成啥样即可,根据这个配置描述,Netplan便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥,都可以生成
  • Netplan的特点和功能:
    • YAML语法:Netplan使用YAML文件格式来描述网络配置信息,YAML格式旨在使文件易于编写,阅读和理解。您可以再每行结束时添加注释以方便自己和其他管理员查看文件
    • 多种网络选项Netplan支持多种网络选项,包括IP地址子网掩码网关DNS设置静态路由DHCP客户端等。您可以根据需要选择所需的选项并将其添加到配置文件中。
    • 支持多个网络接口Netplan支持管理多个网络接口。无论您使用有线或无线网络,或者使用虚拟网络接口,都可以在配置文件中指定各个接口的设置。
    • 自动应用配置:当您修改Netplan配置文件后,Netplan会自动将其应用到相应的网络接口上。这意味着您无需手动执行命令即可生效所做的更改。
    • 兼容性Netplan 可以与旧版网络管理工具共存,并且可以在 Ubuntu16.04及更高版本上运行。如果您已经使用 ifupdownNetworkManager 进行网络配置,您可以继续使用这些工具,或者将其与 Netplan配置文件结合使用。
  • Netplan目前支持一下两种网络管理工具
    • NetworkManager
    • Systemd-networkd
  • 一言以蔽之,从前你需要根据不同的管理工具编写网络配置,现在 Netplan将管理工具差异性给屏蔽了。 你只需按照 Netplan规范编写 YAML 配置不管底层管理工具是啥,一份配置走天下

配置详解

配置文件

#默认配置文件:/etc/netplan/*.yaml#本机
root@ubuntu:/etc/netplan# ls
01-network-manager-all.yaml

DHCP

network:ethernets:ens33:dhcp4: trueversion: 2renderer: networkd

静态IP设置

  • 注意:netplan说明文件格式存储在下列路径下,该目录下有各种样例文件,可以提供帮助
root@ubuntu:~# cd /usr/share/doc/netplan/examples/
root@ubuntu:/usr/share/doc/netplan/examples# ls
bonding_router.yaml               route_metric.yaml
bonding.yaml                      source_routing.yaml
bridge_vlan.yaml                  sriov_vlan.yaml
bridge.yaml                       sriov.yaml
dhcp_wired8021x.yaml              static_multiaddress.yaml
dhcp.yaml                         static_singlenic_multiip_multigateway.yaml
direct_connect_gateway_ipv6.yaml  static.yaml
direct_connect_gateway.yaml       vlan.yaml
infiniband.yaml                   vrf.yaml
ipv6_tunnel.yaml                  vxlan.yaml
loopback_interface.yaml           windows_dhcp_server.yaml
modem.yaml                        wireguard.yaml
network_manager.yaml              wireless.yaml
offload.yaml                      wpa_enterprise.yaml
openvswitch.yaml
#静态IP范例
root@ubuntu:/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信息
root@ubuntu:~# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.80.137  netmask 255.255.255.0  broadcast 192.168.80.255inet6 fe80::d15c:c612:1728:5292  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:7b:35:87  txqueuelen 1000  (以太网)RX packets 143547  bytes 207998539 (207.9 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 30913  bytes 2101187 (2.1 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (本地环回)RX packets 265  bytes 28871 (28.8 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 265  bytes 28871 (28.8 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0root@ubuntu:~# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.80.137  netmask 255.255.255.0  broadcast 192.168.80.255inet6 fe80::d15c:c612:1728:5292  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:7b:35:87  txqueuelen 1000  (以太网)RX packets 143581  bytes 208001089 (208.0 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 30932  bytes 2103313 (2.1 MB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 查看网关
root@ubuntu:~# route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.80.2    0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
192.168.80.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
设置
root@ubuntu:~# vim /etc/netplan/01-network-manager-all.yaml
#清除已有内容,将静态IP范例文件内容拷贝到当前配置中,再修改,注意缩进格式network:version: 2renderer: networkdethernets:ens33:addresses:- 192.168.80.138/24nameservers:search: [mydomain, otherdomain]addresses: [114.114.114.114]routes:- to: defaultvia: 192.168.80.2root@ubuntu:~# netplan apply   #重新应用#然后需要用新配置的IP地址进行ssh连接:ssh root@192.168.80.138
#或者使用nmtui进行设置静态IP地址
root@ubuntu:~# nmtui
#或者使用nmcli命令修改静态IP地址
root@ubuntu:~# nmcli connection
NAME        UUID                                  TYPE      DEVICE
有线连接 1  08ae1107-7a71-328c-8f61-fb3e8abf7e95  ethernet  ens33
root@ubuntu:~# nmcli connection modify 有线连接\ 1 +ipv4.addresses 192.168.80.137/24

软件安装

方法

  • 使用apt工具安装
  • deb软件包安装(dpkg
  • 自己下载程序源码编译安装

apt安装软件

作用

  • apt(advanced package tool)是一个命令行包管理工具,适用于Ubuntu / DebianLinux
  • apt用于在Ubuntu / Debian系统中从命令行安装,删除,更新和升级Debian包,apt克服了在apt-get命令中注意到的问题和错误,使用apt命令时,用户必须具有sudo权限

常用命令

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

配置apt源

  • 配置文件
root@ubuntu:~# vim /etc/apt/sources.list
  • 推荐的apt源

    • 在这里插入图片描述
  • 修改:

    • 打开文件:vim /etc/apt/sources.list
    • 将默认的源进行替换
    • 最后需要更新软件列表 root@ubuntu:~# apt update

deb软件包安装

概念

  • deb包时Debian,UbuntuLinux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包

dpkg命令

  • 格式
root@ubuntu:~# dpkg [选项] 包名
  • 常用命令
root@ubuntu:~# dpkg -i 包名      #安装软件包root@ubuntu:~# dpkg -I 包名      #查看软件包的详细信息root@ubuntu:~# dpkg -c 包名      #查看软件包结构root@ubuntu:~# dpkg -r 包名      #卸载软件包
  • 注意:不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦

http://www.ppmy.cn/ops/30062.html

相关文章

Python | Leetcode Python题解之第63题不同路径II

题目&#xff1a; 题解&#xff1a; class Solution:def uniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int:row len(obstacleGrid)col len(obstacleGrid[0])dp [[0]*col for _ in range(row)]for i in range(row):for j in range(col):if not obs…

【跟马少平老师学AI】-【神经网络是怎么实现的】(五)梯度消失问题

一句话归纳&#xff1a; 1&#xff09;用sigmoid激活函数时&#xff0c;BP算法更新公式为&#xff1a; 用sigmoid函数&#xff0c;O取值为0~1&#xff0c;O(1-O)最大值为0.25&#xff0c;若神经网络层数多&#xff0c;则会造成更新项趋近于0&#xff0c;称为梯度消失。 2&#…

nginx的前世今生(二)

书接上回&#xff1a; 上回书说到&#xff0c;nginx的前世今生&#xff0c;这回我们继续说 3.缓冲秘籍&#xff0c;洪流控水 Nginx的缓冲区是其处理数据传输和提高性能的关键设计之一&#xff0c;主要用于暂存和管理进出的数据流&#xff0c;以应对不同组件间速度不匹配的问题…

Java常用API之LinkedList类解读

写在开头&#xff1a;本文用于作者学习我将官方文档中LinkedList 1.6版本中类中绝大部分API全测了一遍并打印了结果&#xff0c;日拱一卒&#xff0c;常看常新。 add() Testpublic void test_add(){// 将指定元素添加到此列表的结尾LinkedList<Character> a new Linke…

ubuntu 卸载docker

1、通过 apt 命令卸载 docker 软件包&#xff1a; sudo apt-get purge docker-ce docker-ce-cli containerd.io -y 2、删除所有相关的配置文件和数据目录 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd 3、若你之前通过脚本安装了 Docker&#xff0c;那么还需…

使用通义千问,为汽车软件需求生成测试用例

前几篇文章我们介绍了,分析需求,生成代码,生成流程图,序列图等汽车软件开发设计中的常见工作步骤,今天我们讲下汽车软件测试中怎么使用大模型,如何用千问生成用例,具体操作步骤如下: 提示词: 车速自动闭锁 使能条件(a&b&c&d&e&f) a. 电源状态…

解码Starknet Verifier:深入逆向工程之旅

1. 引言 Sandstorm为&#xff1a; 能提交独立proof给StarkWare的Ethereum Verifier&#xff0c;的首个开源的STARK prover。 开源代码见&#xff1a; https://github.com/andrewmilson/sandstorm&#xff08;Rust&#xff09; L2Beat 提供了以太坊上Starknet的合约架构图&…

类和对象【四】运算符重载

文章目录 运算符重载的概念运算符重载&#xff08;函数&#xff09;返回值类型&#xff1a;任意类型函数名&#xff1a;operator已有操作符 运算符重载&#xff08;函数&#xff09;的特点和注意点3个比较特殊的运算符重载赋值运算符&#xff08;&#xff09;重载返回值类型和返…