Ubuntu 系统启动页面配置网络慢

Linux Ubuntu Network Ubuntu 系统启动页面配置网络慢 开机过程中会出现, [...]a start job is running for wait for network to be configured...[1 min 3 sec / no limit] 一般需要等待两到三分钟。这是因为一直无法配置,一般网口会通过 DHCP 或者其他协议自动获取配置,但是如果配置文件就没写相关信息,或者系统里的网卡其实是虚拟网卡,就无法自动获取,卡到最后还会报个错。 解决的思路主要有两个,一个是将 systemd-networkd-wait-online.service 服务停掉;一个是配置文件里改成 optional: true。 方案一 sudo systemctl mask systemd-networkd-wait-online.service 方案二 $ networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 enp96s0f0 ether no-carrier configuring 3 enp96s0f1 ether routable configured 3 links listed. # 看到 enp96s0f0 无法配置,那么就在配置文件里帮它配置上 $ vi /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp96s0f0: # device name optional: true # 加上这行 enp96s0f1: addresses: [ 192.168.1.100/24 ] gateway4: 192.168.1.1 nameservers: addresses: - "192.168.1.1" $ sudo netplan generate && sudo netplan apply

Ubuntu 配置 ip 地址

Linux Ubuntu Ubuntu 配置 ip 地址 之前的经历告诉我,Linux 通过读取配置文件加载 ip 相关的配置,这让问题变得简单。在 Redhat 系中,通过修改 /etc/sysconfig/network-scripts/ifcfg-* 等文件,可以针对网卡级别直接修改配置,而 Debian 系实现的方案并不一致。 众所周知,Ubuntu 分为 Server 版和 Desktop 版,后者提供更优秀的可视化配置;同时 Ubuntu 在 17.04 引入了 netplan 配置,这改变了网络配置的方式。 Ubuntu Desktop 18.10 Desktop 网络配置 这里对桌面版不再说明细节,图文解释见 How to configure static IP address on Ubuntu 18.10 Cosmic Cuttlefish Linux。 Ubuntu 17.10 之后的网络配置 临时配置 ip 地址 通过 ip 这个命令可以临时配置 ip 地址。重启后消失。 # 设置 ip 地址 $ sudo ip addr add 192.168.1.21/24 dev eno1 # 设置通道开闭(如果在 ssh 登陆情况下关闭,那么就只能去...) $ ip link set dev eno0 up $ ip link set dev eno0 up # 查看网卡绑定地址信息 $ ip address show dev eno1 # 设置网关 $ sudo ip route add default via 192.168.1.1 # 查看网关信息 $ ip route show 动态 ip 地址分配(DHCP) 修改 netplan 相关配置文件即可。 ...

vimrc文件配置

