ubuntu error 15?ubuntu acpi error

大家好,ubuntu error 15相信很多的网友都不是很明白,包括ubuntu acpi error也是一样,不过没有关系,接下来就来为大家分享关于ubuntu error 15和ubuntu acpi error的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

win7系统怎么用硬盘安装ubuntu kylin 14.10

安装方法如下:

1、在网上下载ubuntu-14.04-desktop-amd64.iso,建议将iso文件移动到c盘根目录,当然也可以放到别的目录。

2、打开easyBCD软件,可以看到目前只有一个win7启动项。

选择“添加新条目”,然后选择“NeoGrub”,点击“安装”。

3、然后点击配置,将menu.lst文件的内容替换成一下文本:

title Install Ubuntu

root(hd0,0)

kernel(hd0,0)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04-desktop-amd64.iso locale=zh_CN.UTF-8

initrd(hd0,0)/initrd.lz

title reboot

reboot

title halt

halt

说明:hd0表示c盘所处的硬盘号,一般电脑只有一个,所以都是hd0;如果有多个硬盘,则根据情况改为hd0、hd1等。

hd0后面的数字表示C盘在硬盘中的分区顺序,每个人的系统不大一样,不知道的可以在磁盘管理里面看一下,本人c盘是第三个分区,因此写为(hd0,2),如果是第一个,写为(hd0,0)即可。

4、经过配置后,c盘中会多出一个“NST”文件夹和一个NeoGrub文件。

接下来把系统镜像文件用DAEMON tools打开,或者以压缩包形式将其中两个文件解压出来,分别是initrd.lz和vmlinuz.efi,这两个文件在casper文件夹里。

5、将解压出来的两个文件复制到c盘根目录,可以看看c盘中添加了多少相关的文件。这样,安装系统的前期准备就完成了,可以重启电脑准备安装ubuntu14.04了。

6、重启电脑,可以看到多了一个启动项“NeoGrub引导加载器”,选择该项enter,然后选择“install ubuntu”,另外两项分别是“重启”和“关机”,是为了防止安装出错而设的,这个在之前的menu.lst配置文件中已经设定好了。

7、接下来如果正常的话,会刷刷的满屏幕文字,很高端的样子,等着它结束就行。如果在这一步报错,一般来说就是之前的menu.lst配置文件不对,无法访问C盘,这时只要“reboot”然后进入win7重新配置就行。

8、

刷完后就进入一个小系统,别以为这就装好了,此时最重要的一步,通过快捷键ctrl+alt+T打开终端,输入:sudo umount-l/isodevice

注意空格和小写的L,执行后就可以双击安装图标进行安装了

9、接下来选择简体中文;不用选中安装第三方软件和更新,否则安装会很慢,为保险起见可以断开网络连接;安装类型选择“其他选项”。

10、接下来需要设置分区,首先设置交换空间大小,与电脑内存差不多或为电脑内存的两倍。

11、然后设置其他挂载点的大小,分区方案很多,这里简单的设置/、/boot、/home共3个分区,均为ext4文件系统。

/ 10G;/boot 100M;/home剩余所有空间。

注意linux系统的1G对应1000M。

12、接下来就是简单的设置地区、键盘布局,接着就是用户名和密码。

13、以上所有东西都设置好了,就自动开始安装系统,等待一段时间就可以,如果安装过程在下载东西,可以点击“跳过”,因为系统安装完成后同样可以更新下载。

14、安装完成后点击“现在重启”,可以看到多了好多启动项,界面也变了。选择第一项启动ubuntu系统,即可开启系统。

ubuntu python怎么作为守护进程一直运行

测试程序

先写一个测试程序,用于输出日志和打印到控制台。

#-*- coding: utf-8-*-

import logging

import time

from logging.handlers import RotatingFileHandler

def func():

init_log()

while True:

print"output to the console"

logging.debug("output the debug log")

logging.info("output the info log")

time.sleep(3);

def init_log():

logging.getLogger().setLevel(logging.DEBUG)

console= logging.StreamHandler()

