Quantcast
Channel: 钻戒 and 仁豆米
Viewing all 290 articles
Browse latest View live

如何在mac os下安装、卸载brew

$
0
0

安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

卸载就比较麻烦:

cd `brew --prefix`  
rm -rf Cellar  
brew prune  
rm `git ls-files`  
rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions  
rm -rf .git  
rm -rf ~/Library/Caches/Homebrew  

如果权限问题就加上sudo即可。


vmware中的mac os如何扩容

$
0
0

弄了个vmware中的黑苹果,结果硬盘只有80G。

装了Xcode和android的SDK后,居然没地方了。

没办法,扩容吧,步骤如下:

1.关掉mac os虚机
2.点击硬盘,扩展到200G
3.开机macos
4.在terminal中执行:

sudo diskutil resizeVolume / R  

解释下,必须sudo才能是root权限,可以拓展硬盘。 resizeVolume的对象是/根,R表示扩充到最大容量,既是占满硬盘

ok,搞定。

MacOS下如何用brew安装jenkins

$
0
0

伪命题。用dmg装jenkins的话会产生一个shared的jenkins用户,这个很不爽。

还是都放到admin用户下统一管理为好,步骤如下:

brew install jenkins  

会装好jenkins 2.3.0

然后把plist文件拷贝到LaunchAgents目录:

cp -p /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist ~/Library/LaunchAgents  

接下来比较重要,编辑这个plist

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
<plist version="1.0">  
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.jenkins</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/java</string>
      <string>-Dfile.encoding=UTF-8</string>
      <string>-Dhttp.proxyHost=172.16.8.1</string>
      <string>-Dhttp.proxyPort=3128</string>
      <string>-Dhttps.proxyHost=172.16.8.1</string>
      <string>-Dhttps.proxyPort=3128</string>
      <string>-XX:PermSize=256m</string>
      <string>-XX:MaxPermSize=512m</string>
      <string>-Xms256m</string>
      <string>-Xmx512m</string>
      <string>-jar</string>
      <string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
      <string>--httpPort=8080</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>  

我们加了http和https的proxy,增加了文件编码,增加了java的内存选项,删除了http的监听地址,删除了smtp的starttls选项。

然后变成自动启动:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist  

MacOS下如何删除dmg安装的jdk

$
0
0

没办法,得在jdk1.7和1.8之间切换。用dmg方式安装的jdk。

第一步:干掉plugin和panel,这两个也是直接导致无法同时使用两个jdk的原因

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin  
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane  

第二步:干掉jdk的home

cd /Library/Java/JavaVirtualMachines  
ls -lha  
jdk1.7.0_79.jdk  
sudo rm -rf jdk1.7.0_79.jdk  

天下太平了!!!

url中的字符转义

$
0
0

今天遇到个怪问题

设置http_proxy的时候有用户密码,命令如下:

export http_proxy=http://user\2016:PmnQ 2016@192.168.0.1:3128  

注意上面的命令:

用户名其实是:"user\2016",里面有个反斜杠\

而密码是:"PmnQ 2016",里面有个空格

这下麻烦了,命令过不去啊。

找到字符转义表,第一个图是可以安全转义的: 下面这张是不安全的:

转一下吧: \ 是%5C,空格是%20

最后的语法:

export http_proxy=http://user%5C2016:PmnQ%202016@192.168.0.1:3128  

搞定收工。

Ubuntu中的包管理

$
0
0

其实无论是apt或者是yum,实际中都用的很少,基本是以取源码编译为主。但是,无论apt或者yum的用法,都是需要烂熟在心的。

下面说下Ubuntu的apt包管理:

更新源,并非更新包:

apt-get update  

搜索包:

apt-cache search nginx  

查看包的信息,由上到下显示多个版本,更新时会自动更新到最新的那个

apt-cache show nginx  

更新包,比如更新nginx到最新,注意,更新后会自动重启服务的:

apt-get install nginx  

查看本地都装了什么包:

dpkg -l  

Macos下如何安装nvm和nodejs

$
0
0

首先呢,需要安装homebrew

然后通过brew安装nvm

brew update  
brew install nvm  
mkdir ~/.nvm  

将以下两条放入自启动的.bashrc或者.bash_profile中,当然这也需要配置的

export NVM_DIR=~/.nvm  
source $(brew --prefix nvm)/nvm.sh  

在命令行直接运行一下以上两条命令

然后就用nvm安装多版本的nodejs吧

nvm install 0.10.46  
nvm install iojs  

注意,如果你想把一个模块装到每个版本的nodejs中,你将不得不切换到每个版本,然后执行npm install -g

如果你以前直接用brew装过nodejs,比如

brew install node  

那就先干掉node,步骤如下

brew remove --force node  
sudo rm -r /usr/local/lib/node_modules

brew prune  
sudo rm -r /usr/local/include/node  

然后检查下:

brew doctor  

Ubuntu下如何关闭iptables防火墙

$
0
0