Linux VIM 【转载】vimrc文件配置的全文收录(史上最全,附带中文解释) vi 与 vim 的不同 vi 类似于 windows 的记事本,比较适合编辑普通文本,但是用于编写脚本代码就不太合适了,缺少高亮显示代码、自动缩进等重要功能;而 vim 类似于 windows 下的高级编辑器,为了提高开发效率,需要使用 vim 而不是 vi。 因此,首先做如下调整,以便只使用 vim 作为开发脚本的功能工具: [root@dabiaoge ~]# echo 'alias vi=vim' >> /etc/profile [root@dabiaoge ~]# tail -1 /etc/profile alias vi=vim [root@dabiaoge ~]# source /etc/profile 经过上述调整后,当用 vi 命令时,会自动被 vim 替代。 配置 vim 的配置文件及其重要参数介绍 全局路径:/etc/vimrc 用户个人路径:$HOME/.vimrc 建议:放在用户个人路径 $HOME/.vimrc 下。 .vimrc 文件的配置(几乎涵盖了所有) "~/.vimrc "vim config file "date 2018-12-26 "Created by bert "blog:https://blog.51cto.com/zpf666 """"""""""""""""""""""""""""""""""" """=>全局配置<=""" """"""""""""""""""""""""""""""""""" "关闭vi兼容模式" set nocompatible "设置历史记录步数" set history=1000 "开启相关插件" "侦测文件类型" filetype on "载入文件类型插件" filetype plugin on "为特定文件类型载入相关缩进文件" filetype indent on "当文件在外部被修改时,自动更新该文件" set autoread "激活鼠标的使用" set mouse=a set selection=exclusive set selectmode=mouse,key "保存全局变量" set viminfo+=! "带有如下符号的单词不要被换行分割" set iskeyword+=_,$,@,%,#,- "通过使用: commands命令,告诉我们文件的哪一行被改变过" set report=0 "被分割的窗口间显示空白,便于阅读" set fillchars=vert:\ ,stl:\ ,stlnc:\ """"""""""""""""""""""""""""""""" """=>字体和颜色<=""" """"""""""""""""""""""""""""""""" "自动开启语法高亮" syntax enable "设置字体" "set guifont=dejaVu\ Sans\ MONO\ 10 set guifont=Courier_New:h10:cANSI "设置颜色" "colorscheme desert "高亮显示当前行" set cursorline hi cursorline guibg=#00ff00 hi CursorColumn guibg=#00ff00 "高亮显示普通txt文件(需要txt.vim脚本)" au BufRead,BufNewFile * setfiletype txt """"""""""""""""""""""""""""""" """=>代码折叠功能<=""" """"""""""""""""""""""""""""""" "激活折叠功能" set foldenable "set nofen(这个是关闭折叠功能)" "设置按照语法方式折叠(可简写set fdm=XX)" "有6种折叠方法: "manual 手工定义折叠" "indent 更多的缩进表示更高级别的折叠" "expr 用表达式来定义折叠" "syntax 用语法高亮来定义折叠" "diff 对没有更改的文本进行折叠" "marker 对文中的标志进行折叠" set foldmethod=manual "set fdl=0(这个是不选用任何折叠方法)" "设置折叠区域的宽度" "如果不为0,则在屏幕左侧显示一个折叠标识列 "分别用“-”和“+”来表示打开和关闭的折叠 set foldcolumn=0 "设置折叠层数为3" setlocal foldlevel=3 "设置为自动关闭折叠" set foldclose=all "用空格键来代替zo和zc快捷键实现开关折叠" "zo O-pen a fold (打开折叠) "zc C-lose a fold (关闭折叠) "zf F-old creation (创建折叠) "nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> """"""""""""""""""""""""""""""""""" """=>文字处理<=""" """"""""""""""""""""""""""""""""""" "使用空格来替换Tab" set expandtab "设置所有的Tab和缩进为4个空格" set tabstop=4 "设定<<和>>命令移动时的宽度为4" set shiftwidth=4 "使得按退格键时可以一次删除4个空格" set softtabstop=4 set smarttab "缩进,自动缩进(继承前一行的缩进)" "set autoindent 命令打开自动缩进,是下面配置的缩写 "可使用autoindent命令的简写,即“:set ai”和“:set noai” "还可以使用“:set ai sw=4”在一个命令中打开缩进并设置缩进级别 set ai set cindent "智能缩进" set si "自动换行” set wrap "设置软宽度" set sw=4 "行内替换" set gdefault """""""""""""""""""""""""""""""""" """=>Vim 界面<=""" """""""""""""""""""""""""""""""""" "增强模式中的命令行自动完成操作" set wildmenu "显示标尺" set ruler "设置命令行的高度" set cmdheight=1 "显示行数" set nu "不要图形按钮" set go= "在执行宏命令时,不进行显示重绘;在宏命令执行完成后,一次性重绘,以便提高性能" set lz "使回格键(backspace)正常处理indent, eol, start等" set backspace=eol,start,indent "允许空格键和光标键跨越行边界" set whichwrap+=<,>,h,l "设置魔术" set magic "关闭遇到错误时的声音提示" "关闭错误信息响铃" set noerrorbells "关闭使用可视响铃代替呼叫" set novisualbell "高亮显示匹配的括号([{和}])" set showmatch "匹配括号高亮的时间(单位是十分之一秒)" set mat=2 "光标移动到buffer的顶部和底部时保持3行距离" set scrolloff=3 "搜索逐字符高亮" set hlsearch set incsearch "搜索时不区分大小写" "还可以使用简写(“:set ic”和“:set noic”)" set ignorecase "用浅色高亮显示当前行" autocmd InsertLeave * se nocul autocmd InsertEnter * se cul "输入的命令显示出来,看的清楚" set showcmd """""""""""""""""""""""""""""""""""" """=>编码设置<=""" """""""""""""""""""""""""""""""""""" "设置编码" set encoding=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "设置文件编码" set fileencodings=utf-8 "设置终端编码" set termencoding=utf-8 "设置语言编码" set langmenu=zh_CN.UTF-8 set helplang=cn """"""""""""""""""""""""""""" """=>其他设置<=""" """"""""""""""""""""""""""""" "开启新行时使用智能自动缩进" set smartindent set cin set showmatch "在处理未保存或只读文件的时候,弹出确认" set confirm "隐藏工具栏" set guioptions-=T "隐藏菜单栏" set guioptions-=m "置空错误铃声的终端代码" set vb t_vb= "显示状态栏(默认值为1,表示无法显示状态栏)" set laststatus=2 "状态行显示的内容" set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "粘贴不换行问题的解决方法" set pastetoggle=<F9> "设置背景颜色" set background=dark "文件类型自动检测,代码智能补全" set completeopt=longest,preview,menu "共享剪切板" set clipboard+=unnamed "从不备份" set nobackup set noswapfile "自动保存" set autowrite "显示中文帮助" if version >= 603 set helplang=cn set encoding=utf-8 endif "设置高亮相关项" highlight Search ctermbg=black ctermfg=white guifg=white guibg=black """""""""""""""""""""""""""""""" """=>在shell脚本开头自动增加解释器以及作者等版权信息<=""" """""""""""""""""""""""""""""""" "新建.py,.cc,.sh,.java文件,自动插入文件头" autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" "定义函数SetTitle,自动插入文件头" func SetTitle() if expand ("%:e") == 'sh' call setline(1, "#!/bin/bash") call setline(2, "#Author:bert") call setline(3, "#Blog:https://blog.51cto.com/zpf666") call setline(4, "#Time:".strftime("%F %T")) call setline(5, "#Name:".expand("%")) call setline(6, "#Version:V1.0") call setline(7, "#Description:This is a production script.") endif endfunc 转载说明 读者朋友可以直接完全复制粘贴拿去使用,只需要修改代码的开头和末尾部分的版权信息就可以使用 ...

