共计 1815 个字符,预计需要花费 5 分钟才能阅读完成。
前面我有一篇文章写的是在 CentOS 7 中搭建 nginx+django 环境: 点击这里 ,个人认为,如果你的服务器中需要一个共享资源式的 django 站点,可以按我文章中所写的方式搭建生产环境(即产品发布环境)。那么何为共享资源式的环境,其实这个名词是我想不到词了写出来的,意思是说,所以的 django 站点共享系统中所有的 python 开发库,这并不是一件非常值得炫耀的事,尤其对于爱整洁的强迫症犯者来说,可能是个灾难,在后面的文章中我将提到 python 的隔离环境。事实上,对于开发这件事,个人认为强迫症是值得“表扬”的一件事。
言归正传,我的 django 学习之路就要开始了。对于战士来说,上战场选择一件得心应手的兵器,显然将大大提高自身的攻击力和杀敌的能力。那么我们是选择何种系统作为开发机器呢?Windows or Linux?凭着个人对 Linux 多年的熟悉程度,果断选择了“Evertything is file”哲学理念的 Linux,事实上,它的每一个错误我们都可以刨根问底的找到原因,而之前 Windows 的开发经历简直让我抓狂——软件安装不上时就两招:重启系统 or 卸载重装。我不喜欢在这种问题上浪费太多不必要的时间,当然大家可以说我不熟悉 Windows,我毫不介意.
既然选择了 Linux,那么这么多的发行版本,我该选择哪一种呢?我用过很多 Linux 发行版本,但 CentOS 系列我用了很多年了,大概从 2009 年开始到现在,已经熟透了,该发行版作为服务器系统,其简洁的包管理方式,Redhat 团队的长期支持,稳定性和可靠性就可见一斑了。但在家用系统中,CentOS 对新硬件的支持和桌面图形软件的支持相对 Ubuntu 来说就较差了,于是一个大胆的想法在我脑海中诞生了,我决定在我的物理机器上安装 Ubuntu 系统,原因如下:
1、在 Windows 中虽然可以用虚拟机安装 CentOS 开发,但经常会忍不住去看 QQ 和微信消息,如果系统直接是 Linux,那么我就不用受聊天信息干扰了;
2、最新版的 16.10 是一个长期支持版本,而且 ubuntu 中总是能拿到最新软件安装包,我可以享受软件安装的乐趣;
3、可以充分利用我的硬件资源;
4、更好的熟悉其它 Linux 发行版本的软件包管理系统,挑战一下自己。
说干就干,我找来 U 盘,从 Ubuntu 官网下载最新的 Desktop 版本 16.10,然后使用 Universal USB Installer 工具刻录好系统盘。安装时我特意选择安装了 English 版本, 系统安装可以参考: 点击这里 。系统安装完成后,我一般是五步走:
1、让系统开始连接上互联网,这里可以参考我之前的文章: 点击这里
2、通过 man 手册熟悉下 ubuntu 的包管理工具:apt-get dpkg apt-file 等。我一般是通过对比 CentOS 的包管理方式来学习,如下表(命令全部以管理员用户运行):
实现目标 | Ubuntu | CentOS |
安装 vim 编辑器 | apt-get install vim -y | yum install vim -y |
查找 tcpdump 命令属于哪个软件包 (未安装软件包的情况下) | apt-file search ifconfig | yum provides */ifconfig |
查找 tcpdump 命令属于哪个软件包(已经安装软件包的情况下) | dpkg -S /usr/sbin/tcpdump | rpm -qf /usr/sbin/tcpdump |
查找 vim 软件包安装了哪些文件 | dpkg -L vim | rpm -ql vim |
仅下载 vim 软件包不安装 | apt-get download vim | yum install --downloadonly vim |
安装一个已经下载的软件包 | dpkg -i vim-xx.x.x.deb | rpm -ivh vim-xx.x.x.rpm |
其实有这些常用命令就可以玩转 ubuntu 下的软件包管理了。但在使用过程中我一直有一个功能在 ubuntu 下没找到,即在 CentOS 中可以使用 yum 指定软件安装目录(使用参数 --installroot=[path]),而 apt-get 却没有这个功能,后面想找一个折中的办法,想通过 apt-get download 下载包过来,然后通过 dpkg --instdir 来安装,却有很多限制,无赖的放弃中……
3、感谢 systemctl 开机启动服务方式大一统了现有的流行发行版本;
4、熟悉下文件系统结构目录;
5、各种安装应用软件(详见正文分解)
