虚拟机配置
一、Ubuntu
2.更换镜像源
3.添加 GitHub DNS
sudo gedit /etc/hosts
xxx.xxx.xxx.xxx github.com git //本机IP地址
20.205.243.166 github.com //GitHub.com IP地址
/etc/init.d/networking restart
4.VS code 扩展
sudo cp /etc/hosts /etc/hosts.bak
sudo vi /etc/hosts
20.43.132.130 update.code.visualstudio.com # Visual Studio Code download and update server
13.69.68.34 code.visualstudio.com # Visual Studio Code documentation
104.119.90.120 go.microsoft.com # Microsoft link forwarding service
20.150.83.4 vscode.blob.core.windows.net # Visual Studio Code blob storage, used for remote server
13.107.42.18 marketplace.visualstudio.com # Visual Studio Marketplace
191.238.172.191 *.gallery.vsassets.io # Visual Studio Marketplace
191.238.172.191 *.gallerycdn.vsassets.io # Visual Studio Marketplace
40.70.164.17 rink.hockeyapp.net # Crash reporting service
13.75.34.168 bingsettingssearch.trafficmanager.net # In-product settings search
138.91.148.66 vscode.search.windows.net # In-product settings search
raw.githubusercontent.com # GitHub repository raw file access
50.17.211.206 vsmarketplacebadge.apphb.com # Visual Studio Marketplace badge service
117.18.232.200 az764295.vo.msecnd.net # Visual Studio Code download CDN
42.80.217.156 download.visualstudio.microsoft.com # Visual Studio download server, provides dependencies for some VS Code extensions (C++, C#)
13.67.9.5 vscode-sync.trafficmanager.net # Visual Studio Code Settings Sync service
13.69.68.64 vscode-sync-insiders.trafficmanager.net # Visual Studio Code Settings Sync service (Insiders)
13.107.5.93 default.exp-tas.com
resolvectl flush-caches
5.更换内核
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline//安装Mainline工具
切换内核
gedit /boot/grub/grub.cfg //查看需要更换内核的顺序位
sudo gedit /etc/default/grub //更换开机文件
sudo update-grub
reboot
apt寻找内核版本
apt-cache search linux | grep 5.8.0-63
apt安装
apt install linux-image-5.8.0-63-generic
#阿里源 Ubuntu 22.04
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
6.docker
docker 更换源
vim /etc/docker/daemon.{
"registry-mirrors": [
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn"
]
}
sudo systemctl daemon-reload #重启daemon进程
sudo systemctl restart docker #重启docker
docker 修改DNS
永久修改DNS方法
vim /etc/systemd/resolved.con
systemctl restart systemd-resolved
systemctl enable systemd-resolved
mv /etc/resolv.conf /etc/resolv.conf.bak
ln -s /run/systemd/resolve/resolv.conf /etc/
临时修改DNS
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
docker build -t your_image_name:your_tag .
docker build -t myapp:latest .
docker run -d -p "0.0.0.0:8090:80" -h "stack" --name="stack" stack
#include "kernel/param.h"
#include "kernel/types.h"
#include "kernel/stat.h"
#include "user/user.h"
#include "stddef.h"
#define MAX 1024
int main(int argc, char *argv[])
{
if(argc < 2)
{
fprintf(2, "Usage: xargs command\n");
exit(1);
}
char *argvs[MAXARG];//存放所有参数
int index = 0;
for(int i = 1; i < argc; i++) //依次读入
{
argvs[index++] = argv[i];
}
char buf[MAX];
int n = read(0, buf, sizeof(buf));
if(n < 0)
{
fprintf(2," input error");
exit(1);
}
char temp[MAX];//临时缓冲区
int k = 0;
for(int i = 0; i < n; i++) //以“\n”为分解符
{
if(buf[i] != '\n')
{
temp[k++] = buf[i];
}
else //创建子进程执行命令
{
temp[k] = 0;
argvs[index] = temp;
int rc = fork();
if(rc < 0)
{
fprintf(2,"error : create fork fail\n");
exit(1);
}
else if(rc== 0)
{
if (exec(argv[1], argvs) < 0)
{
fprintf(2, "error: exec fail \n");
exit(1);
}
}
else
{
wait(NULL);
k = 0;
memset(temp, 0, sizeof(temp));//重置temp
}
}
}
exit(0);
}