20251215记录
关于我使用开发板连接wifi但是没有分配地址去花一天解决为什么无法使用mqtt连接服务器的问题
居然不知道ping一下连通性。。主要是不太信任不熟悉的代码,比如那没有一点注释的mqtt代码,就一直以为是mqtt的问题。结果就是dhcp的问题。
加载过慢请开启缓存 浏览器默认开启
居然不知道ping一下连通性。。主要是不太信任不熟悉的代码,比如那没有一点注释的mqtt代码,就一直以为是mqtt的问题。结果就是dhcp的问题。
1. 接入凭证
ping 命令获取其 IP 地址。1883。问题1:当echo的时候查找~/.bashrc文件,发现脚本会继续寻找bashrc.d目录下的proxy文件并进行运行,也就是启动bash的时候就会运行那个proxy.sh文件,而proxy.sh文件可能是之前旧的代理地址,只要删除里面的内容就好了。
问题2:redhat虚拟机终端按键哒哒哒的问题主要是虚拟机的问题,并不是自己键盘的问题,可以在搜索关键词进行寻找解决方案
今天对podman进行了更深入地学习,包括podman对pod的创建,然后使用映像文件将容器创建在pod里
还有创建网络,对pod的网络进行指定(只在创建时还是有点不方便的)
了解到一个pod迁移方式:
将现有 Pod 导出为 Compose 风格 YAML
你可以用 podman generate kube 从已有 Pod 自动导出配置文件,方便迁移或复用:
podman pod create --name mypod
podman run -dt --pod mypod --name web nginx:alpine
podman run -dt --pod mypod --name sidecar busybox sh -c “while true; do echo hello; sleep 10; done”
podman generate kube mypod > pod-compose.yaml
然后你可以用 pod-compose.yaml 作为配置模板修改后再部署:
podman play kube pod-compose.yaml
基础设施容器:
在Podman中,Pod创建时会自动生成一个名为“infra”的基础设施容器(也称Pause容器),它的核心作用是初始化并维护Pod的网络命名空间,使Pod内所有容器能共享同一个网络环境、IP地址,从而实现它们之间通过localhost互相通信。这个轻量级且对用户隐藏的容器几乎不占用资源,但其生命周期与Pod绑定,确保即使Pod内没有其他容器运行,网络环境也能保持存活,直到Pod被删除时一同销毁。这种设计简化了网络管理,提高了资源利用率,并提升了可维护性,其理念与Kubernetes中的Pause容器类似,都是为了解决多容器共享网络的问题。
问题:
podman run -d --pod myapp-pod --name mysql 00a697b8380c 无法运行
解决过程:
podman logs <容器ID> 查看问题,发现错误信息:2025-07-02 12:53:55+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
你需要通过环境变量指定以下之一:
- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD
MYSQL_ROOT_PASSWORD 重新运行容器:podman run -d --pod myapp-pod --name mysql -e MYSQL_ROOT_PASSWORD=root1573 00a697b8380c
如何使用红帽订阅管理器将 RHEL 系统注册并订阅到红帽客户门户网站?
subscription-manager register
Username: 时,输入您的红帽客户门户网站用户名。Password: 时,输入您的密码。subscription-manager refresh
问题原因:
Windows 作为客户端挂载了虚拟机的 NFS 服务,但未正常卸载,导致网络连接或挂载点残留。
解决方案:
使用 net use 命令强制删除残留的挂载点。
net use X: /delete
说明:
X:需替换为实际的挂载盘符。- 该命令会断开指定盘符的网络连接,并删除挂载点。
像之前那样添加syscall,和$U/_sysinfotest
kernel/syscall.h
#define SYS_sysinfo 23
kernel/syscall.c
extern uint64 sys_sysinfo(void);
[SYS_sysinfo] sys_sysinfo
kernel/sysproc.c
#include "sysinfo.h"
int sys_sysinfo(void) {
struct sysinfo info;
uint64 addr;
struct proc *p = myproc();
if (argaddr(0, &addr) < 0)
return -1;
info.freemem = kfreemem();
info.nproc = nproc();
if (copyout(p->pagetable, addr, (char *)&info, sizeof(info)) < 0)
return -1;
return 0;
}
kernel/kalloc.c
void *
kalloc(void)
{
struct run *r;
acquire(&kmem.lock);
r = kmem.freelist;
if(r)
kmem.freelist = r->next;
release(&kmem.lock);
if(r)
memset((char*)r, 5, PGSIZE); // fill with junk
return (void*)r;
}
uint64
kfreemem(void)
{
struct run *r;
uint64 pages=0;
acquire(&kmem.lock);
for(r=kmem.freelist;r;r=r->next)
pages++;
release(&kmem.lock);
return pages*PGSIZE;
}
kernel/proc.c
int
nproc(void)
{
int count=0;
struct proc* p;
acquire(&pid_lock);
acquire(&wait_lock);
for(p=proc;p<&proc[NPROC];p++)
{
if(p->state!=UNUSED){
count++;
}
}
release(&wait_lock);
release(&pid_lock);
return count;
}
然后输入sysinfotest
ready to load at 0x10a000 ccccccccccload fail 0xc35a69a6 readyWait SELoadr ACK overtime Wait connect success flag (hisilicon) overtime.OHOS_Image.bin 文件。文档中可能提到选择两个文件,但实际应选择一个整合好的文件,这可能是文档的疏漏。