virtualenv 实际场景使用

Python Python Module virtualenv 实际场景使用 virtualenv 是一个用来创建“独立” python 环境的工具,网上相关的资料相当多,但是很少有基于实际场景来叙述的,而且这个双引号独立也另有所指。 下载 virtualenv virtualenv 已经集成在 python3.3 之后标准库的 venv 模块下,这里只说 3.3 之前的版本,着重说 python2.6 和 python2.7 两个版本下的 virtualenv 使用。 下载方式: pip install virtualenv tips:虽然理论上可以通过 python2.6 直接装 2.7 甚至 3.x 的python,但是由于版本古老,可能(大概率)python2.6 下的 virtualenv 工具无法使用,因为 python2.6 不支持字典推导式,会报语法错误。尽量使用 python2.7 以上的版本。 tips2: centos6.x 系统使用的是 python2.6.6,centos7 系统使用的是 python2.7.5。 python2.6 安装 pip,可以直接 wget https://bootstrap.pypa.io/2.6/get-pip.py 下载 get-pip.py 文件,然后 python get-pip.py 来安装 直接使用 virtualenv 用法: virtualenv [OPTIONS] DEST_DIR 可选项(基于virtualenv version:15.2.0): 指令 说明 备注 –version 显示版本 - -h, –help 输出帮助文本 - -v, –verbose 结果详细输出 - -q, –quiet 结果简略输出 - -p PYTHON_EXE, –python=PYTHON_EXE 指定 python 版本,例如:–python=python3.5 将会使用 python3.5 创建虚拟环境。如不指定该选项,则默认指定 python 解释器为(/usr/bin/python) 用得最多的选项。 –clear 清除非root用户安装并从头开始。 注:我没用过这个选项,一般装错直接删除目录。 –no-site-packages 已过时。仅保留向后兼容性。已成为默认选项。 很多资料显示使用这个参数,在当前版本下已经不需要指定该参数 –system-site-packages 为虚拟环境提供 目标python环境 已安装的包 - –always-copy 总是复制文件而不是符号连接。 用的比较多的选项,后面会详细说 –relocatable 使一个现有的 virtualenv 环境可重定位。这会修复脚本,并生成相对的所有.pth文件 没用过,但应该会重新适配pth,之前遇到过一个环境路径问题,但只影响pip安装,不影响python使用(前提配置了路径) –no-setuptools 不要在新的virtualenv中安装setuptools - –no-pip 不要在新的virtualenv中安装pip - –no-wheel 不要在新的virtualenv中安装wheel - –extra-search-dir=DIR 此选项允许您提供自己的setuptools或pip版本,而不是virtualenv附带的嵌入式版本。可多次使用。 - –download 从PyPI下载预安装的软件包。 没用过。 –no-download, –never-download 不要从PyPI下载预安装的软件包。 没用过。 –prompt=PROMPT 为此环境提供备用提示前缀。 激活环境时的显示前缀 –setuptools 已过时。仅保留向后兼容性。该选项无用。 - –distribute 已过时。仅保留向后兼容性。该选项无用。 - –unzip-setuptools 已过时。仅保留向后兼容性。该选项无用。 - 常用方法和实例 virtualenv test 安装截图: ...

