九、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-gnu
  gcc-x86-64-linux-gnu libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0
  libgcc-13-dev libgprofng0 libhwasan0 libitm1 liblsan0 libquadmath0 libsframe1
  libtsan2 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

戴尔电脑安装centos7系统遇到的问题

1&#xff0c;找不到启动盘&#xff08;Operation System Loader signature found in SecureBoot exclusion database(‘dbx’).All bootable devices failed secure Boot Verification&#xff09; 关闭 Secure Boot&#xff08;推荐&#xff09;&#xff1a; 进入 BIOS/UEFI…

spring +fastjson 的 rce

前言 众所周知&#xff0c;spring 下是不可以上传 jsp 的木马来 rce 的&#xff0c;一般都是控制加载 class 或者 jar 包来 rce 的&#xff0c;我们的 fastjson 的高版本正好可以完成这些&#xff0c;这里来简单分析一手 环境搭建 <dependency><groupId>org.spr…

导入100道注会cpa题的方法,导入试题,自己刷题

一、问题描述 复习备考的小伙伴们&#xff0c;往往希望能够利用零碎的时间和手上的试题&#xff0c;来复习和备考 用一个能够导入自己试题的刷题工具&#xff0c;既能加强练习又能利用好零碎时间&#xff0c;是一个不错的解决方案 目前市面上刷题工具存下这些问题 1、要收费…

Java安全—JNDI注入RMI服务LDAP服务JDK绕过

前言 上次讲到JNDI注入这个玩意&#xff0c;但是没有细讲&#xff0c;现在就给它详细地讲个明白。 JNDI注入 那什么是JNDI注入呢&#xff0c;JNDI全称为 Java Naming and Directory Interface&#xff08;Java命名和目录接口&#xff09;&#xff0c;是一组应用程序接口&…

vue2:Cascader 级联选择器的两种数据初始化方式

背景 项目中有时需要使用级联选择器,供用户从多层数据中逐级选择。官网中的示例都使用的静态数据,但是实际应用中,大部分情况是需要从后台动态获取业务数据的。所以,今天记录一下从后台获取数据进行初始化的两种方式:懒加载模式和全部加载模式及其优缺点。 懒加载模式的实…

【21-30期】Java技术深度剖析:从分库分表到微服务的核心问题解析

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Java &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 文章题目&#xff1a;Java技术深度剖析&#xff1a;从分库分表到微服务的核心问题解析 摘要&#xff1a; 本…

七牛云AIGC内容安全方案助力企业合规创新

随着人工智能生成内容(AIGC)技术的飞速发展,内容审核的难度也随之急剧上升。在传统审核场景中,涉及色情、政治、恐怖主义等内容的标准相对清晰明确,但在AIGC的应用场景中,这些界限变得模糊且难以界定。用户可能通过交互性引导AI生成违规内容,为审核工作带来了前所未有的不可预测…

深入FastAPI:表单和文件上传详解

引言 大家好&#xff0c;我是GISerLiu &#x1f601;&#xff0c;一名热爱AI技术的GIS开发者。本系列文章是我跟随DataWhale 2024年11月学习赛的FastAPI学习总结文档&#xff1b;在实际开发中&#xff0c;我们经常需要处理表单数据和文件上传。本文将深入探讨如何在 FastAPI 中…

学习HTML第三十三天

学习文章目录 一.fieldset 与 legend 的使用&#xff08;了解&#xff09;二.表单总结三.框架标签 一.fieldset 与 legend 的使用&#xff08;了解&#xff09; fieldset 可以为表单控件分组、 legend 标签是分组的标题 二.表单总结 form表单&#xff1a; action 属性&#…

使用NAS开启无纸化办公,Docker部署开源文档管理系统『Paperless-ngx』

使用NAS开启无纸化办公&#xff0c;Docker部署开源文档管理系统『Paperless-ngx』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 对于文案类的办公场景来说&#xff0c;手头堆放最多的可能就是各种文档文件&#xff0c;以及各种用过的打印废纸。 这么多年来&#xff0c;不管是领…

