MSYS2_MinGw_Aron
2017-10-20 14:14:46 0 举报
AI智能生成
.
作者其他创作
大纲/内容
问题
GPGME error:无数据
<div>/etc/pacman.conf,在文件的中上部分找到一个叫“SigLevel”的选项(不是在下面[core]那里的)在=号的后面修改为 Never 保存,例如:</div><div>SigLevel = Never 就搞定了。</div>
你这样是关掉Key检测,更好的办法是删掉/etc/pacman.d/gnupg然后再pacman-key --init如果接下来安装包出现Key缺失.那么再pacman-key --populate archlinux即可
<div>pacman -S git<br>错误:无法提交处理 (下载函数库出错)</div><div>发生错误,没有软件包被更新。</div>
这个问题,通过编辑/etc/pacman.d/mirrorlist文件开放最开始的那两个网址,更新一下pacman -Syu但此时本人并未升级系统。
原因:下载了一个依赖包perl.tar.xz.part,下载不全
删除该文件
Git
提交或rebase时,非文件文件(apk,jar等)出错,无法创建对象<br>git version2.13.3
<div>fatal: update_ref failed for ref 'HEAD': cannot update ref 'HEAD': trying to write ref 'HEAD' <br>with nonexistent object a98587ab1f88c40d5c56f9ca2cc5738bf13fc0a4</div>
环境变量问题
1. 在.zshrc和msys2命令行中可读取PC设置的环境变量 如$HOME
msys2设置环境变量到PATH后能执行exe文件
Failed to run '/usr/bin/bash': No such file or directory
不能识别根目录 /
Linux
命令
修改shell
chsh -s /bin/zsh
安装oh-my-zsh
Git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
好的软件
autojump
j 目录关键字
跳转匹配的之前去过的目录
j -stat
j -s
查看统计的历史目录数据库和权重
终端 Console Terminal
1、Terminator
XTerm
mintty
问题: adb shell 不显示内容,
adb shell -x
X:禁用远程退出代码和stdout/stderr分离
-x: disable remote exit codes and stdout/stderr separation
Gnome Terminal
LilyTerm
<div>多重 Tab</div><div>配色方案丰富</div><div>支持超链接</div><div>支持全屏</div>
Konsole
secureCRT
映射
Ctrl+Backsapce
\037
Ctrl-VK_Back
Ctrl+v
\026
Ctrl+Left
\033[5D
Ctrl+Right
\033[5C
Esc
\033
conemu
ConEmu
装机
安装Sublime Text
安装Git
下载Config4
git clone git@github.com:liuwenrong/Config4Roger.git ~/.config4Aron
Sublime 注册表
配置HOME环境变量
以管理员权限运行winConfig
安装Listary Pro
安装msys
修改注册表文件ZshMintty.reg
安装oh-my-zsh
cd 用户目录 如c:/Users/liuwenrong
git bash
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
插件plugins
autojump
Win autojump
git clone git://github.com/wting/autojump.git
cd autojump<br>
./install.py or ./uninstall.py
./install.py
python库找不到
需重装python27,重试成功
./uninstall.py
安装插件autojump
快捷键
git clone https://github.com/wting/autojump
PC安装python
会根据系统拷贝.bat或.sh .zsh等
将install.py的两处else注释掉,执行py脚本把sh拷贝一份<br><br>会在PC的$HOME/\.autojump\生成4个文件夹目录
再修改.zshrc环境变量,无效
把安装后的autojump的文件拷贝到msys/usr/目录下<br>msys2/usr/etc/profile.d/<br>
打开IDLE(Python GUI)
打开install.py
Run install.py
Please manually add C:\Users\liuwenrong\AppData\Local\autojump\bin to your user path
加环境变量
加在PC的path环境变量中
cmd和powerShell可用
加在.zshrc的PATH试试
还得把j.sh和j.zsh也拷贝过去
方式2:拷贝.Config4Roger中.autojump到用户目录下,并配置.zshrc的环境变量
无效
第二种方式
把.Config4Aron中的.autojump拷贝到用户目录
错误: autojump_chpwd:4: permission denied: autojump
原因: 历史autojump.txt文件设为了只读
permission denied: autojump
貌似不可用
目录
win
install目录
C:\Users\pradmin\AppData\Local\autojump\
history目录<br>历史记录的<br>
C:\Users\pradmin\AppData\Roaming\autojump
msys2
install目录
C:\Users\pradmin\.autojump\
history目录
/c/Users/pradmin/.local/share/autojump<br>
历史记录的目录 取决于用的哪个环境的Python
Win的Python配合autojump j跳转有问题
修改Git Bash Here 注册表
Win+R
输入regedit
找到
HKEY_CLASSES_ROOT\Directory\Background\shell
git_shell
修改成 xGit
xGit Bash Here
注: 要把&符号去掉,否则不生效
简单使用
简介
(Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。
安装流程
pacman使用
1.可通过修改msys64\etc\pacman.d下的三个文件修改软件源
北京理工大学镜像
http://mirror.bit.edu.cn/msys2/REPOS/MSYS2<br>
msys2
http://repo.msys2.org/msys/<br>
内容丰富
mingw32
<div>##</div><div>## 32-bit Mingw-w64 repository mirrorlist</div><div>##</div><div>##北京理工大学镜像</div><div>Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686</div><div>##日本北陆先端科学技术大学院大学 sourceforge 镜像</div><div>Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686</div><div>##The UK Mirror Service Sourceforge mirror</div><div>Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686</div><div>## Primary</div><div>Server = ftp://148.251.42.38/MINGW/i686</div><div>## Sourceforge.net</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686</div><div><br></div><div>## Primary</div><div>## msys2.org</div><div>Server = http://repo.msys2.org/mingw/i686</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686</div><div>Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/</div><div><br></div>
ming64
<div>##北京理工大学镜像</div><div>Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64</div><div>##日本北陆先端科学技术大学院大学 sourceforge 镜像</div><div>Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64</div><div>##The UK Mirror Service Sourceforge mirror</div><div>Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64</div><div>## Primary</div><div>Server = ftp://148.251.42.38/MINGW/x86_64</div><div>## Sourceforge.net</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64</div><div><br></div><div>## Primary</div><div>## msys2.org</div><div>Server = http://repo.msys2.org/mingw/x86_64</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64</div><div>Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/</div><div><br></div>
msys
<div>##北京理工大学镜像</div><div>Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch</div><div>##日本北陆先端科学技术大学院大学 sourceforge 镜像</div><div>Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch</div><div>##The UK Mirror Service Sourceforge mirror</div><div>Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch</div><div>## Primary</div><div>Server = ftp://148.251.42.38/MSYS2/$arch</div><div>## Sourceforge.net</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch</div><div><br></div><div>## Primary</div><div>## msys2.org</div><div>Server = http://repo.msys2.org/msys/$arch</div><div>Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch</div><div>Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/</div>
2.下载后的软件包默认存放目录msys64\var\cache\pacman\pkg;若命令行下载速度较慢,可以到到软件源网站使用下载工具下载相应的软件包,然后拷贝到此目录,接着使用命令行进行安装。
pacman
简介
Pacman 是一个软件包管理器, 作为ArchLinux发行版的一部分.
https://www.archlinux.org/<br>
使用
常用命令
<div>pacman -Syy</div>
也可以使用一句命令同时进行同步软件库并更新系统到最新状态
pacman -Syu
同时进行同步软件库并更新系统到最新状态
下载.db文件,更新列表
pacman -Su
升级其他包
pacman -S package_name<br>
安装一个包
pacman -S git
eg
<div>pacman -S python2</div>
下载python2.7 最新版
pacman -S python3
pacman -S vim
pacman -S mingw-w64-x86_64-toolchain
mingw工具链696MB
pacman -S base-devel
<div>pacman -S cscope</div>
<div>pacman -S ctags</div>
pacman -Sy package_name
同步包数据库并且安装一个软件包
pacman -Sw package_name
<div>下载包而不安装它</div><br>
下载后的软件包默认存放目录\var\cache\pacman\pkg<br>
/var/cachepacman/pkg/<br>
pacman -U /path/to/package/package_name-version.pkg.tar.gz<br>
<div>安装一个本地包(不从源里)</div>
pacman -U var/cache/pacman/pkg/git-2.13.3-1-x86_64.pkg.tar.xz
pacman -R package_name
删除单个软件包,保留其全部已经安装的依赖关系
pacman -Rs package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系
pacman -Sl
查看可以安装的列表
pacman -Sl | grep git<br>
pacman -Sl | grep zsh
pacman -Qi package_name
查看详情和依赖
pacman -Qi zsh
pacman -Q -l vim查询软件包的内容
pacman -Ql zsh
<div>运行msys2_shell.bat: pacman -Sy 更新本地包数据</div><div>升级核心包: pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl, 之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat</div><div>升级其他包:pacman -Su</div><div>常用命令: </div><div>pacman -Q查看已安装的软件包</div><div>pacman -S -g查看软件组</div><div>pacman -Q -g base-devel查看软件组包含的软件</div><div>pacman -Q -s nettle查询软件所在的包</div><div>查看工具帮助:pacman -h ;pacman -S -h</div>
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl
更新MinGw和Gcc环境
<div>1.更新软件源:</div><div>pacman -Syu</div><div><br></div><div>2.更新msys2核心程序包</div><div>pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libin</div><div>注:如果以上程序有更新,则需要重启bash。</div><div><br></div><div>3.安装编译环境:</div><div>pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make git diffutils</div>
ZSH
pacman -S zsh
在.zshrc中配置oh-my-zsh
vim
pacman -S vim
配置
如何配置git
直接pacman -S git
缺点:有两套环境,Linux和Windows
需配置2次SSH
配置PATH加上Windows上的gitBash
配置不会调用PC用户目录.profile
但可以读取PC用户目录下的.zshrc
在环境变量配gitBash
git能读取PC用户目录下的.gitconfig
问题
git log 显示全部的log 不分页
git log less -S
没用,没有调用less
git log --online
配置PC的Python
配置右键打开
1.找到安装目录的msys2_shell.cmd文件,在开头添加set "_T=%cd%" ,用以把当前目录保存到_T变量
2.找到安装目录的home/用户或者pc用户/.bashrc 或 .zshrc开头加上
git bash here 导致 .bashrc会执行2次
会导致git here只能进根目录,修改后如备注:
配置注册表即可右键打开zsh
19年新的msys2_shell.cmd
环境变量需要在.zshrc中配置,不能读取PC
配置Terminal
cmd
缺点
样式不能显示箭头
没有图标
有点点慢
source oh-my-zsh 会比较耗时
mintty
缺点
adb shell 不能显示,上下切换也不行
git log 不能分页
conEmu
配置
新建task<br>
"%ROOT%\usr\bin\zsh.exe" -new_console:a
右键
Integration<br>
{zsh} -cur_console:n
配置宏
优点,可以多窗口切换
可以配置宏
缺点
git log 中文乱码
# 解决git log中文乱码的问题<br>export LESSCHARSET=utf-8<br>
git branch 取消后不显示了
| more
不能删除整个单词
改zsh快捷键
配置宏
详见.zshrc
source oh-my-zsh 会比较耗时
MinGw
简介
是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。
使用
编译vim和打包
vim/src目录下
cp Make_cyg_ming.mak current.mak
<div>3.编辑current.mak </div><div>查看PYTHON_VER和PYTHON3_VER是否与自己的python版本匹配,不匹配则修改为自己的python版本。</div><div><br></div><div>注:需要提前安装python2和python3,例如安装目录分别为:D:/python/Python27和D:/python/Python35。</div><div>搜索ifdef PYTHON,在ifdef PYTHON前增加PYTHON=D:/python/Python27</div><div><br></div><div>PYTHON=D:/python/Python27</div><div>ifdef PYTHON</div><div><br></div><div>搜索ifdef PYTHON3,在ifdef PYTHON3前增加PYTHON=D:/python/Python35</div><div><br></div><div>PYTHON=D:/python/Python35 //这句不用,不然编不过,</div><div>ifdef PYTHON3</div>
<div>3.编辑current.mak </div><div>查看PYTHON_VER和PYTHON3_VER是否与自己的python版本匹配,不匹配则修改为自己的python版本。</div><div><br></div><div>注:需要提前安装python2和python3,例如安装目录分别为:D:/python/Python27和D:/python/Python35。</div><div>搜索ifdef PYTHON,在ifdef PYTHON前增加PYTHON=D:/python/Python27</div><div><br></div><div>PYTHON=D:/python/Python27</div><div>ifdef PYTHON</div><div><br></div><div>搜索ifdef PYTHON3,在ifdef PYTHON3前增加PYTHON=D:/python/Python35</div><div><br></div><div>PYTHON=D:/python/Python35 //这句不用,不然编不过,</div><div>ifdef PYTHON3</div>
<div>1.编译:</div><div><br></div><div>mingw32-make.exe -f current.mak</div>
<div>如果有编译失败,重新编译需要增加clean参数:</div><div><br></div><div>mingw32-make.exe -f custom.mak clean</div>
打包
cd ..
vim package.sh
<div>mkdir -p vimx64/vim</div><div>cp -a runtime/* vimx64/vim</div><div>cp -a src/*.exe vimx64/vim</div><div>cp -a src/GvimExt/gvimext.dll vimx64/vim</div><div>cp -a src/xxd/xxd.exe vimx64/vim</div><div>cp -a vimtutor.bat vimx64/vim</div>
<div>运行打包脚本</div>
<div>./package.sh<br></div>
成功支持python2
把编译完的替换usr/share/vim/vim80
usr/bin/vim.exe默认就会指向新的vim80
make Git & Install
git clone git://repo.or.cz/git/mingw.git git
<div>cd <git-source></div><div>make NO_OPENSSL=YesPlease NO_TCLTK=YesPlease INSTALL=/bin/install prefix=/usr/local install</div>
问题
没有etc/passwd文件
<div>1. 执行如下命令 $mkpasswd -l > /etc/passwd ,创建passwd文件</div><div>2. 修改/etc/passwd文件,将Administrator:*:197108:197121:U-PC-20141130ZJVQ\Administrator,S-1-5-21-222170896-2087209242-3699733865-500:/home/Administrator:/bin/bash 修改为root:*:0:0:U-PC-20141130ZJVQ\root,S-1-5-21-222170896-2087209242-3699733865-500:/home/root:/bin/bash</div><div>3. 在/home目录下创建root目录</div><div>之后,关闭控制台,重新登陆,就会以root用户登陆,修改成功。</div>
root:*:0:0:U-PC-20141130ZJVQ\root,S-1-5-21-222170896-2087209242-3699733865-500:/home/root:/bin/zsh
<div>root:*:0:0:U-LIUWENRONG-01\Administrator\root,S-1-5-21-222170896-2087209242-3699733865-500:/home/root:/bin/zsh</div>
0 条评论
下一页