Arch Linux 新手安装教程

2023-05-16

前言

安装环境:

  1. 虚拟机软件:vmware workstations pro 15.5.1
  2. 安装的arch linux版本:arch linux 2020.02.01

本文的目的旨在降低新手安装arch linux的难度。本文采用VMware workstation虚拟机来安装arch linux,这样大家可以采用虚拟机进行安装。同样的,本文也适用于实体机安装。虚拟机安装arch linux和实体机安装arch linux步骤基本一致。只有个别步骤不同,不同之处在本文会进行说明,供大家参考。
arch linux是软件生态最好的Linux发行版之一。几乎所有能在Linux上运行的软件,在arch Linux上都可以通过下面这条命令进行安装:

sudo pacman -S 软件包名称

可见,在arch linux上安装软件极为方便,而且软件都是最新版本的。arch linux的优点是:
1)软件生态丰富,软件库的软件更新速度很快,基本上都是最新版本。
2)高度可定制

arch linux的缺点是:
1)Arch Linux 的软件仓库和 iso 列表是不维护旧版本的,在少数情况下可能会需要安装旧版本的软件或系统,这时候必须通过Arch Linux Archive来安装,比较麻烦。
2)Arch Linux的安装过程比较繁琐,通过命令行安装,对新手不友好。

注: 本文部分内容参考借鉴了博主Eric的这篇博文以及arch wiki的安装教程,非常感谢Eric以及arch社区的小伙伴。

1.安装教程

1.1 下载安装镜像

首先到清华大学开源镜像站下载最新的arch linux镜像(写本文时arch最新的版本是archlinux-2020.02.01-x86_64.iso)。

1.2 新建一个虚拟机

然后新建一个虚拟机,步骤如下(多图预警),依次安装下图所示步骤建立即可:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
虚拟机名称任意取一个,然后选择一个本地的文件夹用于存放虚拟机。
在这里插入图片描述
这里的磁盘容量选择为100G,这里的100G并不是说选择之后会立即占用硬盘100G空间,而是指的是允许虚拟机占用的最大硬盘空间。然后选择存储为单个文件,有助于提高虚拟机磁盘性能。
在这里插入图片描述

在这里插入图片描述
下面将虚拟机设置为UEFI启动,便于arch linux的安装。arch linux官方也推荐这种方式。
在这里插入图片描述

在这里插入图片描述
其它硬件的配置如下图所示,内存设置为2G,处理器数量为1,每个处理器的内核数量为2。然后删除了打印机,因为并不需要打印机。

注: VMware workstations说的处理器数量和内核数量分别对应实际CPU的内核数和线程数。如一个4核8线程的CPU,在VMware workstations看来一共有4个处理器和8个内核。小伙伴们可以根据自己的实际硬件配置来配置处理器。

在这里插入图片描述

1.3 开始安装arch linux

1.3.1 确认是UEFI启动

配置完成后,打开虚拟机,如下图所示,直接选择第一项[Arch Linux archiso x86_64 UEFI CD ]进入到系统即可。
在这里插入图片描述
启动之后,输入如下命令,如果有输出,证明成功使用UEFI启动,如果显示没有这个文件,则证明没有成功使用UEFI启动。命令如下:

ls /sys/firmware/efi/efivars

注: 使用如下命令,可以将终端字体变大,这里设置为12:

setfont /usr/share/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz

上面的命令很长,输入过程中可以按下tab键来补全。

1.3.2 确保已经联网

arch linux的安装不像Ubuntu等linux发行版的安装,arch linux必须联网才能完成整个系统的安装,因为需要从网上下载很多软件。 首先输入如下命令,检查系统是否启用了网络接口:

ip link

显示有“UP”字样则证明网络端口已经启用。如果网络端口已经启用,则输入如下命令,来通过DHCP获取ip:

dhcpcd

然后ping百度,看看是否已经正常联网:

ping -c 3 www.baidu.com