console.setLevel(logging.DEBUG)

formatter= logging.Formatter('%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s')

console.setFormatter(formatter)

logging.getLogger().addHandler(console)

# add log ratate

Rthandler= RotatingFileHandler("backend_run.log", maxBytes=10* 1024* 1024, backupCount=100,

encoding="gbk")

Rthandler.setLevel(logging.INFO)

# formatter= logging.Formatter('%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s')

Rthandler.setFormatter(formatter)

logging.getLogger().addHandler(Rthandler)

if __name__=='__main__':

func()

后台启动Python脚本

可以使用下面的命令来启动上面的脚本,让Python在后台运行。

nohup python-u main.py> test.out 2>&1&

来解释一下这几个命令的参数。这一段来自

其中 0、1、2分别代表如下含义:

0– stdin(standard input)

1– stdout(standard output)

2– stderr(standard error)

nohup python-u main.py> test.out 2>&1&

nohup+最后面的&是让命令在后台执行

>out.log是将信息输出到out.log日志中

2>&1是将标准错误信息转变成标准输出,这样就可以将错误信息输出到out.log日志里面来。

运行命令后,会返回一个pid。像下面这样:

[1] 9208

后续可以学习Hadoop它们,把pid存起来,到时候stop的时候就把它杀掉。

跟踪输出文件变化

为了验证脚本可以在后台继续运行,我们退出当前会话。然后重新连接一个Session,然后输入下面的命令来跟踪文件的输出:

tail-f test.out

输出内容如下:

output to the console

2017-03-21 20:15:02,632 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:02,632 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:05,635 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:05,636 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:08,637 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:08,638 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:11,640 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:11,642 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:14,647 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:14,647 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:17,653 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:17,654 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:20,655 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:20,656 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:23,661 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:23,661 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:26,665 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:26,666 main.py[line:12] INFO output the info log

output to the console

2017-03-21 20:15:29,670 main.py[line:11] DEBUG output the debug log

2017-03-21 20:15:29,671 main.py[line:12] INFO output the info log

说明我们的脚本确实在后台持续运行。

结束程序

可以直接通过之前的那个pid杀掉脚本,或者可以通过下面的命令查找pid。

ps-ef| grep python

输出的内容如下:

root 1659 1 0 17:40? 00:00:00/usr/bin/python/usr/lib/python2.6/site-packages/ambari_agent/AmbariAgent.py start

root 1921 1659 0 17:40? 00:00:48/usr/bin/python/usr/lib/python2.6/site-packages/ambari_agent/main.py start

user 8866 8187 0 20:03? 00:00:06/usr/bin/python3/usr/bin/update-manager--no-update--no-focus-on-map

root 9208 8132 0 20:12 pts/16 00:00:00 python-u main.py

root 9358 8132 0 20:17 pts/16 00:00:00 grep--color=auto python

可以看到我们的pid是9208,调用kill杀掉就可以了。

kill-9 9208

编写启动及停止脚本

启动脚本

#!/bin/sh

pid=`ps-ef|grep"python-u main.py"| grep-v"grep"|awk'{print$2}'`

if ["$pid"!="" ]

then

echo"main.py already run, stop it first"

kill-9${pid}

fi

echo"starting now..."

nohup python-u main.py> test.out 2>&1&

pid=`ps-ef|grep"python-u main.py"| grep-v"grep"|awk'{print$2}'`

echo${pid}> pid.out

echo"main.py started at pid:"${pid}

停止脚本

#!/bin/sh

pid=`ps-ef|grep"python-u main.py"| grep-v"grep"|awk'{print$2}'`

if ["$pid"!="" ]

then

kill-9${pid}

echo"stop main.py complete"

else

echo"main.py is not run, there's no need to stop it"

fi

稍后我会把实例代码上传到资料共享里面。

怎么在virtualbox上安装ubuntu

VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机

NOTE:一开始安装的Ubuntu12.04,后来又重新安装了14.04。截图基本使用了安装12.04时的截图,后来安装14.04时又补充了几张。该安装过程对Ubuntu12.04和14.04都是适用的。

