1. 安装MySQL
$ sudo apt-get install mysql-server mysql-client
安装完成后,MySQL会默认启动,可以在终端运行以下命令查看MySQL是否正在运行
$ sudo netstat -tag|grep mysql
可以看到类似以下的结果
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
日常启动、重启等命令:
$ sudo /etc/init.d/mysql start|stop|restart|status
附:删除MySQL
$ sudo apt-get autoremove --purge mysql-server-5.1
$ sudo apt-get remove mysql-server
$ sudo apt-get autoremove mysql-server
$ sudo apt-get remove mysql-common
清理残留数据
$ dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
配置MySQL远程访问:
1).
sudo vi /etc/mysql/my.cnf
注释掉此行 bind-address = 127.0.0.1
2). 在终端进入MySQL
$mysql -u root -p
>use mysql;
>grant all privileges on *.* to root@192.168.18.100 identified by 'password';
注:192.168.18.100为客户端IP;password为root用户的密码
3). 重启MySQL, 尝试客户端连接, Congratulations!!
2. 安装Python运行环境
1). Python
$sudo apt-get install python-dev python-setuptools
2). Django
$sudo easy_install django
3). 安装MySQL驱动
$ sudo apt-get install python-mysqldb
4). 验证开装是否成功:
$ python
>>> import django
>>> django.VERSION
(1, 3, 1, 'final', 0)
>>> import MySQLdb
同样的方法安装MongoDb, pymongo
3. 安装SVN客户端
$ sudo apt-get install subversion subversion-tools
(引用致
http://hi.baidu.com/videoforlinux/blog/item/b81161c04fff202fe5dd3b9f.html)
引用
详细请看 http://www.subversion.org.cn/svnbook/1.1/index.html svn子命令
1、检出
svn co http://路径(目录或文件的全路径) [本地目录全路径]
--username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
其中 username 与 password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
例子:
svn co svn://192.168.0.3/测试工具 /home/testtools--username wzhnsc
svn co http://192.168.0.3/test/testapp --username wzhnsc
svn checkout svn://192.168.0.3/测试工具 /home/testtools--username wzhnsc
svncheckouthttp://192.168.0.3/test/testapp --username wzhnsc
2、导出(导出一个干净的不带.svn文件夹的目录树)
svn export [-r 版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export [-r 版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
svn export 本地检出的(即带有.svn文件夹的)目录全路径 要导出的本地目录全路径
注:第一种从版本库导出干净工作目录树的形式是指定URL,
如果指定了修订版本号,会导出相应的版本,
如果没有指定修订版本,则会导出最新的,导出到指定位置。
如果省略本地目录全路径,URL的最后一部分会作为本地目录的名字。
第二种形式是指定 本地检出的目录全路径 到要导出的本地目录全路径,所有的本地修改将会保留,
但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。
例子:
svnexportsvn://192.168.0.3/测试工具 /home/testtools--usernamewzhnsc
svnexporthttp://192.168.0.3/test/testapp --usernamewzhnsc
svnexport/home/testapp/home/testtools
3、添加新文件
svn add 文件名
注:告诉SVN服务器要添加文件了,还要用svn commint -m真实的上传上去!
例子:
svn add test.php <- 添加test.php
svn commit -m “添加我的测试用test.php“ test.php
svn add *.php <- 添加当前目录下所有的php文件
svn commit -m “添加我的测试用全部php文件“ *.php
4、提交
svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
必须带上-m参数,参数可以为空,但是必须写上-m
例子:
svn commit -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn commit -m “提交我的测试用test.php“ test.php
svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
svn ci -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn ci -m “提交我的测试用test.php“ test.php
svn ci -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
5、更新文件
svn update
svn update -r 修正版本 文件名
svn update 文件名
例子:
svn update<-后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r200 test.cpp<-将版本库中的文件 test.cpp 还原到修正版本(revision)200
svn updatetest.php<-更新与版本库同步。
提交的时候提示过期冲突,需要先 update 修改文件,
然后清除svn resolved,最后再提交commit。
6、删除文件
svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本”
推荐如下操作:
svn delete 文件名
svn ci -m “删除备注信息文本”
例子:
svn delete svn://192.168.1.1/testapp/test.php -m “删除测试文件test.php”
推荐如下操作:
svn delete test.php
svn ci -m “删除测试文件test.php”
7、加锁/解锁
svn lock -m “加锁备注信息文本“ [--force] 文件名
svn unlock 文件名
例子:
svn lock -m “锁信测试用test.php文件“ test.php
svn unlock test.php
8、比较差异
svn diff 文件名
svn diff -r 修正版本号m:修正版本号n 文件名
例子:
svn diff test.php<- 将修改的文件与基础版本比较
svn diff -r 200:201 test.php<- 对修正版本号200 和 修正版本号201 比较差异
9、查看文件或者目录状态
svn st 目录路径/名
svn status 目录路径/名<- 目录下的文件和子目录的状态,正常状态不显示
【?:不在svn的控制中; M:内容被修改;C:发生冲突;
A:预定加入到版本库;K:被锁定】
svn -v 目录路径/名
svn status -v 目录路径/名<- 显示文件和子目录状态
【第一列保持相同,第二列显示工作版本号,
第三和第四列显示最后一次修改的版本号和修改人】
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,
原因是svn在本地的.svn中保留了本地版本的原始拷贝。
10、查看日志
svn log 文件名
例子:
svn log test.php<- 显示这个文件的所有修改记录,及其版本号的变化
11、查看文件详细信息
svn info 文件名
例子:
svn info test.php
12、SVN 帮助
svn help<- 全部功能选项
svn help ci <-具体功能的说明
13、查看版本库下的文件和目录列表
svn list svn://路径(目录或文件的全路径)
svn ls svn://路径(目录或文件的全路径)
例子:
svn list svn://192.168.0.3/test
svn ls svn://192.168.0.3/test <- 显示svn://192.168.0.3/test目录下的所有属于版本库的文件和目录
14、创建纳入版本控制下的新目录
svn mkdir 目录名
svn mkdir -m "新增目录备注文本" http://目录全路径
例子:
svn mkdir newdir
svn mkdir -m "Making a new dir." http://192.168.0.3/test/newdir
注:添加完子目录后,一定要回到根目录更新一下,不然在该目录下提交文件会提示“提交失败”
svn update
注:如果手工在checkout出来的目录里创建了一个新文件夹newsubdir,
再用svn mkdir newsubdir命令后,SVN会提示:
svn: 尝试用 “svn add”或 “svn add --non-recursive”代替?
svn: 无法创建目录“hello”: 文件已经存在
此时,用如下命令解决:
svn add --non-recursive newsubdir
在进入这个newsubdir文件夹,用ls -a查看它下面的全部目录与文件,会发现多了:.svn目录
再用 svn mkdir -m "添hello功能模块文件" svn://192.168.0.3/test/newdir/newsubdir 命令,
SVN提示:
svn: File already exists: filesystem '/data/svnroot/test/db', transaction '4541-1',
path '/newdir/newsubdir '
15、恢复本地修改
svn revert [--recursive] 文件名
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。
例子:
svn revert foo.c <- 丢弃对一个文件的修改
svn revert --recursive . <-恢复一整个目录的文件,. 为当前目录
16、把工作拷贝更新到别的URL
svn switch http://目录全路径 本地目录全路径
例子:
svn switch http://192.163.0.3/test/456 . <- (原为123的分支)当前所在目录分支到192.163.0.3/test/456
17、解决冲突
svn resolved [本地目录全路径]
例子:
$ svn update
C foo.c
Updated to revision 31.
如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件:
$ ls
foo.c
foo.c.mine
foo.c.r30
foo.c.r31
当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。
你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。
18、不checkout而查看输出特定文件或URL的内容
svn cat http://文件全路径
例子:
svn cat http://192.168.0.3/test/readme.txt
4. 安装FTP(引用致
http://quicker.iteye.com/blog/583117)
仰望者 写道
Java代码
安装vsftpd,用来实现ftp服务。
sudo apt-get update
sudo apt-get dist-upgrade
上面用来更新。下面进行安装。
sudo apt-get install vsftpd
安装完毕后,编辑链接文件vsftpd.conf,方法如下:
sudo vi /etc/vsftpd.conf
打开后,如果提示只读,不可更改,则需要用如下命令更改权限。
chmod 777 /etc/vsftpd.conf
改好后,按照下面进行设置。
Java代码
# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES
# 上传总开关(全局控制)
write_enable=YES
# 接受匿名用户,默认无密码请求
anonymous_enable=YES
# 接受本地用户
local_enable=YES
# 本地用户上传文件(包括目录)的 umask
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
local_umask=022
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载
anon_upload_enable=YES
# 匿名用户上传文件(包括目录)的 umask
# 注意点同 local_umask
anon_umask=022
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
anon_mkdir_write_enable=YES
# 允许匿名用户删除/重命名文件等操作
#anon_other_write_enable=YES
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
dirmessage_enable=YES
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 改变用户上传文件的所有者
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
# login 时的欢迎信息
ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
chroot_local_user=YES
# 设置为 YES 则下面的控制有效
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Java代码
我将anonymous_enable=NO,即不允许匿名登录ftp;write_enable=YES可写
更改完配置文件后,重启ftp服务
sudo /etc/init.d/vsftpd restart
直接用ftp工具连接过去,输入ubuntu用户名和密码即可直接到/home/user目录。
可以自己创建系统用户,并用相应的用户名进去
Java代码
比如 我用命令创建用户,并设置目录为/home/ftpLogin,将它加入到root组:
useradd -m -d /home/ftpLogin -G root ftpLogin
passwd ftpLogin
输入密码
再重启ftp服务
sudo /etc/init.d/vsftpd restart
再用ftp工具连过去,输入用户ftpLogin及密码即可。
相关链接:
http://www.w3pop.com/learn/view/p/2/o/1/doc/ubuntu_vsftpd/
http://www.wangyutang.com/2009/04/install-and-config-ubuntu-server810-with-apache-ssh-ftp/
分享到:
相关推荐
### 详解Ubuntu从零开始搭建Python开发环境 #### 环境准备 为了确保能够顺利地在Ubuntu系统上搭建Python开发环境,首先需要确保具备一个干净的Ubuntu 16.04系统。本文将以Ubuntu 16.04为例进行说明。 #### 修改...
hackrf one开发环境搭建,gnuradio安装
详细描述Ubuntu下如何搭建python的web开发环境
在Ubuntu环境下搭建Python环境是开发工作的重要步骤,而...现在,你已经在Ubuntu环境中成功搭建了Python开发环境,并安装了PyCharm,可以开始你的编程之旅了。记得随时更新Python和PyCharm以保持最佳性能和安全性。
### Ubuntu 下 Android 编译环境搭建详解 #### 一、前言 随着移动互联网的快速发展,Android 成为了全球最流行的移动操作系统之一。对于开发者来说,能够高效地进行 Android 应用开发与系统定制是非常重要的技能。...
### Linux环境下的Apache + Python + Django开发环境搭建 #### 1. 安装Apache 在Linux环境中,可以通过包管理器如`apt-get`(Ubuntu)或`yum`(CentOS)来安装Apache。例如,在Ubuntu上: ```bash sudo apt-get ...
理解这一过程可以帮助开发者在Ubuntu 16.04操作系统上有效地配置和优化Python开发环境。在实际操作过程中,每一部分的安装和配置都至关重要,每一步都可能影响到后续开发工作的效率和程序运行的稳定性。熟练掌握这些...
在Ubuntu操作系统中搭建一个开发环境是一项基础且重要的工作,它为程序员提供了高效的工作平台。本教程将详细介绍如何在Ubuntu上安装并配置两个关键组件:JetBrains的IntelliJ IDEA 2019.2(一个流行的Java集成开发...
IMX6开发环境搭建之Yocto ...本文档提供了一个详细的IMX6开发环境搭建之Yocto指南,涵盖了从安装Ubuntu操作系统到搭建Yocto环境的所有步骤。通过按照本指南进行操作,可以快速搭建IMX6开发环境,满足开发者的需求。
### OpenTX 开发环境搭建详解 #### 一、概述 OpenTX是一款开源的遥控系统,广泛应用于模型飞机、直升机等领域。为了便于开发人员编写和调试代码,本篇指南将详细介绍如何在Ubuntu 16.04系统上搭建OpenTX的开发环境...
### Linux CentOS Python开发环境搭建教程 #### 一、引言 在Linux CentOS系统上搭建Python开发环境是一项基础但重要的工作,对于从事软件开发、数据分析、机器学习等领域的专业人士来说尤为重要。本文将详细介绍...
本文将详细介绍如何在 Ubuntu 系统下使用 Vim 搭建 Python 开发环境。 #### 1. 安装完整的 Vim 首先,确保安装了完整的 Vim 版本。完整的 Vim 包含了许多额外的功能和插件支持,这将使后续的配置更加容易。可以...
通过以上步骤,你已经在Linux环境下成功搭建了Python开发环境。接下来,你可以开始编写Python代码,利用虚拟环境管理不同项目的依赖,享受高效、整洁的开发体验。记得定期更新Python和相关库,以保持系统的安全性和...
#### 三、编译环境搭建 为了确保 Mapnik 的正常编译,首先需要安装一些必要的开发工具和库: ```bash sudo apt-get update sudo apt-get upgrade sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo ...
### Linux下ESP8266开发环境搭建 #### 一、概述 ESP8266是一种低成本、低功耗的Wi-Fi芯片,广泛应用于物联网(IoT)领域。本文档详细介绍了如何在Deepin Linux环境下搭建ESP8266的开发环境。整个过程分为两大部分:...
在本文中,我们将详细探讨如何在Ubuntu 20.04环境下进行系统搭建,包括Ubuntu的下载安装、VMware中的虚拟机配置、Mininet及Ryu控制器的安装,以及在整个过程中可能遇到的问题及其解决方案。 首先,Ubuntu 20.04的...