真是无比的麻烦,居然没有什么好命令,郁闷:

iptables -F  
iptables -X  
iptables -t nat -F  
iptables -t nat -X  
iptables -t mangle -F  
iptables -t mangle -X  
iptables -P INPUT ACCEPT  
iptables -P OUTPUT ACCEPT  
iptables -P FORWARD ACCEPT  

Macos下polipo的安装

$
0
0

首先必然是安装brew,然后通过brew安装polipo

brew install polipo  

接下来就比较较劲了,编辑~/.polipo文件,注意自己的上级socksParentProxy的地址:

# config file for polipo @ ~/.polipo

proxyAddress = "0.0.0.0"  
proxyPort = 8119  
allowedClients = 127.0.0.1, 10.0.1.0/24  
allowedPorts = 1-65535  
tunnelAllowedPorts = 1-65535  
proxyName = "localhost"  
cacheIsShared = false  
socksParentProxy = "127.0.0.1:1080"  
socksProxyType = socks5  
# chunkHighMark = 33554432
# diskCacheRoot = ""
# localDocumentRoot = ""
disableLocalInterface = true  
disableConfiguration = true  
dnsUseGethostbyname = yes  
disableVia = true  
censoredHeaders = from,accept-language,x-pad,link  
censorReferer = maybe  
# maxConnectionAge = 5m
# maxConnectionRequests = 120
# serverMaxSlots = 8
# serverSlots = 2

然后调起来即可

brew services start polipo  

准确的说,brew是copy了一份plist到~/Library/LaunchAgents/homebrew.mxcl.polipo.plist

最后,每天的5点和下午4点清理polipo缓存

0 5,16 * * * polipo -x  

阿里云内部dns地址

通过extundelete恢复删除文件

$
0
0

通过extundelete恢复

恢复过程:

1、安装extundelete
yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel  
wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  
tar -jxvf extundelete-0.2.4.tar.bz2  
cd extundelete-0.2.4  
./configure
make  
make install  
2、卸载要恢复的分区

如果你误删除的分区是/dev/sda2,那么首先需要umount 这个分区的挂载点

3、开始恢复

首先df -lh查看分区的使用情况,选择一个剩余空间足够容纳要恢复的文件大小的分区,例如你的/home分区剩余100G,你需要恢复的文件小于100G,那么你可以cd /home 然后进行恢复操作

cd /home  

恢复单个文件或文件夹

extundelete /dev/mapper/vg_localhost-lv_home –restore-files 文件名  

我是直接恢复整个分区

extundelete /dev/mapper/vg_localhost-lv_home –restore-all  

然后会在当前目录生成一个恢复文件夹,进去找你要的文件就可以了

openwrt安装python,pip

$
0
0
1.安装python-mini以及辅助库

opkg install libffi

opkg install python-mini

opkg install python

opkg install python-openssl

2.安装pip

wget –no-check-certificate https://bootstrap.pypa.io/get-pip.py

python get-pip.py

Laravel的artisan命令大全

$
0
0

全局相关

01.php artisan:显示详细的命令行帮助信息,同 php artisan list  
02.php artisan –help:显示帮助命令的使用格式,同 php artisan help  
03.php artisan –version:显示当前使用的 Laravel 版本  
04.php artisan changes:列出当前版本相对于上一版本的主要变化  
05.php artisan down:将站点设为维护状态  
06.php artisan up:将站点设回可访问状态  
07.php artisan optimize:优化应用程序性能,生成自动加载文件,且产生聚合编译文件 bootstrap/compiled.php  
08.php artisan dump-autoload:重新生成框架的自动加载文件,相当于 optimize 的再操作  
09.php artisan clear-compiled:清除编译生成的文件,相当于 optimize 的反操作  
10.php artisan migrate:执行数据迁移  
11.php artisan routes:列出当前应用全部的路由规则  
12.php artisan serve:使用 PHP 内置的开发服务器启动应用 【要求 PHP 版本在 5.4 或以上】  
13.php artisan tinker:进入与当前应用环境绑定的 REPL 环境,相当于 Rails 框架的 rails console 命令  
14.php artisan workbench 组织名/包名:这将在应用根目录产生一个名为 workbench 的文件夹,然后按 组织名/包名 的形式生成一个符合 Composer 标准的包结构,并自动安装必要的依赖【需要首先完善好 app/config/workbench.php 文件的内容】  

功能相关

01.php artisan cache:clear:清除应用程序缓存  
02.php artisan command:make 命令名:在 app/commands 目录下生成一个名为 命令名.php 的自定义命令文件  
03.php artisan controller:make 控制器名:在 app/controllers 目录下生成一个名为 控制器名.php 的控制器文件  
04.php artisan db:seed:对数据库填充种子数据,以用于测试  
05.php artisan key:generate:生成一个随机的 key,并自动更新到 app/config/app.ph 的 key 键值对  
06.php artisan migrate:install:初始化迁移数据表  
07.php artisan migrate:make 迁移名:这将在 app/database/migrations 目录下生成一个名为 时间+迁移名.php 的数据迁移文件,并自动执行一次 php artisan dump-autoload 命令  
08.php artisan migrate:refresh:重置并重新执行所有的数据迁移  
09.php artisan migrate:reset:回滚所有的数据迁移  
10.php artisan migrate:rollback:回滚最近一次数据迁移  
11.php artisan session:table:生成一个用于 session 的数据迁移文件  

