当前位置: 首页 > news >正文

九、Ubuntu Linux操作系统

一、Ubuntu简介

  • Ubuntu Linux是由南非人马克·沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统,于2004年10月公布
  • Ubuntu是一个以桌面应用为主的Linux发行版操作系统
  • Ubuntu拥有庞大的社区力量,用户可以方便地从社区获得帮助
  • 其官方网站:https://ubuntu.com/
  • 官方下载地址:https://ubuntucom/download/desktop/thank-you?version=22.04.4&architecture=amd64

二、Ubuntu的安装详解

1.安装介质的选择

在安装操作系统时,我们需要引导介质,可以是网络PXE,光盘,U盘等等

在启动硬件时需要读取引导资源并引入安装环境

2.虚拟机中安装过程展示

最简磁盘分区:

三、Ubuntu的用户使用

1.ubuntu系统中的常规用户登录方式

  • 在系统root用户是无法直接登录的,因为root用户的权限过大所以其安全性比较差
  • 在登录系统时一般使用在安装系统时建立的普通用户登录
  • 如果需要超级用户权限:
sen@sen:~# sudo

如果需要切换超级用户身份首先要更改root用户密码

sen@sen:~# sudo passwd root
$sudo passwd
[sudo] password for root :    #输入当前用户密码
New password:                 #输入新密码
Retype new password:          #确认新密码passwd:password updated successfu1ly
$su - root
Password:
root@sen:~#

2.ubuntu用户密码破解

a.在系统安装完成后默认grub启动等待时间为0,建议改为5秒,否则在启动过快无法手动写入启动参数

root@sen:~# vim /etc/default/grubGRUB_TIMEOUT-5
root@sen:~# grub-mkconfig>/boot/grub/grub.cfg

b.当密码忘记时

重启系统并在grub引导阶段编辑启动内核参数

编辑内核启动选项进入单用户模式

通过设置进入单用户模式后不需要密码即可得到root用户身份,在此身份下使用passwd命令修改相应密码即可

Note

ro换成rw 表示在系统内核引导阶段读写挂载目录

init=/bin/bash表示在内核启动后直接初始化启动/bin/bash程序,不进行系统默认的初始化过程

四、Ubuntu下的软件管理

  • 在Ubuntu中使用的软件包类型为DEB
  • dpkg为DEB软件包的管理工具
  • DEB软件同样可以像rpm软件包一样构建软件按仓库
  • 利用软件仓库管理软件时使用apt命令来完成

1.dpkg命令详解

a.什么是dkpg

  • dpkg(debian packages)是Debian软件包管理器的基础常用于安装、卸载和提供与.deb软件包相关的信息
  • 需要注意的是dpkg本身是一个底层的工具,并不具备从远程包仓库下载包以及处理包的依赖关系

b.dkpg命令操作实例

