编译安装 Centos下编译安装
yum update -y && yum install wget gcc g++ gcc-c++ glibc-headers perl openssl openssl-devel tcl-devel libxml2-devel pcre-devel wget http://apache.fayea.com/trafficserver/trafficserver-6.1.1.tar.bz2 tar xvjf trafficserver-6.1.1.tar.bz2 cd trafficserver-6.1.1 ./configure make && make install useradd -s /sbin/nologin trafficserver Apache镜像http://archive.apache.org/dist/
国内Apache镜像http://apache.fayea.com/
编译完成后,就可以使用了,默认是安装在/usr/local/bin,编译后是比较大
total 98M -rwxr-xr-x 1 root root 692K May 9 14:30 header_rewrite_test -rwxr-xr-x 1 root root 520K May 9 14:30 traffic_cop -rwxr-xr-x 1 root root 1.9M May 9 14:30 traffic_crashlog -rwxr-xr-x 1 root root 259K May 9 14:30 traffic_ctl -rwxr-xr-x 1 root root 1.
安装支持Docker的系统 树莓派官方系统并不支持Docker,需要安装.
查看 集成Dcoker的树莓派系统
aria2c -s 50 -c https://downloads.hypriot.com/hypriotos-rpi-v0.8.0.img.zip diskutil list diskutil unmountdisk /dev/disk2 用以下命令前必须卸载u盘diskutil unmountdisk /dev/disk2
sudo dd if=hypriotos-rpi-v0.8.0.img of=/dev/disk2 bs=8k 安装完成重启就可以啦,启动后登陆的用户是pirate,密码hypriot
修改密码:执行passwd,输入当前密码,输入新密码,再输入新密码,更新完成
执行exit退出,或者sudo reboot重启
创建用户:useradd -g test -d /home/test1 -s /etc/bash -m test1 注解:-g 所属组 -d 家目录 -s 所用的SHELL passwd abc
获得sudo权限:编辑/etc/sudoers 加入新添加的用户名
Go https://storage.googleapis.com/golang/go1.13.linux-amd64.tar.gz https://storage.googleapis.com/golang/go1.13.windows-amd64.zip https://storage.googleapis.com/golang/go1.13.darwin-amd64.tar.gz 所有发布的版本
https://storage.googleapis.com/golang/
国内可访问地址
https://dl.google.com/go/go1.13.windows-amd64.msi https://dl.google.com/go/go1.13.darwin-amd64.pkg https://dl.google.com/go/go1.13.linux-amd64.tar.gz https://dl.google.com/go/go1.13.src.tar.gz https://dl.google.com/go/go1.13.darwin-amd64.tar.gz https://dl.google.com/go/go1.13.linux-386.tar.gz https://dl.google.com/go/go1.13.linux-armv6l.tar.gz https://dl.google.com/go/go1.13.windows-386.zip https://dl.google.com/go/go1.13.windows-386.msi https://dl.google.com/go/go1.13.windows-amd64.zip https://dl.google.com/go/go1.13.freebsd-386.tar.gz https://dl.google.com/go/go1.13.freebsd-amd64.tar.gz https://dl.google.com/go/go1.13.linux-arm64.tar.gz https://dl.google.com/go/go1.13.linux-ppc64le.tar.gz https://dl.google.com/go/go1.13.linux-s390x.tar.gz golang c lib go 编译.a用的go build -buildmode=c-archive ,c程序用的gcc
Creating Statically Linked Executables In Go https://joeshaw.org/smaller-docker-containers-for-go-apps/
https://github.com/gliderlabs/docker-alpine
CGO_ENABLED=0 go build -a -ldflags "-s" tiny.go The CGO_ENABLED environment variable tells Go to use the go compiler rather than the cgo compiler. The -a flag tells Go to rebuild all dependencies. Otherwise you still end up with dynamically linked dependencies.
vim基本使用 安装apt-get install vim
daw (delete a word) 删除一个单词,包括左右两侧空白
diw (delete inner word) 删除一个单词,不包含左右两侧空白
dw 删除从当前光标到下一个单词的起始位置
caw 同daw,但是完成后进入编辑模式
关于选择 aw (a word) 一个单词
as (a sentence) 一段语句
i} (inner {...} block, e.g. code within a block in C code)
it (inner tag, useful for XML-like languages)
=aB will reindent an entire code block
cas will delete a sentence and drop you into insert mode to type a new one
yit will yank/copy everything inside the current XML tag
读取文件的前几字节 head 或 tail 以字节而不是以行为单位,那该怎么办呢?您可以用 -c 选项代替 -n 选项
前100字节,并以hex格式显示 head -c 100 file | hexdump
后100字节tail -c 100 file | hexdump
还可以使用管道交给 md5sum,可比较前100字节或后100字节是否相同
head -c 100 file | hexdump | md5sum
取文件1G(1073741824)至+819200处的md5值
head -c 1074561024 file | tail -c 819200 |md5sum
使用dd会更加方便,也更高效
dd if=file bs=1 skip=1073741824 count=819200 | md5sum
拆分文件 split -b 1kb /tmp/file sfile
拆分文件大小为1k,也可以是1b,或者1m之类的单位
xxd hexdump od https://www.zhihu.com/question/40441308/answer/86637730
时间戳转时间日期 Mac: date -r 1514131200 GNU/Linux: date -d @1514131200
官方操作系统 https://www.raspberrypi.org/downloads/raspbian/
带桌面版1.4G
精简版293MB 下载 wget https://downloads.raspberrypi.org/raspbian_lite_latest
安装其他操作系统 CentOS CentOS7官方支持了AMRV7发布了树莓派2、香蕉派、以及CubitTruck单片机的版本
CentOS7官方下载 root 密码 centos 大约275MB
http://mirror.centos.org/altarch/7.4.1708/isos/armhfp/
ArchLinux https://archlinuxarm.org/
树莓派1 https://archlinuxarm.org/platforms/armv6/raspberry-pi
树莓派2 https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2
树莓派3 https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3
有国内的下载镜像 https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/
大约293MB
安装OSMC 下载一览,选择Disk images,此系统较省资源,默认开机进入OSMC,img.gz 大小约160M
OSMC_FILE=OSMC_TGT_rbp2_20160621.img.gz cd /data/tmp axel -n 20 http://download.osmc.tv/installers/diskimages/$OSMC_FILE md5sum $OSMC_FILE ls -lh 查看所有版本 http://download.osmc.tv/installers/diskimages/
使用清华大学镜像站国内下载速度更快: https://mirrors.tuna.tsinghua.edu.cn/osmc/osmc/download/installers/
插入内存卡,开始烧写到内存卡中.烧写之前需要取消挂载
diskutil list 查看你的内存卡的挂载位置,取消挂载
执行diskutil unmountdisk /dev/disk2 取消挂载,需要稍等一小会.
烧写,烧写过程中读卡器不断闪烁. gzip -dc /data/tmp/$OSMC_FILE | sudo dd of=/dev/disk2 bs=8k
dd的用法: dd if=/dev/zero of=hello.txt bs=1024
中国科大镜像站 提供 Debian, Ubuntu, Fedora, Archlinux, CentOS 等多个发行版的官方源. 还有brew 的二进制源,brew使用此配置能大大提升速度.
cd /usr/local/Homebrew git remote set-url origin git://mirrors.ustc.edu.cn/brew.git git remote -v brew update 修改源:https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git 和 https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-core.git 修改二进制源见https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-bottles
即export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles
使用brew config 查看ORIGIN和HOMEBREW_BOTTLE_DOMAIN已经是新的mirrors.ustc.edu.cn即为配置成功
brew list 列出所有安装的模块, 这里面包含以下依赖安装的,brew leaves 可以查看一些顶级的
brew search mysql 查找
brew commands 查看所有命令
安装(需要 Ruby): ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
搜索:brew search mysql
查询:brew info mysql 主要看具体的信息,比如目前的版本,依赖,安装后注意事项等
更新:brew update 这会更新 Homebrew 自己,并且使得接下来的两个操作有意义——
检查过时(是否有新版本):brew outdated 这回列出所有安装的软件里可以升级的那些
升级:brew upgrade 升级所有可以升级的软件们
清理:brew cleanup 清理不需要的版本极其安装包缓存
配置Chrome跨域 Chrome 浏览器配置可以跨域
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security
或者
open -a "Google Chrome" --args --disable-web-security
必须完全退出Chrome,再使用上述方法.
清除Chrome dns 缓存 chrome://net-internals/#sockets
chrome://net-internals/#dns
有用的 chrome 插件 去广告
Adblock Plus (ABP)
前端开发相关
FE 助手
EditThisCookie https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg
开启Chrome Ajax 跨域 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi
替换http响应 https://github.com/annnhan/ReRes https://chrome.google.com/webstore/detail/reres/gieocpkbblidnocefjakldecahgeeica?hl=zh-CN&gl=CN
自带截图 首先当然是打开你想截图的网页了,然后按下 F12(macOS 是 option + command + i)调出开发者工具,接着按「Ctrl + Shift + P」(macOS 是 command + Shift + P)。紧接着输入指令 capture,它会提示有三个选项,分别是截取全屏、node 模式以及当前范围,用鼠标点击或者用键盘选择对应的就可以了。
Crontab使用 crontab -l 查看当前用户的crontab列表 使用crontab -e开始编辑规则
基本格式 : * * * * * command 分 时 日 月 周 命令 * 第1列表示分钟1~59 每分钟用*或者*/1表示 * 第2列表示小时1~23(0表示0点) * 第3列表示日期1~31 * 第4列表示月份1~12 * 第5列标识号星期0~6(0表示星期天) * 第6列要运行的命令 禁止Crontab产生邮件: 在crontab末尾加上> /dev/null 2>&1 或者 > &> /dev/null
例如
0 1 5 10 * /path/to/script.sh > /dev/null 2>&1 0 1 5 10 * /path/to/script.sh > &> /dev/null 你也可以将/dev/null换成你想要存储日志的文件地址
配置文件 对于CentOS
/etc/ 目录下包含
cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ crontab cron.
docker run mysqld docker run mysql –character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci
配置文件 配置文件一般放在/etc/my.cnf 或者 /etc/mysql/my.cnf
默认的配置文件示例存放于/usr/share/mysql
各个文件适配不同内存的配置
文件 内存大小 my-small.cnf <= 64M 不经常开启mysql my-medium.cnf 32M–64M 经常其他程序搭配mysql my-large.cnf 512M my-huge.cnf 1G-2G my-innodb-heavy-4G.cnf 4GB 使用InnoDB 使用SHOW VARIABLES来查看系统参数,通过SHOW STATUS来判断系统状态
show 命令还有很多用途
命令 描述 show databases 或show tables from database_name 显示mysql中所有数据库的名称 show tables 显示当前数据库中所有表的名称 show columns from table_name from database_name 显示表中列名称 show grants for user_name 显示一个用户的权限,显示结果类似于grant命令 show table status 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。 show index from table_name 显示表的索引 show status 显示一些系统特定资源的信息,例如,正在运行的线程数量 show variables 显示系统变量的名称和值 show processlist 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码 show engies 显示安装以后可用的存储引擎和默认引擎 show innodb status 显示innoDB存储引擎的状态 show logs 显示BDB存储引擎的日志 show warnings 显示最后一个执行的语句所产生的错误、警告和通知 show errors 只显示最后一个执行语句所产生的错误 小内存优化 依据my-small.