Tao He

Tao He

  • Docs
  • API
  • Help
  • Blog

›Recent Posts

Recent Posts

  • Microsoft PowerPoint
  • Chrome
  • Alfred
  • Docusaurus
  • Git Commands

Ubuntu

August 11, 2013

{% include JB/setup %}

User

Add User

w
userdel -f taohe
rm -rf /home/taohe
adduser taohe
visudo
vi /etc/sudoers

Under root ALL=(ALL) ALL Add taohe ALL=(ALL) ALL

Delete User

userdel -f taohe
rm -rf /home/taohe/

Disable root Login SSH

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vim /etc/ssh/sshd_config

Add

PermitRootLogin no

Restart sshd

sudo service ssh restart

Editor

neovim

sudo apt-get install neovim

APT

Find installed files

sudo apt-get install apt-file
apt-file update
apt-file list libssh-dev

Clean unused files

apt-get autoclean
apt-get autoremove

Develop

Build

sudo apt-get install autoconf automake libtool curl make g++ unzip cmake
sudo apt-get install libssh-dev libz-dev libncurses-dev libreadline-dev

ctags

./configure --prefix=/home/walnuthe/usr --enable-etags

global

./configure --prefix=/home/walnuthe/usr --with-exuberant-ctags=/home/walnuthe/usr/bin/ctags

cscope

./configure --prefix=/home/walnuthe/usr

Debug

patchelf

http://nixos.org/patchelf.html

Shell

Git

sudo apt-get install git

Zsh

Zsh

autojump

sudo apt-get install autojump

Add this line to ~/.bashrc

[[ -s /usr/share/autojump/autojump.sh ]] && source /usr/share/autojump/autojump.sh

fzf

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Language

Go

sudo apt-get install golang

Python

sudo apt install python-pip
sudo apt install python3-pip

R

r-project

sudo vim /etc/apt/sources.list

Add this line

deb http://cran.rstudio.com/bin/linux/ubuntu raring/

Then

sudo apt-get update
sudo apt-get install r-base

UI

Desktop Shoutcut

所有程序快捷方式都在/usr/share/applications/下面,复制到桌面并且赋予执行权限就可以了

Ubuntu 11.04的快捷方式图标的存放位置

显示休眠菜单

How to enable hibernation?

PPA

PPA List

WebUpd8 PPAs Status

Ubuntu Ppas by WebUpd8

Speed Up apt-get Downloads With apt-fast

How To Find Out To Which PPA Repository A Package Belongs To

compizconfig settings manager

设置显示特效(必备)

GLX-Dock

类苹果的Dock(推荐)

avant window navigator

类苹果的Dock

gnome-pie

环形程序启动器(推荐)

sudo add-apt-repository ppa:simonschneegans/testing
sudo apt-get update
sudo apt-get install gnome-pie

Ubuntu Tweak

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Desktop

Terminator

Set copy and paste

vi ~/.config/terminator/config
[keybindings]
  paste = <Control>v
  copy = <Control>c

Browser

chromium(必备)

File

ubuntu 文件管理器Nautilus 使用技巧

Ubuntu中Terminal和GNOME文件管理器的互通方法(貌似没效果)

FileZilla

Krusader -root-mode:双列文件管理(推荐)

vifm:类vi的双列文件管理(推荐)

emelfm2:双列,貌似还好

rox-filter:双列,不能mount

gnome commander:双列,界面恶心

konqueror:单列,界面臃肿

Process

状态管理

iotop:文件读写状态

htop:进程运行状态

Compatibility

exFAT

sudo apt-get install exfat-utils

How do I install and mount an exFAT partition?

Ubuntu12.04 挂载exFat格式U盘的方法

使ubuntu支持exFAT格式实现读写

wine

playonlinux

virtualbox

Window Manager

awesome

sudo apt-get install awesome awesome-extra

By default awesome is disabled, we have to enable it.

Starting the Awesome window manager on Ubuntu 13.04

vim /usr/share/xsessions/awesome.desktop

Set NoDisplay to false

Add some start apps

awesome使用与配置

mkdir ~/.config/awesome/
vim ~/.config/awesome/rc.lua

Edit as below

--auto run app
--awful.util.spawn_with_shell("ibus-daemon --xim")
--awful.util.spawn_with_shell("network-manager")
awful.util.spawn_with_shell("gnome-power-manager")

