A. 装debian后,只有命令行,怎样继续
你想要图形化登录和桌面?切换到root用户,然后执行
apt-getinstalltask-gnome-desktop
B. 如何在Debian或Ubuntu上从命令行使用KVM
眼下有几种不同的方法可以管理在KVM虚拟机管理程序上运行的虚拟机。比如说,virt-manager就是一种广受欢迎的基于图形用户界面(GUI)的前端工具,可用来管理虚拟机。不过,如果你想在无外设服务器上使用KVM,那么基于GUI的解决方案并非理想方案。这时候,virsh就派得上用场。virsh是一种命令行工具,可用于管理来宾虚拟机(guest
VM)。就其底层而言,virsh依赖libvirtd服务,该服务可以控制几种不同的虚拟机管理程序,其中包括KVM、Xen、QEMU、LXC和OpenVZ。
如果你想让虚拟机的配置和管理实现自动化,virsh等命令行管理界面也大有用处。此外,virsh支持多种虚拟机管理程序,这就意味着你可以通过同一个virsh界面,管理不同的虚拟机管理程序。
我在本教程中将演示如何在Debian或Ubuntu上使用virsh,从命令行运行KVM。
第一步:证实主机支持硬件虚拟化
作为第一步,证实主机的处理器配备硬件虚拟化扩展机制(比如英特尔VT或AMD-V),KVM需要这样的机制。下面这个命令就能证实一点。
$
egrep '(vmx|svm)' --color /proc/cpuinfo flags : fpu vme de
pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
mmx fxsr sse sse2
ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts nopl
xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3
cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand
hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi
ept vpid fsgsbase smep
如果输出结果并不含有vmx或svm标记,这意味着主机的处理器没有支持硬件虚拟化的功能。因而,你就无法在主机上使用KVM。证实了主机处理器随带vmx或svm后,接下来继续安装KVM。
第二步:安装KVM
使用apt-get,安装KVM及相关的用户空间工具。
$ sudo apt-get install qemu-kvm libvirt-bin
下一步,将你的用户ID添加到libvirt群组,那样你就能以非root普通用户的身份,管理虚拟机了。作为上面安装KVM的一部分,必须创建libvirt群组。
$ sudo adser [youruserID] libvirt
重新装入更新后的群组成员信息,如下所示。看到要求输入密码的提示后,输入你的登录密码。
$ exec su -l $USER
这时候,你应该能够以普通用户的身份运行virsh了。为了测试一下,不妨试一试下面这个命令,它会列出可用的虚拟机(目前没有一个虚拟机)。要是你没有遇到权限错误,这意味着到目前为止,一切正常。
$ virsh --connect qemu:///system list Id Name State
C. 怎样在 Ubuntu 和 Debian 中通过命令行管理 KVM
第一步:确认你的硬件平台支持虚拟化
第一步,首先要确认你的 CPU 支持硬件虚拟化扩展(e.g.,Intel VT 或者 AMD-V),这是 KVM 对硬件的要求。下面的命令可以检查硬件是否支持虚拟化。
第二步:安装KVM
使用 apt-get 安装 KVM 和相关的用户空间工具。
$ sudo apt-get install qemu-kvm libvirt-bin
安装期间,libvirtd 用户组(在 debian 上是 libvirtd-qemu 用户组)将会被创建,并且你的用户 id 将会被自动添加到该组中。这样做的目的是让你可以以一个普通用户而不是 root 用户的身份去管理虚拟机。你可以使用 id 命令来确认这一点,下面将会告诉你怎么去显示你的组 id:
$ id <your-userID>
如果因为某些原因,libvirt(在 debian 中是 libvirt-qemu)没有在你的组 id 中被找到,你也可以手动将你自己添加到对应的组中,如下所示:
在 ubuntu 上:
$ sudo adser [youruserID] libvirtd
在 debian 上:
$ sudo adser [youruserID] libvirt-qemu
按照如下命令重新载入更新后的组成员关系。如果要求输入密码,那么输入你的登陆密码即可。
$ exec su -l $USER
这时,你应该可以以普通用户的身份去执行 virsh 了。做一个如下所示的测试,这个命令将会以列表的形式列出可用的虚拟机(当前的列表是空的)。如果你没有遇到权限问题,那意味着到目前为止一切都是正常的。
$ virsh list
Id Name State
第三步:配置桥接网络
为了使 KVM 虚拟机能够访问外部网络,一种方法是通过在 KVM 宿主机上创建 linux 桥来实现。创建之后的桥能够将虚拟机的虚拟网卡和宿主机的物理网卡连接起来,因此,虚拟机能够发送和接收由物理网卡传输的数据包。这种方式叫做网络桥接。
下面将告诉你如何创建并且配置网桥,我们创建一个网桥称它为 br0。
首先,安装一个必需的包,然后用命令行创建一个网桥。
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0
下一步就是配置已经创建好的网桥,即修改位于 /etc/network/interfaces 的配置文件。我们需要将该桥接网卡设置成开机启动。为了修改该配置文件,你需要关闭你的操作系统上的网络管理器(如果你在使用它的话)。跟随操作指南的说明去关闭网络管理器。
关闭网络管理器之后,接下来就是通过修改配置文件来配置网桥了。
#auto eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
在上面的配置中,我假设 eth0 是主要网卡,它也是连接到外网的网卡,同样,我假设 eth0 将会通过 DHCP 协议自动获取 ip 地址。注意,之前在 /etc/network/interfaces 中还没有对 eth0 进行任何配置。桥接网卡 br0 引用了 eth0 的配置,而 eth0 也会受到 br0 的制约。
重启网络服务,并确认网桥已经被成功的配置好。如果成功的话,br0 的 ip 地址将会是 eth0 自动分配的 ip 地址,而且 eth0 不会被分配任何 ip 地址。
$ sudo /etc/init.d/networking restart
$ ifconfig
如果因为某些原因,eth0 仍然保留了之前分配给了 br0 的 ip 地址,那么你可能必须手动删除 eth0 的 ip 地址。
第四步:用命令行创建一个虚拟机
对于虚拟机来说,它的配置信息被存储在它对应的xml文件中。因此,创建一个虚拟机的第一步就是准备一个与虚拟机对应的 xml 文件。
第五步:使用命令行启动虚拟机
在启动虚拟机之前,我们需要创建它的初始磁盘镜像。为此,你需要使用 qemu-img 命令来生成一个 qemu-kvm 镜像。下面的命令将会创建 10 GB 大小的空磁盘,并且它是 qcow2 格式的。
$ qemu-img create -f qcow2 /home/dev/images/alice.img 10G
使用 qcow2 格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 10 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。
现在,你可以通过使用之前创建的 xml 配置文件启动你的虚拟机了。下面的命令将会创建一个虚拟机,然后自动启动它。
$ virsh create alice.xml
Domain alice created from alice.xml
注意: 如果你对一个已经存在的虚拟机执行了了上面的命令,那么这个操作将会在没有任何警告的情况下抹去那个已经存在的虚拟机的全部信息。如果你已经创建了一个虚拟机,你可能会使用下面的命令来启动虚拟机。
$ virsh start alice.xml
使用如下命令确认一个新的虚拟机已经被创建并成功的被启动。
$ virsh list
Id Name State
----------------------------------------------------
3 alice running
同样,使用如下命令确认你的虚拟机的虚拟网卡已经被成功的添加到了你先前创建的 br0 网桥中。
$ sudo brctl show
远程连接虚拟机
为了远程访问一个正在运行的虚拟机的控制台,你可以使用VNC客户端。
需要解决更多linux问题,详情请看 http://www.linuxprobe.com/chapter-00.html
望采纳
D. 如何在Debian或Ubuntu上从命令行使用KVM
你好。
第一步:证实主机支持硬件虚拟化
作为第一步,证实主机的处理器配备硬件虚拟化扩展机制(比如英特尔VT或AMD-V),KVM需要这样的机制。下面这个命令就能证实一点。
$ egrep '(vmx|svm)' --color /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi ept vpid fsgsbase smep
如果输出结果并不含有vmx或svm标记,这意味着主机的处理器没有支持硬件虚拟化的功能。因而,你就无法在主机上使用KVM。证实了主机处理器随带vmx或svm后,接下来继续安装KVM。
第二步:安装KVM
使用apt-get,安装KVM及相关的用户空间工具。
$ sudo apt-get install qemu-kvm libvirt-bin
下一步,将你的用户ID添加到libvirt群组,那样你就能以非root普通用户的身份,管理虚拟机了。作为上面安装KVM的一部分,必须创建libvirt群组。
$ sudo adser [youruserID] libvirt
重新装入更新后的群组成员信息,如下所示。看到要求输入密码的提示后,输入你的登录密码。
$ exec su -l $USER
这时候,你应该能够以普通用户的身份运行virsh了。为了测试一下,不妨试一试下面这个命令,它会列出可用的虚拟机(目前没有一个虚拟机)。要是你没有遇到权限错误,这意味着到目前为止,一切正常。
$ virsh --connect qemu:///system list Id Name State
第三步:配置桥接网络
想让虚拟机能够访问外部网络,一个办法就是通过在Linux主机上加以配置的Linux网桥。这种技术名为桥接网络(bridged networking)。下面介绍如何创建及配置Linux网桥br0,以便与KVM实现桥接网络。
首先,安装必要的程序包,然后从命令行创建Linux网桥。
$ sudo apt-get install bridge-utils $ sudo brctl addbr br0
下一步是,在/etc/network/interfaces中配置Linux网桥,那样一旦主机启动,该网桥就会自动配置。想使用/etc/network/interfaces,你就要禁用系统上的Network Manager(网络管理器),如果你在使用它的话。按这里给出的指示(http://xmolo.com/2014/02/disable-network-manager-linux.html)操作,以禁用网络管理器。
禁用了网络管理器后,接下来在/etc/network/interfaces中配置Linux网桥br0,如下所示。
#auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
这里我假设,eth0是主要的网络接口,可以访问外部网络。另外,我还假设,eth0通过DHCP获得其IP地址。请注意:/etc/network/interface中没有etho的配置。etho网桥受制于br0时,Linux网桥br0接过eth0的配置。
重启网络服务,证实Linux网桥已成功配置。如果配置成功,br0应该被赋予eth0的DHCP IP地址,eth0应该没有被赋予任何IP地址。
$ sudo /etc/init.d/networking restart $ ifconfig
第四步:从命令行创建虚拟机
就KVM而言,虚拟机的配置存储在一个域XML文件中。因而,创建虚拟机的第一步是准备好域XML文件。
下面是虚拟机的域XML文件示例。需要的话,你可以使用并定制该域XML文件。
<domain type='kvm'> <name>alice</name> <uuid>f5b8c05b-9c7a-3211-49b9-2bd635f7e2aa</uuid> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu>1</vcpu> <os> <type>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type="file" device="disk"> <driver name="qemu" type="raw"/> <source file="/home/dev/images/alice.img"/> <target dev="vda" bus="virtio"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/> </disk> <disk type="file" device="cdrom"> <driver name="qemu" type="raw"/> <source file="/home/dev/iso/ubuntu-13.10-server-amd64.iso"/> <target dev="hdc" bus="ide"/> <readonly/> <address type="drive" controller="0" bus="1" target="0" unit="0"/> </disk> <controller type="ide" index="0"> <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/> </controller> <interface type='bridge'> <mac address='52:54:aa:00:f0:51'/> <source bridge='br0'/> </interface> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport="yes" listen='127.0.0.1'/> </devices> </domain>
上面这个域XML文件定义了下面这个虚拟机。
1GB内存、一个虚拟处理器和一只硬驱。
磁盘映像:/home/dev/images/alice.img
从光盘驱动器启动(/home/dev/iso/ubuntu-13.10-server-amd64.iso)。
网络:通过br0实现桥接网络。
<uuid></uuid>里面的UUID字符串可以随机生成。想获得一个随机性的UUID,你可以使用uuid命令行工具。
$ sudo apt-get install uuid $ uuid
创建域XML文件的另一个方法是,转储现有虚拟机的域信息,如下所示。
$ virsh --connect qemu:///system mpxml alice > bob.xml
第五步:从命令行启动虚拟机
在创建虚拟机之前,你需要创建虚拟机的初始磁盘映像。为此,你可以使用qemu-img命令,之前安装的qemu-kvm程序包随带该命令。
$ qemu-img create -f qcow2 /home/dev/images/alice.img 5G
使用qcow2作为一种磁盘映像格式的优点在于,磁盘映像起初并不是以最大值(5GB)的形式创建,不过随着磁盘被批量装入数据,可以慢慢变大。
现在你准备好了使用之前创建的那个域XML文件,启动虚拟机了。下面这个命令会启动虚拟机。
$ virsh --connect qemu:///system create alice.xml Domain alice created from alice.xml
证实一个新的域已成功创建。
$ virsh --connect qemu:///system list Id Name State -------------------------------------------------------------- 3 alice running
此外,还要证实该虚拟机(比如vnet0)的虚拟接口已成功添加到之前创建的Linux网桥br0。
$ sudo brctl show
第六步:远程访问虚拟机
想远程访问运行中虚拟机的控制台,你可以使用任何VNC客户程序。
首先,找到该虚拟机的VNC端口号,如下所示。
$ sudo netstat -nap | grep kvm
在该示例中,alice虚拟机的VNC端口号是5900。
然后启动VNC客户程序,并连接到在<KVM-host-IP>:5900处运行的VNC服务器。
借助virsh管理虚拟机
下面列出了virsh命令的一些常见用法。
想创建一个新的来宾域,并启动虚拟机:
$ virsh --connect qemu:///system create alice.xml
想终止虚拟机,销毁来宾域:
$ virsh --connect qemu:///system destroy alice
想关闭虚拟机(但不销毁域):
$ virsh --connect qemu:///system shutdown alice
想暂停虚拟机:
$ virsh --connect qemu:///system suspend alice
想恢复运行暂停的虚拟机:
$ virsh --connect qemu:///system resume alice
主机一启动,就想自动启动虚拟机:
$ virsh --connect qemu:///system autostart alice
想获得虚拟机的域信息:
$ virsh --connect qemu:///system dominfo alice
你还可以从virsh会话里面管理虚拟机。想创建并进入新的virsh会话,只要运行:
$ virsh --connect qemu:///system
出现virsh提示符后,你就可以使用任何virsh命令了。
E. debian娌¤呭紩瀵硷纴𨱍崇敤锻戒护琛屽紩瀵硷纴浣嗘槸灞忓箷鍑虹幇浜嗛梾棰
鏄剧ず鍣ㄦ病链夊畬鏁存樉绀哄睆骞曞唴瀹广傞渶瑕佽皟鏁存樉绀哄櫒璁剧疆锛屾妸鐢婚溃寰鍙崇Щ銆
镓嫔姩杈揿叆钖锷ㄥ弬鏁(linux, initrd)钖庯纴杈揿叆boot锲炶溅鍙浠ュ惎锷ㄣ
F. 求Debian开机启动到命令行界面怎么弄
进入debian7系统,可以进宏隐悉入图形界面,也可以进入命令行界面。
(进入图形界面后,也可以采用同时按下Ctrl+Alt+F3进入命令行界面。)
在图形界面,首先保证处于root用户模式。
第一步打开/etc/default/下的grub文件,可以使用gedit打开。
将
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"改成
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
(主要是对应增加“text”即可,其他是否完全一致不重要)
启动root级别终端(终端启动后,su,采用root及相应密码登陆),输入
update-grub
确认,重启,即可。
进入命令行界面携迟后,正常情况下登陆后,输入startx即可进入图形界面。
若是采用root登陆命令行界面(或图形界面里采用root终端),蔽乎首先输入
gedit /etc/default/grub
在打开的grub文件中,将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"改成GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
保存,关闭文件。
在root终端中输入
update-grub
确认,重启。
以上是debian 7 开机进入命令行的做法。
正常情况,RedHat可采用调整inittab文件的方法调整开机界面。
修改/etc/inittab文件中的 id:3:initdefault即可(即id后的3是由原来的5改成的3)
若Vi 修改不熟练,可以进入图形界面修改(需要进入root用户)。
当然,你可以开机不启动图形界面,或者删除图形界面,不过都感觉不太好。
若喜欢,可以搜索 update-rc.d -f gdm remove。
G. 如何在Ubuntu或者Debian中启动后进入命令行
Linux桌面自带了一个显示管理器(比如:GDM、KDM、LightDM),它们可以让计算机启动自动进入一个基于GUI的登录环境。然而,如果你要直接启动进入终端怎么办? 比如,你在排查桌面相关的问题或者备族想要运行一个不需要GUI的应用程序。
注意虽然你可以通过按下Ctrl+Alt+F1到F6临时从桌面GUI切换到虚拟终端。然而,在这种情况下你的桌面GUI仍在后台运行,这不同于纯文本模式启动。
在Ubuntu或者Debian桌面中,你可以通过传递合适的内核参数在启动时仿行弊启动文本模式。
启动临时进入命令行
如果你想要禁止桌面GUI并临时进入一次文本模式,你可以使用GRUB菜单。
首先,打开你的电脑。当你看到初始的GRUB菜单时,按下‘e’。
接着会进入下一屏,这里你可以修改内核启动选项。向下滚动到以“linux”开始的行,这里就是内核参数的列表。删除参数列表中的“quiet”和“splash”。在参数列表中添加“text”。
升级的内核选项列表看上去像这样。按下Ctrl+x继续启动。这会以详细模式启动控制台一次(LCTT译注:由于没有保存修改,所以下次重启还会进入 GUI)。
永久启动进入命令行
如果你想要永久启动进入命令行,你需要更新定义了内核启动参数GRUB设置。
在文本编辑器中打开默认的GRUB配置文件。
$ sudo vi /etc/default/grub
查找以GRUB_CMDLINE_LINUX_DEFAULT开头的行,并用“#”注释这行。这会禁止初始屏幕,而启动详细模式(也就是说显示详细的的启动过程)。
更改GRUBCMDLINELINUX="" 成:
GRUB_CMDLINE_LINUX="text"
接下来取消“#GRUB_TERMINAL=console”的注释。带裤
更新后的GRUB配置看上去像下面这样。
H. debian linux如何进入终端
Linux桌面自带了一个显示管理器(比如:GDM、KDM、LightDM),它们可以让计算机启动自动进入一个基于GUI的登录环境。然而,如果你要直接启动进入终端怎么办? 比如,你在排查桌面相关的问题或者想要运行一个不需要GUI的应用程序。