-c 3表示ping 3次。如果正常联网,则进入到1.3.3小节。
注: 如果是物理机安装,建议直接插网线来联网,然后检查是否联网和上述步骤一致。当然如果你电脑有WiFi的话,通过连接WiFi来联网也可以。连接WiFi的话,有两种方法,第一种是直接输入如下两条命令:

ip link set wlan0 up           #打开无线网卡
wifi-menu                      #打开连接WiFi界面

然后根据界面提示连接WiFi即可。

1.3.4 进行磁盘分区

磁盘分区很多小伙伴认为很难,其实是非常简单的。只需要将硬盘划分为三个区,分别用作启动使用的EFI、交换分区SWAP、以及根目录(/)即可。三个分区的大小分别建议为512MB、4G、剩下所有空间。
注: 物理机安装时,如果你的内存很大,不要SWAP分区也可以。因为SWAP分区主要是为了应对内存不够时,从硬盘划分区一块区域当内存,这块区域就是SWAP区域。

首先执行如下命令来查看电脑的硬盘:

fdisk -l

如下图所示:
在这里插入图片描述
可以看到有/dev/sda这块硬盘。带有“loop”字样的硬盘可以忽略。下面我们打算对/dev/sda这块硬盘进行分区,分出三个区,分别为/dev/sda1、/dev/sda2、/dev/sda3。大小分别是512MB,4G,以及剩余所有空间。分别用作启动使用的EFI、交换分区SWAP、以及根目录(/)。
分区的步骤是:新建一个空的GPT分区表—> 设置分区大小—>设置分区的类型 —> 保存更改。
首先输入如下命令进入到/dev/sda这块硬盘:

fdisk /dev/sda

然后按如下步骤操作。
1)输入g,回车,新建一个空的GPT分区表
2)输入n,回车,建立一个新分区。然后会要求你输入分区号,这时候输入1,因为创建的是第一个分区。系统将会将这个分区自动命名为/dev/sda1。然后输入起始扇区,这里使用默认的即可,直接回车。然后输入分区大小,这里直接输入+512M,将/dev/sda1设置为512M。
3)再次输入n,按照2)的步骤,新建第二个分区,分区号使用2,起始扇区用默认的,大小那里输入+4G。
4)再次输入n, 按照2)的步骤,新建第三个分区,分区号使用3,起始扇区用默认的,大小那里使用默认的,直接回车,则使用的是硬盘剩下的所有空间。
操作如下图所示:
在这里插入图片描述
接下来是修改分区类型,将三个分区类型分别设置为EFI、swap、linux filesystem。操作步骤如下:
1)首先按 t ,然后输入要设置的分区号,输入1,表示设置/dev/sda1分区。然后输入要修改的分区类型,编号 1 是 EFI System Partition ,因此这里我们输入1,将/dev/sda1分区设置为EFI类型。
2)按照1)的操作将dev/sda2设置为swap分区。 其中要设置的分区号2, 分区类型时19,表示的是swap分区。
3)由于默认的分区类型就是linux filesystem。/dev/sda3不需要设置分区类型,使用默认即可。
操作如下图所示:
在这里插入图片描述
最后输入w,让设置的分区生效即可。
退出之后,输入命令 fdisk -l /dev/sda即可以看到硬盘分区类型如上图圈出来的部分所示,证明成功分区。

接下来分别格式化三个分区,将/dev/sda1、/dev/sda2、/dev/sda3三个分区分别是格式化为fat32、swap、ext4。执行如下三个命令即可实现:

mkfs.fat -F32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3

注: 按照arch linux官方的安装教程将/dev/sda1这部分格式化成ext4格式也是可以的,但是建议将其格式化成fat32格式,因为EFI原生支持fat32。

然后执行如下命令启用交换分区:

swapon /dev/sda2

可以使用 swapon –show 来检查交换分区有没有被正确启用。

接下来新建一个/mnt/boot目录,然后将/dev/sda1、/dev/sda3分别挂载到/mnt/boot目录和/mnt目录,执行如下命令便可以实现:

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

