因为安装gogs遇到了一些奇怪的问题,所以我不得不尝试换个方式,于是我想,我是不是可以用apt来安装 ,毕竟官方在这一页有说明:http://gogs.io/docs/installation/install_from_packages.html,于是我到 https://packager.io/gh/pkgr/gogs/install?bid=190#debian-7-gogs 进行了查看,按照上面写的进行操作:
XML/HTML代码
- wget -qO - https://deb.packager.io/key | sudo apt-key add -
- echo "deb https://deb.packager.io/gh/pkgr/gogs wheezy pkgr" | sudo tee /etc/apt/sources.list.d/gogs.list
- sudo apt-get update
- sudo apt-get install gogs
执行到第三步就报错了:
XML/HTML代码
- E: The method driver /usr/lib/apt/methods/https could not be found.
这,这搞什么?google了一下,原来有这个问题的人很多,但也很好解决,先把刚才的gogs.list中的内容注释掉,运行一下:
XML/HTML代码
- apt-get install apt-transport-https
然后就OK了。上面的帮助内容来自:http://unix.stackexchange.com/questions/166917/etc-apt-sources-list-wont-accept-urls-with-https-connection,我还以为是stackfollow呢。结果居然不是。。。
ubuntu下面有一个很不错的功能,它能够使你很方便 的添加ppa的源,那就是apt-add-repository
在我之前写的一篇博客里就有介绍此功能(关于gearman的),但在debian系统上就无法适用,因为debian下没有此功能
于是找了ubuntu下的apt-add-repository的代码,cp了一份到debian下面,但不能运行。所以google了一下,发现这么一段代码就OK了:
XML/HTML代码
- #!/bin/bash
- if [ $# -eq 1 ]
- then
- ppa_name=`echo "$1" | cut -d":" -f2 -s`
- if [ -z "$ppa_name" ]
- then
- echo "PPA name not found"
- echo "Utility to add PPA repositories in your debian machine"
- echo "$0 ppa:user/ppa-name"
- else
- echo "$ppa_name"
- echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu lucid main" >> /etc/apt/sources.list
- apt-get update >> /dev/null 2> /tmp/apt_add_key.txt
- key=`cat /tmp/apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`
- apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
- rm -rf /tmp/apt_add_key.txt
- fi
- else
- echo "Utility to add PPA repositories in your debian machine"
- echo "$0 ppa:user/ppa-name"
- fi
将这段内容存成apt-add-repository,然后cp到/usr/bin目录下,并且chmod +x 这个文件,让它有可执行的权限。
再接着使用apt-add-repository 来添加源就OK了
这个自定义的版本,在添加完源后,还会将source.list进行了修改。比ubuntu还人性化。。
参考:
1.http://cptbtptp.blog.51cto.com/3228046/620036
2.http://jolin.2001.blog.163.com/blog/static/89912172011485354567/
两篇内容细看,其实就是一样的。。