目前这篇 post 先用来记录杂七杂八好了,计划是一段时间整理一次(咕咕咕预定
This question relative to "How to copy/move files to ownClowd data dir on server side". I tried to run
mv PATH/TO/TARGET /home/wwwroot/default/owncloud/data/sorayama/
files moved correctly, but there's nothing in client side. So I searched for it and finally found the key action is to run
sudo -u www php /home/wwwroot/default/owncloud/occ
in the next step
curl wttr.in /~<PLACE>
假设已经有 sudo 权限的用户账号,下面,正式开始安装。
sudo apt-get install git
sudo adduser git
收集所有需要登录的用户的公钥,就是他们自己的 id_rsa.pub
文件,把所有公钥导入到 /home/git/.ssh/authorized_keys
文件里,一行一个。
先选定一个目录作为 Git 仓库,假定是 /srv/sample.git
,在 /srv
目录下输入命令:
sudo git init --bare sample.git
Git 就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的 Git 仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的 Git 仓库通常都以.git 结尾。然后,把 owner 改为 git:
sudo chown -R git:git sample.git
出于安全考虑,第二步创建的 git 用户不允许登录 shell ,这可以通过编辑 /etc/passwd
文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git 用户可以正常通过 ssh 使用 git,但无法登录 shell,因为我们为 git 用户指定的 git-shell 每次一登录就自动退出。
现在,可以通过 git clone
命令克隆远程仓库了,在各自的电脑上运行:
git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
被坑过两次,第一次还不知道是怎么回事 = = 具体来说 git 默认对文件名大小写不敏感,如果只改文件名大小写的话会没有任何可提交的东西,因此需要配置
git config core.ignorecase false