基础知识(其中部分是笔者推理猜测内容,如果存在错误,请告知,万分感激):
Ask:ISO是什么文件方式?
Answer:光盘镜像文件格式。大家还记得小的时候的光盘吧,另外大家是不是也曾经看过书上的装系统教程,书上通常都说第一个步骤是插入光盘。那么随着时代的发展,好多电脑都没有了光驱,我们就把光盘的东西以ISO文件的方式存放到电脑上,可以直接打开或者烧录到U盘中启动系统。

Ask:什么是可启动U盘?
Answer:我们把系统刻录到U盘等介质中,能从U盘启动操作系统。这样的U盘就叫可启动U盘。

Ask:什么是Windows PE:
Answer:即Windows预安装环境,可以理解为这个是Windows的最小系统,当你从U盘启动Windows PE的时候,因为硬盘不在这个系统之内,所以这个时候你拥有操作整个磁盘的最高权限,可以进行分区(正常情况下,不进去PE是不能操作C盘的),安装系统等操作。

Ask:写入ISO到U盘与直接复制ISO中的文件到U盘的区别:
Answer:猜测是因为写入到U盘的时候,会把需要引导linux的文件写入到第一个扇区。但是直接复制到U盘的时候,可能复制到第一个扇区文件不是引导文件,那么就无法引导系统安装。当然,这只是我的个人猜测。另外,对于UEFI启动方式,直接复制到U盘不刻录光盘是可以的,因为UEFI启动方式会自动寻找硬盘中FAT32分区的EFI文件夹下的.efi文件。

Ask:选择是32位操作系统还是64位的操作系统:
Answer:多少位即CPU一次可处理的数据量。现在大多数电脑都是64位的操作系统,所以大家都直接装64位的系统,但是如果你发现你的运行内存小于3G的时候就要检查自己的CPU是不是32位的了。提示:只有64位的系统、64位的CPU、64位的软件才能发挥64位的性能。

阅读全文 »

使用remastersys打包

注意事项:

  • 支持uefi模式下启动,也可以legacy模式
  • 需要修复引导(理论上应该不用才对).
  • 可以还原到扩展分区,不一定为主分区
  • 虽然原装系统有/和/home两个分区,打包以后再安装可以只有/分区,也可以有/和/home分区
  • 综上所述,这个iso只是有个人资料的ubuntu安装包,没有特殊的要求和限制
  • 为了保证安装成功最好分配交互空间

打包方法

安装remastersys,直接复制remastersys-2-0-12-en.deb到Ubuntu,双击打开,下载remastersys。

阅读全文 »

Server:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import socket
import sys
from thread import *

HOST = '' # Symbolic name meaning all available interfaces
PORT = 5555 # Arbitrary non-privileged port
lock = 0
client = 0
data = None
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
#Bind socket to local host and port
try:
s.bind((HOST, PORT))
except socket.error , msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()

print 'Socket bind complete'

#Start listening on socket
s.listen(10)
print 'Socket now listening'

#Function for handling connections. This will be used to create threads
def clientthread(conn, client):
global data, lock
#Sending message to connected client
# conn.send('Welcome to the server. Type something and hit enter\n') #send only takes string

#infinite loop so that function do not terminate and thread do not end.
while True:

#Receiving from client
if client % 2 == 0:
data = conn.recv(1024)
reply = 'OK...' + data
lock = 1
if not data:
break

conn.sendall(reply)
else:
if lock == 1:
conn.sendall(data)
lock = 0


#came out of loop
conn.close()

#now keep talking with the client
while 1:

#wait to accept a connection - blocking call
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])

#start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function.
start_new_thread(clientthread ,(conn,client,))
client += 1

s.close()

要点:开启多线程的时候多个线程用的代码段是相同的。要想不相同的可以加上lock、client标志进行判断!

Client one:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
import socket

HOST='127.0.0.1'
PORT=5555

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义socket类型,网络通信,TCP
s.connect((HOST,PORT)) #要连接的IP与端口
while 1:
cmd=raw_input("Please input cmd:") #与人交互,输入命令
s.sendall(cmd) #把命令发送给对端
data=s.recv(1024) #把接收的数据定义为变量
print(data) #输出变量
s.close() #关闭连接
阅读全文 »

datetime是Python处理日期和时间的标准库。

获取当前日期和时间

我们先看如何获取当前日期和时间:

1
2
3
4
5
6
>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2015-05-18 16:28:07.198690
>>> print(type(now))
<class 'datetime.datetime'>

注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。

阅读全文 »

背景

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

简介

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

阅读全文 »

环境变量生效

以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:set PATH=C:,关闭DOS窗口。再次打开DOS窗口,输入:echo %PATH%,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。

若是在powershell中,需要使用$env:path或者(type env:path) -split ';'查看环境变量。另外,更改完环境变量,只需要重启windows terminal即可。

windows查看端口占用

1
2
# 查看被占用端口对应的 PID
netstat -aon|findstr "8081"
阅读全文 »

安装VSFTPD

1
yum install vsftpd

启动vsftpd:

1
systemctl start vsftpd.service

设置vsftpd开机自启动:

阅读全文 »

CPU

① cpu主频=外频(和外部组件交换数据的速度,内存总线速度)×倍频(内部用于加速工作性能的倍数)

② 缓存,核心架构,指令集(多媒体,虚拟化,省电),电压

③ cpu一次能解析的数据量为字组大小(32,64)所以32位cpu由于字组小,所以最大支持内存4G。用字组称呼架构

④ cpu的外频和内存的外频一致最佳。

阅读全文 »

six

desert沙漠
dessert甜食

stuff材料
stuffy不通气的

meadow牧场
pasture牧场
ranch大牧场
shadow阴影
gesture手势

theory
theorem

阅读全文 »

前言:

实体机相对于虚拟机而言有自己独特的优势,例如性能更好之类的,于是我们就又写了一篇关于实体机的安装经验。并在文章的结尾加上了原理篇,可能由于笔者水平,写的并不是太好懂,但是这是笔者从许多论坛、电脑杂志、书籍总结出来的经验。遇到安装问题,可以参考着原理去找原因。如果问题还没有解决,欢迎留言。
准备工具:

  • ubuntu系统
  • 大于4G可被格式化的U盘一只
  • 电脑
  • rufus烧录软件。官网地址:http://rufus.akeo.ie/

第一步:烧录ubuntu系统。

插上U盘,打开rufus软件,如下图所示,设备选择自己的U盘,。为了保证可以从uefi启动,这里的文件系统选择FAT或者FAT32,其他的保持默认。

阅读全文 »