Ubuntu相关问题

最近在看虚拟机这块的内容,使用Oracle VM Virtualbox搭建ubuntu虚拟机,遇到一些问题,随手记下来,备用。

1· 如何使用root账户登录,主要是为了减少权限设置问题,root账号对所有内容都有访问权限,使用较为方便。

解决方案:
1) 在终端执行命令

sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

2) 在弹出的编辑框最后添加一句:greeter-show-manual-login=true 保存关闭
3) 为root用户设置登录密码,终端输入命令

sudo passwd root

4) 重启虚拟机

2· root账户登录系统时候报错的提示。错误提示为:Error found when loading /root/.profile stdin: is not a tty。

解决方案:
1) 修改相关文件,执行命令

nano /root/.profile

2) 将mesg n注释,并增加一行 tty -s && mesg n

#mesg n
tty -s && mesg n

3)使用快捷键ctrl+X退出,如果文件有修改,会弹出提示是否保存,输入Y进行保存;如果没有修改文件,会直接退出。

3· 显示或隐藏不可见文件。

解决方案:
1) ctrl+h
2) 文件菜单栏:编辑->首选项,选中复选框“显示隐藏和备份文件”

4· 安装增强功能(我主要是为了分辨率,强迫症,o(╯□╰)o)

解决方案1:
1) Oracle VM Virtualbox菜单栏:设备->分配光驱->VBoxGuestAdditions.iso(安装VM之后,安装路径下就有该文件,选择添加即可)
2) 打开光驱文件夹,双击文件VBoxLinuxAdditions.run即可。习惯命令行模式的童鞋,在终端执行命令:

sudo /media/"username"(当前登录用户)/VBOXADDITIONS_5.0.20_106931(根据自身情况,版本号不一样)/VBoxLinuxAdditions.run

3) 这块会出现一个其他问题,"The headers for the current running kernel were not found",解决方案是,执行命令:

sudo apt-get install dkms build-essential linux-headers-$(uname -r)

解决方案2:
1)首先下载virtualbox扩展包,下载路径:https://www.virtualbox.org/wiki/Downloads
2)Oracle VM Virtualbox菜单栏:设置->扩展中添加该安装包,会自动安装扩展,之后便可使用扩展功能。

5· 共享文件夹。

解决方案:
1) Oracle VM Virtualbox菜单栏:设备->共享文件夹->添加一个主机系统中的文件夹作share为共享文件夹
2) 进行挂载,执行命令:

sudo mount -t vboxsf share /home/xxx/share

3) 取消挂载,执行命令:

sudo umount -f /home/xxx/share

4)挂载时会出错mount: unknown system type ‘vboxsf’,是因为登录用户不具有权限,是以访客身份登录。

6· 修改环境变量。

解决方案:
1) 修改系统环境变量,执行命令:

sudo gedit /etc/environment

2) 修改用户环境变量,执行命令:

sudo gedit ~/.bashrc

3) 修改完后,执行命令:

source ~/.bashrc

7· 添加硬盘。

解决方案:
1) VM菜单栏:设置->存储,为控制器添加虚拟硬盘。
2) 显示当前的硬盘及所属分区的情况(刚添加的硬盘有提示:"DIsk /dev/sdb doesn't contain a valid partition table"),执行命令:

sudo fdisk -lu

3) 对硬盘进行分区,之后硬盘被识别,可以查看硬盘信息及所属分区情况,执行命令:

sudo fdisk /dev/sdb
sudo fdisk -lu

在Command (m for help)提示符后面输入m显示一个帮助菜单;
在Command (m for help)提示符后面输入n,执行 add a new partition 指令给硬盘增加一个新分区;
在Command (m for help)提示符后面输入p,显示分区表;
在Command (m for help)提示符后面输入w,保存分区表。
4) 硬盘格式化,执行命令:

sudo mkfs -t ext4 /dev/sdb

5) 显示硬盘挂载情况(可以看到新添加的硬盘没有挂载,无法进入和查看),执行命令:

sudo df -l

6) 指定硬盘分区文件系统类型为ext4 ,同时将 /dev/sdb 分区挂载到目录 /devdata,之后便可查看新硬盘挂载情况,执行命令:

sudo mount -t ext4 /dev/sdb /devdata
sudo df -l

7) 配置硬盘在系统启动自动挂载,执行命令:

sudo gedit /etc/fstab

8) 修改文件中针对新硬盘的设置的最后两项内容为0,0即可

/dev/sdb /devdata ext4 defaults 0 0

8· 安装java
1)之前的习惯是下载jdk文件后,设置环境变量来配置java。某次发现有更方便的命令行方式安装,记录一下。
2)在Ubuntu上安装Oracle JDK,使用下面的命令安装,只需一些时间,它就会下载许多的文件,所及你要确保你的网络环境良好:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

3)如果你想安装Java 7(i.e Java 1.7),在上面的命令中用java7代替java8。
4)安装后卸载java,移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):

apt-get update
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
apt-get -y autoremove
清除配置信息: dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
清除java配置及缓存: bash -c 'ls -d /home/
/.java' | xargs sudo rm -rf
手动清除JVMs: rm -rf /usr/lib/jvm/*

9· 64位ubuntu添加32位支持

sudo apt-get install lib32ncurses5

10· 安装git后从远程仓库读取,clone失败,提示no matching key exchange method found. Their offer: diffie-hellman-group1-sha1的解决方案。修改~/.ssh/config,加入

Host *
KexAlgorithms +diffie-hellman-group1-sha1

11· /bin/sh: : No such file or directory错误

1)编写好的可执行文件在运行时提示Permission Denied,修改执行权限为777:

chmod -R 777 可执行文件名

2)权限修改之后,提示错误No such file or directory,一般是系统的动态链接器与XXX这个程序中的动态链接器的名字或路径不对。在命令行中执行:

readelf -l 可执行文件名

3)在输出中有一行显示:

INTERP 0x000134 0x00008134 0x00008134 0x00019 0x00019 R 0x1
[Requesting program interpreter: /lib/ld-linux-armhf.so.3]

4)上述文件即为缺失的文件,安装该文件即可确保可执行文件正确运行。

你可能感兴趣的:(Ubuntu相关问题)