九、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

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

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

相关文章

python excel接口自动化测试框架!

今天采用Excel继续写一个接口自动化测试框架。 设计流程图 这张图是我的excel接口测试框架的一些设计思路。 首先读取excel文件&#xff0c;得到测试信息&#xff0c;然后通过封装的requests方法&#xff0c;用unittest进行测试。 其中&#xff0c;接口关联的参数通过正则进…

基本功能实现

目录 1、环境搭建 2、按键控制灯&电机 LED 电机 垂直按键(机械按键) 3、串口调试功能 4、定时器延时和定时器中断 5、振动强弱调节 6、万年历 7、五方向按键 1、原理及分析 2、程序设计 1、环境搭建 需求: 搭建一个STM32F411CEU6工程 分析: C / C 宏定义栏…

Android 13 Aosp 默认允许应用动态权限

图库 frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java 修改 public void grantDefaultPermissions(int userId) {DelayingPackageManagerCache pm new DelayingPackageManagerCache();grantPermissionsToSysCompon…

操作系统 内存管理——针对实习面试

目录 操作系统 内存管理什么是虚拟内存&#xff1f;什么是物理内存&#xff1f;解释虚拟内存和物理内存的区别什么是分页式存储&#xff1f;什么是分段式存储&#xff1f;解释分页式存储和分段式存储的区别什么是内存碎片&#xff1f;描述几种常见的内存分配算法描述几种常见的…

开源免费的 分布式配置中心 介绍 与 选型 建议

分布式配置中心的应用场景介绍 在微服务架构中&#xff0c;配置管理变得尤为复杂。首先&#xff0c;我们可以想象下&#xff0c;如果没有配置中心&#xff0c;我们的项目可能是这样的&#xff1a;不同环境的配置文件都放在项目里面&#xff0c;部署时可以通过启动参数来指定使…

Linux入门攻坚——39、Nginx入门

Nginx&#xff1a;engine X Tengine&#xff1a;淘宝改进维护的版本 Registry&#xff1a; 使用了libevent库&#xff1a;高性能的网络库 epoll()函数 Nginx特性&#xff1a; 模块化设计、较好的扩展性&#xff1b;&#xff08;但不支持动态加载模块功能&#…

Asp.net core Autofac 案例 注入、AOP 启用接口代理拦截 启用 类代理拦截=== 只会拦截虚方法

资料 core 实现autofac 》》》 安装 如下工具包 安装之后 如出现 这种 》》》编写 AOP类 using Castle.DynamicProxy; using System.Diagnostics;namespace Web01.AOP {/// <summary>/// 日志记录/// </summary>public class LoggingInterceptor : IInterc…

网络安全事件管理

一、背景 信息化技术的迅速发展已经极大地改变了人们的生活&#xff0c;网络安全威胁也日益多元化和复杂化。传统的网络安全防护手段难以应对当前繁杂的网络安全问题&#xff0c;构建主动防御的安全整体解决方案将更有利于防范未知的网络安全威胁。 国内外的安全事件在不断增…

详谈面试题:Vue、React为什么使用虚拟DOM

虚拟DOM是一种在前端框架中广泛使用的技术&#xff0c;它可以提升开发效率。那么国外流行的框架svelte没有使用虚拟DOM&#xff0c;而是直接操作真实DOM&#xff0c;效率依然很高。为什么Vue和React不采用这种方式呢&#xff1f; 目录 一、框架设计 二、解耦运行环境 三、总…

前端JavaScript(一)---基本介绍

Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言&#xff0c;主要目的是为了解决服务器端语言&#xff0c;比如Perl&#xff0c;遗留的速度问题&#xff0c;为客户提供更流畅的浏览效果。当时服务端需要对…

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

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

Soul App创始人张璐团队亮相GITEX GLOBAL 2024,展示多模态AI的交互创新

随着全球AI领域的竞争加剧,越来越多的科技巨头和创新企业纷纷致力于多模态AI的开发。2024年10月14日至18日,GITEX GLOBAL海湾信息技术博览会在迪拜举行,吸引了超过6700家全球科技巨头和创新公司参与,展示了智能互联、人工智能等领域的新成果。 此次展会中,Soul App创始人张璐团…

新版布谷直播软件源码开发搭建功能更新明细

即将步入2025年也就是山东布谷科技专注直播系统开发,直播软件源码出售开发搭建等业务第9年,山东布谷科技不断更新直播软件功能&#xff0c;以适应当前新市场环境下的新要求。山东布谷科技始终秉承初心&#xff0c;做一款符合广大客户需求的直播系统软件。支持广大客户提交更多个…

Dockerfile打包部署

Dockerfile打包 先找到打包完的目录下创建一个Dockerfile文件 touch Dockerfile 进去文件内编写 vim Dockerfile # 基础镜像 FROM openjdk:8 # author MAINTAINER yxh # 挂载目录 VOLUME /home/project # 创建目录 RUN mkdir -p /home/project # 指定路径 WORKDIR /home/pr…

c++趣味编程玩转物联网:基于树莓派Pico控制有源蜂鸣器

有源蜂鸣器是一种简单高效的声音输出设备&#xff0c;广泛应用于电子报警器、玩具、计时器等领域。在本项目中&#xff0c;我们结合树莓派Pico开发板&#xff0c;通过C代码控制有源蜂鸣器发出“滴滴”声&#xff0c;并解析其中涉及的关键技术点和硬件知识。 一、项目概述 1. 项…

【NLP高频面题 - 分布式训练】ZeRO1、ZeRO2、ZeRO3分别做了哪些优化?

【NLP高频面题 - 分布式训练】ZeRO1、ZeRO2、ZeRO3分别做了哪些优化&#xff1f; 重要性&#xff1a;★★ NLP Github 项目&#xff1a; NLP 项目实践&#xff1a;fasterai/nlp-project-practice 介绍&#xff1a;该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用&am…

路由引入中次优路由和路由环路问题

A公司用的是IS-IS&#xff0c;B公司用的是OSPF&#xff0c;现在这两个公司要合并&#xff0c;网络要相通 项目目标 前期准备 配置IP地址&#xff1a;完成IP地址规划&#xff0c;A公司和B公司内部网络通过路由器R2和R4环回接口模拟。配置路由器接口的IP地址并测试所有直连链路的…

shell脚本基础学习_总结篇(完结)

细致观看可以&#xff0c;访问shell脚本学习专栏&#xff0c;对应章节会有配图https://blog.csdn.net/2201_75446043/category_12833287.html?spm1001.2014.3001.5482 导语 一、shell脚本简介 1. 定义&#xff1a; 2. 主要特点&#xff1a; 3. shell脚本的基本结构 4. S…

光伏功率预测!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型时序预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量时序光伏功率预测 (Matlab2023b 多输入单输出) 1.程序已经调试好&#xff0c;替换数据集后&#xff0c;仅运行一个main即可运行&#xff0c;数据格式…

Postman定义公共函数

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Postman定义公共函数 在postman中&#xff0c;如下面的代码&#xff1a; 1、返回元素是否与预期值一致 var assertEqual(name,actual,expected)>{tests[…