windows7 下安装 utunbu 的几件头疼事

[[Windows 7]] [[Ubuntu]] [[Linux]] windows7 下安装 utunbu 的几件头疼事 一、系统及硬件说明 Windows版本:Windows7旗舰版 Linux版本:ubuntukylin-16.10-desktop-amd64 我的笔记本上有两块硬盘,其中一块是 1000GB 机械硬盘,分为五个区,另一块是固态 120GB,用作装系统。 大致的分区情况如下: 二、安装双系统前的准备 我的想法是,将 sda5 中的空间分出来 50G 用于安装 ubuntu,中间的什么压缩卷,转移数据就不赘述了,分好的空间就开始做 U 盘 Linux 系统盘,使用的软件是软碟通,然后等待刻录完成,开机驱动选择U盘启动,然后就开始了安装之旅,噩梦刚刚开始。 三、安装过程 一路确定下去,直到分区的时候,选择自定义分区,推荐 /boot 设置在最前面,然后是 swap 分区,/ 分区,/home 分区,具体分多少看个人喜好,然后就是等待。过了一会儿安装好了,重启。 四、设置开机引导 推荐在 Windows 下进行开机引导,我使用的是 easybcd,添加新条目的时候发现不对劲,按照网上的教程,这时候 /boot 分区前面应该有 Linux 字样,但是我这样安装之后并没有 Linux 字样,但是死马当活马医,还是把 /boot 分区作为引导项,然后重启。 重启之后,有两个登录选项,选择 linux 不能进入 ubuntu,而是进入 grub 引导,难道是我安装的时候分区错误吗,然后我重新安装了一次,仍然在 sda5 上安装了几次,但都是没出现过 Linux 字样。 五、思考 为什么我按照网上的教程多次实践也查了很多原因,看了《Linux鸟哥的私房菜》第三版里 p105 4.4.2 旧主机有两块以上硬盘多重引导该怎么办。开机流程是这样的,BIOS 启动,然后看下用户设定的第一启动盘是什么硬件,然后把权利交给该硬件(前面用U盘启动就是改了这个顺序)。我这个情况,就是给了 sdb 里的 mbr,但是之前用 easybcd 做的引导应该就是把 /boot 传输给 sdb 里的 mbr,让用户开机的时候可以选择,那么为什么进不去 Linux 呢。 ...

