Linux
CoderHustlion
这个作者很懒,什么都没留下…
展开
-
Makefile 与 Shell 的函数定义对比(示例)
差异的根源:make 会把每行命令送到一个单独的 shell 里面。这样的格式 /bin/sh -ce "命令内容",所以,在 makefile 里面写复杂语法结构的时候要视为单行,用转义符和分号。具体举例如下:正常的 shell 代码:copyMk { s1=$(md5 -q $1) s2=$(md5 -q $2) if [ ${s1} == ${s2} ]; then echo "sth" else cp -rf $1 $2原创 2021-02-23 16:06:03 · 312 阅读 · 0 评论 -
WSL 离线安装无法启动、提示“超时时间已过”/The service has not been started解决办法
现象WSL 安装的 ubuntu 2004.exe 长时间无法启动,最终提示超时时间已过解决办法不使用双击 appx 的方式安装,而是直接将 appx 解压,然后双击其中的 exe 文件来安装。例如 ubuntu 2004 就是对应于 ubuntu2004.exe,双击安装。之后可在 Windows Terminal 中看到新增的 WSL tab,也可以正常启动。参考WSL manual installation The service has not been started...原创 2021-01-05 22:08:14 · 4823 阅读 · 1 评论 -
SVN 命令行手动进入冲突合并
在解决 svn 冲突时,有时在冲突发生时退出了,本地留有了冲突文件。重新进入冲突解决状态,可以使用以下命令:svn resolve C状态的文件原创 2020-12-24 11:20:53 · 412 阅读 · 0 评论 -
svn 命令行提交特定文件/通过 changelist 提交文件
简介命令行 svn 提交文件时,直接 svn ci 会将所有 M 状态(modifiled)的文件都提交,需要通过 changelist 系列命令达到只提交特定 M 状态文件的目的。命令将文件加入 changelist格式是 svn changelist 名称 文件名称# 单个svn changelist fix-issue-237 foo.c # 递归加目录svn changelist fix-issue-237 --recursive path/to/directory将文件从 ch原创 2020-10-12 11:54:42 · 4856 阅读 · 0 评论 -
svn status 看不到 .a 文件和svn add . 没有添加 .a 文件原因和解决办法
问题表现svn status 看不到 .a 文件svn add . 没有添加 .a 文件原因这是 *.a 文件被忽略所致。在 ~/.subversion/config 里面有一个 global-ignores 配置,里面列出了模式 *.a。所以默认的 svn add . 是会忽略 .a 文件的。svn status 遵循忽略模式,看不到未添加到版本中的 .a 文件。解决办法单个.a 文件添加svn add filename.a批量添加 *.afind . -name '*.a' |原创 2020-08-13 14:24:30 · 2022 阅读 · 0 评论 -
Make 命令指定 Makefile 路径
方法make -C /path/to/dir# 例如 make 上层文件夹下的 Makefile 文件的 mingw 目标make -C .. mingw参考https://stackoverflow.com/a/453450/4394850原创 2018-09-28 16:39:22 · 19773 阅读 · 0 评论 -
CentOS 7 下 rdesktop 的安装
安装步骤wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpmrpm -Uvh nux-dextop-release*rpmyum install rdesktop -y参考https://centos.pkgs.org/7/nux-dextop-x86_64/r原创 2017-11-07 08:49:25 · 9166 阅读 · 2 评论 -
Ubuntu 14.04 命令行非交互式安装 phpMyAdmin
简介phpMyAdmin 是支持 MySQL 的 Web 管理软件。它依赖与 LAMP 栈。本文介绍 Ubuntu 14.04 安装 LAMP 栈 及 phpMyAdmin 的方法。步骤终端中运行以下代码:# 非交互式安装 mysql,设置默认 root 密码 123456,密码简单仅供实验sudo debconf-set-selections <<< 'mysql-server-5.6 mys原创 2017-05-25 09:29:36 · 1179 阅读 · 0 评论 -
Git 非快进方式合并没有共同历史的远程分支
git pull origin master --allow-unrelated-histories --no-ff原创 2017-06-29 13:06:49 · 1481 阅读 · 0 评论 -
Vagrant 中的 mysql 外界访问设置方法
问题描述在开启了端口转发的情况下,Vagrant 中的 mysql 在默认安装情况下从外界也是无法访问。解决思路需要两步。此处假定 root 密码为 123456注释掉/etc/mysql/my.cnf中的bind-address = 127.0.0.1。因为绑定到 127.0.0.1 时,mysql 只接受来自 localhost 的连接。开放访问权限。mysql -uroot原创 2017-05-30 15:54:14 · 6539 阅读 · 0 评论 -
fatal: refusing to merge unrelated histories 解决方案
问题描述当本地分支与远程分支没有共同祖先时,会出现 fatal: refusing to merge unrelated histories 的问题。解决方案可以使用 rebase 的方式来进行合并。git pull --rebase origin master实例验证可以通过一个小实验来体会一下:cdmkdir rebaseTmpcd rebaseTmpecho "hello a line"原创 2017-05-27 23:21:34 · 11482 阅读 · 3 评论 -
Vim Syntastic Cpplint 配置
简介Cpplint 是谷歌为其 C++ style guide 推出的检查工具。Syntastic 插件支持将 cpplint 设置为 cpp 类型文件的 checker。本文介绍其具体设置。具体设置安装 cpplint: pip install cpplint .vimrc 中设置 exec: let g:syntastic_cpp_cpplint_exec = "cpplint".vim原创 2017-05-24 19:20:41 · 2489 阅读 · 0 评论 -
Ubuntu 14.04 安装 docker
在终端中运行以下命令即可:sudo apt-get -y install \ apt-transport-https \ ca-certificates \ curlcurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository \ "de原创 2017-05-24 12:09:26 · 1399 阅读 · 0 评论 -
Gitlab修改文件上传10M大小限制(非命令行方式)
管理员在Admin area点击settings:找到Account and Limit Settings按需要设置Maximum attachment size,此处设置了1024MB。最后拉到最下面点save保存修改补充:此操作方式是在以下环境下测试的GitLab 8.17.2GitLab Shell 4.1.1GitLab Workhorse v1.3.0GitLab API v4Git 2.原创 2017-04-16 21:04:11 · 40782 阅读 · 5 评论 -
Gitlab LFS使用
简介大文件存储功能,Git Large File Storage (LFS),可用于处理项目中的大文件,在git中只会记录对此大文件的引用,不会将其加入.git文件夹中,使得项目体积不会猛增,checkout和add时速度更快。LFS合适用于psd,视频等。与LFS同步时使用特殊命令git lfs fetch 分支名。在git lfs install之后,使用以下格式的命令git lfs track原创 2017-04-16 21:23:35 · 9010 阅读 · 0 评论 -
将git的远程分支设置为本地文件系统位置
Git项目的在多台电脑之间的同步,最常见的方式是使用提供Git服务的服务器,例如Gitlab,码云,或者自己在服务器上部署的Gitlab。如果考虑到安全、部署复杂程度等,不想使用联网服务,那么最简单的办法是把 Git 项目拷贝到U盘上,再拷贝到其他电脑上。但是这种方式很容易让文件版本出现差异。更好的方式是把git项目的remote设置为本地文件系统上的一个位置。以下介绍具体操作方法:本地remote原创 2017-04-03 12:04:07 · 2659 阅读 · 0 评论 -
多版本Python共存时pip给指定版本的python安装package的方法
在linux安装了多版本python时(例如python2.6和2.7),pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置.例如目标位置是/usr/local/lib/python2.7/site-packages/ ,要安装xlrd 这个包,则:$ pip install -t /usr/local/lib/python2.7/site-packages/ xlrd权限不够则原创 2016-09-22 08:01:20 · 37060 阅读 · 2 评论