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

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


http://www.kler.cn/a/413606.html

相关文章:

  • 【自动化Selenium】Python 网页自动化测试脚本(下)
  • 矩阵重新排列——sort函数
  • mysql sql语句 between and 是否边界值
  • 短效IP池如何帮助我们进行原创保护?
  • 【MySQL篇】持久化和非持久化统计信息的深度剖析(第一篇,总共六篇)
  • Oracle SYSTEM 和 SYSAUX 表空间的清理和回收
  • HTML5好看的音乐播放器多种风格(附源码)
  • 使用ENSP实现NAT
  • MySQL 8.0与PostgreSQL 15.8的性能对比
  • 新潮传媒集团创始人张继学将出席创客匠人创始人IP领袖高峰论坛
  • 重构代码之将值类型改为引用类型
  • 03系统设计之商业业务平台(D1_学习前言)
  • C04S06-Shell编程之正则表达式
  • shell脚本基础学习_总结篇(完结)
  • 专属主机服务器和ECS服务器有什么区别?
  • 【AI绘画】Midjourney进阶:色调详解(下)
  • milvus es
  • 当我重构时,我在想些什么
  • 【PyTorch】(基础一)----pytorch环境搭建
  • HR3568-H7002 Debian10调试记录