注: 先挂载/dev/sda3,然后才能创建boot文件夹。为什么需要挂载?因为我们目前运行命令的操作都是在live环境下进行,如果此时执行安装操作,那么内核等软件会被安装到启动系统时产生的live环境里,关机后软件又会消失。因此我们需要将物理的分区挂载到某个已经存在的文件夹,这样才能利用命令将软件安装到硬盘当中。可以挂载到任意空的文件夹,但是一般挂载到/mnt这个已经存在的文件夹。

1.3.5 安装内核等必须组件

安装软件前首先使用vim编辑/etc/pacman.d/mirrorlist文件,将里面所有China的软件源都移到所有软件源的最前面,建议将清华的软件源放在第一的位置,编辑完成后,mirrorlist的部分内容如下图所示:
在这里插入图片描述

源在文件的位置越靠前,优先级越高,因此,完成上述修改后,默认情况下将优先从清华软件源下载软件安装包。只有一个软件源下载失败,才会从另外一个软件源下载。

修改好后,执行如下命令让软件源生效:

pacman -Syy

执行如下命令安装内核及其必须组件:

pacstrap /mnt base linux linux-firmware

接下来安装网络管理器,网络管理器NetworkManager 是检测网络、自动连接网络的程序,是必须安装的。命令如下:

pacstrap /mnt networkmanager

注意,安装networkmanager之后就不需要安装dhcpcd和wpa_suplicant了,因为这两个提供的功能networkmanager都有。

1.3.6 配置系统

1)生成 fstab 文件
fstab 文件可用于定义磁盘分区,包括各种块设备或者远程文件系统应该如何装入到文件系统。执行如下命令生成:

genfstab -U /mnt >> /mnt/etc/fstab

总结来讲,fstab文件就是记录硬盘的分区类型及大小,系统需要读取这个文件才能知道硬盘的分区类型及大小。
-U 选项指的是使用UUID作为源标识符。

2)进入新安装的操作系统
前面的操作已经将arch linux的内核及其基本组件安装到了硬盘当中。但是我们现在是在live环境的根目录下,我们需要切换到刚才新安装系统的根目录下,执行如下命令切换到新安装的系统的根目录:

arch-chroot /mnt

执行了上面这一步之后,后面我们的操作相当于在硬盘上新安装的系统上进行,也就是配置新安装的操作系统才能生效。

3)设置时区
执行如下命令将系统时区设置为上海:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然后使用以下命令将硬件时钟设置为当前系统时间:

hwclock --systohc

4)安装vim
执行如下命令安装vim:

pacman -S vim

5)本地化
这一步相当于设置系统语言。用vim编辑/etc/locale.gen文件,通过去掉相应的注释,来使能系统能够使用的语言,执行如下命令,编辑这个文件:

vim /etc/locale.gen

然后分别去掉zh_CN.UTF-8 UTF-8和en_US.UTF-8 UTF-8前面的#号。去掉之后,保存即可。注意,这里的en_US.UTF-8 UTF-8前面的#必须去掉,否则系统可能无法正常显示英文。
接着执行如下命令生产locale信息:

locale-gen

执行如下命令创建 locale.conf 文件,并相应地设置 LANG 变量:

echo LANG=en_US.UTF-8 > /etc/locale.conf

注意,这里的LANG不能设置为zh_CN.UTF-8,会导致终端输入乱码。详情可以参考arch linux本地化为中文。

6)网络配置
执行如下命令创建hostname文件:

echo YourNewHostname > /etc/hostname

上面的YourNewHostname是主机名字,是随便起的,你可以换成你喜欢的主机名字。

添加对应的信息到hosts:

vim /etc/hosts

然后将如下内容添加进该文件:

# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1   localhost
::1         localhost
127.0.1.1   YourNewHostname.localdomain    YourNewHostname