1.选择版本

1.1 Ubuntu桌面版与服务器版的区别

桌面版与服务器版,只要发布版本号一致,这两者从核心来说也就是相同的,唯一的差别在于它们的预期用途。桌面版面向个人电脑使用者,可以进行文字处理、网页浏览、多媒体播放和玩游戏。本质上说,这是一个为普通用户所定制的多用途操作系统。另一方面,服务器版旨在充当web服务器,可用来托管文件、网页及相似内容。【1】

个人电脑上必备的组成部分是GUI(图形用户界面)。Ubuntu的桌面版默认带有Gnome GUI,不过,如果你有需要,也可转换为KDE或X。而服务器版是不安装GUI的。除了日常维护,服务器不打算用于本地交互,因而GUI不仅没有存在的必要,而且还会消耗服务器多余的资源。对于其他软件,如办公软件、媒体播放软件、浏览器等等,道理也是一样。在服务器版上这些统统找不到。

由于是面向服务器的,服务器版Ubuntu包含了所有你需要启动托管站点的软件。LAMP(Linux、Apache、MySQL和PHP),列出了与web服务器相关的软件。除非你自行安装,否则这些在桌面版上是找不到的。

以上区别并非一成不变,通过安装和卸载软件包,你也可以将桌面版定制为服务器版,反之亦然。多数想装服务器的人仍然需要GUI的便利,那么可以从任何一个版本起步,然后只需安装GUI或LAMP即可。

总结:

1.桌面版为个人电脑所配置,而服务器版适用于web服务器。

2.桌面版预装了GUI,而服务器版没有。

3.桌面版已经安装了许多服务器版没有的软件。

4.桌面版缺少Apache、MySQL和PHP,而这些在服务器版中是标准配置。

所以,我们还是选择桌面版吧。

1.2 i386 vs amd64

在Ubuntu官网,你如果下载32位的,那么ISO文件是以i386.iso结尾。如果是下载64位的,那么ISO文件是以amd64.iso结尾。

i386是x86系列的32位处理器。

amd64是64位处理器。intel有自家的64位的,但不向下兼容,64位以amd64最先推出,习惯称为amd64。

2安装过程

1.点击new,弹出一个创建新虚拟机的窗口。

2.给虚拟机分配内存大小。

分配给VM的内存只有在加电启动VM的时候才会被分分配,不启动的时候是不会被分配的。

3.创建一个虚拟硬盘文件。

4.选择VDI格式,这是VirtualBox自己的格式。

5.虚拟硬盘文件的类型:选择动态分配。

6.选择磁盘文件存放的位置,和磁盘的最大容量。

默认存放在“C:\Users\xxx\VirtualBox VMs\ubuntu_14_04”下,为不占用C盘空间,可以将其移到盘新建的文件夹下。

(NOTE:关于磁盘的最大容量,后来安装Ubuntu14.04的时候分配了32G,但由于没有重新截图,因此截图显示的仍然是20G。)

7.虚拟磁盘的Summary信息

8.整个创建过程的Summary信息。

9.点击Create后,会回到VirtualBox的主窗口。

10.修改启动顺序:去掉软驱,硬盘放在光驱前面

11.插入光盘映像到虚拟电脑

12.点击OK后,回到主窗口

13.点击Start,开始安装

(1)选择语言:English

(2)点击 Install Ubuntu。

14. Prepare to install Ubuntu

保持默认选项,Continue。

15. Install Type

选择“其它选项(Something else)”,自定义手动分区。

16.下面就是最重要的分区了。

(1)点击“New Partition Table...”,此时会弹出一个对话框,询问你是否将一整个磁盘创建为一个空分区,选Continue。

(2)这时,一个20G的free space就会被创建出来了。

17.点“Add”,添加磁盘。

将鼠标点到“free space”上,然后再点击“Add”。

参考鸟哥的Linux私房菜的做法【2】,做如下的分区:

(这里按照32G的硬盘空间大小来分配的。)