Run chromium

chromium-browser --proxy-pac-url=http://txp-01.tencent.com/proxy.pac

Player

Audacious

可换界面的音乐播放器

VLC media player

可换界面的视频播放器。可以在Preference中换界面

Windows

wine qq 2012 for linux Ubuntu 64位兼容(11月30号更新)

WineQQ2012-20121130-Longene.deb

sudo apt-get install ia32-libs
sudo dpkg -i WineQQ2012-20121130-Longene.deb

IDE

Oracle JDK

Java必备

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

详见

INSTALL ORACLE JAVA (JDK) 7 IN UBUNTU VIA PPA REPOSITORY

eclipse

Qt Creater

C++必备

KScope

KScope(Linux下的Source Insight)

KScope

Insight:gdb前端(推荐)

kdbg:gdb前端(推荐)

sudo apt-get install kdbg

Remote

Splashtop

Splashtop Streamer for Linux

Hadoop

cloudera

Cloudera CDH4 Installation Guide

Create a new file /etc/apt/sources.list.d/cloudera.list with the following contents:

deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4 contrib

Then

sudo apt-get update
sudo apt-get install mahout

Jekyll

August 11, 2013

{% include JB/setup %}

Install Ruby

Ruby

Install Jekyll

sudo gem update --system
sudo gem install jekyll -V

Clone jekyll-bootstrap

cd ~/workspace/
git clone https://github.com/plusjade/jekyll-bootstrap.git taohex.github.io
cd taohex.github.io/
git remote set-url origin https://github.com/taohex/taohex.github.io.git
git push origin master

Run Jekyll

Start server

jekyll serve --watch

Now open chromium and browse

http://localhost:4000

Before creating a page, we read

vim Rakefile

We can find

# Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1, tag2]]
# Usage: rake page name="about.html"
# You can also specify a sub-directory path.
# If you don't specify a file extention we create an index.html at the path specified

For example, create

rake post title="Jekyll" date="2013-08-11"
rake post title="Jekyll" date="2013-08-11" tags="[linux, ubuntu, macos, jekyll, github]" category="linux"
rake page name="linux/jekyll.md"

Edit and save

vim _posts/2013-08-11-jekyll.md
vim linux/jekyll.md

Refresh chromium to take effect.

Syntax Highlighting

Method 1: Use pygments (Support GitHub Flavored Markdown)

Install pygments, pygments.rb and redcarpet

easy_install pygments
sudo gem install pygments.rb
sudo gem install redcarpet

Add the following line to _config.yml below line pygments: true

markdown: 'redcarpet'

Generate syntax.css

cd path/to/your-site
pygmentize -S monokai -f html > assets/themes/twitter/css/syntax.css

You can use pygments-css instead

Find this line

<link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">

Add this line below it

<link href="{{ ASSET_PATH }}/css/syntax.css?body=1" rel="stylesheet" type="text/css" media="all">

Using GFM in Jekyll Bootstrap

GitHub Flavored Markdown

Defines all Languages known to GitHub

Preview all Pygments Styles for your code highlighting needs

Method 2: Use highlightjs (Better Visual Effect)

vim _includes/themes/twitter/default.html

Add following lines at the end of body

<!-- highlightjs -->
<link rel="stylesheet" href="http://yandex.st/highlightjs/8.0/styles/monokai_sublime.min.css">
<script src="http://yandex.st/highlightjs/8.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

Try other styles here: Test

Jekyll - Syntax highlighting

Refresh chromium to take effect.

Git

June 21, 2013

{% include JB/setup %}

macOS

Install git

brew install git
sudo xcodebuild -license
brew install tig
brew install fac  # Easy-to-use CUI for fixing git conflicts
brew install git-flow-avh
git flow init
git flow feature start rss-feed
git flow feature finish rss-feed

https://github.com/petervanderdoes/gitflow-avh

客户端配置

git config --global user.name "taohe"
git config --global user.email 102320170@qq.com
git config --global core.editor "vim"
git config --global diff.tool vimdiff
git config --global difftool.prompt false
# `git d` aliased to `git difftool`
git config --global alias.d difftool

简单明了的使用教程(推荐) Git笔记-基础

大而全的教程 open git - 开源书籍

GitHub使用教程 github的使用

Linux客户端

SmartGit(推荐)