保存并退出。设置完成后,以后登录系统,打开命令行终端,命令开头会显示 “用户名@YourNewHostname~”。

7)设置networkmanager开机启动
执行如下命令即可:

systemctl enable NetworkManager

8)设置root
输入如下命令,回车,然后输入两次root密码即可:

passwd

9)安装Intel CPU固件

pacman -S intel-ucode

如果是AMD的CPU,则把intel换成amd即可。

10)安装启动引导程序
启动加载器是 BIOS 或 UEFI 启动的第一个程序。它负责使用正确的内核参数加载内核, 并根据配置文件加载初始化 RAM disk。因此如果不安装的话,将无法启动系统。安装引导程序有很多个,比如grub就是大家熟悉的引导程序之一。这里我们来安装grub作为启动引导程序。
首先执行如下命令安装grub和efibootmgr:

pacman -S grub efibootmgr

然后部署grub:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

产生配置文件:

grub-mkconfig -o /boot/grub/grub.cfg

到此grub配置完成。

然后退回到 live 环境,解除挂载,便可以重启系统了,依次执行如下三个命令:

exit                 #返回到live环境
umount -R /mnt       # -R参数表示依次解除挂载/mnt及其子目录/mnt/boot
reboot

到此arch linux安装完成。

2. 可选配置

2.1 更新系统

执行如下命令来更新系统:

pacman -Syu
2.2 添加用户

到这里,arch虽然安装完成了,但是只有root这一个用户,而如果用root账号玩系统,可能比较容易玩崩。因此这里新建多一个用户,将用户添加到wheel组里面。
新建用户前,先安装sudo,这样可以让普通用户使用管理员权限,然后启用wheel组。

注:wheel组在arch linux里面是管理员所在的组,组成员拥有管理员权限。

首先安装sudo:

pacman -S sudo

然后是启用wheel组,首先执行如下命令编辑/etc/sudoers文件:

EDITOR=vim visudo

EDITOR=vim指的是利用vim来编辑文件,而不是用visudo默认的vi编辑器。
然后找到下面这一行:

# %wheel ALL=(ALL) ALL

然后把%wheel前面的空格和#号去掉,保存退出即可。注意只去掉空格和#号,不要去掉%号。
然后执行如下命令来添加一个用户:

useradd -m -G wheel 用户名

将上面的用户名换成你自己想要的用户名即可,注意,用户名必须是合法的,最好全用英文的,不含空格。

-m 参数表示同时创建该用户的家目录; -G wheel 表示同时将该用户加入 wheel 用户组。

然后执行如下命令来设置刚才新建用户的密码:

passwd 用户名

用户名是你刚才新建的用户的名字。设置好密码之后,执行如下命令重启系统,然后使用新添加的用户登录即可:

reboot
2.3 安装桌面环境

安装桌面环境前,一定要先先关闭VMware workstations的3d图形加速功能。否则安装完成后,无法正常显示图形界面。如下图所示,进入到虚拟机的设置界面,关闭3D加速功能:
在这里插入图片描述

注: 如果你是物理机安装arch linux,那么在安装图形界面前,要先安装显卡驱动,至少先把Intel或者AMD的集成显卡驱动装上。

2.3.1 安装gnome桌面环境

这里选择安装gnome桌面环境,首先是gnome真的是一个超级好用的桌面环境,比较成熟稳定。其次是arch linux自带wayland和gnome默认使用wayland,安装起来较为方便。执行如下命令来安装gnome:

sudo pacman -S wayland              #arch linux自带wayland,这条命令用于更新wayland
sudo pacman -S gnome gnome-extra    #安装gnome及其附加软件包
sudo systemctl enable gdm           #设置开机启动登录图形界面
sudo reboot                         #重启便可以登录到gnome图形界面了
2.4 安装中文字体

如果不安装中文字体,系统、网页、浏览器都没办法显示中文,执行如下命令安装:

sudo pacman -S adobe-source-han-sans-cn-fonts
2.5 安装open vmware tools

