共计 4789 个字符,预计需要花费 12 分钟才能阅读完成。
文章目录 [隐藏]

摘要:本文中将会讨论两个部分:第一部分为一些常用的设置,如磁盘开机挂载,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 地址。
点击“完成”,即可以访问物理机的 Windows 分区了。
安装 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 为我们想得太周到了,赞一个!
