Django学习之路(3)——打造更高效的环境(samba pip等工具安装使用)

2017/02/0121:34:27 发表评论

摘要:本文中将会讨论两个部分:第一部分为一些常用的设置,如磁盘开机挂载,samba安装,Windows虚拟机中挂载网络磁盘;第二部分为pip工具的安装和使用。

磁盘挂载

由于我安装的是双系统,虽然系统启动后自动给我挂载了Windows下的NTFS分区磁盘,但路径默认为/media/run,管理上有些不太方便,于是我准备将这些磁盘挂载到我的用户目录中来。在安装系统时我创建了一个普通用户叫chin,后面都将会以这个用户登录来进行操作。可以输入以下命令来查看磁盘分区情况:

$ sudo blkid
[sudo] password for chin: 
/dev/sda1: LABEL="Vmware" UUID="0DBC11130DBC1113" TYPE="ntfs" PARTUUID="b1fca484-01"
/dev/sda2: UUID="d88bf8ba-0e8a-4852-a032-35cb9d92037b" TYPE="ext4" PARTUUID="b1fca484-02"
/dev/sda5: UUID="d1a9f6ba-6cdc-4d94-91f3-4713fd4c7248" TYPE="swap" PARTUUID="b1fca484-05"
/dev/sda6: UUID="3bb36097-fd4c-4a94-9901-86a6f639dcef" TYPE="ext4" PARTUUID="b1fca484-06"
/dev/sdb1: LABEL="Software" UUID="2244E8FC44E8D397" TYPE="ntfs" PARTUUID="a9b7a9b7-01"
/dev/sdb5: LABEL="Document" UUID="10AA082C10AA082C" TYPE="ntfs" PARTUUID="a9b7a9b7-05"
/dev/sdb6: LABEL="Other" UUID="10AA0ADC10AA0ADC" TYPE="ntfs" PARTUUID="a9b7a9b7-06"
/dev/sdc1: LABEL="Windows7" UUID="042AA09C2AA08C6C" TYPE="ntfs" PARTUUID="47125469-01"


我们可以看到LABEL表示的值即为Windows下磁盘的卷标名字,这里我都是命名为英文,比较方便查找。其中,/dev/sda1,/dev/sdb1,/dev/sdb5,/dev/sdb6分别位于我的两块机械硬盘上,且分区格式为ntfs,/dev/sdc1为我的固态硬盘,里边安装了Windows7系统。现在我们要做的就是将机械硬盘上的几个Windows分区开机挂载到我的主目录指定文件夹中,使用管理员权限编辑文件/etc/fstab:

#创建挂载目录
mkdir /home/chin/mount
mkdir /home/chin/mount/Document
mkdir /home/chin/mount/Other
mkdir /home/chin/mount/Software
mkdir /home/chin/mount/Vmware
sudo cat >> /etc/fstab <<EOF
/dev/sda1  /home/chin/mount/Vmware ntfsdefaults 0 0
/dev/sdb1  /home/chin/mount/Software ntfsdefaults 0 0
/dev/sdb5  /home/chin/mount/Documentntfsdefaults 0 0
/dev/sdb6  /home/chin/mount/Other ntfsdefaults 0 0
EOF

然后潇洒的输入reboot命令,等重新开机后,磁盘就挂载好了,我们输入mount命令进行查看,磁盘已经挂载好了:


……此处省略若干行……

debugfs on /sys/kernel/debug type debugfs (rw,relatime)

fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)

/dev/sda2 on /boot type ext4 (rw,relatime,data=ordered)

/dev/sdb5 on /home/chin/mount/Document type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

/dev/sdb1 on /home/chin/mount/Software type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

/dev/sdb6 on /home/chin/mount/Other type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

/dev/sda1 on /home/chin/mount/Vmware type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

……此处省略若干行……


安装samba服务


为什么要安装这个服务呢,我的目的是让虚拟机远程挂载物理机Windows磁盘,好变态,有木有?

有童鞋大呼:为什么要这样玩?

果子哥答曰:万一我在ubuntu中有些Windows下必备的软件用不了,我还可以在虚拟机中操作,挂载物理机的磁盘是为了更好的共享已有的资源嘛,万事俱备了,我才好安心上战场。

前面我们已经安装了各种常用的应用软件,其中有一款叫vmware的东西,对!你没有猜错,我要在Linux中安装Windows虚拟机,是不是开始心动了,跟我来吧。

关于如何时安装Windows 7系统,大家可以百度,这里就不再多说了。


1、安装samba服务

sudo apt-get install samba -y

现在我们已经安装好samba服务了,这里说明下,samba的用户有自己独立的用户文件,它存储在/etc/samba/smbpasswd文件中,而且在使用命令smbpasswd来创建用户和密码时,这个用户在系统中已经存在,比如我的chin用户,但是它的用户密码可以与系统用户的密码不同。

现在来创建一个用户名和密码:

sudo smbpasswd -a chin

连续输入两次密码即可创建成功。

接下来我们要将目录/home/chin/mount设置成samba的共享文件夹,需要配置下samba配置文件,在修改配置文件前,千万要记住果子哥的这句话:在修改任何配置文件前先做一个备份!留得青山在,不怕没柴烧!

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.20170201

samba的主配置文件过于复杂,我们只需要在文件最后加上以下配置即可:

[test]
path = /home/chin/mount
available = yes
valid users = chin
read only = no
browseable = yes
public = yes
writable = yes

重启samba服务

sudo /etc/init.d/samba restart

2、在Windows虚拟机中映射samba共享目录

右键“计算机”,选择“映射网络驱动器(N)...”,文件夹一栏输入:\\192.168.1.10\test,其中,192.168.1.10为我ubuntu机器的IP地址。

blob.png

点击“完成”,即可以访问物理机的Windows分区了。

blob.png


安装pip

1、什么叫pip?

pip是一个用python语言编写的软件包管理工具。当然,它的作用也是用来管理python软件包。

2、如何安装pip?

可以使用apt-get或源码安装

sudo apt-get install python-pip 
#源码安装
sudo curl https://bootstrap.pypa.io/get-pip.py | python
#更新pip工具致最新版本
sudo pip install --upgrade pip

我们可以查看下pip的帮助文档,使用最多的一般是install和uninstall两个参数:

pip --help
Usage:   
  pip  [options]
Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  help                        Show help for commands.

我们尝试安装一个psutil软件包:

sudo pip install psutil
Requirement already satisfied: psutil in /home/chin/PythonEnv/lib/python2.7/site-packages
#说明我系统中已经安装过了。

注意:Ubuntu16.10中默认安装了两个python版本,一个为python 2.7.12,一个为python 3.5.2,当你输入python时,在PATH环境变量中,默认使用的版本是2.7.12,也是当前使用的比较多的版本,这点还比较人性化。如果你想要使用python 3的版本和pip的话,那就在源码安装步骤中直接使用python3.5解释器。使用pip工具时,要输入pip3

3、pip更多技巧

我们可以使用pip freeze命令获得当前环境变量中安装的python库,然后使用pip install -r file进行安装。

#获取python软件包列表
sudo pip freeze > requirement.txt
#在新系统中部署开发环境
sudo pip install -r requirement.txt

pip为我们想得太周到了,赞一个!

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin

发表评论

您必须才能发表评论!