安装该工具实现虚拟机和主机之间的相互拖拽文件和复制粘贴:

sudo pacman -S open-vm-tools

将 vmtoolsd 和 vmware-vmblock-fuse 两个服务设为开机自启:

systemctl enable vmtoolsd vmware-vmblock-fuse

vmtoolsd : 负责汇报虚拟机状态的服务
vmware-vmblock-fuse : 文件系统实用程序。 通过FUSE(用户空间中的文件系统)实现宿主 / 虚拟机之间拖拽文件。

安装 gtkmm3 以启用客户机的拖拽与复制粘贴功能:

sudo pacman -S gtkmm3

最后再安装额外的显示和输入软件:

sudo pacman -S xf86-input-vmmouse xf86-video-vmware mesa

xf86-input-vmmouse : VMWare鼠标输入驱动程序
xf86-video-vmware : vmware显示驱动程序,如果想要让虚拟机显示器填满屏幕,就必须要安装这个软件包
mesa : OpenGL规范的开源实现

安装完成后,重启虚拟机,然后在虚拟机里按下Ctrl+Alt+Enter就可以进入到全屏模式了。

2.6 安装Firefox浏览器
sudo pacman -S firefox

默认安装的英文版的Firefox,如果要设置浏览器使用中文界面,可以按照下面的软件包,然后在Firefox设置里面选择中文即可:

sudo pacman -S firefox-i18n-zh-cn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arch Linux 新手安装教程 的相关文章

  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包