SQL基础入门——SQL基础语法

1. 数据库、表、列的创建与管理 在SQL中&#xff0c;数据库是一个数据的集合&#xff0c;包含了多个表、视图、索引、存储过程等对象。每个表由若干列&#xff08;字段&#xff09;组成&#xff0c;表中的数据行代表记录。管理数据库和表的结构是SQL的基础操作。 1.1 创建数据…

YOLOv11融合PIDNet中的PagFM模块及相关改进思路

YOLOv11v10v8使用教程&#xff1a; YOLOv11入门到入土使用教程 YOLOv11改进汇总贴&#xff1a;YOLOv11及自研模型更新汇总 《PIDNet: A Real-time Semantic Segmentation Network Inspired by PID Controllers》 一、 模块介绍 论文链接&#xff1a;https://arxiv.org/pdf/2…

什么是代理,nodenginx前端代理详解

一. 什么是代理&#xff1f; 代理就是通过一个特殊的网络服务去访问另一网络服务的一种间接访问方式。像我们不能直接访问国外的网站&#xff0c;只能使用VPN&#xff0c;就是使用了代理 二. 前端为什么要用代理&#xff1f; 首先明确以下两个概念 &#xff08;1&#xff09…

BERT解析

BERT项目 我在BERT添加注释和部分推理代码 main.py vocab WordVocab.load_vocab(args.vocab_path)#加载vocab那么这个加载的二进制是什么呢&#xff1f; 1. 加载数据集 继承关系&#xff1a;TorchVocab --> Vocab --> WordVocab TorchVocab 该类主要是定义了一个词…

《独立开发:Spring 框架的综合应用》

一、Spring 框架概述 Spring 是一个分层的 Java SE/EE full-stack 轻量级开源框架&#xff0c;以 IoC 和 AOP 为内核&#xff0c;具有方便解耦、方便集成优秀框架、降低 Java EE API 使用难度等优点。 Spring 框架因其强大的功能以及卓越的性能而受到众多开发人员的喜爱。它是…

JMeter如何配置分布式?

一、复制两个代理机 二、代理机一 在第一个D:\install\apache-jmeter1\bin目录下&#xff0c;修改"jmeter.properties"文件 搜索"server_port"改成"server_port1999"&#xff0c; "#server.rmi.ssl.disablefalse"改成"server.r…

多目标优化算法——多目标粒子群优化算法(MOPSO)

Handling Multiple Objectives With Particle Swarm Optimization&#xff08;多目标粒子群优化算法&#xff09; 一、摘要&#xff1a; 本文提出了一种将帕累托优势引入粒子群优化算法的方法&#xff0c;使该算法能够处理具有多个目标函数的问题。与目前其他将粒子群算法扩展…

物联网实验室建设方案

一、物联网实验室建设 (1) 基础理论教学云平台 唯众基础理论教学云平台是一个专为物联网相关专业教学打造的综合性在线教学平台。该平台凭借先进的技术架构和丰富的教学资源&#xff0c;为师生提供了一个高效、便捷、互动的学习环境。以下是该平台的主要特点和功能描述&#…

【汇编语言】call 和 ret 指令(一) —— 探讨汇编中的ret和retf指令以及call指令及其多种转移方式

文章目录 前言1. ret 和 retf1.1 ret 指令1.1.1 功能与理解1.1.2 程序演示 1.2 retf 指令1.2.1 功能与理解1.2.2 程序演示 2. call 指令3. 依据位移进行转移的call指令3.1 格式与功能3.1.1 格式3.1.2 功能 3.2 理解指令 4. 转移的目的地址在指令中的call指令4.1 格式与功能4.1.…

(免费送源码)计算机毕业设计原创定制:Java+B/S+SSM+Web前端开发技术+IDEA+MySQL+Navicat 有风小院

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对有风小院等问题&#xff0c;对有风小院信息…