WTF,一款个人终端仪表板

Linux WTF,一款个人终端仪表板 主要使用方法,看下面两个链接就好了。 WTF - the terminal dashboard 开始使用 WTF 吧,一款终端仪表板 目前个人使用,还是遇到了一点坑。 坑一:配置文件 wtfutil 指令可以通过 -c/--config 指定特定的配置文件加载,但是实际在自己的机器上(macOS High Sierra)上无论怎么指定,都会指向 ~/.config/wtf/config.yml,如果将该文件删除,那么就会生成一份默认的。对此我的解决方案是,直接修改 ~/.config/wtf/config.yml,玩坏了,就重新生成默认配置。 坑二:部分模块设定 boarder:true,会导致左侧一列字符被吃掉 通过 CMDRUNNER 模块设置 istats all 会出现左侧一列字符消失,设置 boarder:false,问题解决,但缺少了 title 和边界区分 设置 DOCKER 模块,问题如上所述 由于官方目前提供的很多模块也是借助于一些接口的,例如:GitHub,GitLab,TRAVISCI 等,这些模块就没做测试,也暂时没用上。 坑三:DIGITAL CLOCK 模块显示错误 DIGITAL CLOCK 模块在我这边的显示效果,可以理解为第 3-5 个像素集体向左移动 1 像素,无论如何设置 height 和 width。 我想做的:增加一个课程表板块 我的配置 下面是我个人的配置,在 MacBook Pro 15‘ 2015 中,iTerm 完整屏幕显示效果还可以。(需要主动配置 git 仓库位置以及 markdown 文件位置)。 # 终端参数 ➜ wtf echo $COLUMNS 204 ➜ wtf echo $LINES 51 # ~/.config/wtf/config.yml wtf: colors: border: focusable: darkslateblue focused: orange normal: gray grid: columns: [40, 40, 40, 40, 40] rows: [13, 13, 13, 5, 5] refreshInterval: 1 mods: clocks: colors: rows: even: "lightblue" odd: "lightgreen" enabled: true locations: Shanghai: "Asia/Shanghai" Tokyo: "Asia/Tokyo" Toronto: "America/Toronto" New York: "America/New York" London: "Europe/London" Moscow: "Europe/Moscow" Hong Kong: "Asia/Hong Kong" Taipei: "Asia/Taipei" position: top: 0 left: 0 height: 1 width: 2 refreshInterval: 15 timeFormat: "15:04:05 -0700 MST * 2006 January 2 * Monday" dateFormat: "" sort: "chronological" title: "Clocks" type: "clocks" ipinfo: border: true colors: name: "lightblue" value: "white" enabled: true position: top: 1 left: 0 height: 1 width: 1 refreshInterval: 150 power: enabled: true position: top: 1 left: 1 height: 1 width: 1 refreshInterval: 15 title: "⚡️" nbascore: enabled: true position: top: 2 left: 2 height: 1 width: 2 refreshInterval: 600 uptime: args: [""] cmd: "uptime" enabled: true position: top: 3 left: 2 height: 1 width: 2 refreshInterval: 30 type: cmdrunner security: enabled: true position: top: 2 left: 1 height: 1 width: 1 refreshInterval: 3600 resourceusage: enabled: true position: top: 2 left: 0 height: 1 width: 1 refreshInterval: 1 todo: checkedIcon: "X" colors: checked: gray highlight: fore: "black" back: "orange" enabled: true filename: "todo.yml" position: top: 3 left: 0 height: 2 width: 1 refreshInterval: 3600 prettyweather: enabled: true city: "Hangzhou, China" position: top: 3 left: 1 height: 2 width: 1 refreshInterval: 300 unit: "m" view: 0 language: "en" git: commitCount: 5 commitFormat: "[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]" dateFormat: "%H:%M %d %b %y" enabled: true position: top: 0 left: 2 height: 2 width: 3 refreshInterval: 8 repositories: - "/path/to/git/repository/1" - "/path/to/git/repository/2" textfile: enabled: true filePaths: - "/path/to/markdown/file1" - "/path/to/markdown/file2" format: true formatStyle: "dracula" position: top: 2 left: 4 height: 3 width: 1 refreshInterval: 15 wrapText: true