随机推荐

  • (一)DSP28335

    前言 xff1a 用于记录一些在学习实验室48V无人机项目所用的DSP28335时的一些心得体会 xff0c 主要参考资料是普中科技的那个资料手册 1 通信相关 区分开串口通信与串行通信 xff0c 串口通信 xff08 Serial Co
  • arm中的程序计数器PC

    在cpu中 xff0c 一条指令的执行简单的划分为 xff1a 取指 译码 执行 xff0c 三个部分 pc中存放的是下一条将要 执行 的指令的地址 xff0c 这里的执行并不是取指 译码 执行中的第三个步骤 xff0c 而是指的将存放于内
  • 韦东山第一期课程内容概要

    韦东山第一期课程内容概要 1一个嵌入式程序要运行所需的东西1 1第一条指令 b reset1 2 reset要完成的事件1 2 1设置开门狗1 2 2设置时钟1 2 3判断启动方式并设置堆栈1 2 4代码重定位 1 3执行main函数 12
  • 韦东山第一二期衔接课程内容概要

    韦东山第一二期衔接课程内容概要 0 使得一个裸板Jz2440能运行linux应用程序的过程1 uboot启动内核总结1 1 u boot分析之编译体验1 2 u boot分析之Makefile结构分析1 3 u boot分析之源码第一阶段1
  • 嵌入式总线与通信

    嵌入式总线与通信 I2C通信I2C通信的特点I2C通信协议I2C硬件连接I2C在一条数据线SDA上如何实现双向传输 xff1f xff08 如何实现半双工 xff09 SOC上的I2C通用硬件接口I2C接口与接口之间的连接I2C设备在整个A
  • jquery为动态dom元素绑定点击事件(比如动态生成的表格)

    js为动态dom元素绑定点击事件 需要给页面动态加载还未出现的元素添加事件时 xff0c 可以用jQuery的on xff0c live xff0c delegate来绑定事件 叫做委派事件 比如控制的动态生成的表格 xff0c 给一列中的
  • 嵌入式Arm+Linux中断与异常全流程讲解

    嵌入式ARM 43 Linux中断全流程讲解 ARM处理器级别的中断 异常 ARM的异常类型CPU如何检测到异常信息 进入异常处理后怎么返回前置知识 xff1a 流水线 xff0c 指令周期 xff0c 机器周期 xff0c 时钟周期复位
  • Linux设备树

    Linux设备树 1 设备树的引进与体验字符设备驱动程序的三种写法使用设备树时对应的驱动编程只想使用设备树不想深入研究怎么办 本文章基于韦东山关于设备树的课程以及自己的一些想法 xff0c 目录结构和韦东山老师的视频结构相同 1 设备树的引
  • 一些零碎知识点的索引

    一些零碎知识点的索引 前言操作系统 xff08 主要是纯Linux系统级的 xff09 Linux内存管理slab的着色写时复制的应用场景内核高端内存栈查看一个进程的地址空间分布 xff08 代码 数据 栈 xff09 匿名映射Linux中
  • Linux wget遭遇证书不可信(Wget error: ERROR: The certificate of is not trusted.)解决方法

    新安装的debian9系统使用中发现wget时提示证书问题 xff0c 搜索资料得知是缺少ca certificates包引起 Linux安装ca certificates包命令 CentOS系统 用这个 yum install y ca
  • 使用Dnsmasq来解锁Netflix(奈飞)流媒体服务

    原理 xff1a 在一台能看Netflix的IP配置Netflix解锁DNS脚本 xff0c 然后其他不能看Netflix的小鸡使用这个能看的机器的DNS xff0c 达到能看的目的 参考文章 xff1a https www 863134
  • 将它人docker镜像备份到自己docker仓库

    前提 xff1a 机器上安装好docker 1 先创建Docker hub 帐号 xff0c 并创建仓库 首先你需要一个docker hub 帐号 xff0c 记住username xff0c password xff0c email xf
  • CentOS 7 自己手动开启 BBR 加速教程

    下载更换内核 最新内核查看这里 xff1a http elrepo org linux kernel el7 x86 64 RPMS 1 运行以下代码 xff1a rpm import https www span class hljs p
  • Linux中提示-bash: wget: command not found的解决方法

    Liunx系统中 xff0c bash wget command not found是找不到命令的意思 xff0c 也就是无法执行下载命令 xff0c 主要是因为你的系统太干净了 xff0c 没有安装下载命令的控制器 xff0c 我们给系统
  • Linux如何更改root用户密码

    可以使用passwd命令来修改用户的密码 passwd命令用于对用户的密码进行管理 xff0c 可以设置 修改 删除密码 用法示例 xff1a 修改root用户的密码 sudo passwd root 或者直接passwd root
  • Debian 9快速开启Google BBR的方法

    Google BBR是一个TCP加速优化工具 xff0c 类似于锐速 xff0c 可用于优化TCP连接 xff0c 最近Google开源了其TCP BBR拥塞控制算法 xff0c 并提交到了Linux内核 根据实地测试 xff0c 在部署了
  • 解决xshell终端主机名和用户名不显示颜色

    设置完成后是这样 步骤如下 1 打开你连接的Linux服务器 2 在用户文件夹下 xff0c 打开终端 xff0c 或者输入ctrl 43 h显示隐藏文件 3 打开这个文件 bashrc 把这个注释取消掉就可以了
  • 关于安卓唯一标识的汇总及最佳做法

    前言 识别用户唯一性 xff0c 是每个做应用所遇到的问题之一 通常我们会希望有一个唯一的字符 xff0c 去识别关联我们的用户 标识符特性 Android 操作系统提供了多种具有不同行为特性的 ID 我们应该使用何种 ID 取决于以下特性
  • java字符串数组排序_在Java中对字符串数组进行排序

    允许用户使用字符串数组进行演奏 他们可以将字符串添加到数组中 xff0c 从数组中删除字符串 xff0c 在数组中搜索字符串 xff0c 最终他们将能够对数组进行排序 排序使我很困惑 我尝试了几种不同的方法 第一种方法是将数组转换为Arra
  • Arch Linux 新手安装教程

    前言 安装环境 虚拟机软件 xff1a vmware workstations pro 15 5 1安装的arch linux版本 xff1a arch linux 2020 02 01 本文的目的旨在降低新手安装arch linux的难度