正则表达式备查

Ubuntu下如何安装php5和php7的最新版

$
0
0

两个版本要同时存在

先加入php的最新源

sudo add-apt-repository ppa:ondrej/php  

咦,报失败,找不到add-apt-repository这个命令,查查看是哪个包的:

sudo apt-file search add-apt-repository  

我去,apt-file也没装,装吧,然后更新一把:

sudo apt-get install apt-file  
sudo apt-file update  

再搜:

sudo apt-file search add-apt-repository  
software-properties-common: /usr/bin/add-apt-repository  
software-properties-common: /usr/share/man/man1/add-apt-repository.1.gz  

原来在software-properties-common这个包里,装上吧

sudo apt-get install software-properties-common  
sudo add-apt-repository ppa:ondrej/php  

再装php5和php7

sudo apt-get install php5.6 php5.6-common php5.6-cli php5.6-fpm php5.6-readline php5.6-mysql php5.6-sybase php5.6-mbstring php5.6-sqlite3 php5.6-json php5.6-curl php5.6-gd

sudo apt-get install php7.1 php7.1-common php7.1-cli php7.1-fpm php7.1-readline php7.1-mysql php7.1-sybase php7.1-mbstring php7.1-sqlite3 php7.1-json php7.1-curl php7.1-gd  

搞定。


pm2的常用命令

$
0
0

启动所有的程序后,保存当前所有程序状态,会生成一个dump.pm2文件

pm2 save  

从pm2 save中恢复所有程序状态

pm2 resurrect  

pm2有Keymetrics这个免费的监控平台,添加监控:

pm2 link [YOUR_SECRET_KEY] [YOUR_PUBLIC_KEY]  

杀掉pm2的God Daemon

pm2 kill  

指定配置文件启动

pm2 start pm2-env.json  

缩放实例的数量:

pm2-meteor scale +2  

指定程序名:

pm2 start app.js  --name "api"  

htpasswd的Shell替代命令

$
0
0

当用nginx的时候,可能需要限制登陆

一句话解决

printf "admin:$(openssl passwd -crypt 123456)\n" > .htpasswd  

nginx的配置如下:

        location /
        {
                auth_basic "nginx basic http test for ttlsa.com";
                auth_basic_user_file /data/html/.htpasswd; 
                autoindex on;
        }

netcat远程用法

$
0
0

一、远程传输文件压缩包

tar zcvf - /export/A0 | nc 192.168.86.5 8732

nc -l 8732 > A0.tar.gz  

二、远程传输整个目录

tar cvf - /export/A0 | nc 192.168.86.5 8732

nc -l 8732 | tar xvf -  

三、远程备份分区到一个文件

dd if=/dev/sdb | gzip -c | nc 192.168.86.5 8732

nc -lp 8732 | dd of=/backup/sdb.img.gz  

四、将远程分区备份文件拉到本地并恢复分区

cat /backup/sdb.img.gz | nc 192.168.86.5 8732

nc -lp 8732 | gunzip -c | sudo dd of=/dev/sdb  

Linux下Screen乱码

$
0
0

很烦躁的问题,终端是UTF8,显示无问题。

跑到screen后就乱码,screen后的env环境跟之前一样,无问题

解决方法:

在自己用户的.screenrc中加两句

defencoding utf-8  
encoding utf-8 utf-8  

得把环境变量带到screen中,才行。

Unbuntu下安装一个能多人使用的nvm

$
0
0

1.安装辅助包

apt-get install build-essential openssl libssl-dev curl  

2.增加一个用户组,这个组的成员可以控制nvm

groupadd dev  

3.git克隆nvm的代码

git clone https://github.com/creationix/nvm.git /opt/nvm  

4.建立公用nvm目录

mkdir /usr/local/nvm  

5.建立公用npm目录

mkdir /usr/local/node  

6.设置好权限,使dev组可以存取以上两个目录

chown -R root:dev /usr/local/nvm  
chmod -R 775 /usr/local/nvm  
chown -R root:dev /usr/local/node  
chmod -R 775 /usr/local/node  

7.建立公用的/etc/profile.d/nvm.sh文件

export NVM_DIR=/usr/local/nvm  
source /opt/nvm/nvm.sh

export NPM_CONFIG_PREFIX=/usr/local/node  
export PATH="/usr/local/node/bin:$PATH"  

8.断开重新登录,加载nvm

nvm --version  

9.安装新版本的node

nvm install V4.4.7  

10.设置缺省node的版本

nvm alias default V4.4.7  
Viewing all 290 articles
Browse latest View live