这里有2点需要注意:

a.如果将/boot单独分区,务必让该分割槽在整颗硬盘的最前面部分。因此,我们针对/boot就选择“Primary”,使其为主分区。,而"/"分区不必是主分区。

b.分区时不能参照【2】中给出的分区顺序:

"/"分区(逻辑)->"/boot"分区(主分区)->"swap"分区(逻辑)->"/home"分区(逻辑)

因为Ubuntu中不会主动调整主分区的位置到最前面。这样划分分区后,最后剩下的 free space硬盘空间会显示为不可用,没法再继续分区了。

Ubuntu中应该按照先创建“主分区”,再创建“逻辑分区”的步骤,而且一般将swap分区放于最后,因此,分区的顺序应当为:

"/boot"分区(主分区)->"/"分区(逻辑)->"/home"分区(逻辑)->"swap"分区(逻辑)

(1)/boot分割槽

分配102M空间。(填入100M或101M的话,最终分配99M,所以这里填入102M,系统最终会给根目录分配100M)

(2)根目录(/)的分割槽

根目录分配10001M的大小

(3)/home目录的分割槽

分配10001M空间

(4)内存置换空间(swap)

分配2002M空间(一般为分配内存大小的1.5-2倍)

因为swap是内存置换空间,因此不需要有挂载点。所以,请如同下图所示,在『档案系统类型』处挑选为『swap』吧!

(5)最终的分配结果如图所示。

最后还剩余12253M留作以后作练习磁盘操作的命令使用。

分区完成后,点击Install Now,开始安装系统。

可以看到,按照"/boot"分区(主分区)->"/"分区(逻辑)->"/home"分区(逻辑)->"swap"分区(逻辑)的顺序创建分区后,sda的命名顺序是:sda1-> sda5-> sda6-> sda7。

如果按照"/"分区(逻辑)->"/boot"分区(主分区)->"swap"分区(逻辑)->"/home"分区(逻辑)的顺序创建分区,sda的命名顺序会是:sda5-> sda2-> sda3-> sda4。最后剩下的 free space硬盘空间会显示为不可用,没法再继续分区了。

18.开始安装后,地点选择“Shanghai”

19.键盘布局选择“中文”。

20.然后输入计算机名,并创建一个用户名。

21.此时开始安装系统了。

22.安装完成后,需要重启系统。注意需要点击一下回车键,才能完成重启。

23.激活root帐户

(1)Ubuntu 12.04安装完成后,系统默认的Root账号是关闭的。

这主要是为了保护系统的安全性,但有些时候为了安装软件或进行其它操作时需要获得Root权限,就得使用Root账号。

首先需要打开超级终端:Ctrl+ Alt+ T快捷键打开超级终端

然后输入sudo passwd root

系统会提示你首先输入当前用户的密码,然后提示你为root账户输入新密码,并再输入一次确认。

(2)root用户和普通用户之间的切换

普通用户切换到root用户:执行sudo root即可,它会提示你输入root的密码。

Root用户切换回普通用户,有3种方法: su XXX(XXX是你自己安装时候的用户名),或是直接输入exit,也可Ctrl+D组合键退出。

24.如何以root用户登录?

环境安装好后,你重启系统时只有2个用户可供选择:安装系统时设置的用户,和一个Guest用户,没法使用root用户登录。然而只有root用户才有权限设置、安装增强功能。所以我们需要把root用户调出来。

(1)一开始参照的是【4】中的方法:

由于 ubuntu 12.04的登录器改为 lightdm,已经把 root用户给屏蔽了,需要将登录器换成 gdm,才可以使用 other选项。

安装 gdm: sudo apt-get install gdm

执行完后,最终会弹出如下对话框,选择gdm。(如果没有自动弹出如下对话框,执行 sudo dpkg-reconfigure gdm,这时将会弹出如下对话框,将登录管理器修改为 gdm,)

(2)但上面【4】的方案问题很大,最后改用【5】中的方案。

