目录
Ubuntu 64位ARM Server 22.04.3安装JDK
Ubuntu 64位ARM Server 22.04.3安装MySQL
Copy on Write(写时拷贝)
make -j和make -j8
make -j 选项表示并行编译。
make -j8,让make最多允许8个编译命令同时执行。
Fedora挂载exFAT U盘
设置RPM Fusion Repository
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
安裝 exfat-utils 及 fuse-exfat
sudo dnf install exfat-utils fuse-exfat
插U盘,lsblk可以查看U盘是否被自动挂载
4如果没有自动挂载,则手动挂载
去挂载的位置查看文件
Ubuntu 64位ARM Server 22.04.3安装JDK
首先去Oracle官网下载JDK,没有账号的注册一下就可以。
注意要下载64位ARM版本。
把压缩包放到合适的位置,然后解压下载的JDK压缩包。
下面是一段示例代码,根据自己的情况修改。
sudo tar -xvf jdk-8u371-fcs-bin-b11-linux-aarch64-17_mar_2023.tar
设置环境变量
vim ~/.bashrc
在配置文件末尾加入
export JAVA_HOME=/root/jdk/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
jdk1.8.0_371根据自己下载的实际版本修改。
保存配置。
使配置生效
source ~/.bashrc
测试
java -version
Ubuntu 64位ARM Server 22.04.3安装MySQL
如果之前装过,该删的删干净,然后安装
sudo apt-get install mysql-server
启动服务
sudo service mysql start
第一次登录设置个密码
sudo mysql -uroot -p
权限系统
权限类型
r:可读取
w:可写入
x:可执行
不同角色
User(拥有者)、Group(用户组)、Other(其他用户)
可以分别授权
常见权限
600:-rw-------
User有读、写权限,Group和Other无权限
644:-rw-r-r--
User有读、写权限,Group和Other有读权限
666:-rw-rw-rw-
User、Group、Other均有读、写权限
700:-rwx------
User有读、写、执行权限,Group和Other无权限
755:-rwxr-xr-x
User有读、写、执行权限,Group和Other有读、执行权限
711:-rwx--x--x
User有读、写、执行权限,Group和Other有执行权限
777:-rwxrwxrwx
User、Group、Other均有读、写、执行权限
fork函数
fork是类Unix操作系统上创建进程的主要方法。fork用于创建子进程(等同于当前进程的副本)。
exec函数
exec函数的作用就是:装载一个新的程序(可执行映像)覆盖当前进程内存空间中的映像,从而执行不同的任务。exec系列函数在执行时会直接替换掉当前进程的地址空间。
Copy on Write(写时拷贝)
在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制”技术,也就是只有进程空间的各段的内容要发生变化时,才将父进程的内容复制一份给子进程。
现在有一个父进程P1,这是一个主体,那么它是有灵魂也是有身体的。现在在其虚拟地址空间(有相应的数据结构表示)上有:正文段,数据段,堆,栈这四个部分,相应地,内核要为这四个部分分配给自的物理块。即正文段块、数据段块、堆块、栈块。至于如何分配,这是内核去做的事,在此不详述。
写时复制技术:内核只为新生成的子进程创建虚拟空间结构,它们复制于父进程的虚拟空间结构,但是不为这些段分配物理内存,它们共享父进程的物理空间,当父子进程中有更改相应的段的行为发生时,再为子进程相应的段分配物理空间。