首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
我的邮件
Search
1
科普:Memory Compiler生成的Register file和SRAM有何区别?
89 阅读
2
virtuoso和empyrean alps模拟仿真和混仿教程
87 阅读
3
在IC617中进行xa+vcs数模混仿
86 阅读
4
vcs debug rtl或者netlist 中的loop
52 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
41 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vcs
PyQT
STM32
cadence
linux
systemverilog
EDA
Alist
vscode
uos
package
MCU
C
QT
CXL
sed
sv
webdav
bennyhe
累计撰写
344
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
我的邮件
搜索到
34
篇与
的结果
2025-06-18
在 Docker 中运行 macOS
Docker-OSX 简介Docker-OSX 是由 Sick.Codes 维护的开源项目,它基于 QEMU 和 KVM 技术,支持在 Docker 容器中运行 macOS。你可以在 macOS 上进行开发、测试应用程序,甚至进行安全研究。Docker-OSX 支持多种 macOS 版本,从 High Sierra(10.13)到最新的 Sonoma(14)。项目特点X11 转发:支持在 Linux 和 Windows 上通过 X11 显示 macOS 界面。iMessage 安全研究:支持在 macOS VM 中进行 iMessage 和 iCloud 的安全研究。iPhone USB 传输支持:可以通过 USB 传输将 iPhone 连接到 Docker 中的 macOS。CI/CD 集成:适用于 macOS 的持续集成和持续部署(CI/CD)工作流。支持多版本 macOS:包括 Catalina、Big Sur、Monterey、Ventura 和 Sonoma 等。快速启动 Docker-OSX2.1 基本环境要求虚拟化支持:确保你的 CPU 支持 KVM,并在 BIOS 中启用虚拟化技术(Intel VT-x 或 AMD-V)。磁盘空间:至少需要 20GB 的磁盘空间,建议预留 50GB 以应对 macOS 和 Xcode 的需求。2.2 安装依赖根据你的操作系统,首先安装必要的依赖项。Arch Linux:sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmfUbuntu / Debian:sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-toolsCentOS / RHEL / Fedora:sudo yum install libvirt qemu-kvm安装完成后,启用 libvirt 并加载 KVM 内核模块:sudo systemctl enable --now libvirtdsudo systemctl enable --now virtlogdecho 1 | sudo tee /sys/module/kvm/parameters/ignore_msrssudo modprobe kvm2.3 运行 Docker-OSX 容器Docker-OSX 提供了多个预构建的 macOS 镜像,下面以 Big Sur 为例启动容器:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest2.4 运行预装的 Catalina 系统如果你希望直接运行预装的 Catalina 系统,执行以下命令:docker pull sickcodes/docker-osx:autodocker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e GENERATE_UNIQUE=true \ sickcodes/docker-osx:auto默认的用户名和密码分别是 user 和 alpine。然后就可以通过VNC连接了本地VNC连接:localhost:10022远程连接:remotehost:10022高级功能3.1 USB 传输和 iPhone 支持Docker-OSX 支持 USB 传输功能,允许你将 iPhone 或 iPad 连接到虚拟机上。你可以使用 usbfluxd 来实现 USB 设备在 macOS 虚拟机中的识别。设置 USB 传输首先,确保在宿主机上安装 usbmuxd、socat 和 usbfluxd:sudo pacman -S libusbmuxd usbmuxd avahi socat启动 usbmuxd 和 usbfluxd:sudo systemctl start usbmuxdsudo avahi-daemonsudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxdsudo usbfluxd -f -n然后,在 macOS 虚拟机中安装 usbfluxd 并启动 USB 传输:brew install make automake autoconf libtool pkg-config gcc libimobiledevice usbmuxdgit clone https://github.com/corellium/usbfluxd.gitcd usbfluxd./autogen.shmakesudo make installsudo usbfluxd -f -r 172.17.0.1:5000这样,macOS 系统中的应用(如 Xcode)将可以识别你的 iPhone 或 iPad 设备。3.2 生成 macOS 序列号Docker-OSX 集成了 osx-serial-generator,可以帮助你生成 macOS 序列号、UUID 和主板序列号。这对于 iMessage 和 iCloud 的使用十分重要。生成唯一的序列号你可以在启动容器时自动生成序列号:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_UNIQUE=true \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest使用特定的序列号如果你已经有特定的序列号,可以使用以下命令:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_SPECIFIC=true \ -e DEVICE_MODEL="iMacPro1,1" \ -e SERIAL="C02TW0WAHX87" \ -e BOARD_SERIAL="C027251024NJG36UE" \ -e UUID="5CCB366D-9118-4C61-A00A-E5BAF3BED451" \ sickcodes/docker-osx:latest常见问题与解决方法4.1 Docker 未运行如果遇到 docker: unknown server OS: . 错误,说明 Docker 守护进程未启动。可以通过以下命令启动 Docker:sudo dockerd或者:sudo systemctl --start dockerd4.2 权限问题如果启动时遇到权限相关的错误,请确保你的用户属于 Docker、KVM 和 libvirt 组:sudo usermod -aG docker "${USER}"sudo usermod -aG kvm "${USER}"sudo usermod -aG libvirt "${USER}"4.3 内存不足如果分配的内存比主机上可用的内存多,可能会出现内存分配错误。可以通过清理缓存来释放内存:sudo tee /proc/sys/vm/drop_caches <<< 3总结Docker-OSX 是一个强大的工具,允许你在 Docker 容器中运行 macOS,并且支持多种高级功能,如 USB 传输、序列号生成和 CI/CD 集成等。无论你是开发者、测试人员还是安全研究人员,Docker-OSX 都能为你提供一个高效的 macOS 虚拟化解决方案。
2025年06月18日
5 阅读
0 评论
0 点赞
2025-06-18
打造linux shell操作方式的windows powershell
建立常用的su/find/which/ll/ls 命令profile主要用于个性化常用的函数、别名等等。每次加载powershell的时候,都会执行profile中的内容。查看是否有profile:$profile如果结果是false说明没有。则创建一个。New-Item –Path $Profile –Type File –Force-Force 是强制创建,即使你有了,也创建。使用记事本编辑你自己的profile:notepad $Profilefunction ll { ls }function where ($command) {Get-Command -Name $command -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue}Remove-Item -Force Alias:wherefunction which ($command) {gcm $command -All}function find {Get-ChildItem -r @args}function su {Start-Process powershell -Verb runAs}如何在 Powershell 中删除常量别名?Remove-Item -Force Alias:wherePowershell函数优先命令,但是别名优先于函数sed编辑器在windows平台上的使用一、写在前面我们经常在linux上使用sed命令去替换文件里面字符,但是我们经常使用的是windows系统,文件太大如果上传到linux上去操作,浪费空间,又浪费上传下载传输的网络带宽。所以能windows系统上使用sed工具是一件多么美妙的事情,终于有开源界的大佬把sed带到了Windows平台,让我们一起来体验其强大的功能。二、sed介绍sed 全名为 stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大。是贝尔实验室的 Lee E.McMahon 在 1973 年到 1974 年之间开发完成,目前可以在大多数操作系统中使用,sed 的出现作为 grep 的继任者。与vim等编辑器不同,sed 是一种非交互式编辑器(即用户不必参与编辑过程),它使用预先设定好的编辑指令对输入的文本进行编辑,完成之后再输出编辑结构。sed 基本上就是在玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强。三、安装sed先从sourceforge网站上下载sed win的安装程序https://sourceforge.net/projects/gnuwin32/files/sed/我选择是最新的sed-4.2.1,直接默认安装就行了四、sed使用使用CMD,先进入到sed默认安装路径的bin文件夹 C:\Program Files (x86)\GnuWin32\bin输入下面命令使用就行了sed -i "s/NO_AUTO_CREATE_USER//" d:/Dump20230825.sql我这段命令作用是将D盘的Dump20230825.sql文件中的NO_AUTO_CREATE_USER字符串替换成空。具体使用方法就行sed -i 's/FIND_TEXT/REPLACE_TEXT/' file.txt将 C:\Program Files (x86)\GnuWin32\bin放入环境变量的PATH 路径中去即可在任意路径下时使用
2025年06月18日
3 阅读
0 评论
0 点赞
2025-06-18
常见系统部署(3)
私人笔记部署下载并启动为知笔记服务进入用户目录建立一个wizdata的文件夹。为知笔记服务端会把所有的数据保存在这个目录里面。如果是正式使用,请注意定时备份该目录。如果你的8000端口被占用,请将下面的8000:80更换为xxxx:80,其中xxxx为你空余的端口号。docker run --name wiz --restart=always -it -d -v ~/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 8000:80 -p 9269:9269/udp wiznote/wizserver安装成功之后就可以通过ip:8000访问网页版了。默认管理员账号:admin@wiz.cn密码:123456使用这个账号,登录网页版,然后修改管理员密码。其他用户,请自行注册。免费版本可以注册5个用户(不包含管理员账号)登入效果:设置内网穿透,客户端支持windows、linux、macos、ios、Android。WINDOWS客户端更新docker stop wizdocker rm wizdocker pull wiznote/wizserver:latestdocker run --name wiz --restart=always -it -d -v ~/wizdata:/wiz/storage -v /etc/localtime:/etc/localtime -p 80:80 -p 9269:9269/udp wiznote/wizserver私人iptv 部署一键部署自动更新IPTV源!Docker玩家专属电视频道管家来了兄弟们有没有遇到过这种情况?刚找到的直播源没看两天就失效,半夜想追个球赛却发现频道全挂了。今天二冰给大家带来这个iptv-sources项目,堪称电视频道管家,让你彻底告别手动更新频道的痛苦!项目简介iptv-sources 是一个基于Docker的自动IPTV源管理神器,它能:• 自动抓取全球20+个优质源站• 智能合并去重生成标准化m3u列表• 自带EPG电子节目指南支持• 支持与iptv-checker联动检测可用性最骚的是这个项目每2小时自动更新一次频道源,官方统计可用率长期保持在80%以上!五大核心优势全自动运维:内置定时任务+智能更新脚本,完全解放双手多源聚合:整合了http://iptv.org等知名源站,覆盖国内外2000+频道Docker极简部署:三行命令搞定,支持群晖/威联通等NAS系统智能检测系统:可联动iptv-checker自动过滤失效频道灵活扩展:支持自定义GitHub代理,墙内用户也能畅快更新手把手部署教程(Dockge版)version: '3.8' services: iptv-api: image: guovern/iptv-api container_name: iptv-api ports: - "8755:8000" volumes: - /www/dk_project/dk_app/iptv/config:/iptv-api/config - /www/dk_project/dk_app/iptv/output:/iptv-api/output restart: unless-stopped高级玩法频道可用性检测访问http://127.0.0.1:8755/check/cn即可查看中国区频道存活率强制手动更新执行命令立即刷新源列表:docker exec -it iptv-sources /bin/sh ./update-sources.sh定时任务配置在群晖任务计划中添加:docker exec -d iptv-sources /bin/sh ./update-sources.sh建议每天凌晨3点自动执行接口地址:ip:8755M3u 接口:127.0.0.1:8755/m3uTxt 接口:127.0.0.1:8755/txt接口内容:127.0.0.1:8755/content测速日志:127.0.0.1:8755/log影视仓请使用txt接口,不然会出现好多重复并且无用的频道,例如:http://127.0.0.1:8755/txt避坑指南• 若遇更新失败,尝试更换CUSTOM_GITHUB_RAW_SOURCE_PROXY_URL代理• 频道导入失败时,检查播放器是否支持https协议• 推荐配合iptv-checker使用,过滤失效源效果更佳• 海外用户可删除代理配置提升更新速度总结经过两周实测,二冰的影视库再也没出现过"该频道不可用"的尴尬提示。项目对国内网络环境适配良好,特别是通过代理解决了GitHub源抓取问题。建议搭配2GB以上内存的设备运行,适合:✅ 追剧狂魔✅ 体育赛事爱好者✅ 海外华人看国内台✅ 折腾党想要自建IPTV服务最后奉上我的超级无敌至尊docker库,二冰平时玩过的docker都整理到了这个仓库中了,一直在更新中,希望有github账号的兄弟能去给点个star,不知道玩啥的,都去这里面找,都给你们分好类私人听书系统部署audiobookshelf宝塔桌面docker 部署搜索book,点击安装登入效果:这个需要本地资源。私人资源搜索部署Docker神器!一键部署全网资源搜索神器爱盼兄弟们还在为找资源东奔西跑?今天二冰给大家安利一个能聚合全网资源的搜索神器——Aipan(爱盼)。只要用Docker跑个容器,你就能拥有自己的影视/音乐/网盘资源聚合搜索站!一、项目简介项目地址:https://github.com/unilei/aipan-netdisk-search这个基于Vue+Nuxt.js的开源项目堪称资源党福音:• 豆瓣热映榜单实时追踪• 聚合多个网盘资源搜索接口• 酷我音乐无损音源下载• 支持Alist在线播放• 内置电视直播源• 甚至还能当博客用docker-compose代码(docker-compose.yml 内容如下)version: "3.9" # 设置 Compose 文件的版本 services: aipan-netdisk-search: image: fooololo/aipan-netdisk-search:latest # 使用的镜像 container_name: aipan-netdisk-search # 容器名称 network_mode: bridge # 网络模式 restart: unless-stopped # 重启策略 ports: # 端口映射 - 13000:3000 # 将主机的 13000 端口映射到容器的 3000 端口 logging: # 日志配置 options: max-size: 5m # 日志文件的最大大小 max-file: "5" # 保留的最大日志文件数量配套环境变量文件env.txt配置:ADMIN_USER=adminADMIN_PASSWORD=你的密码JWT_SECRET=XnKZDR7OmPce9SxBjbPOqyMnMKDMdLLWNJP9iqsrYNk=然后运行sudo docker-compose up -d
2025年06月18日
5 阅读
0 评论
0 点赞
2025-06-16
UOS 知识汇总/Linux 知识汇总
UOS创建开机自启程序或脚本通过创建桌面启动程序实现开机自启创建可执行程序或脚本启动文件xx.desktop,文件格式如下[Desktop Entry]Type=ApplicationEncoding=UTF-8Exec=/usr/bin/xx.sh #可执行程序路径Name=xx #程序名称拷贝脚本到/usr/bin目录sudo cp -f xx.sh /usr/bin/chmod a+x /usr/bin/xx.sh设置开机自启动,启动时间为开机输入密码进入桌面的瞬间执行sudo cp -f xx.desktop /etc/xdg/autostart/sudo chmod 644 /etc/xdg/autostart/xx.desktop通过配置rc-local服务实现开机自启uos默认没有开启rc-local服务,所以在创建/etc/rc.local文件,并且向该文件写入开机需要执行的命令是不会生效的,需要先开启并配置rc-local.service服务,以下为配置相关步骤:编辑/lib/systemd/system/rc-local.service文件,在文件结尾添加以下两行代码[Install] WantedBy=multi-user.target lzc@lzc-PC:~$ cat /lib/systemd/system/rc-local.service # SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # This unit gets pulled automatically into multi-user.target by # systemd-rc-local-generator if /etc/rc.local is executable. [Unit] Description=/etc/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no [Install] WantedBy=multi-user.target 启动rc-local.service服务并设置开机自启systemctl start rc-local.servicesystemctl enable rc-local.service创建rc.local文件并赋予755的权限,往/etc/rc.local文件中写入开机需要执行的命令即可touch /etc/rc.localchmod 755 /etc/rc.local原文链接:https://blog.csdn.net/zZzZzZ__/article/details/120054678软连接复制在Linux中,使用cp命令复制软链接时,会根据命令行参数的不同而产生不同的结果:如果使用cp -L命令,cp会复制软链接指向的文件,而不是软链接本身。这个选项强制cp遵循软链接指向的路径,而不是复制软链接。如果使用cp -P命令,cp会复制软链接本身,而不是软链接指向的文件。这个选项使cp复制软链接,而不是软链接指向的文件。如果未使用任何选项,cp默认会复制软链接本身,而不是软链接指向的文件。这意味着在复制文件树时,软链接只是简单地被复制到目标目录中,而不会创建新的软链接或复制软链接所指向的文件。总之,如果您要复制软链接指向的文件,使用cp -L命令;如果您要复制软链接本身,请使用cp -P命令。如果您只需要将软链接复制到目标目录中,而不是复制软链接指向的文件,那么默认的cp行为就可以满足您的需求。删除打开的文件比如删除打开的.Makefile_back.swp会产生一个临时文件 .nfs000000007c3595c8000129a0再删除临时文件会提示rm: cannot remove ‘.nfs000000007c3595c8000129a0’: Device or resource busy/usr/sbin/lsof D .nfs000000007c3595c8000129a0lsof: status error on D: No such file or directoryCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEgvim 98377 bennyhe 12u REG 0,46 12288 2083886536 .nfs000000007c3595c8000129a0查询储打开工具的PID, kill -9 98377 强制关闭关工具就可以了。删除当前路径所以空文件夹find ./ -type d -empty -deletefind ./ -type d -empty 查找所有空文件夹根据进程搜索PID同样地,你可以执行命令 ps 附带额外选项来获取某个指定的进程的 PID。例如,你可以使用以下命令来获得 firefox 的 PID。ps -el | grep -i firefox还有 ps -ef | grep gvim | grep bennyhe通过进程ID查询端口占用以上一步骤的sshd进程为例,进程PID为522(如果没有netstat命令,使用 sudo apt-get install net-tools 进行安装)netstat -nap | grep 522运行项目并下载源码1如果是查看root用户进程需要加sudo 指令应该为 :sudo netstat -nap|grep 522————————————————版权声明:本文为CSDN博主「玩转智能机器人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u011198687/article/details/120825794
2025年06月16日
8 阅读
0 评论
0 点赞
2025-06-12
makfile 知识汇总
怎么实现数组的效果比如有多个文件的编译问题vlogan -sysc -sc_model adder -sc_portmap the.map adder.vvlogan -sysc -sc_model multiplier -sc_portmap the.map multiplier.v每增加一下文件都需要增加一个增加的编译,该怎么实现呢?如果model 名字和文件名字就是.v 关系 可以使用foreachnames := a b c d files := $(foreach n,$(names),$(n).v) all:$(names) %: %.v echo "$@ $<" vlogan -sysc -sc_model $@ -sc_portmap the.map $< 输入make all 就行了这里的%: %.v , 实际上表示任意的命令 比如make xxx, % 就表示xxx, 依赖%.v 就是表示xxx.v 存在, $@就表示这个对像xxx,$< 表示第一个依赖,就是xxx.vforeach 函数foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是:$(foreach ,,)这个函数的意思是,把参数 中的单词逐一取出放到参数 所指定的变量中,然后再执行 所包含的表达式。每一次 会返回一个字符串,循环过程中, 的所返回的每个字符串会以空格分隔,最后当整个循环结束时, 所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。所以, 最好是一个变量名, 可以是一个表达式,而 中一般会使用 这个参数来依次枚举 中的单词。举个例子:names := a b c dfiles := $(foreach n,$(names),$(n).o)上面的例子中, $(name) 中的单词会被挨个取出,并存到变量 n 中, $(n).o 每次根据 $(n) 计算出一个值,这些值以空格分隔,最后作为foreach函数的返回,所以, $(files)的值是 a.o b.o c.o d.o 。注意,foreach中的 参数是一个临时的局部变量,foreach函数执行完后,参数 的变量将不在作用,其作用域只在foreach函数当中。常用的内置变量$@:表示目标文件。$^:表示所有的依赖文件。$<:表示第一个依赖文件。main: main.o utils.o$(CC) -o $@ $^ 在这里,$@ 表示目标文件 main,$^ 表示所有的依赖文件 main.o 和 utils.o。wildcard 用法SRCS := $(wildcard *.c)在这个例子中,$(wildcard *.c) 将匹配当前目录下所有以 .c 结尾的文件,并将符合条件的文件名列表赋值给变量 SRCS。FILES := $(wildcard src/*.c include/*.h)这个示例中,$(wildcard src/.c include/.h) 将匹配 src 目录下的所有 .c 文件和 include 目录下的所有 .h 文件,并将结果合并为一个文件列表赋值给变量 FILES。总之,$(wildcard pattern) 函数非常有用,可以帮助 Makefile 在构建过程中获取符合特定模式的文件列表,使得构建过程更加灵活和自动化。根据不同命令对同一个变量赋值ifeq ($(findstring fm,$(MAKECMDGOALS)),fm) tc := fm_demoendififeq ($(findstring fm,$(MAKECMDGOALS)),tcsub) tc := tc_demoendif
2025年06月12日
5 阅读
0 评论
0 点赞
1
...
3
4
5
...
7