1.列出系统中安装的所有软件包信息
root@sen:~# dpkg -l        #列出系统中已经安装的软件包
root@sen:~# dpkg -l vim*   #列出所有vim开头的软件包
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pe>
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name 软件名称          Version 软件版本      软件架构Architecture Description软件描述
+++-==============-=====================-============-======================>
ii  vim            2:9.1.0016-1ubuntu7.4 amd64        Vi IMproved - enhanced>
ii  vim-common     2:9.1.0016-1ubuntu7.4 all          Vi IMproved - Common f>
un  vim-doc        <none>                <none>       (no description availa>
un  vim-gtk3       <none>                <none>       (no description availa>
un  vim-motif      <none>                <none>       (no description availa>
un  vim-nox        <none>                <none>       (no description availa>
ii  vim-runtime    2:9.1.0016-1ubuntu7.4 all          Vi IMproved - Runtime >

Note

第一字符为期望值,它包括:

代码含义
u状态未知,这意味着软件包未安装,并且用户也未发出安装请求
i用户请求安装软件包
r用户请求卸载软件包
p用户请求清除软件包
h用户请求保持软件包版本锁定

第二列,是软件包当前的状态,此列包括软件包的六种状态:

代码含义
n软件包未安装
i软件包安装并完成配置
c软件包以前安装过,现在删除了,但是它的配置文件还留在系统中
u软件包被解包,但还未配置
f试图配置软件包,但是失败了
h

软件包安装,但是没有成功

第三列标识错误状态,可以总结为四种状态,第一种状态标识没有问题,为空,其他三种符号则标识相应问题

代码含义
h软件包被强制保持,因为其他软件包依赖需要,无法升级
r软件包被破坏,可能需要重新安装才能正常使用(包括删除)
x软件包被破坏,并且被强制保持
2.安装deb包
root@sen:~# wget https://dldir1.99.com/qqfi1e/9q/QQNT/Linux/QQ_3.2.6_240322_amd64_01.deb    #现在实验软件包
root@sen:~# dpkg-i /mnt/QQ_3.2.6_240322_amd64_01.deb    #安装软件包
3.查看deb软件信息
root@sen:~# dpkg -L linuxqq            #列出linuxqq在安装过程中在系统生成的所有文件
root@sen:~# dpkg -s linuxqq            #显示1inuxqq的详细信息         
root@sen:~# dpkg-query -s qq           #显示搜索在linuxqq这个安装包中所有绝对路径包含qq字符的文件
root@sen:~# dpkg-query -c linuxqq      #显示软件的控制文件
4.deb软件的卸载
root@sen:~# dpkg -r linuxqq    #删除软件主体,保留软件配置文件和数据文件
root@sen:~# dpkg -P linuxqq    #彻底删除软件包

2.管理ubuntu软件仓库

安装好系统后默认已经配置好了网络软件仓库,但是在生产环境中一般不允许在网络中直接安装软件搭建本地软件仓库的方法如下:

a.挂在镜像并设定开机自动挂载
root@sen:~# vim /etc/rc.loca1         #编写开机启动脚本
#!/bin/bash
mount /dev/cdrom/ubuntu
root@sen:~# chmod +x /etc/rc.1oca1    #开启可执行权限实现开启可自动执行
root@sen:~# sh /etc/rc.local          #在当前环境执行
root@sen:~## df /ubuntu
Filesystem        1к-blocks     Used Available Use% Mounted on 
/dev/sr0            4899762    4899762    0 100%     /ubuntu

Note

/dev/cdrom 是系统光驱,我们在虚拟机中的虚拟光驱中插入镜像,在挂载镜像时需要把这块代码换成镜像名称

b.在系统中指定本地软件源
root@sen:~# mount /dev/cdrom  /media
mount: /media: WARNING: source write-protected, mounted read-only.
root@sen:~# df /media
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sr0         6057964 6057964         0 100% /media
root@sen:~# cd /media/pool
root@sen:/media/pool# ls
main  restricted
root@sen:/media/pool# cd main
root@sen:/media/pool/main# ls
a  d  g  j  liba  libd  libg  libn  libu  libz  o  s  x
b  e  h  k  libb  libe  libi  libp  libv  m     p  t  z
c  f  i  l  libc  libf  libm  libs  libx  n     r  u
root@sen:/media/pool/main# cd /etc/apt
root@sen:/etc/apt# ls
apt.conf.d   keyrings       preferences.d.save  sources.list.d.bak
auth.conf.d  preferences.d  sources.list        trusted.gpg.d
root@sen:/etc/apt# mv sources.list.d.bak sources.list.d
root@sen:/etc/apt# ls
apt.conf.d   keyrings       preferences.d.save  sources.list.d
auth.conf.d  preferences.d  sources.list        trusted.gpg.d
root@sen:/etc/apt# lsb_release -sc
No LSB modules are available.
noble
root@sen:/etc/apt# vim sources.list
root@sen:/etc/apt# cat sources.list
deb	file:///media	noble main restricted

测试:

root@sen:/etc/apt# apt install gcc -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:binutils binutils-common binutils-x86-64-linux-gnu gcc-13 gcc-13-x86-64-linux-gnugcc-x86-64-linux-gnu libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0libgcc-13-dev libgprofng0 libhwasan0 libitm1 liblsan0 libquadmath0 libsframe1libtsan2 libubsan1
Suggested packages:

Note

/etc/apt/sources.list文件时软件源指向文件,类似/etc/yum.repos.d/xxx.repo

在安装源中的安装包取决与镜像中包含的软件,不是所有的软件都在镜像中存在

3.apt安装软件包命令

(1)apt install package:安装软件包;重新安装可以使用指令apt install --reinstall package

(2)apt -f install package:修复安装

(3)apt upgrade:更新已经安装的软件

(4)aptupdate:更新软件包列表

(5)apt-cache search package:搜索软件,可以使用正则表达式,比如sof*表示搜索一sof开头的软件包

(6)apt-cache show package:查看软件包信息

(7)apt-cache dump:查看每个软件包的简要信息

(8)apt-cache depends package:查看软件包以来关系

(9)apt remove package:卸载一个软件包但是保留相关配置信息

(10)apt remove package --purge:删除软件包同时删除相关配置信息

(11)apt clean 或 apt autoclean:删除所有软件缓存,软件包的缓存在系统的/var/cache/apt/archives中。

Note

下载的软件存在/var/cache/apt/archives

相关文章:

九、Ubuntu Linux操作系统

一、Ubuntu简介 Ubuntu Linux是由南非人马克沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统&#xff0c;于2004年10月公布Ubuntu是一个以桌面应用为主的Linux发行版操作系统Ubuntu拥有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助其官方网站:http…...

SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…...

【Ubuntu】E: Unable to locate package xxx

报错描述 在 Ubuntu 上 执行 apt install xxx 出现下面的报错&#xff1a; 即无法定位到该 Package&#xff0c;一般形式如下&#xff1a; # apt install xxx Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable …...

vue多页面应用集成时权限处理问题

在多页面应用&#xff08;MPA&#xff09;中&#xff0c;权限管理通常会涉及到每个页面的访问控制、身份验证、以及权限校验。以下是几种常见的权限处理方式&#xff1a; 1. 前端路由权限控制 原理&#xff1a;虽然是多页面应用&#xff0c;通常每个页面会独立加载和渲染&…...

Socket编程(TCP/UDP详解)

前言&#xff1a;之前因为做项目和找实习没得空&#xff0c;计算机网络模块并没有写成博客&#xff0c;最近得闲了&#xff0c;把计算机网络模块博客补上。 目录 一&#xff0c;UDP编程 1&#xff09;创建套接字 2&#xff09;绑定端口号 3&#xff09;发送与接收数据 4&…...

qt QConicalGradient详解

1、概述 QConicalGradient是Qt框架中QGradient的一个子类&#xff0c;它用于创建锥形渐变效果。锥形渐变是从一个中心点出发&#xff0c;沿着360度的圆周扩散的颜色渐变。这种渐变通常用于模拟光线旋转、创建彩虹效果或实现其他复杂的颜色过渡。QConicalGradient允许你定义渐变…...

存储过程与自然语言处理逻辑的不同与结合

在现代软件开发中&#xff0c;存储过程与自然语言处理&#xff08;NLP&#xff09;逻辑都发挥着重要作用。存储过程是一种在数据库内部运行的预编译程序&#xff0c;通常用于处理与数据相关的任务&#xff0c;例如插入、更新、删除数据以及复杂的查询操作。而自然语言处理&…...

了解Linux —— 理解其中的权限

前言 在了解Linux权限之前&#xff0c;先来探讨我们使用的shell 命令它到底是什么&#xff1f; Linux 是一个操作系统&#xff0c;我们称其为内核(kernel) &#xff0c;正常情况下&#xff0c;我们一般用户操作并不是去直接使用内核&#xff0c;而是通过kernel 的外壳程序&…...

知识图谱嵌入与因果推理的结合

知识图谱通过节点&#xff08;实体&#xff09;和边&#xff08;关系&#xff09;来表示现实世界中的信息&#xff0c;但如何将这些信息转化为可进行推理和决策的形式&#xff0c;仍然是一个挑战。 另一方面&#xff0c;因果推理&#xff08;Causal Inference&#xff09;作为…...

STM32 PWM波形详细图解

目录 前言 一 PWM介绍 1.1 PWM简介 1.2 STM32F103 PWM介绍 1.3 时钟周期与占空比 二.引脚映像关系 2.1引脚映像与寄存器 2.2 复用功能映像 三. PWM 配置步骤 3.1相关原理图 3.2配置流程 3.2.1 步骤一二&#xff1a; 3.2.2 步骤三&#xff1a; 3.2.3 步骤四五六七&#xff1a; …...

Python Web 开发 FastAPI 入门:从基础架构到框架比较

Python Web 开发 FastAPI 入门&#xff1a;从基础架构到框架比较 目录 &#x1f5a5;️ Web 服务器概述&#xff08;如 Nginx、Apache&#xff09;&#x1f517; 前后端分离架构详解&#x1f504; HTTP 路由和请求处理机制&#x1f9f0; Web 框架概述&#xff1a;Django、Fla…...

基于STM32的智能仓库管理系统设计

目录 引言环境准备 硬件准备软件准备智能仓库管理系统基础 控制系统架构功能描述代码实现&#xff1a;实现智能仓库管理系统 4.1 RFID标签读取模块4.2 库存管理模块4.3 数据显示与监控模块4.4 无线通信模块应用场景&#xff1a;智能仓库管理系统优化问题解决方案与优化收尾与总…...

排序算法--堆排序【图文详解】

“留在码头的船才最安全” “但亲爱的&#xff0c;那不是造船的目的。 堆--插入heapInsert 原来有一个大根堆&#xff0c;如图&#xff1a; 现在要新插入一个数字50&#xff0c;进行插入 流程&#xff1a;和父亲相比&#xff0c;如果比父亲大&#xff0c;和父亲交换&#xff…...

FCBP 认证考试要点摘要

理论知识 数据处理与分析&#xff1a;包括数据的收集、清洗、转换、存储等基础操作&#xff0c;以及数据分析方法&#xff0c;如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化&#xff1a;涉及图表类型的选择与应用&#xff0c;如柱状图、折线图、饼图…...

鸿蒙生态崛起的机遇有什么

鸿蒙生态系统的崛起为各个领域带来了多个机遇&#xff0c;主要体现在以下几个方面&#xff1a; 智能设备的互联互通&#xff1a;鸿蒙系统旨在实现不同设备之间的无缝连接&#xff0c;为物联网&#xff08;IoT&#xff09;设备的发展提供了良好的基础。这将推动智能家居、智慧城…...

基础(函数、枚举)错题汇总

枚举默认从0开始&#xff0c;指定后会按顺序赋值 而这个枚举变量X&#xff0c;如果在全局&#xff08;函数外部&#xff09;定义&#xff0c;那默认为0&#xff0c;如果在函数内部&#xff08;局部变量&#xff09;&#xff0c;那就是随机值&#xff0c;必须初始化。 枚举变量…...

【Spark源码分析】规则框架- `analysis`分析阶段使用的规则

analysis分析阶段使用的规则 规则批策略规则说明SubstitutionfixedPointOptimizeUpdateFields该规则优化了 UpdateFields 表达式链&#xff0c;因此看起来更像优化规则。但是&#xff0c;在处理深嵌套模式时&#xff0c;UpdateFields 表达式树可能会非常复杂&#xff0c;导致分…...

mysql--二进制安装编译安装yum安装

二进制安装 创建用户和组 [rootlocalhost ~]# groupadd -r -g 306 mysql [rootlocalhost ~]# useradd -r -g 306 -u 306 -d /data/mysql mysql 创建文件夹并添加所属文件用户和组 [rootlocalhost ~]# mkdir -p /data/mysql [rootlocalhost ~]# chown mysql:mysql /data/mysql …...

《Django 5 By Example》阅读笔记:p339-p358

《Django 5 By Example》学习第12天&#xff0c;p339-p358总结&#xff0c;总计20页。 一、技术总结 1.项目(购物网站) django-admin startproject myshop 虽然这里只是示例&#xff0c;但我觉得这种命名为 myxxx 的习惯非常不好&#xff0c;因为在实际应用中&#xff0c;是…...

鸿蒙修饰符

文章目录 一、引言1.1 什么是修饰符1.2 修饰符在鸿蒙开发中的重要性1.3 修饰符的作用机制 二、UI装饰类修饰符2.1 Styles修饰符2.1.1 基本概念和使用场景2.1.2 使用示例2.1.3 最佳实践 2.2 Extend修饰符2.2.1 基本概念2.2.2 使用示例2.2.3 Extend vs Styles 对比2.2.4 使用建议…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...