一次内存测试体验

Linux 一次内存测试体验 主要测试项目: 内存带宽测试 内存基准测试 内存基础知识 内存带宽计算公式 内存带宽计算公式:带宽=内存物理频率×倍增系数×(内存总线位数/8) 通用的计算公式:带宽=频率\*位宽/8 内存的物理频率 随着技术的发展,内存的物理频率以及带宽都在增加。 内存的物理频率:内存颗粒运行的物理频率,从早期的 100MHz 到现在的 260MHz。 内存的时钟周期:与内存物理频率互为倒数,所以从早期的 10ns(1/100MHz)到现在的 4n(1/266) 以内。 而内存名称上的数字则是标称频率,其实并不是物理频率。如 DDR 400、DDR2 800、DDR3 1600 和 DDR4 3200 的物理运行频率都是 200MHz,物理频率必须乘上倍增系数才能获得相应的标称频率。 标称频率是以老旧的SDRAM内存为基准,换算得出利于商业运作和产品标识的频率。 内存物理频率与标称频率的列表: 100MHz - DDR200,DDR2 400,DDR3 800,DDR4 1600 133MHz - DDR266,DDR2 533,DDR3 1067,DDR4 2133 166MHz - DDR333,DDR2 667,DDR3 1333,DDR4 2666 200MHz - DDR400,DDR2 800,DDR3 1600,DDR4 3200 233MHz - DDR3 1887,DDR4 3733, 266MHz - DDR2 1066,DDR3 2133,DDR4 4266 内存的倍增系数 内存从SDRAM发展至今DDR4,其改变如下: DDR 采用时钟脉冲上升、下降沿各传一次数据,1 个时钟信号可以传输 2 倍于 SDRAM 的数据,所以又称为双倍速率 SDRAM。一次预读 2bit 数据。它的倍增系数就是 2。 DDR2 仍然采用时钟脉冲上升、下降支各传一次数据的技术(不是传 2次),但是一次预读 4bit 数据,是 DDR 一次预读 2bit 的 2 倍,因此,它的倍增系数是 2X2=4。 DDR3 作为 DDR2 的升级版,最重要的改变是一次预读 8bit,是 DDR2 的 2 倍,所以,它的倍增系数是 2X2X2=8。 DDR4,较为复杂。DDR4 如果要继续在物理频率不增加的情况下达到高传输性能,只有两种方法。 其一就是增加预取位到 16bit 其二就是采用多总线技术。GDDR5 显存就使用了双总线技术来达到极高的内存带宽和标称频率。比如 GDDR5 5000 显存,由于采用双总线技术,我们可以将其看作两颗 “GDDR5 2500” 并行运行,每颗 “GDDR5 2500” 预取位数为 8bit,两颗组成的“双通道”,预取位数可以看作16bit。 实际上用到了第三种方法,可见DDR4 SDRAM 内存的总线位数 从 SDRAM-DDR 时代,数据总线位宽时钟没有改变,都为 64bit,但是采用双通道技术,可以获得 64X2=128bit 的位宽。如果采用四通道技术,可以达到 256bit 位宽。 ...

一次黑苹果的安装