SmartGit

界面不错,功能也比较全,不过可惜是商业软件。个人使用还是完全免费而且没有功能限制的。

git-cola

Python写的,界面是这里的软件中最丑的,但是文件比较还是这个比较靠谱,在它的Diff主菜单下面有比较功能。

sudo apt-get install git-cola

fugitive(Vim插件)(推荐)

主要用于本地工作目录和索引、本地仓库之间文件对比等操作

gitg、QGit

gitg是Gnome界面,比较漂亮。QGit是Qt界面,比较丑。都可以显示文件修改,但是在一个窗口中显示的,很不直观。

sudo apt-get install qgit

gitk

从名字可以看出来是gtk写的,不能显示文件修改。

sudo apt-get install gitk

Windows客户端

Git官方客户端(包括GUI版和shell版)、TortoiseGit

服务器端配置

Windows配置Copssh

打开防火墙22端口(非常重要)

安装msysgit、Copssh、TortoiseGit

如果需要用密钥登录,使用msysgit自带的控制台生成密码。

ssh-keygen -t rsa

生成的密码在%HOME%\.ssh下,私钥不要删除,把公钥.pub文件提交给git服务器管理员处理

CentOS 配置gitosis

主要参考http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

另外可参考http://www.jiangmiao.org/blog/1600.html

其中有些地方已经不适用,本文基于CentOS 6.2作了相应的更正

客户端(开发机)

1. 生成~/.ssh/id_rsa.pub,如果已经有,可以直接下一步
ssh-keygen -t rsa -C "taohex@gmail.com"
2. 上传到服务器
scp ~/.ssh/id_rsa.pub USER_NAME@SERVER_NAME:/tmp/

服务器端

以下操作以root用户执行

1. 安装必须软件
yum -y install git python-setuptools
*. 找个放git安装文件的地方
mkdir ~/dev/
cd ~/dev/
2. 下载gitosis
git clone git://eagain.net/gitosis.git
3. 安装gitosis
cd gitosis/
python setup.py install

安装成功会显示如下信息

...
Finished processing dependencies for gitosis==0.2
*. 查看增加用户命令的参数
useradd -h
4. 增加git所用的用户
useradd -r -s /bin/sh -c "git version control" -U -d /home/git -m git
*. 如果写错了,userdel -f可以删除用户

参考http://www.php100.com/html/webkaifa/Linux/2009/0803/3116.html

5. 以新增的用户初始化gitosis
sudo -H -u git gitosis-init &lt; /tmp/id_rsa.pub

成功会显示如下信息

Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/
6. 修改权限
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

客户端(开发机)

*. 找个地方放gitosis管理配置
mkdir ~/git/
cd ~/git/
1. 把gitosis的配置clone下来
git clone git@SERVER_NAME:gitosis-admin.git
cd gitosis-admin
*. 检查keydir/下面有什么文件
2. 编辑配置文件
vim gitosis.conf

复制粘贴

[group gitosis-admin]
writable = gitosis-admin
members = walnet@walnet-Rev-1-0
把group后边改成开发团队名字
把writable后面改成项目名字
members后面加空格再加其他成员名字(或者不变)

例如

[group project1-team]
writable = project1
members = walnet@walnet-Rev-1-0
3. 上传配置
git commit -a -m "Allow members access to new project"

成功会显示如下信息

...
1 files changed, 4 insertions(+), 0 deletions(-)

push到服务器

git push
*. 找个地方新建项目文件夹
mkdir ~/git/
cd ~/git/
4. 新建项目文件夹
mkdir project1/
cd project1/
5. 建立git管理
git init

会显示如下信息

Initialized empty Git repository in /home/walnet/project1/.git/

现在试一下

touch test.txt
git add . $git commit -m "test.txt"
git remote add origin git@SERVER_NAME:project1.git
git push origin master:refs/heads/master

Ubuntu配置gitosis

主要参考ubuntu上配置git服务器

更正一下

第4步应该是

su git
cd /home/repo
mkdir teamwork.git
cd teamwork.git
git init --bare
exit

第8.1步是多余的,8.3步是正确的

submodule

update from remote

git submodule update --remote --merge
git commit
← Prev
Tao He
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject ChatTwitter
More
BlogGitHubStar
Facebook Open Source
Copyright © 2019 Your Name or Your Company Name