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