但【5】中步骤中 vi/etc/lightdm/lightdm.conf使用的vi编辑器。但vi编辑器的上下左右键不起作用(按向上键会打出字母D),经查资料【6】,只有在Ubuntu下才会出现这种状况,需要安装vim。

(3)安装vim:

sudo apt-get install vim

确保虚拟机能上网。因为apt-get需要root权限,所以加上sudo,然后提示输入当前用户的密码。当然先切换到root用户,然后直接执行 apt-get install vim也可以。

(4)安装完成后,按照【5】的方案设置:

a.切换到root登陆,

su root

b.输入vim/etc/lightdm/lightdm.conf

Ubuntu14.04中的位置换为【7】:/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

c.编辑文件。

首先,使用向下按键将光标移动到最后一行。

然后,键入命令"o":在当前行之下新开一行。

然后,增加如下2行:

# manually input user when login, so root can be input

greeter-show-manual-login=true

# disable guest user

allow-guest=false

然后,编辑完后按ESC键,按:w是保存不退出,按:wq是保存退出,按:q是没有对文件进行编辑的情况下退出,按:q!是对已编辑过的文件不保存退出。这里,按:wq保存退出。修改后的文件为:

[SeatDefaults]

greeter-session=unity-greeter

user-session=ubuntu

# manually input user when login, so root can be input

greeter-show-manual-login=true

# disable guest user

allow-guest=false

d.重启登陆即可。

shutdown-h now现在立即关机

shutdown-r now现在立即重启

shutdown-r+3三分钟后重启

e.重启之后,点击Login,输入用户名:root。回车后,再输入密码。即可登录进系统。

Ctrl+ Alt+ T快捷键打开超级终端。此时可以看到界面提示符显示为root用户。

25.安装增强功能

25.1桌面版安装增强功能

Devices->Install Guest Additions安装增强功能。但总提示安装增强功能失败,总提示强制释放。这是因为虚拟光驱里面已经有光盘(iso),而且正在使用中无法umount,导致addition.iso无法挂载,关闭虚拟机,在虚拟机管理界面释放虚拟光盘,。

然后启动虚拟机进入Ubuntu,重启之后,点击Login,输入用户名:root。回车后,再输入密码。即可登录进系统。再选择安装增强功能。

但安装的过程中出错,错误信息为:

Verifying archive integrity... All good.

Uncompressing VirtualBox 3.2.6 Guest Additions for Linux........

VirtualBox Guest Additions installer

Removing installed version 3.2.6 of VirtualBox Guest Additions...

Building the VirtualBox Guest Additions kernel modules

Building the main Guest Additions module...fail.

Installing the Window System drivers

Warning: unknown version of the X Window System installed. Not installing

X Window System drivers.

这是由于VirtualBox的版本太老导致的【8】。我的VirtualBox版本为:4.1.18。

需要下载最新的4.3.2版本的VirutalBox和VirtualBox Extension Pack。覆盖安装。

25.2 Server版安装增强功能

参考:Virtualbox Ubuntu Server 14.04安装guest additions()

25.3 Update:安装增强功能。

20160303:后来经验证发现,没有必要进行“24.如何以root用户登录?”这一步骤操作。因为可以先将命令行切换到root用户,然后在命令行下执行增强功能的安装。参考:virtual box安装增强功能(Ubuntu10.04)()

(1)首先命令行切换到root用户(su root),

(2)点击Devices->Install Guest Additions,

(3)然后执行`mount`命令,看增强功能包挂载到了哪个目录下(比如在/media/VBOXADDITIONS_4.0.4_69518/目录下),

(4)然后切换到该目录下(`cd/media/VBOXADDITIONS_4.0.4_69518/`);

(5)在该目录下找到VBoxLinuxAdditions.run文件,执行该文件(./VBoxLinuxAdditions.run)。

(6)执行完后,重启系统。

26.升级VirtualBox版本

升级VirtualBox版本很简单,一路Next即可完成安装。此时你如果“Start”虚拟机的话,它会提示你如下信息:

"Implementation of the USB 2.0 controller not found!