MacOS 一次黑苹果的安装 前提 大概四年前,在神船笔记本上安装过一次黑苹果,后来购入了 mac bookPro 2015 款,不得不说,两者的体验式天差地别。当时的黑苹果的安装是异常困难,当时用的还是 10.12,如今已经出到 10.15 了,但根据升级到 10.15 的用户体验来说,bug 挺多的,影响开发效率(显著的就是卡)。与此同时,想装个高性能的黑苹果的想法就一直在我心里盘旋。 七月份,看到了 黑果小兵的部落阁,尝试搞了个镜像,烧录,在公司的台式机安装,成了,除了核显驱动有问题(7M),可以直接用了。完全没想到如今安装黑苹果那么方便了。 配置 时间来到十月份,双十一也快到了,该买买零件了,根据经验,一套优秀的硬件可以大幅度的减少安装黑苹果的折腾时间。最后根据各方配置单,决定使用一下配置: 主板:华硕 B360M-Plus Gaming S cpu:intel i5-9400f 显卡:讯景rx580 2304sp 4G 内存:十铨火神 3000 MHz 8G * 2 pcie无线网卡:BCM94360CS2 + 外置天线 存储:主海康威视c200pro 512G + 辅intel sata ssd 120G 电源:海盗船rm550x 散热:九州风神大霜塔 机箱:先马平头哥m7 关于上面的配置,有几个点说道说道。 主板的选择是因为做工还行,有一个 PCIe 网卡槽位;cpu没什么说的,不用核显真香;显卡如果要rx580必须用 2304sp 的,现在市面上基本都是 2048sp,我是二手 500 买的,店保一年;内存其实到 2400 或者 2666 就行,这个内存 3000 的就比 2666 贵个十块钱;这个网卡真的免驱;存储推荐还是在 sata ssd 上装吧(笨,只装 nvme ssd的话都进不去安装页面);电源、散热、机箱都无所谓了,喜欢什么用什么。 安装 下载小兵的镜像 根据 macOS安装教程兼小米Pro安装过程记录 往下走,先将安装镜像拷贝好 修改 Bios 设定 advanced—Onboard Devices Configuration-Serial Port Configuration Serial Port (Off) advanced—USB Configuration-XHCI Hand-off-Enabled Secure Boot-OS Type,改成Other OS advanced—PCH configuration-IOAPIC 24-119 Entries-disabled CFG-LOCK-disabled 由于 Bios 更新,此时直接安装,会出现 apfs_module 相关的问题,通过 关于卡卡apfs_module_start及其相关问题讨论及解决办法。解决 如果以上步骤无误的话,可以进入到安装页面了,按照小兵的步骤继续走下去,分好盘 可能出现 这个"安装macOS Mojave"应用程序副本已损坏, 不能用于安装macOS. 问题,通过安装Mac OS X,提示:应用程序副本不能验证 它在下载过程中可能已遭破坏或篡改解决,拔网线,改时间 后面就没什么坑了,安装完把 u盘 的 uefi 文件夹拷贝到硬盘上就好了 结果就是,显卡免驱,网卡免驱,声卡没测试,直接通过 HDMI 连接显示器,显示器连接小音响实现发声 总结 这次大概花了三个小时就完事,比以前简单多了,主要是硬件选的好,以此文做记录。 ...

使用 Django 创建一份在线简历

