03.Linux
03.Linux
安装中遇到的一些问题
cjh@cjh-virtual-machine:~$ sudo apt-get update
[sudo] cjh 的密码:
命中:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic InRelease
命中:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates InRelease
命中:3 http://security.ubuntu.com/ubuntu bionic-security InRelease
命中:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-backports InRelease
(appstreamcli:2247): GLib-CRITICAL **: 08:58:13.331: g_variant_builder_end: assertion '!GVSB(builder)->uniform_item_types || GVSB(builder)->prev_item_type != NULL || g_variant_type_is_definite (GVSB(builder)->type)' failed
(appstreamcli:2247): GLib-CRITICAL **: 08:58:13.331: g_variant_new_variant: assertion 'value != NULL' failed
(appstreamcli:2247): GLib-ERROR **: 08:58:13.331: g_variant_new_parsed: 11-13:invalid GVariant format string
Trace/breakpoint trap (core dumped)
正在读取软件包列表... 完成
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code
cjh@cjh-virtual-machine:~$
GLib-Error when using apt-get update
文件系统
操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类肯定不能直接看懂这些二进制数据,要有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的就是实现数据的查询和存储,由于使用场合、使用环境的不同, Linux 有多种文件系统,不同的文件系统支持不同的体系。
- fdisk
- mount
- ex4文件系统
cjh@cjh-virtual-machine:~$ df -T -h
文件系统 类型 容量 已用 可用 已用% 挂载点
udev devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 796M 2.0M 794M 1% /run
/dev/sda1 ext4 97G 6.9G 86G 8% /
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop0 squashfs 13M 13M 0 100% /snap/gnome-characters/69
/dev/loop1 squashfs 1.7M 1.7M 0 100% /snap/gnome-calculator/154
/dev/loop2 squashfs 3.4M 3.4M 0 100% /snap/gnome-system-monitor/36
/dev/loop3 squashfs 141M 141M 0 100% /snap/gnome-3-26-1604/59
/dev/loop4 squashfs 104M 104M 0 100% /snap/core/16928
/dev/loop5 squashfs 141M 141M 0 100% /snap/gnome-3-26-1604/111
/dev/loop6 squashfs 21M 21M 0 100% /snap/gnome-logs/25
tmpfs tmpfs 796M 16K 796M 1% /run/user/120
tmpfs tmpfs 796M 24K 796M 1% /run/user/1000
/home/user 和 / 根目录
根目录下的重要文件夹
路径 | 说明 |
---|---|
/bin | 存储一些二进制可执行命令文件, /usr/bin 也存放了一些基于用户的命令文件。 |
/sbin | 存储了很多系统命令, /usr/sbin 也存储了许多系统命令。 |
/root | 超级用户 root 的根目录文件。 |
/home | 普通用户默认目录,在该目录下,每个用户都有一个以本用户名命名的文件夹。 |
/boot | 存放 Ubuntu 系统内核和系统启动文件。 |
/mnt | 通常包括系统引导后被挂载的文件系统的挂载点。 |
/dev | 存放设备文件,我们后面学习 Linux 驱动主要是跟这个文件夹打交道的。 |
/etc | 保存系统管理所需的配置文件和目录。 |
/lib | 保存系统程序运行所需的库文件, /usr/lib 下存放了一些用于普通用户的库文件。 |
/lost+found | 一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件。 |
/var | 存储一些不断变化的文件,比如日志文件 |
/usr | 包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件。 |
/media | 存放 Ubuntu 系统自动挂载的设备文件。 |
/proc | 虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息。 |
/tmp | 存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限。 |
/opt | 可选文件和程序的存放目录。 |
/sys | 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。 |
文件操作命令:touch、mkdir、rm、rmdir、cp、mv、zip、unzip、tar、find、grep
文件类型:
符号 说明 - 普通文件,一些应用程序创建的,比如文档、图片、音乐等等。 d 目录文件。 c 字符设备文件, Linux 驱动里面的字符设备驱动,比如串口设备, 音频设备等 b 块设备文件,存储设备驱动,比如硬盘, U 盘等。 l 符号连接文件,相当于 Windwos 下的快捷方式。 s 套接字文件。 p 管道文件,主要指 FIFO 文件。 Linux 驱动开发的时候基本是在和字符设备文件和块设备文件打交道。
用户权限
文件的权限有三种:读(r)、写(w)和执行(x),除了用 r、 w 和 x 表示以外,我们也可以使用二进制数表示,三种权限就可以使用 3 位二进制数来表示,一种权限对应一个二进制位,如果该位为1 就表示具备此权限,如果该位为 0 就表示没不具备此权限。
字母 | 二进制 | 八进制 |
---|---|---|
r | 100 | 4 |
w | 010 | 2 |
x | 001 | 1 |
使用 a、 u、 g 和 o 表示文件的归属关系,用=、 +和-表示文件权限的变化
字母 | 意义 |
---|---|
r | 可读权限 |
w | 可写权限 |
x | 可执行权限 |
a | 所有用户 |
u | 归属用户 |
g | 归属组 |
o | 其它用户 |
= | 具备权限 |
+ | 添加某权限 |
- | 去除某权限 |
- chmod、chown
磁盘管理
Linux 的磁盘管理体系和 Windows 有很大的区别,在 Windows 下经常会遇到“分区”这个概念,在Linux 中一般不叫“分区”而叫“挂载点”。 “挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的 Linux 中,用户是绝对看到不到 C 盘、 D 盘这样的概念的,只能看到以文件夹形式存在的“挂载点” 。
cjh@cjh-virtual-machine:/$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=bb15e10c-8835-41c6-81aa-c0d3afc496b7 / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
上边第9行“ / was on /dev/sda1 during installation”,意思是根目录“ /”是在/dev/sda1 上的,其中“ /”是挂载点,“ /dev/sda1”就是我们装 Ubuntu 系统的硬盘。
当系统是安装在虚拟机中的, 没有出现实际的硬盘。可以通过如下命令查看当前系统中的磁盘:
cjh@cjh-virtual-machine:/$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sdb /dev/sdb1
- fdisk( 磁盘分区)、mkfs(格式化)、mount(挂载)、umount(卸载)
虚拟机和主机的网络关系
https://blog.csdn.net/zhanhjxxx/article/details/122807194
相关概念
1. 局域网
王春莲 宋彬彬 杨雪平 主编. 局域网组网技术项目式教程(微课版)[undefined]. 人民邮电出版社, 2022.
计算机网络是利用通信线路将分散的、具有独立功能的计算机系统和通信设备按不同的形式连 接起来,以功能完善的网络软件实现资源共享和信息传递的系统。 它有以下 3 个基本要素。 (1)至少有两台具有独立网络操作系统的计算机,且它们之间有相互共享资源的需求。 (2)必须有某种通信手段将两台独立的计算机连接。 (3)网络中各台独立的计算机之间要想相互通信,必须制定通用的规范标准或协议。
局域网是联网距离有限的数据通信系统,它支持各种通信设备的互连,并以廉价的媒体提供宽频带的通信来实现信息交换和资源共享,而且它通常是为用户自己所专有的。狭义地讲,局域网是在一个局部地理范围内(如一所学校、一个工厂和一个机关单位内),将各种计算机、外部设备和数据库等互相连接起来组成的计算机通信网。一般来说,局域网主要有如下特点。
若干问题
unbuntu 提示 错误:1 http://security.ubuntu.com/ubuntu bionic-security InRelease 无法解析域名“security.ubuntu.com”
此处问题的解决,核心在重新启动网络服务
这个错误提示表明你的Ubuntu系统无法解析域名 security.ubuntu.com
,可能是网络连接问题或DNS设置不正确导致的。你可以尝试以下步骤来解决这个问题:
检查网络连接: 确保你的计算机已成功连接到互联网。可以尝试访问其他网站,或者使用以下命令测试网络连接:
bash ping www.google.com
检查DNS设置: 可以检查
/etc/resolv.conf
文件,看看DNS设置是否正确。你可以尝试使用公共DNS服务器,例如Google的DNS:bash sudo nano /etc/resolv.conf
在文件中添加以下行:nameserver 8.8.8.8 nameserver 8.8.4.4
保存文件并退出。重启网络服务: 重新启动网络服务可以帮助应用新的配置:
bash sudo systemctl restart NetworkManager
更新软件包列表: 一旦你确认网络连接正常,可以尝试更新软件包列表:
bash sudo apt update
如果问题仍然存在,可能需要检查路由器设置或防火墙配置。希望这些步骤能帮助你解决问题!