The device will be disabled. You can ignore this warning but there will be no USB 2.0 support in your VM. To fix this issue, either install the'Oracle VM VirtualBox Extension Pack' or disable USB 2.0 support in the VM settings"

这是由于没安装对应版本的VirtualBox Extension Pack造成的【9】。安装4.3.2版对应版本的VirtualBox Extension Pack即可。

打开VirtualBox程序,File->Preferences->选择Extensions选项。

点击“Remove Package”将以前的4.1.18版的VirtualBox Extension Pack删掉,然后点击“Add Package”,选择刚下载的4.3.2版的VirtualBox Extension Pack。按确定后它会自动安装。安装完毕就可以了。

27.继续安装增强功能。

此时,启动Ubuntu虚拟机。注意:在启动虚拟机之前,先打开Ubuntu虚拟机的Settings,选择“Storage”,将之前加载的虚拟镜像移除。然后再启动Ubuntu虚拟机。

启动虚拟机后,选择“Devices”菜单->选择“Insert Guest Additions CD Images”选项,它会提示你是否安装增强功能。点击“Run”,会自动安装。安装成功后,会显示如下的信息:

28.设定与Host OS共享目录

选择“Devices”->“Share Folder Settings”->点击最右面的“+”按钮,添加一个共享

29.重启Ubuntu,完成安装和设定

设定完成后,重启Ubuntu,这次你可以发现,启动后的Ubuntu的屏幕大小和分辨率变大了,和Host OS一样。表明增强功能安装成功。

另外,/media目录可以访问Host OS的D盘了,表明设定共享成功。

29.1设置共享 Updated:

后来发现使用普通用户登录Ubuntu后,所设置的共享目录无法访问,提示权限不够。下面是另外一种设置办法。

a.把要共享的文件夹挂载到虚拟机某一个文件上【10】

(1)首先需要保证VirtualBox增强功能已安装完成,因为后面的 vboxsf是增强功能中提供的。

(2)首先在mnt下创建一个文件夹,作为挂载的目标文件夹,然后执行 sudo mount-t vboxsf共享文件夹的名字虚拟机的挂载点

sudo mkdir/mnt/shared

sudo mount-t vboxsf F_DRIVE/mnt/shared/

之后进入/mnt/shared,可以发现共享文件夹下的文件可以复制了。

注意:共享文件夹的名字不要与挂载点的名字相同,比如上面,F_DRIVE与mnt下的shared文件夹不能相同。否则会出现如下错误:

/sbin/mount.vboxsf: mounting failed with the error: Protocol error

(3)卸载命令

sudo umount-f/mnt/shared

(4)之后每次要用的时候,都需要手动挂载,sudo mount-t vboxsf F_DRIVE/mnt/shared/

这样太麻烦了,有没有自动挂载的方法?有的。在/etc/fstab的最后添加一项【11】:

F_DRIVE/mnt/shared vboxsf rw,gid=1001000,uid=1000,auto 0 0

然后重启系统。

UPDATED:

(1)上面的groupid=100是错的,应该为1000.修改为1000后,重启并验证,发现不起作用。

(2)修改/etc/fstab的方法没起作用的可能原因以及解决方法:The solution I found was to force the vboxsf module to be loaded early, before the mounting of file systems. Just add vboxsf on a line of its own in/etc/modules.【13】

修改后的/etc/modules文件为:

#/etc/modules: kernel modules to load at boot time.

#

# This file contains the names of kernel modules that should be loaded

# at boot time, one per line. Lines beginning with"#" are ignored.

lp

rtc

vboxsf

修改后重启系统,仍然不能正常工作。

(3)继续查资料,有说可能跟当前用户没有添加到vboxsf用户组中有关【14】。

首先查看用户组,发现当前用户确实没在vboxsf中。

cat/etc/group

->result:

vboxsf:x:1001:

然后将当前用户添加到用户组中:

sudo usermod-a-G vboxsf leige

再次检查,发现已将当前用户添加到用户组中了。

阅读剩余
THE END