Python [[Django]] 使用 Django 创建一份在线简历 一、开篇 去年十二月的时候,我曾跟着追梦人物的Django博客教程葫芦依样,开发出了一个自己的博客 Black&White,那时候的我对网站的结构,网站运行的模式懵懵懂懂,只会跟着教程一步步做下去,遇到问题去找解决方案的过程也很艰辛,找不到出现问题的关键点,最后成品做了出来,但因为只是模仿,没能力创新,使得最后自己的博客 url 是 demo.lightl.fun/,连二级域名都不会修改。之后几个月因为其他事缠身,也就没继续 Django 的学习。适逢将要毕业,我花了几个月将本科知识全部回顾了一遍,对计算机网络的认识更上一层楼,乘着将要找工作,不如重新实践,利用 Django 创建一份在线简历。 二、设计思路 由于做过的工程太少,很多时候设计思路只是一个方向,具体实现过程会对需求做各种变动,随机应变吧。 简单的设计思路就是,开始一个 Django 项目,开始一个新的简历应用,从网上找到前端界面模板,然后作为 static 文件放到简历应用中,根据模板可以提供的数据输出位置设计模型(数据库),然后生成数据库,存入真实数据,用 Django 提供的数据库接口获得数据,在视图函数中作为参数传给前端界面,再在前端界面中使用模板渲染的方法给传来的数据进行渲染,最后使用 nginx 部署在公网服务器上,实现在线简历功能。 三、具体实现及遇到的问题 具体实现过程中,参考自强学堂-Django 基础教程以及追梦人物的 Django 博客教程。此时的实现,会考虑每一步做的意义以及能实现的效果,同时 Django 已经升级到了 2.0.5,而网上教程多集中在 1.8,有少许区别,参照自强学堂提出的以及 google 可以解决,(同时 Django2.0.5 可以兼容Django1.8创建的项目,但在模型部分有修改)。 先是常规的建立项目,建立应用,添加应用信息到 settings.py,给 view.py 添加一个 index 方法,给 urls.py 配置 url 导向,这里没什么太多可说的。 # JL/settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'jianli', ] # JL/urls.py from django.contrib import admin from django.urls import path from jianli import views as jianli_views urlpatterns = [ path('admin/', admin.site.urls), path('', jianli_views.index, name='jianli_view'), # 新版 url 写法更舒服了 ] 之后找简历模板,最后选择了简历模板,下载,放入应用的 static 文件夹中,将 index.html 放入 templates 文件夹中,给 html 文件中指向的 css、js 位置进行修改,此时出现了第一个渲染的数据 base_dir,它指向应用的 static 文件夹,如果今后移动该文件夹,只需要修改 base_dir 内容,index.html 就可以正常工作。 ...

使用 Docker 安装 Jira Software 和 Confluence

[[Confluence]] [[Jira]] 使用 Docker 安装 Jira Software 和 Confluence Jira 是一个缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件,开发者是澳大利亚的 Atlassian。Jira 这个名字并不是一个缩写,而是截取自 Gojira ,日文的哥斯拉发音。 Atlassian Confluence(简称Confluence)是一个专业的 wiki 程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。 安装 Jira(8.1.0) 和 Confluence (7.0.1) 制作 Docker 破解镜像 atlassian-agent.jar 破解文件:atlassian-agent 目录结构: atlassian ├── docker-compose.yml ├── confluence │ ├── Dockerfile │ └── atlassian-agent.jar └── jira ├── Dockerfile └── atlassian-agent.jar atlassian/docker-compose.yml: version: "3.7" services: mysql: image: mysql:5.7 container_name: mysql ports: - "3306:3306" restart: unless-stopped networks: atlassian-net: aliases: - mysql environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - type: volume source: data_mysql_vol target: /var/lib/mysql - type: volume source: conf_mysql_vol target: /etc/mysql/mysql.conf.d - type: volume source: data_backup_vol target: /backup - type: bind source: /usr/share/zoneinfo/Asia/Shanghai target: /etc/localtime read_only: true jira: image: jira/jira:v8.1.0 build: ./jira container_name: jira ports: - "8080:8080" restart: unless-stopped depends_on: - mysql networks: atlassian-net: aliases: - jira environment: - CATALINA_OPTS= -Xms1024m -Xmx2g -Datlassian.plugins.enable.wait=300 volumes: - data_jira_var:/var/atlassian/jira - data_jira_opt:/opt/atlassian/jira confluence: image: confluence/confluence:7.0.1 build: ./confluence container_name: confluence ports: - "8090:8090" restart: unless-stopped depends_on: - mysql networks: atlassian-net: aliases: - confluence volumes: - data_confluence_vol:/home/confluence_data - data_confluence_opt:/opt/atlassian/confluence - data_confluence_var:/var/atlassian/confluence networks: atlassian-net: driver: bridge volumes: data_mysql_vol: conf_mysql_vol: data_backup_vol: data_jira_var: data_jira_opt: data_confluence_vol: data_confluence_opt: data_confluence_var: atlassian/jira/Dockerfile: ...