Skip to content Skip to main navigation Skip to footer

Ubuntu

How to Install VLC Media Player on Ubuntu Linux 20.04

This post will show you how to install VLC Media Player on your Ubuntu Linux 20.04. How do I install the latest VLC Player version through command line on Ubuntu 20.04 LTS. This guide will talk several methods for you to install the Media player depending on whether you choose the command line or GUI of your Ubuntu system.

What is VLC Media Player?


VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs and various streaming protocols.

VLC Media Player is also available for Desktop operating systems and mobile platforms, such as: Window phone, Android, IOS and Tizen.

install vlc player ubuntu 20.04_13

Installing VLC Media Player Using Snap Tool


If you want to install the latest version of VLC Media Player on your Ubuntu 20.04, you can use the snap packaging system to install VLC Player. You can use Snappy packaging system to install the latest major VLC version. So you just need to open your Ubuntu terminal, and executing the following command to install VLC:

$ sudo snap install vlc

Outputs:

devops@devops-ubuntu:~$ sudo snap install vlc
[sudo] password for devops:
Download snap "vlc" (1700) from channel "stable"                                                                                                                          28% 1.60MB/s 2m17s
vlc 3.0.11 from VideoLAN✓ installed

Note: if your Ubuntu system do not install snap tool, you can use the following command to install it, type:

$ sudo apt install snapd

After installed VLC package, you can use the following command to launch VLC Media Player through the terminal, type:

$ vlc

Outputs:

devops@devops:~$ vlc
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5c3d72)
[0000558a61b55a00] main libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface.

install vlc player ubuntu 20.04_1

If you want to launch vlc without interface, you can use the following command:

$ cvlc

Uninstalling VLC Using Snap


If you want to uninstall VLC package through the command line, you can use the following snap command in Ubuntu terminal, type:

$ sudo snap remove vlc

Outputs:

devops@devops-ubuntu:~$ sudo snap remove vlc
[sudo] password for devops:
Disconnect vlc:opengl from core:opengl 
vlc removed

Installing VLC Media Player Using APT


VLC Package is available on the default Ubuntu APT repository in Ubuntu 20.04, so you can also use Advanced Package Tool or APT tool to install VLC. You need to refresh the software repository cache firstly with the following command:

$ sudo apt update

Then you can run the following command to install VLC Media Player, type:

$ sudo apt install vlc

Outputs:

devops@devops-ubuntu:~$ sudo apt install vlc
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following additional packages will be installed:
liba52-0.7.4 libaom0 libaribb24-0 libavcodec58 libavformat58 ……
vlc-plugin-video-splitter vlc-plugin-visualization
Suggested packages:
libdvdcss2 qt5-image-formats-plugins qtwayland5 sndiod
The following NEW packages will be installed:
liba52-0.7.4 libaom0 libaribb24-0 libavcodec58 libavformat58 ……
vlc-plugin-video-splitter vlc-plugin-visualization
0 upgraded, 83 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.8 MB of archives.
After this operation, 178 MB of additional disk space will be used.
Do you want to continue? [Y/n]Y
……
Setting up libqt5svg5:amd64 (5.12.8-0ubuntu1) ...
Setting up vlc-plugin-qt:amd64 (3.0.9.2-1) ...
Setting up vlc (3.0.9.2-1) ...
Setting up vlc-plugin-skins2:amd64 (3.0.9.2-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for libvlc-bin:amd64 (3.0.9.2-1) ...

After VLC package is successfully installed, you can verify the installation by checking the version of VLC that you installed, type:

$ vlc –version

Outupts:

devops@devops-ubuntu:~$ vlc --version
VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
VLC version 3.0.9.2 Vetinari (3.0.9.2-0-gd4c1aefe4d)
Compiled by buildd on lgw01-amd64-060.buildd (Apr  9 2020 19:29:44)
Compiler: gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.

To launch the VLC Media Player on your Ubuntu system, just type the following command in Ubuntu terminal:

$ vlc

install vlc player ubuntu 20.04_2

Uninstall VLC Media Player Using Apt Command


If you have installed VLC Player via the default Ubuntu APT repository, and you can use the following apt command to uninstall VLC, type:

$ sudo apt remove vlc

Outputs:

devops@devops-ubuntu:~$ sudo apt remove vlc
[sudo] password for devops:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  liba52-0.7.4 libaom0 libaribb24-0 libavcodec58 libavformat58 libavutil56 libbasicusageenvironment1 libcddb2 libchromaprint1 libcodec2-0.9 libdc1394-22 libdca0 libdouble-conversion3
  libdvbpsi10 libdvdnav4 libdvdread7 libebml4v5 libfaad2 libgme0 libgroupsock8 libgsm1 libixml10 libkate1 liblivemedia77 libmad0 libmatroska6v5 libmpcdec6 libmpeg2-4 libmysofa1
  liopenmpt-modplug1 libopenmpt0 libpcre2-16-0 libplacebo7 libpostproc55 libprotobuf-lite17 libproxy-tools libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5widgets5
  libqt5x11extras5 libresid-builder0c2a libsdl-image1.2 libsdl1.2debian libshine3 libsidplay2 libsnappy1v5 libsndio7.0 libspatialaudio0 libsrt1 libssh-gcrypt-4 libssh2-1 libswresample3
  libswscale5 libupnp13 libusageenvironment3 libva-wayland2 libvlc-bin libvlc5 libvlccore9 libx264-155 libx265-179 libxcb-xinerama0 libxcb-xinput0 libxvidcore4 libzvbi-common libzvbi0
  qt5-gtk-platformtheme qttranslations5-l10n vlc-bin vlc-data vlc-l10n vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output
  vlc-plugin-video-splitter vlc-plugin-visualization
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  vlc
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 229 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 214998 files and directories currently installed.)
Removing vlc (3.0.9.2-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...

Now VLC media player program should be removed from your Ubuntu 20.04 Linux system.

Installing VLC Media Player Using Ubuntu Software Center


The VLC Media Player is also available in the list of Ubuntu Software Center, so you can install it through the graphical interface on your Ubuntu system. Just do the following steps:

#1 click on the Show Applications button.

install vlc player ubuntu 20.04_3
#2 click Ubuntu Software button.

install vlc player ubuntu 20.04_4
#3 click the search button on the top right and type searching word “VLC”, press Enter key to locate VLC.

install vlc player ubuntu 20.04_5

#4 Click on Install button and then authorize it with your password. You need to enter the password for a privileged user, and then click the Authenticate button.

install vlc player ubuntu 20.04_6

install vlc player ubuntu 20.04_7

#5 VLC will download and install on your Ubuntu system.

install vlc player ubuntu 20.04_8

#6 after installed, click Launch button to launch VLC Player.

install vlc player ubuntu 20.04_9

Note: if you want to uninstall VLC through GUI, just click Remove button.

install vlc player ubuntu 20.04_12

Set VLC Media Player as the Default Media Player


The Default Media Player is RhythmBox utility. So if you want to change VLC Media Player as the default player, just do the following steps:

#1 open the Activities screen, and enter searching word “default applications ”, then click on it. The Default Application window will open.

install vlc player ubuntu 20.04_10

#2 select VLC Media Player from the drop down list of Music.

install vlc player ubuntu 20.04_11

Conclusion


You should know that how to install/uninstall VLC Media Player through command line or graphical interface on your latest Ubuntu operating system 20.04 LTS.

 

How to Upgrade Ubuntu 18.04 LTS to 20.04 LTS

This post will guide you how to upgrade your Ubuntu operating system from 18.04 LTS to the latest 20.04 LTS through command line and Ubuntu GUI successfully. Linux 18.04 or 16.04.

Ubuntu 20.04 LTS was officially released on Apri 23, 2020. And this version is the latest Ubuntu Long Term Support release. And it will provide support with security patches and updates available until 2025. If you are using an older version, such as: 18.04, 19.04, and maybe you wish to upgrade it to the latest version. And the below steps will guide you how to safely upgrade Ubuntu operating system from Ubuntu 18.04 LTS to the latest version through two methods.

 Prerequisites


Before you upgrade, and you need first upgrade your current Ubuntu 18.04 to the latest point release version. Just run the following commands using command line,type:

$ sudo apt update
$ sudo apt upgrade

Then you need to reboot your Ubuntu system with the following command:

$ sudo reboot
  • You also need to make sure your computer has sufficient free disk space. And you should have 25 GB of free space for a new installation of Ubuntu.
  • The upgrade process can take 2 hours time or more.

Upgrade to Latest 20.04 LTS using a Graphical Guided Wizard


You can run the following command in a terminal window, and it will then lauch the graphical guided wizard.

$ sudo do-release-upgrade -d -f DistUpgradeViewGtk3

It will launch the upgrade process using a Gtk3-based GUI.

upgrade ubuntu 1804 to 2004

Then click “upgrade” button to start upgrading.

upgrade ubuntu 1804 to 2004_2

You may be asked one or two questions during the upgrade, and you just need to answer every question with “yes” or “y”.

upgrade ubuntu 1804 to 2004_3

Clicking “Start Upgrade” button to start the upgrade.

upgrade ubuntu 1804 to 2004_4

From the above screenshot, you can see that the upgrade process will download up to more than 1900 new packages. So you need to make sure that the disk space is enough.

upgrade ubuntu 1804 to 2004_5

after all new packages were installed on your computer, and you still need to restart the system to complete the upgrade. click “Restart Now” button.

upgrade ubuntu 1804 to 2004_6

Then the upgrade should complete, and you should see that you have logged into the latest Ubuntu 20.04 desktop.

upgrade ubuntu 1804 to 2004_7

Upgrade to Latest 20.04 LTS on the Command Line


If you want to upgrade Ubuntu 18.04 to 20.04 via command line interface, and you can use the following command. The upgrade process on the command line is very similar to what we have already upgraded via GUI wizard.

$ sudo do-release-upgrade -d

Conclusion


You should know that how to upgrade from Ubuntu 18.04 LTS to 20.04 LTs through two methods: graphical wizards and command line utilities.

Linux 删除文件

本文将会讲述如何在Linux系统下删除文件的方法,以及如何在命令行下删除某个文件中特定的内容行, 或者删除特定日期创建的文件或者目录。
目录如下:

Linux 删除文件命令

在CentOS,Redhat,或者Ubuntu等类Unix系统下,我们主要用来删除文件或文件夹目录的方法是通过执行rm 命令或者 unlink命令。 下面我们来看删除文件命令rm的用法介绍:
rm 命令是Unix或者Linux系统下的主要用来文件系统中删除文件的命令。 当然,在大多数的系统里, 当我们想删除一个文件的时候,需要当前用对对该文件或者目录有写或者可执行的权限。
rm 命令格式:

rm {文件名}
rm [参数] {文件名}
unlink {文件名}
rm –f –r  {文件名}

 
rm 命令参数:
-f, –force 强制删除文件, 不做任何删除操作的提示
-I, –interactive  进行交互式的删除操作
-r, -R, –recursive 将对指定目录中的所有目录或子目录进行递归性的删除
-v, –verbose 显示删除操作的详细信息
–help 显示命令的使用帮助信息
通常情况下,我们会将-r 和-f来同时使用,这样就可以删除所有指定的文件或者目录,并且没有任何的操作提示信息输出。

Linux 删除单个文件夹或目录

让我们来看一个使用rm命令删除指定文件或者目录的例子, 假如你想删除当前目录下的一个文件名为fio.txt 的文件, 执行下面的命令:

# rm fio.txt

Linux 删除多个文件

如果想通过rm命令同时删除多个文件,可以将多个文件的文件名作为rm命令的参数, 执行下面的命令来删除当前目录下的fio1.txt, fio2.txt, fio3.txt 文件:

# rm fio1.txt  fio2.txt fio3.txt

命令输出如下:

root@devops:~/osetc# ls
fio1.txt  fio2.txt  fio3.txt
root@devops:~/osetc# rm fio1.txt fio2.txt fio3.txt
root@devops:~/osetc# ls
root@devops:~/osetc#

Linux 递归删除特定目录下的所有文件

如果要删除的目录里还包含了多层的子目录或者子目录依旧还有目录,那么如果想删除目录里的所有子目录和文件,这个时候我们需要使用rm命令的-rf参数,比如,如果你想删除当前目录下的fio目录,执行下面的命令:

# rm –rf fio

命令输出如下:

root@devops:~/osetc# ls fio
fio1.txt  fio2.txt  fio3.txt  subfio
root@devops:~/osetc# rm -rf fio
root@devops:~/osetc# ls fio
ls: 无法访问'fio': 没有那个文件或目录
root@devops:~/osetc#

Linux 删除文件并做删除前交互确认

如果你想在删除每个文件的时候,让系统都做出确认删除提示,那么这样可以让你不会错误的删除文件,比如要删除当前目录下的fio1.txt, 执行下面的命令:

# rm –I fio1.txt

命令输出如下:

root@devops:~/osetc# ls
fio1.txt
root@devops:~/osetc# rm -i fio1.txt
rm:是否删除普通文件 'fio1.txt'? y
root@devops:~/osetc# ls
root@devops:~/osetc#

Linux 显示删除文件时的信息

如果你想看到linux系统在删除你指定的文件或目录的时候,显示详细的处理信息,那么可以使用rm命令的-v选项,执行命令如下:

$ rm –v fio1.txt

命令输出如下:

root@devops:~/osetc# ls
fio1.txt
root@devops:~/osetc# rm -v fio1.txt
已删除'fio1.txt'
root@devops:~/osetc# ls
root@devops:~/osetc#

Linux系统下删除空目录文件

如果想删除特定目录下的,那么可以使用linux下的另一个命令rmdir, 执行下面命令:

# rmdir fio
# rmdir fio1

Linux下删除文件里的文件列表中的文件

如果某个文件里包含了很多需要删除的特定的文件路径, 那么我们可以使用rm命令并结合下xargs 命令来进行文件删除操作。
例如要删除当前目录下的fio.txt 文件中的列出的所有文件, 那么可以执行下面的命令:

# xargs rm -v < fio.txt

命令输出如下:

root@devops:~/osetc# cat fio.txt
/root/osetc/fio1/file1.txt
/root/osetc/fio1/file2.txt
/root/osetc/fio1/file3.txt
root@devops:~/osetc# xargs rm -v <fio.txt
已删除'/root/osetc/fio1/file1.txt'
已删除'/root/osetc/fio1/file2.txt'
已删除'/root/osetc/fio1/file3.txt'

注意:当你使用rm命令来删除文件的时候,千万不要运行”rm –rf / “ 命令, 因为这个命令会将linux系统的根目录下的所有文件都删除掉,这样的话,就会导致你的系统挂掉。

Linux删除文件名中以连字符或者减号开头的文件名

如果你想删除某个文件名中包含特殊字符的文件,无法直接使用rm 命令进行文件删除。 这个时候我们需要在rm命令后的加上双连字符,再跟文件名即可。 比如要删除-fio.txt文件,就可以执行下面的命令:

# rm -- -fio.txt

 Linux 通过文件的inode号删除文件

当我们在系统里看到文件名里包含乱码或者特殊字符的文件时候,如果简单的通过rm命令来删除文件的话,会失败的。 这个时候该怎么办? 我们可以通过文件唯一的inode号来进行删除操作。
我们需要结合find命令来根据文件的inode号来进行删除文件操作。
查看文件的inode
在linux系统里可以通过命令ll –i 来查看当前目录下的文件的详细信息,输出信息的第一列就是文件的inode号。 执行下面的命令:

#ll –I

命令输出如下:

root@devops:~/osetc# ll -i
总用量 16
131103 drwxr-xr-x 3 root root 4096 3月  14 22:56 ./
131073 drwx------ 6 root root 4096 3月  14 22:56 ../
262172 drwxr-xr-x 2 root root 4096 3月  14 22:57 fio1/
131106 -rw-r--r-- 1 root root   82 3月  14 22:56 fio.txt
131104 -rw-r--r-- 1 root root    5 3月  15 21:23 fio2.txt
131105 -rw-r--r-- 1 root root    5 3月  15 21:23 fio3.txt
131106 -rw-r--r-- 1 root root    5 3月  15 21:23 fio4.txt
131108 -rw-r--r-- 1 root root    5 3月  15 21:24 fio5.txt

通过find命令的delete参数进行文件删除
从上面的输出中,我们可以看到fio.txt 文件的inode号为131106, 通过执行下面的find命令并结合其-inum 参数来删除文件,执行下面的命令:

#find ./* -inum 131106 –delete

命令输出如下:

root@devops:~/osetc# find ./ -inum 131106 -delete
root@devops:~/osetc# ll -i
总用量 12
131103 drwxr-xr-x 3 root root 4096 3月  15 21:17 ./
131073 drwx------ 6 root root 4096 3月  14 22:56 ../
262172 drwxr-xr-x 2 root root 4096 3月  14 22:57 fio1/
131104 -rw-r--r-- 1 root root    5 3月  15 21:23 fio2.txt
131105 -rw-r--r-- 1 root root    5 3月  15 21:23 fio3.txt
131106 -rw-r--r-- 1 root root    5 3月  15 21:23 fio4.txt
131108 -rw-r--r-- 1 root root    5 3月  15 21:24 fio5.txt

通过find命令的exec参数并结合rm命令进行文件删除操作
我们也可以通过find命令的exec参数并结合rm删除命令来根据文件的inode号做文件的删除,执行下面的命令:

#find ./ -inum 131104 –exec rm –i {} \;

命令输出如下:

root@devops:~/osetc# find ./ -inum 131104
./fio2.txt
root@devops:~/osetc# find ./ -inum 131104 -exec rm -i {} \;
rm:是否删除普通文件 './fio2.txt'? y
root@devops:~/osetc# ll -i
总用量 24
131103 drwxr-xr-x 3 root root 4096 3月  15 21:29 ./
131073 drwx------ 6 root root 4096 3月  14 22:56 ../
262172 drwxr-xr-x 2 root root 4096 3月  14 22:57 fio1/
131105 -rw-r--r-- 1 root root    5 3月  15 21:23 fio3.txt
131106 -rw-r--r-- 1 root root    5 3月  15 21:23 fio4.txt
131108 -rw-r--r-- 1 root root    5 3月  15 21:24 fio5.txt

通过find命令并结合xargs来删除文件
当我们使用find命令查看到指定inode号的文件后,还可以结合xargs命令来进行文件的删除,执行命令如下:

# find ./ -inum 131105 |xargs rm -v

命令输出如下:

root@devops:~/osetc# find ./ -inum 131105
./fio3.txt
root@devops:~/osetc# find ./ -inum 131105 |xargs rm -v
已删除'./fio3.txt'

Linux 删除指定日期之前的文件

如果你想删除指定日期之前的所有的文件,这个时候我们需要通过linux下find命令并结合其-mtime参数进行文件的查找,在通过rm命令对查找到的文件进行删除。
执行下面的命令来查找root目录下十天之前创建或更改过的文件:

root@devops:~/osetc# find /root -mtime +10 -name "mysql-server*"
/root/mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar
/root/mysql-server_5.7.20-1ubuntu16.04_amd64.deb

下一步就可以使用rm命令对查找到的文件进行删除,执行下面的命令:

# find /root -mtime +10 -name "mysql-server*"  -exec rm -rf {} \;

当然也可以使用find命令的ctime参数。

Linux 通过rm()函数进行文件的删除

在linux系统里可以通过unlink和rmdir函数来进行文件的删除,但是rmdir函数只能删除空目录文件,所有我们需要新写一个函数来先删除目录文件下的所有文件,使其成为一个空目录,进而调用rmdir函数删除空目录。如果是普通文件的话,就可以通过unlink函数进行删除。 通过新函数rm来判断文件类型,目录文件通过rm_dir函数删除,普通文件通过unlink函数删除。
rm_dir函数如下:
//递归删除目录下的所有文件

int rm_dir(std::string dir_full_path)
{
DIR* dirp = opendir(dir_full_path.c_str());
if(!dirp)
{
return -1;
}
struct dirent *dir;
struct stat st;
while((dir = readdir(dirp)) != NULL)
{
if(strcmp(dir->d_name,".") == 0
|| strcmp(dir->d_name,"..") == 0)
{
continue;
}
std::string sub_path = dir_full_path + '/' + dir->d_name;
if(lstat(sub_path.c_str(),&st) == -1)
{
Log("rm_dir:lstat ",sub_path," error");
continue;
}
if(S_ISDIR(st.st_mode))
{
if(rm_dir(sub_path) == -1) // 如果是目录文件,递归删除
{
closedir(dirp);
return -1;
}
rmdir(sub_path.c_str());
}
else if(S_ISREG(st.st_mode))
{
unlink(sub_path.c_str());     // 如果是普通文件,则unlink
}
else
{
Log("rm_dir:st_mode ",sub_path," error");
continue;
}
}
if(rmdir(dir_full_path.c_str()) == -1)//delete dir itself.
{
closedir(dirp);
return -1;
}
closedir(dirp);
return 0;
}

Rm函数如下:

int rm(std::string file_name)
{
std::string file_path = file_name;
struct stat st;
if(lstat(file_path.c_str(),&st) == -1)
{
return -1;
}
if(S_ISREG(st.st_mode))
{
if(unlink(file_path.c_str()) == -1)
{
return -1;
}
}
else if(S_ISDIR(st.st_mode))
{
if(file_name == "." || file_name == "..")
{
return -1;
}
if(rm_dir(file_path) == -1)//删除目录下的所有文件.
{
return -1;
}
}
return 0;
}

Linux 删除文件后 空间没有释放

当Linux系统下的磁盘的使用空间达到100%后,我们肯定会对文件系统里的某些不用的文件或者比较大的日志文件进行清理,比如我们会删除apache服务的日志文件, 但是当我们通过rm命令删除掉日志文件后, 我们通过df命令查看当前磁盘的可用空间依旧没有变化,这是怎么回事呢? 为什么文件删除后,磁盘空间没有被释放?
磁盘空间没有被释放的原因如下
在Linux文件系统里,当我们通过rm命令将文件删除后,系统只会将文件的链接或者指针删除掉,但是数据并没有被从所占用的磁盘空间清除,而如果之前调用这个文件的进程依旧在运行的话,那么指针也不会被删除,因为该进行依然会写数据到该文件里,所以内核依然会认为该文件没有被删除。 所以当我们再次使用df命令查看磁盘空间的时候,空间使用率依旧没有变化。
磁盘空间没有被释放的解决方法:
其实解决办法很简单,那就是找到调用这个文件的进程,将该进程重新启动或者关闭,比如重新启动HTTP服务。当然还有万能的方法,那就是重启Linux系统。
对于不能重启系统或者进程的情况,我们可以通过对日志文件的写操作,对该文件进行重新覆盖,这样就会清空该文件所占用的存储空间。比如要清空HTTP的日志文件,我们可以执行下面的命令:

#echo “”> /tmp/access.log

Linux 删除文件恢复

通过上面的介绍,我们知道文件通过rm命令删除后,系统只是删除了执行该文件inode链接,但并没有删除文件的数据块。 我们可以通过proc文件系统来恢复删除的文件,因为每一个进程在proc文件系统里都会有一个目录和进程名字,里面会包含一个文件描述符子目录,该进程需要打开的所有文件链接都会在这个目录里。 所以当从文件系统里删除文件后,proc文件系统里依然还有一个inode的引用。
下面我们来演示将恢复删除后的/var/log/syslog 日志文件:
1# 删除日志文件/var/log/syslog, 执行下面的命令:

#rm /var/log/syslog

2# 通过lsof命令来查看进程的文件描述符和相关文件名信息,执行下面的命令:

# lsof | grep /var/log/syslog

命令输出如下:

root@devops:~/osetc# lsof | grep /var/log/syslog
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
rsyslogd    972                syslog    5w      REG                8,1    24202    1311921 /var/log/syslog (deleted)

从上面的输出中可以看到进程的pid号为972
3# 进入proc文件系统查看进程号为972的文件描述信息,执行命令:

# ll /proc/972/fd/

命令输出如下:

root@devops:~/osetc# ll /proc/972/fd/
总用量 0
dr-x------ 2 root   root    0 3月  15 21:14 ./
dr-xr-xr-x 9 syslog syslog  0 3月  14 22:22 ../
lr-x------ 1 root   root   64 3月  15 21:14 0 -> /dev/null
l-wx------ 1 root   root   64 3月  15 21:14 1 -> /dev/null
l-wx------ 1 root   root   64 3月  15 21:14 2 -> /dev/null
lrwx------ 1 root   root   64 3月  15 21:14 3 -> socket:[13886]
lr-x------ 1 root   root   64 3月  15 21:14 4 -> /proc/kmsg
l-wx------ 1 root   root   64 3月  15 21:14  5 -> /var/log/syslog (deleted)
l-wx------ 1 root   root   64 3月  15 21:14 6 -> /var/log/auth.log
l-wx------ 1 root   root   64 3月  15 21:14 7 -> /var/log/kern.log

从输出里我们可以看到syslog文件的链接信息,可以通过head -5 命令来查看文件内容。

#head -5  /proc/972/fd/5

命令输出如下:

root@devops:~/osetc# head -5 /proc/972/fd/5
Mar 14 22:23:06 devops anacron[998]: Job `cron.daily' terminated
Mar 14 22:23:13 devops gnome-session[1826]: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Mar 14 22:27:15 devops anacron[998]: Job `cron.weekly' started
Mar 14 22:27:15 devops anacron[2837]: Updated timestamp for job `cron.weekly' to 2018-03-14
Mar 14 22:27:20 devops anacron[998]: Job `cron.weekly' terminated

4# 执行下面的命令,恢复syslog文件

#cat  /proc/972/fd/5 >/var/log/syslog

命令输出如下:

root@devops:~/osetc# cat /proc/972/fd/5 >/var/log/syslog
root@devops:~/osetc# ls /var/log/syslog
/var/log/syslog

我们可以看到被删除后的syslog文件已经被恢复了。
也可以参考本站的另一篇文章,实现linux系统下的回收站功能,进而更方便的实现删除文件的恢复。


99%的人还阅读了:

Ubuntu 下curl安装及使用指南

对于linux用户,可能经常会用到curl工具从远程的服务器上通过http,https, SCP, SFTP,SMB或者其它支持的协议来下载或传输文件。 本文将会讲述如何下载到你需要的curl 程序文件,以及如何在ubuntu系统下安装curl工具,并对curl的一些常用的命令做介绍。

Curl 是什么

CURL是Linux系统下常用的功能强大的网络工具,可以通过多种协议(http,https,ftp等)从远程web服务器上上传或者下载所需要的文件。 我们可以通过curl工具来抓取网页来监控可能会遇到的问题。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。 curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。
curl 工具常用的参数如下

-a/--append 上传文件时,附加到目标文件
-A/--user-agent <string> 设置用户代理发送给服务器
- anyauth 可以使用“任何”身份验证方法
-b/--cookie <name=string/file> cookie字符串或文件读取位置
- basic 使用HTTP基本验证
-B/--use-ascii 使用ASCII /文本传输
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-d/--data <data> HTTP POST方式传送数据
--data-ascii <data> 以ascii的方式post数据
--data-binary <data> 以二进制的方式post数据
--negotiate 使用HTTP身份验证
--digest 使用数字身份验证
--disable-eprt 禁止使用EPRT或LPRT
--disable-epsv 禁止使用EPSV
-D/--dump-header <file> 把header信息写入到该文件中
--egd-file <file> 为随机数据(SSL)设置EGD socket路径
--tcp-nodelay 使用TCP_NODELAY选项
-e/--referer 来源网址
-E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
--cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)
--key <key> 私钥文件名 (SSL)
--key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)
--pass <pass> 私钥密码 (SSL)
--engine <eng> 加密引擎使用 (SSL). "--engine list" for list
--cacert <file> CA证书 (SSL)
--capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)
--ciphers <list> SSL密码
--compressed 要求返回是压缩的形势 (using deflate or gzip)
--connect-timeout <seconds> 设置最大请求时间
--create-dirs 建立本地目录的目录层次结构
--crlf 上传是把LF转变成CRLF
-f/--fail 连接失败时不显示http错误
--ftp-create-dirs 如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
--ftp-pasv 使用 PASV/EPSV 代替端口
--ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
--ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输
--ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输
-F/--form <name=content> 模拟http表单提交数据
-form-string <name=string> 模拟http表单提交数据
-g/--globoff 禁用网址序列和范围使用{}和[]
-G/--get 以get的方式来发送数据
-h/--help 帮助
-H/--header <line>自定义头信息传递给服务器
--ignore-content-length 忽略的HTTP头信息的长度
-i/--include 输出时包括protocol头信息
-I/--head 只显示文档信息
从文件中读取-j/--junk-session-cookies忽略会话Cookie
- 界面<interface>指定网络接口/地址使用
- krb4 <级别>启用与指定的安全级别krb4
-j/--junk-session-cookies 读取文件进忽略session cookie
--interface <interface> 使用指定网络接口/地址
--krb4 <level> 使用指定安全级别的krb4
-k/--insecure 允许不使用证书到SSL站点
-K/--config 指定的配置文件读取
-l/--list-only 列出ftp目录下的文件名称
--limit-rate <rate> 设置传输速度
--local-port<NUM> 强制使用本地端口号
-m/--max-time <seconds> 设置最大传输时间
--max-redirs <num> 设置最大读取的目录数
--max-filesize <bytes> 设置最大下载的文件总量
-M/--manual 显示全手动
-n/--netrc 从netrc文件中读取用户名和密码
--netrc-optional 使用 .netrc 或者 URL来覆盖-n
--ntlm 使用 HTTP NTLM 身份验证
-N/--no-buffer 禁用缓冲输出
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-p/--proxytunnel 使用HTTP代理
--proxy-anyauth 选择任一代理身份验证方法
--proxy-basic 在代理上使用基本身份验证
--proxy-digest 在代理上使用数字身份验证
--proxy-ntlm 在代理上使用ntlm身份验证
-P/--ftp-port <address> 使用端口地址,而不是使用PASV
-Q/--quote <cmd>文件传输前,发送命令到服务器
-r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围
--range-file 读取(SSL)的随机文件
-R/--remote-time 在本地生成文件时,保留远程文件时间
--retry <num> 传输出现问题时,重试的次数
--retry-delay <seconds> 传输出现问题时,设置重试间隔时间
--retry-max-time <seconds> 传输出现问题时,设置最大重试时间
-s/--silent静音模式。不输出任何东西
-S/--show-error 显示错误
--socks4 <host[:port]> 用socks4代理给定主机和端口
--socks5 <host[:port]> 用socks5代理给定主机和端口
--stderr <file>
-t/--telnet-option <OPT=val> Telnet选项设置
--trace <file> 对指定文件进行debug
--trace-ascii <file> Like --跟踪但没有hex输出
--trace-time 跟踪/详细输出时,添加时间戳
-T/--upload-file <file> 上传文件
--url <URL> Spet URL to work with
-u/--user <user[:password]>设置服务器的用户和密码
-U/--proxy-user <user[:password]>设置代理用户名和密码
-v/--verbose
-V/--version 显示版本信息
-w/--write-out [format]什么输出完成后
-x/--proxy <host[:port]>在给定的端口上使用HTTP代理
-X/--request <command>指定什么命令
-y/--speed-time 放弃限速所要的时间。默认为30
-Y/--speed-limit 停止传输速度的限制,速度时间'秒
-z/--time-cond 传送时间设置
-0/--http1.0 使用HTTP 1.0
-1/--tlsv1 使用TLSv1(SSL)
-2/--sslv2 使用SSLv2的(SSL)
-3/--sslv3 使用的SSLv3(SSL)
--3p-quote like -Q for the source URL for 3rd party transfer
--3p-url 使用url,进行第三方传送
--3p-user 使用用户名和密码,进行第三方传送
-4/--ipv4 使用IP4
-6/--ipv6 使用IP6
-#/--progress-bar 用进度条显示当前的传送状态

ubuntu curl 安装

在ubuntu系统下最简单的curl工具安装是通过apt命令或 apt-get 命令, 执行下面的apt命令:

$sudo apt install curl

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libcurl3-gnutls
下列【新】软件包将被安装:
curl
下列软件包将被升级:
libcurl3-gnutls
升级了 1 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 357 个软件包未被升级。
需要下载 138 kB/323 kB 的归档。
解压缩后会消耗 340 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu xenial-security/main amd64 curl amd64 7.47.0-1ubuntu2.5 [138 kB]
已下载 138 kB,耗时 0秒 (915 kB/s)
(正在读取数据库 ... 系统当前共安装有 185776 个文件和目录。)
正准备解包 .../libcurl3-gnutls_7.47.0-1ubuntu2.5_amd64.deb  ...
正在将 libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.5) 解包到 (7.47.0-1ubuntu2.2) 上 ...
正在选中未选择的软件包 curl。
正准备解包 .../curl_7.47.0-1ubuntu2.5_amd64.deb  ...
正在解包 curl (7.47.0-1ubuntu2.5) ...
正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.5) ...
正在设置 curl (7.47.0-1ubuntu2.5) ...
正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...

当然你也可以直接从curl官方下载源码包进行安装,执行下面的wget命令来下载curl源码文件:

wget http://archive.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.52.1.orig.tar.gz

或者直接下载curl的二进制安装包,执行下面命令:

wget http://security.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.52.1-4ubuntu1.4_amd64.deb

Curl 命令GET请求

当curl命令安装完成后,我们:通过执行下面的命令来查看HTTP的header信息:

$curl -I https://www.bing.com

命令输出如下:

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Content-Length: 119115
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND"
Set-Cookie: SRCHD=AF=NOFORM; domain=.bing.com; expires=Thu, 23-Jan-2020 09:16:18 GMT; path=/
Set-Cookie: SRCHUID=V=2&GUID=52B6738D04434E1DA43017741146CB8F&dmnchg=1; domain=.bing.com; expires=Thu, 23-Jan-2020 09:16:18 GMT; path=/
Set-Cookie: SRCHUSR=DOB=20180123; domain=.bing.com; expires=Thu, 23-Jan-2020 09:16:18 GMT; path=/
Set-Cookie: _SS=SID=29B9E200E45061CF08A6E980E5E76063; domain=.bing.com; path=/
Strict-Transport-Security: max-age=10886400; includeSubDomains; preload
X-MSEdge-Ref: Ref A: 1FEEFC982E894C71AEC43DB3ED5118FF Ref B: BJ1EDGE0210 Ref C: 2018-01-23T09:16:18Z
Set-Cookie: _EDGE_S=F=1&SID=29B9E200E45061CF08A6E980E5E76063; path=/; httponly; domain=bing.com
Set-Cookie: _EDGE_V=1; path=/; httponly; expires=Sun, 17-Feb-2019 09:16:18 GMT; domain=bing.com
Set-Cookie: MUID=3D6BD680705A62C12D1DDD0071ED6374; path=/; expires=Sun, 17-Feb-2019 09:16:18 GMT; domain=bing.com
Set-Cookie: MUIDB=3D6BD680705A62C12D1DDD0071ED6374; path=/; httponly; expires=Sun, 17-Feb-2019 09:16:18 GMT
Date: Tue, 23 Jan 2018 09:16:17 GMT

curl显示页面的全部信息

curl -i http://www.osetc.com

命令输出如下:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
Date: Tue, 23 Jan 2018 09:17:38 GMT
Server: Apache/2.2.22 (Unix) PHP/5.2.17p1
X-Powered-By: PHP/5.2.17p1
Link: <https://www.osetc.com/wp-json/>; rel="https://api.w.org/"
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
<!DOCTYPE html>
<html lang="en-US" class="no-js no-svg">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
<title>OSETC 技术网 | 专注于Linux/Unix系统技术</title>
……

 

显示GET请求的解析过程

curl -v http://www.osetc.com

ubuntu curl 下载 文件

如果你想通过curl命令来下载远程服务器上的文件,那么你需要使用-o 选项,将远程文件保存到本地,执行下面的命令:

curl -o fio.html    https://www.osetc.com/archives/20394.html

命令输出如下:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 90306    0 90306    0     0  64524      0 --:--:--  0:00:01 --:--:-- 64550

上面的命令将会把远程服务器上的20394.html 文件下载到当前目录并保存为 fio.html.
执行下面命令来查看文件是否下载成功:

root@devops-virtual-machine:~# ls fio.html
fio.html

你也可以使用下面的命令来恢复之前断开的curl下载过程,需要使用curl命令的选线组合:-L -O -C -:

curl -L -O -C - https://www.osetc.com/fio.txt

ubuntu curl 上传文件

如果需要通过curl命令来上传文件到远程的web服务器,可以使用curl命令的 -T选项,执行命令如下:

curl -T "{文件1,文件2}“ ftp://www.osetc.com/upload/

99%的人还阅读了:
Linux:用腻了 wget 或 curl,有什么更好的替代品吗?
Mac OS:终端下使用curl命令下载文件
参考地址:https://curl.haxx.se/download.html

ubuntu 14.0 4 / 16.04 多主题美化及安装教程(Numix, Unity,Mac,Win10)

本文主要讲述如何在14.0 4 / 16.04 系统下安装配置其它样式的ubuntu主题,比如:Numix 主题,unity主题,mac主题,win10主题等。

Unity主题介绍

Unity桌面主题是ubuntu 14.04 / 16.04 系统中的默认安装主题,类似于Centos ,oracle linux中的Gnome 主题。Unity 是基于GNOME桌面环境的用户界面, 由Canonical公司开发,主要用于Ubuntu操作系统。
Ubuntu原本使用的是完整的GNOME桌面环境。由于Ubuntu创始人Mark Shuttleworth对用户体验的哲学理念与GNOME团队有不同的理解,从2011年4月的Ubuntu 11.04起,Ubuntu使用Unity作为默认的用户界面,而不采用全新的GNOME Shell。但Ubuntu可通过PPA来安装GNOME Shell 。

Unity Tweak Tool 工具介绍及安装

Unity Tweak Tool 是 Unity 主题桌面里一个配置工具,其目的是按照你的需要改变 unity桌面,例如:Compiz、外观和桌面设置,Unity Tweak Tool 让这些操作都变得简单容易。其从ubuntu 13.04 开始就已经被添加到了ubuntu软件中心。
Unity Tweak Tool 工具安装
安装也很简单,直接执行下面的命令:

$ sudo apt-get install unity-tweak-tool

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
unity-tweak-tool
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 230 个软件包未被升级。
需要下载 0 B/376 kB 的归档。
解压缩后会消耗 2,864 kB 的额外空间。
正在选中未选择的软件包 unity-tweak-tool。
(正在读取数据库 ... 系统当前共安装有 185609 个文件和目录。)
正准备解包 .../unity-tweak-tool_0.0.7ubuntu2_all.deb  ...
正在解包 unity-tweak-tool (0.0.7ubuntu2) ...
正在处理用于 gnome-menus (3.13.3-6ubuntu3.1) 的触发器 ...
正在处理用于 desktop-file-utils (0.22-1ubuntu5.1) 的触发器 ...
正在处理用于 bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) 的触发器 ...
Rebuilding /usr/share/applications/bamf-2.index...
正在处理用于 mime-support (3.59ubuntu1) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在处理用于 libglib2.0-0:amd64 (2.48.2-0ubuntu1) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.15-0ubuntu1) 的触发器 ...
正在设置 unity-tweak-tool (0.0.7ubuntu2) ...

安装后的Unity Tweak Tool 工具如下图:
Unity Tweak Tool 工具安装1
 

Ubuntu Numix 主题安装(14.0 4 / 16.04)

Numix 是一个非常受欢迎的项目,Numix 发布的 GTK 主图和图标主题都受到广大 Linux 的喜爱,都非常流行,最近 Numix 宣布将发布一款运行Nitrux S.A的新Linux发行版本。下面我们会介绍Ubuntu 14.04 和 Ubuntu 16.04 下安装并更换当前主题为 Numix 主题和图标。
我们需要使用 Numix 的官方 PPA 来进行安装,执行下面的命令:

$ sudo add-apt-repository ppa:numix/ppa
$ sudo apt-get update
$ sudo apt-get install numix-gtk-theme numix-icon-theme-circle

如果还想安装 Numix 桌面提供的壁纸,执行下面命令:

$ sudo apt-get install numix-wallpaper-*

当我们将 Numix 主题和图标安装完成后,下面就来看看如何更改 Ubuntu 使用 Numix 主题。
更改当前主题为Numix主题和图标
1# 安装 Unity Tweak Tool工具
执行下面命令:

$ sudo apt-get install unity-tweak-tool

2# 打开 Unity Tweak Tool 优化工具,在 GTK + 中选择使用 Numix 主题,并在 Icons 中选择使用 Numix-Circle 系列图标。
更改当前主题为Numix主题和图标1
选好之后就可以用了,下图是更改后的 Ubuntu Numix 主题和图标的样式:
更改当前主题为Numix主题和图标1

Ubuntu mac 主题安装(14.0 4 / 16.04)

1# 更新ubuntu系统
执行下面命令:

$ sudo apt-get update
$ sudo apt-get upgrade

2# 安装unity-tweak-tool
执行下面命令:

$ sudo apt-get install unity-tweak-tool

3# 安装macbuntu 主题

sudo add-apt-repository ppa:noobslab/macbuntu
sudo apt-get update
sudo apt-get install macbuntu-os-icons-lts-v7
sudo apt-get install macbuntu-os-ithemes-lts-v7

卸载命令:

cd /usr/share/icons/mac-cursors && sudo ./uninstall-mac-cursors.sh
sudo apt-get remove macbuntu-os-icons-lts-v7 macbuntu-os-ithemes-lts-v7

4# 将面板上的 ‘Ubuntu Desktop’ 文字替换 ‘Mac’
执行下面的命令:

cd && wget -O Mac.po http://drive.noobslab.com/data/Mac/change-name-on-panel/mac.po
cd /usr/share/locale/en/LC_MESSAGES
sudo msgfmt -o unity.mo ~/Mac.po
rm ~/Mac.po

5# 语言上如果是其他非英语语言,将 /en 做相应修改,比如中文

cd && wget -O Mac.po http://drive.noobslab.com/data/Mac/change-name-on-panel/mac.po
cd /usr/share/locale/ch_ZN/LC_MESSAGES
sudo msgfmt -o unity.mo ~/Mac.po
rm ~/Mac.po

6# 恢复原来的桌面文字命令:

cd && wget -O Ubuntu.po http://drive.noobslab.com/data/Mac/change-name-on-panel/ubuntu.po
cd /usr/share/locale/en/LC_MESSAGES
sudo msgfmt -o unity.mo ~/Ubuntu.po
rm ~/Ubuntu.po

7# 启动器上苹果Logo

wget -O launcher_bfb.png http://drive.noobslab.com/data/Mac/launcher-logo/apple/launcher_bfb.png
sudo mv launcher_bfb.png /usr/share/unity/icons/

恢复图标:

wget -O launcher_bfb.png http://drive.noobslab.com/data/Mac/launcher-logo/ubuntu/launcher_bfb.png
sudo mv launcher_bfb.png /usr/share/unity/icons/

8# 安装docky,可以从Ubuntu软件中心安装。
打开Docky,进行如下设置;
为Docky添加或删除应用
9# 为Docky添加或删除应用:
右键有锁定到docky,执行即锁定。将图标直接拖出去即可删除锁定。
效果如下:
为Docky添加或删除应用
参考:http://www.cnblogs.com/liutongqing/p/7072878.html

Ubuntu Zukimac mac主题

zukimac是一款免费下载可用的 GNOME 外观,新增提供了 GTK 3.10 和 GTK 3.12 支持,也是一款Mac主题。
主题下载地址:
下载Zukimac(add_new_wm_theme)
下载Zukimac for GTK 3.10主题
下载Zukimac for GTK 3.12主题
下面来看下如何来安装主题,将下载的ubuntu主题放在themes目录下。
1# 先下载主题包;
2# 解压主题包;
3# 将解压的主题文件夹拷贝到/usr/share/themes/目录下;
4# 使用 Unity tweak tool 启用新主题。
Ubuntu Zukimac mac主题1
Ubuntu Zukimac mac主题1
图标可选择: Feanza

Ubuntu windows 10 主题安装及下载

下面分享一款类似于windows 10的ubuntu 主题包,下面是安装方法:
1# 先下载主题包;
主题包下载地址为:https://pan.baidu.com/share/init?surl=hrGw6VU  密码: atyc
Ubuntu windows 10 主题下载2
Ubuntu windows 10 主题下载2
图标包地址: https://pan.baidu.com/s/1geQ7TOR  密码:7eqw
Ubuntu iPack
2# 解压主题包;
3# 将解压的主题文件夹拷贝到/usr/share/themes/目录下;
4# 使用 Unity tweak tool 启用新主题。

Ubuntu Flatabulous主题安装

Ubuntu Flatabulous主题1
1#  Flatabulous主题安装,执行下面命令:

$ sudo add-apt-repository ppa:noobslab/themes
$ sudo apt-get update
$ sudo apt-get install flatabulous-theme

2# 安装Flatabulous主题图标
执行命令:

$ sudo add-apt-repository ppa:noobslab/icons
$ sudo apt-get update
$ sudo apt-get install ultra-flat-icons

Ubuntu Flatabulous主题 图标
3# 使用 Unity tweak tool 启用新主题
Ubuntu Flatabulous主题
如果你想下载更多其它的Ubuntu主题,可以从下面的网站中获取:
http://www.ubuntuthemes.org/
ubuntu主题下载
其安装方法和其它主题中的类似。
本文永久链接:https://www.osetc.com/archives/20472.html
 

Ubuntu 14.04 / 16.04 主题美化方法详细介绍

对于那些想要一个易于使用的界面的用户,Ubuntu是一个很好的Linux发行版,并且对于一个Linux新手也可以说是最好的Linux发行版。不过这产生了一些副作用,那就是,对于界面和外观,Canonical公司已经为用户做了很多设定,尤其是Unity桌面环境。
然而这些不是一成不变的。下面是一些关于怎样让你更加舒心地使用Ubuntu的技巧。看过上面的截图中我对Ubuntu的设定,你可以看到我的的Unity桌面,相比于默认设定的桌面有何不同。
Ubuntu 14.04 16.04 主题美化方法详细介绍
下面让我们分步来实现定制Ubuntu桌面。
1# 安装Unity Tweak Tool
在你能对Ubuntu外观做任何有效地修改之前,你不得不安装Unity Tweak Tool。这是一个Unity桌面环境下特殊设置管理软件,并且通过它你可以实现替换系统图标和主题。你可以从Ubuntu软件中心下载该软件,如果你更加偏爱terminal终端的话,你也可以使用下面的命令:

$ sudo apt-get install unity-tweak-tool

如果你正在使用Gnome桌面环境,那么你可能需要尝试Gnome Tweak Tool这款软件。你也可以从Ubuntu软件中心和使用以下命令来安装该软件:

$ sudo apt-get install gnome-tweak-tool

2# 安装GTK主题
对于Ubuntu有很多定制的主题,这些主题可以影响应用和窗口的外观。我正在使用的主题是Numix GTK+。你可以在http://numixproject.org/找到关于Numix主题和图标的更多信息。你可以通过打开终端并输入以下命令来安装Numix主题:

$ sudo add-apt-repository ppa:numix/ppa
$ sudo apt-get update && sudo apt-get install numix-gtk-theme

为了使该主题生效,我们需要打开Unity Tweak Tool,选择“外观标题”下的“主题”选项,然后在“已有主题”一栏中选择该主题。只要相应的软件仓库名字一致,对于其他主题,你可以重复该过程来应用。你可以访问Gnome-Look.org获得更多的主题。另一个和Numix主题很相似的主题是Moka,你可以在http://mokaproject.com/获得更多关于Moka主题的信息。
3# 安装图标
以上截图中使用的图标是来自Numix主题的Numix圆形图标。你可以通过在终端输入以下命令来安装该图标集:

$ sudo apt-add-repository ppa:numix/ppa
$ sudo apt-get update
$ sudo apt-get install numix-icon-theme-circle

为了使该图标集生效,我们需要在Unity Tweak Tool中选择“图标”选项,然后选择该图标集。再一次声明,这个方法对于任何图标集是可行的。Moka也提供给你的桌面带来多彩的、一致性设计的图标集。
4# 安装conky系统监视软件
Conky是一个轻量级桌面系统监视软件。该软件本身是非常简单的,不过它是可定制的,这样一来它就可以显示很多的有用的信息。你可以通过在终端输入以下命令来安装Conky:

$ sudo apt-get install conky conky-all

你将会需要curl这个软件,你可以通过以下这个命令来安装该软件:

$ sudo apt-get install curl

上面截图中使用的conky主题是Harmattan,它可以以15种不同的样式来显示时间、天气、以及系统进程。要安装该主题,你可以从deviantART下载zip文件,然后解压。将.conky-weather文件夹和位于主题文件夹的.conkyrc文件(你可能需要按Ctrl+H来显示这些隐藏文件)移动到你的home文件夹。Conky有很多的主题。尝试这些主题,你所需要做的就是用所要使用主题的.conkyrc文件替换在home文件夹的.conkyrc文件。
5# 安装一些指示器程序
有很多第三方的指示器程序,通过这些程序你可以监视你的桌面信息,例如天气、系统性能等。我所使用的指示器程序相当简单。因为天气和系统性能已经在conky中显示,所以我没有安装这些指示器。不过你可以在终端输入以下命令来安装他们:

$ sudo apt-get install indicator-weather
$ sudo apt-get install indicator-multiload

我所使用的两个指示器程序是大小写指示程序以及触摸板控制器,这是因为我的笔记本没有大小写指示灯和控制触摸板开关的热键。你可以通过以下命令来安装这两个软件:

$ sudo add-apt-repository ppa:tsbarnes/indicator-keylock
$ sudo add-apt-repository ppa:atareao/atareao
$ sudo apt-get update
$ sudo apt-get install indicator-keylock
$ sudo apt-get install touchpad-indicator

你可能需要注销并重新登录来使用这些应用。
6# 通过Compiz设置管理器深度定制你的桌面
如果对于你来说Unity Tweak Tool不够强大,那么你可以尝试Compiz设置管理器.
警告:
如果错误的设置被应用的话,Compiz设置管理器可能会损害到你的系统。所以使用时要格外小心。你可以看到Ubuntu系统中隐藏的各种设置。你可以在Ubuntu软件中心获取该软件或者终端输入以下命令来安装:

$ sudo apt-get install compiz compizconfig-settings-manager compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-plugins

现在你的Ubuntu桌面变得具有超棒了!所有的这些步骤都有成千上万种选择,所以折腾是无极限的。还在等什么?还不赶紧去享受你的新Ubuntu桌面!via:http://os.51cto.com/art/201406/442093.htm
更多阅读:ubuntu 14.0 4 / 16.04 多主题美化及安装教程(Numix, Unity,Mac,Win10)
本文永久链接:https://www.osetc.com/archives/20467.html
 

Windows/Mac/Linux下U 盘安装Ubuntu(14.04/16.04/17.04)图文教程

本文将会讲述如何在三种不同的系统下(Windows, Mac, Linux) 通过U盘安装指定的Ubuntu Linux 双系统,该教程适用于ubuntu 14.04, 16.04 和17.04 版本。
网上的大部分ubuntu安装教程,主要是在虚拟化软件vmware workstation 或者virtual box下安装ubunt linux虚机,但如果想在当前的windows系统,苹果的mac系统,或者其它Linux系统下安装另一个ubuntu 系统,即在当前计算机上安装双系统。 当我们下载完ISO安装文件后,我们需要将该文件压制到光盘上,并通过DVD光驱来安装系统。
现在DVD光驱越来越少使用了,那么我如何在没有DVD光驱硬件的前提下,如何来安装ubuntu系统呢?我们可以通过制作Ubuntu安装U盘的方式来安装ubuntu双系统。

Ubuntu iso 镜像文件下载

因为Ubuntu系统是一个免费的Linux发型版本,所有我们可以直接去Ubuntu的官方网站去下载你所需要的安装包。其下载地址如下:
Ubuntu Iso镜像文件官方下载地址:
Ubuntu 16.04 LTS 长期支持版本 64位:http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-amd64.iso
Ubuntu 16.04 LTS 长期支持版本 32位: http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-i386.iso
Ubuntu 17.04 版本 64位:http://releases.ubuntu.com/17.04/ubuntu-17.04-desktop-amd64.iso
Ubuntu 17.04 版本32位:http://releases.ubuntu.com/17.04/ubuntu-17.04-desktop-i386.iso
Ubuntu 14.04 LTS 长期支持版本 64位:http://mirrors.163.com/ubuntu-releases/14.04.5/ubuntu-14.04.5-desktop-amd64.iso
Ubuntu 14.04 LTS 长期支持版本 32位: http://mirrors.163.com/ubuntu-releases/14.04.5/ubuntu-14.04.5-desktop-i386.iso
如果你想下载更多其他版本的ubuntu安装包,可以去ubuntu官方下载(由于官方提供的下载地址,iso镜像服务器可能都在国外,所以下载速度可能会比较慢)或者去163镜像官方站去下载不同的版本号的安装包, 地址为:http://mirrors.163.com/ubuntu-releases/  , 也可以去中科院开源镜像站,地址为:http://mirrors.opencas.org/ubuntu-releases/ , 这两个站的下载速度都还不错。

制作Ubuntu 安装U

当下载完Ubuntu 安装镜像文件后,我们就需要开始制作Ubuntu系统安装U盘。下面我们来分别介绍三种不同的系统下制作Ubuntu系统U盘的方法。
一、在windows系统下制作Ubuntu 安装U盘
首先我们需要下载一个U盘系统制作工具Universal USB Installer, 该工具是Windows系统下制作Linux安装U盘非常流行和常用的一个工具,支持当前主流的Linux发行版,当然也支持Ubuntu。
1# 下载Universal USB installer
下载地址为:https://www.pendrivelinux.com/downloads/Universal-USB-Installer/Universal-USB-Installer-1.9.7.9.exe
2# 安装刚才下载Universal USB installer工具
安装Universal USB installer1
3# 点击“I Agree
安装Universal USB installer1
4# 在上图中的”Step1” 下拉列表里选择”Ubuntu”, 在”Step2”部分,点击“Browse” ,选择你要安装ubuntu系统ISO镜像文件。在“Step3”的下拉列表里选择u盘的驱动符。然后点击“create” 即可
安装Universal USB installer1
二、在Mac系统下制作Ubuntu 安装U盘
在苹果的Mac系统下制作ubuntu 安装U盘工具,只需要在命令行下操作即可。
1# 下载ubuntu ISO镜像文件到本地
2# 切换到存放镜像文件的目录

cd ~/Ubuntu-download-dir

3# 转换ISO镜像文件为苹果Mac系统识别的dmg格式

hdiutil convert -format UDRW -o ubuntu.iso ubuntu-16.04-desktop-amd64.iso

该命令执行完毕后,会成一个一个扩展名为dmg格式的文件。重命名改名为以iso为扩展名

mv Ubuntu.iso.dmg Ubuntu.iso

4# 插入U盘
执行diskutil list命令查看u盘的挂载点,比如为:/dev/diskN

diskutil list

5# 将Ubuntu 镜像文件写入到U盘

sudo dd if=./Ubuntu.iso  of=/dev/rdiskN bs=1m

6# 弹出制作好的ubuntu安装U盘

diskutil  eject /dev/diskN

在Mac系统下制作Ubuntu 安装U盘
三、在Linux系统下制作Ubuntu 安装U盘
Linux 系统下制作Ubuntu 安装U盘方法可以Mac系统类似。
1# 下载ubuntu ISO镜像文件到本地
2# 切换到存放镜像文件的目录

cd ~/Ubuntu-download-dir

3# 插入U盘
执行fdisk -l命令查看u盘的挂载点,比如为:/dev/diskN
5# 将Ubuntu 镜像文件写入到U盘

sudo dd if=./ ubuntu-16.04-desktop-amd64.iso  of=/dev/rdiskN  bs=1m

6# 弹出制作好的ubuntu安装U盘

diskutil  eject /dev/diskN

通过U盘安装Ubuntu 系统 (14.04/ 16.04/ 17.04)

当我们制作完ubuntu安装U盘后,就可以开始安装系统了。
1# 在进行U盘安装系统之前,我们还需要设置BIOS选项,因为默认的是硬盘启动,因此我们需要进行设置为U盘启动。 如下图:
通过U盘安装Ubuntu 系统1
2# 插入U盘,重启系统。此时,系统会通过U盘引导安装Ubuntu系统,如下图。
Ubuntu 安装教程
之后的ubuntu系统安装步骤请参考文章:https://www.osetc.com/archives/20310.html
3# EasyBCD 创建启动系统
a)下载并安装EasyBCD,此软件用于在启动电脑的时候显示要选择启动的系统(windows 或ubuntu)
下载地址为:http://huajun1.onlinedown.net/down/EasyBCD2.3.zip
b) 打开easyBCD,选择add new entry, 选择linux/BSD, 输入name,比如:ubuntu 16.04; Device这一行选择我们创建分区时候创建的”/boot“分区,前边有linux标记的。
EasyBCD 创建启动系统
4# 再次重新启动系统,在引导界面,选择”ubuntu 16.04”,就可以进入ubuntu系统了。
ubuntu 系统启动
ubuntu 系统启动

U盘通过ks.cfg无人值守安装Ubuntu系统

1#把镜像文件ubuntu-16.04-desktop-amd64.iso写入U盘
2# 创建一个kickstart 文件,放入到nfs服务器上或者U盘里
3# 修改U盘中syslinux目录下syslinux.cfg文件

DEFAULT install
 LABEL install
 menu label ^Install Ubuntu
 menu default
 kernel /install/amd64/linux
 append ks=/ks.cfg vga=normal initrd=/install/amd64/initrd.gz quiet --

4# 重启机器设置U盘引导,即可开始U盘无人值守安装。
可以参照下面的Ubuntu kickstart 文件:

install
text
lang en_US
langsupport en_US
keyboard us
mouse
timezone --utc Asia/Chongqing
rootpw --disabled
user tdt --fullname="myubuntu1604" --password  123456
reboot
bootloader --location=mbr
zerombr yes
clearpart --all --initlabel
part /boot --fstype ext4 --size 200
part swap --size 1024
part / --fstype ext4 --size 1 --grow
auth --useshadow --enablemd5
network --bootproto=dhcp --device=eth0
firewall --disabled
skipx
%packages
penssh-server
openssh-client
nfs-kernel-server
vim

ubuntu u盘安装常见问题

问题1:U盘安装Ubuntu15.04 出现boot failed: please change disks and press a key to continue 错误
问题描述: 用Ultraiso制作了一个Ubuntu15.04的U盘启动盘,在装系统的时候提示如下错误:

boot failed: please change disks and press a key to continue
 Start booting from USB deviceing……

后来发现是由于ubuntu使用了最新的syslinux版本,而大多U盘刻录软件还未支持最新的syslinux版本导致u盘无法启动。解决方法:使用另一个刻录软件Win32 Disk Imager ,重新制作可U盘启动盘,就可以成功安装了。
Win32 Disk Imager的使用方法:
问题2: U盘安装Ubuntu的gfxboot.32错误处理方法
解决方法: https://jingyan.baidu.com/article/dca1fa6f625942f1a44052dd.html
问题3:U盘安装Ubuntu Kylin 15.4 [解决Failed to load ldlinux.c32问题] 问题描述:一开始用UltraISO.exe 、Win32DiskImager、Windows 7 USB DVD Download Tool、PowerISO6_V6.2.0.0都不行。大白菜等工具在制作U盘启动盘的时候,实际上也是使用的 UltraISO。
启动的时候如果不开启UEFI,则会提示:

 Failed to load ldlinux.c32
 Boot failed: please change disks and press a key to continue.

或者根本就什么也不提示,干脆识别不到U盘中的引导文件。
如果开启UEFI,不管用什么方式制作的U盘启动盘,也是不管不顾提示找不到硬件。
解决方法: 使用Universal-USB-Installer 工具
下载地址为:https://www.pendrivelinux.com/downloads/Universal-USB-Installer/Universal-USB-Installer-1.9.7.9.exe
本文永久链接:https://www.osetc.com/archives/20442.html
 
 
 

Ubuntu 下安装MySQL 5.6/5.7数据库教程(14.04/16.04)

本文将会讲述在ubuntu 系统下安装及配置MySQL 5.6/5.7 数据库的方法。本文主要通过两种方法来讲述mysql数据库的安装,一种是通过apt-get命令,另一种是源码包编译安装。(以ubuntu 16.04 为示例)

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合[3]  。-摘自百度百科

Ubuntu安装 MySQL 5.6 数据库(14.04/16.04)

方法一:通过apt-get 命令安装指定版本MySQL 5.6
对于ubuntu16.04 的系统,默认软件源的mysql版本是5.7, 所以如果想安装指定版本的MySQL 5.6,会提示“E:软件包 mysql-server-5.6 没有安装候选”

$ sudo apt-get install mysql-server-5.6

输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 mysql-server-5.6,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386
percona-xtradb-cluster-server-5.6 percona-server-server-5.6
mysql-testsuite-5.7:i386 mariadb-server-10.0:i386 mysql-testsuite-5.7
mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386
mysql-server-core-5.7 mysql-server-5.7
E: 软件包 mysql-server-5.6 没有可安装候选

如果要在ubuntu 16.04 系统下安装指定版本的mysql 数据库,可以参照下面的步骤:
1# 增加旧的repo
执行下面命令:

$ sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

2# 更新源

$ apt-get update
命中:1 http://mirrors.aliyun.com/ubuntu xenial InRelease
命中:2 http://mirrors.aliyun.com/ubuntu xenial-security InRelease
命中:3 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease
命中:4 http://mirrors.aliyun.com/ubuntu xenial-proposed InRelease
命中:5 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease
忽略:6 http://dl.google.com/linux/chrome/deb stable InRelease
命中7 http://dl.google.com/linux/chrome/deb stable Release
命中:9 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease
忽略:10 http://archive.ubuntu.com/ubuntu trusty InRelease
获取:11 http://archive.ubuntu.com/ubuntu trusty Release [58.5 kB]
获取:12 http://archive.ubuntu.com/ubuntu trusty Release.gpg [933 B]
获取:13 http://archive.ubuntu.com/ubuntu trusty/main amd64 Packages [1,350 kB]
获取:14 http://archive.ubuntu.com/ubuntu trusty/main i386 Packages [1,348 kB]
已下载 2,758 kB,耗时 4分 35秒 (10.0 kB/s)
正在读取软件包列表... 完成

3# 查看软件源里时候有mysql 5.6 可供安装

$ apt-cache search mysql | grep 5.6

命令输出如下:

percona-server-server-5.6 - Percona Server database server binaries
percona-server-test-5.6 - Percona Server database test suite
percona-xtradb-cluster-server-5.6 - Percona XtraDB Cluster database server binaries
mysql-client-5.6 - MySQL database client binaries
mysql-client-core-5.6 - MySQL database core client binaries
mysql-common-5.6 - MySQL 5.6 specific common files, e.g. /etc/mysql/conf.d/my-5.6.cnf
mysql-server-5.6 - MySQL database server binaries and system database setup
mysql-server-core-5.6 - MySQL database server binaries
mysql-source-5.6 - MySQL source
mysql-testsuite-5.6 - MySQL 5.6 testsuite

4# 安装MySQL 5.6 数据库
执行下面的命令:

$ sudo apt-get install mysql-server-5.6 mysql-client-5.6

对于ubuntu 14.04 系统(英文该系统默认的最新的MySQL版本是5.6),只需要执行下面的命令安装即可:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt-get install mysql-server mysql-client

方法二:通过MySQL.tar.gz 二进制包安装方式
1# 下载MySQL 5.6 二进制包

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
$ mv mysql-5.6.33-linux-glibc2.5-x86_64  /usr/local/mysql

2# MySQL创建数据日志目录和用户
a) 创建mysql目录

mkdir -p /mysql/data   #数据目录
mkdir -p /mysql/log      #日志目录

b) 创建MySQL用户

$ groupadd mysql
$ useradd -r -g mysql mysql

3# 创建my.cnf
创建my.cnf文件的目的主要是为了初始化时要用到它里面的一些配置

vim /etc/my.cnf

保存退出。
注意:如果系统中其它目录下还存在my.cnf文件请删除,可以用find查找一下
4# 安装相关软件包并初始化MySQL
a) 安装插件

$  sudo apt-get install libaio1

b) 初始化MySQL
执行下面命令:

$sudo  scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/mysql/data  --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
$ sudo chown -R mysql:mysql /mysql/ usr/local/mysql

5#配置mysql启动服务

$ sudo cp support-files/mysql.server /etc/init.d/mysql
$ sudo chmod +x /etc/init.d/mysql

6# MySQL配置环境变量

$ sudo vim /etc/profile

加入下面的配置行

export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

7# 启动MySQL 服务

$ service mysql start

Ubuntu安装MySQL 5.7 数据库(14.04/16.04)

方法一:通过apt-get 命令安装MySQL
当前最新的MySQL 版本是5.7, 接下来将会讲述如何使用apt-get 命令来安装MySQL 5.7.
1# 更新当前的系统
执行命令:

$ sudo apt update
$ sudo apt upgrade

2# 在ubuntu 16.4 系统上安装MySQL 5.7
执行下面命令:

$ sudo apt-get install mysql-server mysql-client

命令输出如下:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
libterm-readkey-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common
mysql-server-5.7 mysql-server-core-5.7
Suggsted packages:
libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
libipc-sharedcache-perl mailx tinyca
The following NEW packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
libterm-readkey-perl mysql-client mysql-client-5.7 mysql-client-core-5.7
mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.7 MB of archives.
After this operation, 155 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

在运行过程中,需要你输入mysql root的密码。
3#  执行mysql_secure_installation  命令来增强mysql的安全性

$ sudo mysql_secure_installation

mysql_secure_installation命令会要求你更改root的密码,并且禁用或删除MySQL服务器中的匿名用户,关闭MySQL root用户远程登录权限,删除测试数据库,并重新加载授权表的系统。如果你已经完成了所有的步骤,那么MySQL安装将会是比较安全的。
方法二:通过MySQL.tar.gz 二进制包安装方式
1# 下载和解压MySQL 5.7 数据库二进制安装包
执行下面命令:

$ sudo wget https://downloads.mysql.com/archives/get/file/mysql-5.7.4-m14-linux-glibc2.5-x86_64.tar.gz$ sudo tar -xvf mysql-5.7.4-m14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql-5.7.4

2# 创建mysql用户和修改软件的权限

$ sudo useradd -r -M -s /sbin/nologin mysql
$ sudo chown -R mysql  /usr/local/mysql-5.7.4
$ sudo chgrp -R mysql /usr/local/mysql-5.7.4

3# 安装和初始化数据库

$ sudo cd /usr/local/mysql-5.7.4/
$ sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.4/ --datadir=/usr/local/mysql-5.7.4/data/            --必须在mysql根目录安装mysql,否则出错
$ sudo cp -a ../support-files/my-default.cnf  /etc/my.cnf
$ sudo cp -a ../support-files/mysql.server  /etc/init.d/mysqld
$ sudo cd bin/
$ sudo./mysqld_safe --user=mysql &
chkconfig  --add mysql

4# 启动MySQL 服务

$ sudo /etc/init.d/mysqld restart
 Shutting down MySQL..                                      [  OK  ]
 Starting MySQL...                                             [  OK  ]

Ubuntu通过deb包安装MySQL 5.7 (14.04/16.04) (ubuntu离线安装mysql 5.7)

当前最新的MySQL版本是5.7.20, 下面我们来看看如何通过安装deb包的方式来安装最新的MySQL 5.7 数据库。
1# 官方下载最新的MySQL 5.7.20 deb-bundle 包
执行下面命令:

$ sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar

2# 解压缩上面下载的mysql deb-bundle 包

$ sudo tar -xvf mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar
mysql-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-source_5.7.20-1ubuntu16.04_amd64.deb
mysql-common_5.7.20-1ubuntu16.04_amd64.deb
mysql-server_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-test_5.7.20-1ubuntu16.04_amd64.deb
mysql-testsuite_5.7.20-1ubuntu16.04_amd64.deb

3# 开始安装上面解压出来的包
如果单独安装每个包的话,安装之前我们需要注意每个包的安装顺序,因为会有包的依赖问题。

mysql-common_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb

执行下面的命令安装:

$ sudo dpkg –i mysql-common_5.7.20-1ubuntu16.04_amd64.deb libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb mysql-client_5.7.20-1ubuntu16.04_amd64.deb mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb

在安装过程中,会要求输入mysql root的密码。
4# 启动和停止mysql服务命令

/etc/init.d/mysql start
/etc/init.d/mysql stop

5# 设置MySQL配置文件
找到文件/etc/mysql/my.cnf 注释掉bind-address=127.0.0.1,这行的意思是只允许本地访问MySQL服务器
6# 修改mysql数据库中的表
# user表中的host表示,相应用户允许访问的ip
# %表示所有ip,也可以是某个具体ip
# flush privileges表示使修改生效

$ sudo mysql –uroot –p
Mysql> use mysql
Mysql>update user set host='%' where user='root';
Mysql> flush privileges;

7# 设置mysql用户权限
# 其中password表示远程登录的密码
# 设置权限

Mysql>  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY 'password'  WITH GRANT OPTION;?flush privileges;
Mysql>  flush privileges;

Ubuntu MySQL 安装失败问题总结

有时候在安装MySQL之后会出现一些错误信息,下面收集了一下常见的错误,以及解决方法。
错误一:在处理时有错误发生: mysql-server-5.5 mysql-serverE: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法:执行下面的几条命令:
sudo rm /var/lib/mysql/ -Rsudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* –purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server mysql-common
错误二:dpkg: error processing mysql-server (–configure): dependency problems – leaving unconfigured
start: Job failed to start
invoke-rc.d: initscript mysql, action “start” failed.
dpkg: error processing mysql-server-5.5 (–configure):
解决方法:
查看网络配置
auto lo
iface lo inet loopback
研究了一下我的配置没有问题。问题原因是我删除的时候是手动的。解决办法如下:
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* –purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server mysql-common
然后重新安装MySQL.

Ubuntu 安装MySQL ODBC驱动

1# 安装iODBC的驱动管理器(GTK编写的前端界面):

$sudo apt-get install iodbc

2# 安装MySQL的ODCB连接器:

$sudo apt-get install libmydobc

3# 启动iODBC:

$sudo iodbcadm-gtk

ubuntu mysql odbc

Ubuntu 下安装MySQL-connector-python

MySQL Connector/Python 是 MySQL 官方提供的 Python 连接 MySQL 数据库的驱动程序.下面介绍两种安装该驱动程序的方法:
方法一# 使用apt-get 安装
执行下面命令:

sudo apt-get updatesudo apt-get install python-mysql.connector

方法二#通过pip工具安装
1# 通过pip命令查看是否有我们要安装的包

$ sudo pip search mysql-connector

2# 安装mysql-connector-python
执行下面命令:

$ sudo pip install mysql-connector-python

如果安装过程中出现下面的错误:

Some externally hosted files were ignored (use  --allow-external mysql-connector-python to allow).

我们可以使用下面的命令重新安装

$ sudo pip install mysql-connector-python --allow-external mysql-connector-python

3# 验证是否安装成功:

~ python
>>> import mysql.connector as mc
>>> mc.__version__
'2.0.4'

Ubuntu 安装 python 3.5

1# 通过apt-get命令行安装Python3.5

$ sudo apt-get install python3.5

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libpython3.5 libpython3.5-minimal libpython3.5-stdlib python3.5-minimal
建议安装:
python3.5-venv python3.5-doc binfmt-support
下列软件包将被升级:
libpython3.5 libpython3.5-minimal libpython3.5-stdlib python3.5
python3.5-minimal
升级了 5 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 5,778 kB 的归档。
解压缩后将会空出 7,168 B 的空间。
您希望继续执行吗? [Y/n]Y

2# Ubuntu默认使用的是Python2.7,将默认的Python版本指向到3.5
执行下面命令:

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python3.5 /usr/bin/python

本文永久链接:https://www.osetc.com/archives/20436.html


99%的人还阅读了:

Ubuntu下安装 JDK 1.7/1.8(JDK8)以及环境变量配置教程(附:Tomcat 9安装)

本文将会讲述如何在ubuntu 系统安装JDK 1.7/1.8(JDK8) 以及openjdk 1.7, 以及在ubuntu linux 系统下的jdk环境变量的配置。在ubuntu 14.04 和16.04 系统下的jdk安装方法以及环境变量配置都是相同的。

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。
以下是各版本的名称及发布日期:

版本 名称 发行日期
JDK 1.1.4 Sparkler(宝石) 1997-09-12
JDK 1.1.5 Pumpkin(南瓜) 1997-12-13
JDK 1.1.6 Abigail(阿比盖尔–女子名) 1998-04-24
JDK 1.1.7 Brutus(布鲁图–古罗马政治家和将军) 1998-09-28
JDK 1.1.8 Chelsea(切尔西–城市名) 1999-04-08
J2SE 1.2 Playground(运动场) 1998-12-04
J2SE 1.2.1 none(无) 1999-03-30
J2SE 1.2.2 Cricket(蟋蟀) 1999-07-08
J2SE 1.3 Kestrel(美洲红隼) 2000-05-08
J2SE 1.3.1 Ladybird(瓢虫) 2001-05-17
J2SE 1.4.0 Merlin(灰背隼) 2002-02-13
J2SE 1.4.1 grasshopper(蚱蜢) 2002-09-16
J2SE 1.4.2 Mantis(螳螂) 2003-06-26
Java SE 5.0 (1.5.0) Tiger(老虎) 2004-09-30
Java SE 6.0 (1.6.0) Mustang(野马) 2006-04
Java SE 7.0 (1.7.0) Dolphin(海豚) 2011-07-28
Java SE 8.0 (1.8.0) Spider(蜘蛛) 2014-03-18
Java SE 9 2017-09-21

摘自:百度百科

Ubuntu安装 jdk 1.8(JDK8)及配置环境变量 (14.04/ 16.04)

我们将会通过两种方式来介绍如何在ubuntu linux系统下安装jdk 1.8 并配置jdk 环境变量。
方法一: 通过添加PPA 源来安装JDK 1.8 (JDK8)
1# 首先要添加ppa安装源
执行下面的命令:

$ sudo add-apt-repository ppa:webupd8team/java

命令输出如下:

[sudo] devops 的密码:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Ubuntu 16.10 Yakkety Yak is no longer supported by Canonical (and thus, Launchpad and this PPA). The PPA supports Ubuntu 17.10, 17.04, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):
- for Oracle Java 7: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
Oracle Java 9 (for both Ubuntu and Debian): http://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html
Oracle JDK 9 is now considered stable. There are currently only 64bit builds (no other builds are available for download: http://www.oracle.com/technetwork/java/javase/downloads/index.html )
更多信息: https://launchpad.net/~webupd8team/+archive/ubuntu/java
按回继续或者 Ctrl+c 取消添加
gpg: 钥匙环‘/tmp/tmp77dgqq2l/secring.gpg’已建立
gpg: 钥匙环‘/tmp/tmp77dgqq2l/pubring.gpg’已建立
gpg: 下载密钥‘EEA14886’,从 hkp 服务器 keyserver.ubuntu.com
gpg: /tmp/tmp77dgqq2l/trustdb.gpg:建立了信任度数据库
gpg: 密钥 EEA14886:公钥“Launchpad VLC”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)
OK
$ sudo apt-get update

2# 安装jdk8 oracle-java-installer
执行下面命令:

$ sudo apt-get install oracle-java8-installer

3# 执行下面的命令,将jdk8 设置为默认的Java 运行版本

$ sudo apt install oracle-java8-set-default

4# 下面我们可以来检测一下JDK8 是否安装成功
执行命令:

$ java –version

命令输出:

java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
$ javac -version
javac 1.8.0_144

 
方法二: 通过安装jdk tar.gz 源码包的方式安装jdk 1.8 (JDK8)
1# 从官网下载jdk 1.8 的源码包 (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
执行下面命令:

$ wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz

2# 创建/usr/jvm 目录
执行命令:

$ sudo mkdir /usr/jvm

3# 解压缩刚才下载的源码包
执行命令:

$ tar zxvf jdk-8u144-linux-x64.tar.gz –C /usr/lib/jvm

4# 配置JDK环境变量
首先要编辑用户bashrc文件,加入下面的配置行:
执行命令:

sudo vim ~/.bashrc

在文件的末尾追加下面行:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144  ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

如果想使环境变量马上生效,执行下面的命令:

source ~/.bashrc

5#设置系统默认jdk 版本

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/ jdk1.8.0_144/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/ jdk1.8.0_144/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/ jdk1.8.0_144/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/ jdk1.8.0_144/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/ jdk1.8.0_144/bin/javap 300

然后执行:

sudo update-alternatives --config java

6# 测试JDK 1.8 是否安装配置成功
执行下面命令:

$ java –version

命令输出:

java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
$ javac -version
javac 1.8.0_144

 Ubuntu安装 jdk 1.7 配置环境变量(14.04/ 16.04)

下面我们来介绍如何在ubuntu linux系统下安装jdk 1.7 并配置jdk 环境变量. 安装JDK 1.7 的方法和1.8是一样,主要的安装和配置思路就是下载源码包,新建安装目录,解压缩安装包,设置环境变量,测试jdk环境。
1# 下载oracle JAVA JDK 1.7 源码包
执行下面命令:

$ wget http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz

2# 创建安装目录

sudo mkdir /usr/lib/jvm

3# 解压缩安装jdk tar.gz 包

sudo tar zxvf jdk-7u67-linux-x64.tar.gz -C /usr/lib/jvm

4# 设置JDK环境变量
执行下面的命令,编辑/etc/profile 文件,并加入下面的配置行。

sudo gedit /etc/profile

加入环境变量内容

#set java environment
 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67
 export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
 export PATH=${JAVA_HOME}/bin:$PATH

5# 设置默认的JDK

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_67/bin/java 300
 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_67/bin/javac 300

6# 测试JDK 1.7 是否安装配置成功
执行命令:

$ java -version

命令输出如下:

java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

如果显示出了JDK的版本号则说明JDK 1.7开发环境配置成功了。

Ubuntu安装openjdk1.7/1.8

1# 使用apt-get命令来安装OpenJDK
执行下面的命令:
#对于 openjdk 1.7

$sudo apt-get update
$ sudo apt-get install openjdk-7-jdk

# 对于openjdk 1.8

$sudo apt-get update
$ sudo ap[t-get install openjdk-8-jdk

2# 在多个JDK版本中切换
执行命令:

sudo update-alternatives –config java

选择你需要运行的JDK版本
再设置默认的JAVAC版本
执行命令:

sudo update-alternatives –config javac

3# 配置openJDK环境变量
编辑/etc/profile 配置文件,加入下面的配置行:

$ sudo vi /etc/profile

#对于openjdk 1.7加入下面的行

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
 export JRE_HOME=$JAVA_HOME/jre
 export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#对于openjdk 1.8加入下面的行

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:JAVAHOME/lib:{JRE_HOME}/lib
export PATH=JAVAHOME/bin:PATH

4# 测试openjdk是否配置成功

执行下命令:
 $ java –version

输出如下:
#对于openjdk1.7

java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

#对于openjdk 1.8

openjdk version “1.8.0_01-internal”
 OpenJDK Runtime Environment (build 1.8.0_01-internal-b04)
 OpenJDK 64-Bit Server VM (build 25.40-b08, mixed mode)

Linux下的JDK OpenJDK有什么区别?

对于JDK, 也有不同过的发行版本,比如Oracle java JDK, IBM JDK, OpenJDK, SUNJDK 等。 那么这些不同的JAVA JDK 到底有什么不同呢?来看我们下面的说明:
大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk. openjdk是jdk的开放原始码版本,以GPL协议的形式放出。 openjdk只包含最精简的JDK, 在安装openjdk的机器上,输入“java -version”显示的是openjdk. openJDK 与 Sun 的 JDK 功能都是一样的,只是版权信息不一样。 OpenJDK 公开了 JDK、JVM、JRE、Java 类库的源代码,而 Sun JDK 只公开了 Java 类库的源代码。
通过 LICENSE 文件可以看出 OpenJDK 是 GNU 许可证,而 Sun JDK 的 LICENSE 是 Java 许可证。OpenJDK, Sun JDK, IBM JDK, Oracle JDK 等对于开发、运行都没有什么太大的区别。

Ubuntu 使用apt-get卸载默认jdk

有时候我门需要卸载系统默认安装好的openjdk, 来安装别的版本的jdk,比如oracle jdk. 如何才能彻底干净的卸载原有的jdk.
方法一: 首先使用apt-get autoremove 命令
执行命令:

$ sudo apt-get autoremove default-jdk

 
方法二:上面的命令有时候不能彻底的卸载干净,那么可以使用下面的方法,可以确保jdk卸载干净:
执行步骤如下:
1# 执行下面的命令

$ 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

2# 清除配置信息

$  dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

3# 清除java配置及缓存

$ bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf

4# 手动清除JVMs

$ sudo   rm -rf /usr/lib/jvm/*

Ubuntu 非root 安装tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。-摘自百度百科
下面来介绍如何在ubuntu下安装tomcat 9, 该版本需要安装JAVA JDK 8 以上的版本,可以参照上面的jdk安装配置步骤。
1# 验证java jdk 版本
执行下面命令:

$ java –version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

需要检测当前的java版本是否是1.8以上版本。
2# 下载Tomcat 安装包并解压缩

$ wget http://www.us.apache.org/dist/tomcat/tomcat-9/v9.0.0.M1/bin/apache-tomcat-9.0.0.M1.tar.gz$ tar xzf apache-tomcat-9.0.0.M1.tar.gz  -C /opt/$ mv apache-tomcat-9.0.0.M1 tomcat9

3# 配置tomcat环境变量
编辑~/.bashrc 文件,配置CATALINA_HOME 环境变量,执行下面的命令:

$ echo "export CATALINA_HOME='/opt/tomcat9/'" >> ~/.bashrc
$ source ~/.bashrc

4# 为Manager 和admin 页面 指定特定的用户
编辑/tomcat9/conf/tomcat-users.xml, 加入下面的行:

<!—用户osetc只能访问 manager区域 --><role rolename="manager-gui" /><user username="osetc" password="<Enter-Secure-Password>" roles="manager-gui" />
 <!--用户osetc只能访问 manager区域--><role rolename="admin-gui" /><user username="admin" password="<Enter-Secure-Password>" roles="admin-gui" />

5# 启动Tomcat 9 服务
执行下面的命令:

$ cd /opt/tomcat9/bin
$ sudo ./startup.sh

命令输出如下:

Using CATALINA_BASE:   /opt/tomcat9
Using CATALINA_HOME:   /opt/tomcat9
Using CATALINA_TMPDIR: /opt/tomcat9/temp
Using JRE_HOME:        /usr/lib/jvm/java-8-oracle/jre
Using CLASSPATH:       /opt/tomcat9/bin/bootstrap.jar:/opt/tomcat9/bin/tomcat-juli.jar
Tomcat started.

6# 从浏览器访问配置好的tomcat9
Tomcat 服务默认使用的端口号是8080,在浏览器中输入网址:http://localhost:8080
ubuntu tomcat-9.0.0.m1
本文永久链接:https://www.osetc.com/archives/20430.html


99%的人还阅读了:

Ubuntu 系统下安装软件包的6种方法介绍以及查看/删除软件包命令

Ubuntu系统软件安装和CentOS Linux或者Redhat  Linux系统下不同,因为ubuntu下面的默认安装软件包扩展名为deb, 无法使用yum 或者rpm命令来安装。 下面我们将会详细介绍6中最常见的ubuntu 安装软件包的命令或方法(本文所有的实例均在ubuntu 16.04 系统运行)。

ubuntu 安装软件包命令的方法

1# 使用apt-get 或者apt命令安装软件包
该方法是ubuntu系统下的最常用的安装方法,该方法要求你提前配置好ubuntu软件装源, 并且需要经常运行apt-get update 命令,以保证软件源里的软件版本是最新的。Apt-get 命令安装软件包的时候会把下载的软件包保存到/var/cache/apt/archives目录,并进行安装, 而且更重要的是可以解决软件包安装中的依赖问题。
执行下面的命令:

$ sudo apt-get install 软件包名

使用apt-get命令安装wget工具
执行下面命令:

$ sudo apt-get install wget

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
wget
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 245 个软件包未被升级。
需要下载 298 kB 的归档。
解压缩后会消耗 901 kB 的额外空间。
获取:1 http://mirrors.aliyun.com/ubuntu xenial-updates/main amd64 wget amd64 1.17.1-1ubuntu1.2 [298 kB]
已下载 298 kB,耗时 0秒 (1,325 kB/s)
正在选中未选择的软件包 wget。
(正在读取数据库 ... 系统当前共安装有 181686 个文件和目录。)
正准备解包 .../wget_1.17.1-1ubuntu1.2_amd64.deb  ...
正在解包 wget (1.17.1-1ubuntu1.2) ...
正在处理用于 install-info (6.1.0.dfsg.1-5) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 wget (1.17.1-1ubuntu1.2) ...

2# 安装deb软件包
在ubuntu系统下默认的软件包扩展名为deb,这种deb包是debian系统下的软件包管理方式, 因为ubuntu系统是基于debian系统后更改的版本,所有deb格式也是ubuntu系统下的默认软件包格式。Deb软件包的安装需要使用dpkg命令或者在图形界面下,直接双击安装即可。通常情况下我们是在命令行下安装deb软件包。执行下面的命令:

$ sudo dpkg    –i     package.deb
dpkg命令常用选项介绍如下:
dpkg -r package 删除包
dpkg -P package 删除包(包括配置文件)
dpkg -L package 列出与该包关联的文件
dpkg -l packag 显示该包的版本e
dpkg –unpack package.de 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包

3# Ubuntu源码包编译安装方式
如果你只有源码包而没有下载到deb软件包,那么可以通过编译安装的方式来安装软件包。在编译安装之前,需要先建立编译环境,使用以下命令建立基本的编译环境:

$ sudo apt-get install build-essential

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
build-essential 已经是最新版 (12.1ubuntu2)。
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 245 个软件包未被升级。

通常情况下我们下载到的源码包.tar, .tar.gz, .tgz, .tar.bz等格式, 当然也并不是所有以.tar ,.tar.gz等为扩展名的文件都是源码压缩包,它们也有可能已经被编译过了,压缩包里面会有一个安装程序(Installer)或者扩展名为bin的可执行文件.
编译安装的步骤如下:
a) tar xvf 源码包.tar.gz
b)进入解压后的源码包目录,查看readme或者相关说明即可找到安装的方法(下面方法仅是通常做法,具体最好参照源码包的说明)。
c) ./configure make sudo make install
编译安装方式需要我们自己解决软件包安装的依赖问题,如果在安装过程报依赖问题,我们可以使用apt-get 命令去尝试安装,之后再进行编译安装。
4# 使用新立得软件包管理器安装
使用新立得软件包管理器:系统系统管理新立得软件包管理器,输入想要安装的软件名字,搜到后右击选“标记以安装”,然后点击菜单栏下面的“应用”即可。这个工具其实跟apt一样,可以搜索,下载,安装ubuntu源里的软件。
5# 二进制包的安装方式
对于扩展名为bin, run,sh等的文件或者没有扩展名的二进制文件安装(此类型为Linux通用的2进制安装包,可能只对应x86,也可能包括x86-64支持),使用下面的命令安装:

$ chmod u+x  二进制包.bin
./二进制包.bin

6# rpm包的安装方式
Ubuntu系统下默认只支持deb格式的软件包安装,如果想安装rpm格式的软件包,首先我们需要安装一个rpm转deb的软件

sudo apt-get install alien

然后就可以对rpm格式的软件转换成deb格式了:

alien -d *.rpm

然后就可以用deb的安装方式进行软件安装。也可以不需转换而直接对rpm包进行安装:

alien -i *.rpm

更多的alien使用方法可以用-h参数查看相应说明文档。

Ubuntu mate软件安装

MATE 是经典桌面 Gnome 2 的分支,该桌面按照 window 用户操作习惯设计,适合于 windows 转投 Linux 的初级用户,MATE 做了功能改进和新增功能。如:增加窗口管理器支持;使用 Caja 文件管理器;使用 Marco 窗口管理器,添加并排平铺;面板新增支持运行对话框和菜单打开快捷键扥等。
ubuntu mate安装软件1
安装 MATE,MATE 1.8 还没有进入官方库,相信不久就会更新,现在安装的版本为 1.6,支持 Ubuntu 13.10,13.04,12.10和Ubuntu 12.04及其衍生版本。
打开终端,输入以下命令:

sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu saucy main"
 sudo apt-get update
 sudo apt-get install mate-archive-keyring
 sudo apt-get update
 sudo apt-get install mate-core mate-desktop-environment

安装完成之后,注销就可以在登陆界面选择 MATE:
ubuntu mate安装软件5

ubuntu 安装 R Rstudio

R语言安装
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具
下面我们来介绍R语言的安装方法:
1# 使用apt-get 安装R
执行下面的命令:

$ sudo apt-get install r-base

如果安装失败的话,那有可能是当前的软件源里没有该软件包,我们需要添加新的软件源。 通过vim命令打开配置文件/etc/apt/sources.list, 然后添加下面的行:

deb http://ftp.ctex.org/mirrors/CRAN/bin/linux/ubuntu maverick/

保存文件并退出,重新更新软件源,并重新安装,执行下面命令:

$ sudo apt-get update
$ sudo apt-get install r-base

命令输出如下:

root@devops-virtual-machine:~# apt-get install r-base
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
autoconf automake autotools-dev  …
建议安装:
autoconf-archive gnu-standards autoconf-doc libtool devscripts gcc-5-locales
…
下列新】软件包将被安装:
autoconf automake autotools-dev bzip2-doc cdbs debhelper
…
下列软件包将被升级:
cpp-5 g++-5 gcc-5 gcc-5-base libasan2 libatomic1 libcc1-0 libcilkrts5
libgcc-5-dev libgomp1 libitm1 liblsan0 libmpx0 libquadmath0 libstdc++-5-dev
libstdc++6 libtsan0 libubsan0
升级了 18 个软件包,新安装了 62 个软件包,要卸载 0 个软件包,有 227 个软件包未被升级。
需要下载 83.9 MB 的归档。
解压缩后会消耗 121 MB 的额外空间。
您希望继续执行吗? [Y/n]Y
…
正在设置 r-base-html (3.2.3-4) ...
正在设置 dh-strip-nondeterminism (0.015-1) ...
正在设置 debhelper (9.20160115ubuntu3) ...
正在设置 dh-translations (129) ...
正在设置 cdbs (0.4.130ubuntu2) ...
正在设置 r-base-dev (3.2.3-4) ...
正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...

R语言安装完成手,我们在命令行下执行命令R,既可以进入R语言环境:

root@devops-virtual-machine:~# R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。
R是个合作计划,有许多人为之做出了贡献.
用'contributors()'来看合作者的详细情况
用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。
用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.
>

RStudio IDE工具的安装
RStudio是一款跨平台的R语言IDE,把常用的窗口都整合在让开发者,不用在命令行和绘图窗口跳来跳去,RStudio全部都在一个窗口,让你更方便的来控制。R语言,一直来都没有一个很好的IDE,RStudio算是给R补充了这一块。
1# 下载RStudio deb软件包
执行下面命令:

$ wget https://download1.rstudio.org/rstudio-xenial-1.1.383-amd64.deb

2# 使用dpkg –i 命令安装刚才下载的deb软件包

$ sudo dpkg –i  rstudio-xenial-1.1.383-amd64.deb

如果想了解更多关于R语言的知识,可以参考其官方站点: https://www.r-project.org

ubuntu 查询软件包是否安装

在ubuntu系统下面我们可以使用dpkg –l 来查看或查询已经安装的软件包。

$dpkg –l 软件包名

Ubuntu下彻底并安全的卸载删除软件

apt-get remove --purge 软件包名 # 移除软件包的应用及配置
apt-get autoremove                         # 移除没有依赖关系的包

linux下的软件基本都会需要其他的软件来依赖,在安装某个软件的时候,会连同依赖包也一并安装。
apt-get remove 软件包 就是删除该软件包 但不会删除依赖的软件包,因为有可能会有别的软件包对该依赖包有依赖关系,所以不会对依赖包进行删除。
apt-get autoremove 是专门用来检测并删除那些不再“依赖”的包。
更多阅读:ubuntu下必装的使用软件
本文永久链接:https://www.osetc.com/archives/20422.html
 

20款 Ubuntu 系统下必装的软件应用

如果将ubuntu系统作为我们日常工作或生活使用的桌面系统,那么在安装完ubuntu linux系统后,可能需要要安装很多常用的或者很必要的软件应用,下面将会列出ubuntu系统下最常用的必装的20款应用。
如果你每天都使用Ubuntu桌面的话,肯定有一些心得,哪些应用好用,哪些不好用。在本文中,Datamation网站作者Matt Hartley将分享20款实用的Ubuntu应用。这些应用涵盖生产工具以及基于Web的工具。
一、Dropbox在Web上有无数种方式将你与其他人连接,但只有Dropbox能实现最轻松的连接。从共享文件到发送图片给其他人查看,Dropbox可以共享文件与目录,而不需要将自己的计算机暴露在所有人面前。Dropbox让人喜欢的地方在于能与Ubuntu桌面以及安卓手机兼容。如果你使用苹果手机,它也可以访问iOS。
ubuntu dropbox
二、Parcellite在一天的工作中,如果需要在内存中复制大量URL,那么不需要将这些URL复制进文本中,只需要通过叫做Parcellite的粘贴板即可完成访问。Parcellite支持自定义热键,只捕捉热链接,甚至可以设置Parcellite避免空白和修剪换行符。如果经常有大量的复制粘贴工作,Parcellite是不可或缺的好帮手。
ubuntu Parcellite
三、 Wunderlist它其实也是Google Calendar的替代品,功能强大。Wunderlist完全是个跨平台的,能支持Ubuntu、安卓等。它能轻松快速地管理任何任务。Wunderlist最酷的一个功能是通过应用或通过发送邮件创建新任务。
ubuntu Wunderlist
四、gscan2pdf如果你严重依赖文件扫描,使用gscan2pdf进行发票、收据扫描以及相关任务。最爽的是它能将多个文件整合在一个PDF文件中。更妙的是能扫描不同镜像格式。有了以上这些功能,再加上扫描控制选择,gscan2pdf是个必须拥有的应用。
gscan2pdf
五、gMTP虽然不需要每天都访问MP3播放器,但是,安装gMTP还是有必要的。当播放列表需要更新时,或者想在iRiver MP3播放器上作些更改,就要用到gMTP。虽然很多软件音乐管理器提供MTP支持,比如我的iRiver设备,但gMTP提供更一直的体验。它能轻松进行删除、添加或其他功能。
六、FreetuxTV如果在不同对象中工作,这个应用可以在后台打开并运行。FreetuxTV依赖不同的网络电视机和网络收音机内容资源。通过FreetuxTV能轻松访问CNN和其他本地新闻台,还可以进行录制功能。
ubuntu FreetuxTV
七、gPodder它提供了你感兴趣的领域最新发生的动作同步的功能。不像以上的应用,gPodder可轻松订阅播客,还能选择想要的媒体播放器。使用gPodder最酷的是可以同步媒体播放器或智能手机,所以能随身携带你喜欢的播客。
八、Skype Call Recorder不像其他应用,这款应用使用的时候要小心。只能在授权访问允许的情况下才能使用Skype Call Recorder并做好记录,要遵守当地法律法规。如果将来有什么问题的话,可以查看记录。
九、VLC这是款使用起来最轻松的媒体播放器。不想其他软件媒体播放器,VLC啥都能播,也不会出现延迟情况。而且,VLC播起DVD来得心应手。它也可以从网络摄像头捕捉视频。
十、LibreOffice可能很多人能轻松使用LibreOffice,其实不然。多数情况下,LibreOffice在进程和电子表格方面提供的功能很丰富。如果老用到写文章的Writer与处理个人经济的Calc,LibreOffice是个不错的选择。
十一、Pithos工作期间,除了听音乐,还有什么能打发时间嘛?可以试试装个Pandora,它因为Pithos而为人熟知。如果在浏览器中运行Pandora,Pithos就能提供好多好多功能。比如喜欢、不喜欢、跳过等所有Pandora的功能都有,最好的是能屏蔽广告。
十二、Chromium如果之前你很依赖火狐,现在可以使用Chromium,除非每个浏览器更新,否则不会推荐插件。
十三、Y PPA Manager如果在Ubuntu上运行的PPA数量多得要超过负荷的话,可通过使用Y PPA Manager去控制PPA。如果添加、移除或进行PPA备份,Y PPA Manager可节省大量时间。
Y PPA Manager
十四、OpenShot如果你经常需要用到视频编辑器的话,推荐使用OpenShot。其最新版本更强悍,Blender集成是比其他视频编辑器好用的缘由。通过Blender可轻松生成3D标题,然后使用OpenShot输入进所选的文件格式中,因此视频创建也变得很有趣。
ubuntu OpenShot
十五、Kazam该软件在Ubuntu 12.10上运行有点问题,但在Ubuntu 12.04上运行得很好。它可以图解如何使用Ubuntu完成大量任务,从对现有软件微调到对大问题进行故障排除都能用。Kazam可生成一个奇妙的截屏显示,然后上传到YouTube分享给大家。
十六、pavucontrolUbuntu Unity环境提供的音频控制有很多需要改进的地方。如果你从不使用USB音频设备,也不想从Skype这样的应用切换到另一个录音设备的话,那没问题。但还是推荐pavucontrol,在进行Skype呼叫时,能轻松从网络摄像头麦克风切换到USB耳机。它也能轻松排除是否由于Ubuntu安装造成的音频漏洞。
十七、GIMP运行Linux的桌面经常会用到GIMP。新版GIMP跨所有流行桌面平台提供了很棒的功能。此外,它是个免费软件,但提供了商业软件Photoshop拥有的功能。最炫的是可从Ubuntu知识库获取。
十八、GUVCView无论你是否拥有一个基于UVC的网络摄像头或者差劲的摄像头,GUVCView都是款确保网络摄像头设置完美的好工具。此外,它提供了与知名Cheese同样的功能。录制视频、捕获静态影像,甚至加入夸张效果,让你的网络摄像头视频看起来与众不同。
十九、FileZilla如果你在不同服务器上使用WordPress,那么拥有一个FTP客户端非常关键,能让网站以最佳状态运行。受信任的FTP软件,本文推荐使用Filezilla。它在sFTP与标准FTP连接做得很好,提供管理多站点FTP登陆的工具,能一次性轻处理大量FTP连接。
ubuntu FileZilla
二十、HPLIP作为一名Ubuntu爱好者,使用惠普一体化打印机能节省大量时间,这是多年经验之谈。利用SANE与OpenPrinting功能,惠普打印机通过叫做HPLIP的工具集提供了大量选项。不似Ubuntu提供的默认打印机对话框,HPLIP还提供墨水量信息,wifi控制,以及故障检修工具。最棒的是HPLIP对于照片卡的颗粒控制,还能复制与扫描。 参考:http://os.51cto.com/art/201211/368336.htm
本文永久链接:https://www.osetc.com/archives/20410.html

Ubuntu 安装教程及相应软件JDK、MySQL 和Chrome安装(史上最全!)

本文将会详细讲述如何在VMware workstation工具里安装 Ubuntu 系统(以ubuntu 16.04系统为例),并会介绍在Ubuntu 安装后,如何来安装常用的Ubuntu应用软件,比如:JDK,MySQL 和Chrome浏览器。

Ubuntu 系统是以桌面应用为主的开源Linux发行版本,其支持x86, Amd 64 以及ppc系统架构,目前广泛应用于个人电脑,平板电脑,只能手机,并且现在也开发出来服务器以及云版本。在大多数的国内外主机服务提供商里(阿里云,Amazon, linode等),都会提供安装ubuntu 14.04/16.04 等版本的主机。

Ubuntu 怎么读

对于很多初学者来说,可能都有有个疑问,”ubuntu” 到底该怎么读?
我们从官方了解到的关于 “ubuntu”的解释,该词源于非洲祖鲁人和科萨人的语言,他们会发“oo-boon-too” 的读音。英文的国际音标为:[uːˈbuːntuː] (这是老美们的读法), 用我们的拼音来读的话,发音类似于: wu ban tu,。 而我们 国内Ubuntu的读法也和这个类似,读作:友帮拓优般图乌班图

Ubuntu iso 镜像文件下载

因为Ubuntu系统是一个免费的Linux发型版本,所有我们可以直接去Ubuntu的官方网站去下载你所需要的安装包。其下载地址如下:
Ubuntu Iso镜像文件官方下载地址:
Ubuntu 16.04 LTS 长期支持版本 64位:http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-amd64.iso
Ubuntu 16.04 LTS 长期支持版本 32位: http://releases.ubuntu.com/16.04/ubuntu-16.04.3-desktop-i386.iso
Ubuntu 17.04 版本 64位:http://releases.ubuntu.com/17.04/ubuntu-17.04-desktop-amd64.iso
Ubuntu 17.04 版本32位:http://releases.ubuntu.com/17.04/ubuntu-17.04-desktop-i386.iso
Ubuntu 14.04 LTS 长期支持版本 64位:http://mirrors.163.com/ubuntu-releases/14.04.5/ubuntu-14.04.5-desktop-amd64.iso
Ubuntu 14.04 LTS 长期支持版本 32位: http://mirrors.163.com/ubuntu-releases/14.04.5/ubuntu-14.04.5-desktop-i386.iso
如果你想下载更多其他版本的ubuntu安装包,可以去ubuntu官方下载(由于官方提供的下载地址,iso镜像服务器可能都在国外,所以下载速度可能会比较慢)或者去163镜像官方站去下载不同的版本号的安装包, 地址为:http://mirrors.163.com/ubuntu-releases/  , 也可以去中科院开源镜像站,地址为:http://mirrors.opencas.org/ubuntu-releases/ , 这两个站的下载速度都还不错。

Ubuntu 16.04安装

下面我们会通过详细的图文教程来讲述如何来安装Ubuntu 16.04 操作系统。
1#  首先打开虚拟机软件vmware workstation 或者 oracle的virtualBox. (本教程使用vmware workstation)
Ubuntu 安装教程1
2#  创建一个新的虚拟机,点击 ”文件”-> “创建新的虚拟机” –> 选择 “Custom” -> “next
Ubuntu 安装教程1
Ubuntu 安装教程1
Ubuntu 安装教程1
Ubuntu 安装教程1
3#  输入虚拟机的名字,如:ubuntu 16.04 guide , 如果需要更改虚拟机的安装位置,可以点击“Browse…”,更改安装后的位置。
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
Ubuntu 安装教程
4#  点击“Edit virtual machine settings” 来编辑新创建的虚拟机的设置, 指定你要安装系统的iso镜像文件地址。
Ubuntu 安装教程
Ubuntu 安装教程
5# 点击”Power on this virtual machine” 来启动虚拟机,开始安装ubuntu系统
Ubuntu 安装教程
6#  在安装界面的最左侧的语言栏,选中“中文(简体)”,此时,界面会从英文变成中文简体界面。然后点击“安装ubuntu” 按钮
Ubuntu 安装教程
7# 接下来是要检测准备情况,在继续之前你可以选中下面两个安装更新选项,这样可以节省你安装后的更新系统所需要的时间。如果你没有连接到互联网,第一选项将会是灰色的无法选择,但你可以选择第二并继续安装。当然也可以两个都不选择。
Ubuntu 安装教程
8#  Ubuntu分区方案
常用的两个分区方案如下(以磁盘大小100G为例):
方案一: 只创建根分区“/” 和交换分区”swap”, 这种简单的分区方案足以满足大多数的日常应用
方案二:创建 根分区”/”  ,分区大小为30G,分区文件系统格式为:Ext4
创建交换分区 “swap”,  分区大小和主机内存大小一样即可。 分区格式为swap
创建boot分区,用来存放内核文件引导linux系统启动,大小为500M即可, 分区文件系统格式选择Ext4
本ubuntu 安装教程选择默认安装,点击“清楚真个磁盘并安装ubuntu”, 并点击“现在安装” 按钮
Ubuntu 安装教程
9# 在弹出的“将改写写入磁盘吗?” 窗口, 选择“继续”来确认你的分区方案,进入下一步骤
Ubuntu 安装教程
10#  选择你当前位置,如输入:beijingshi
Ubuntu 安装教程
11# 选择键盘布局
Ubuntu 安装教程
12#  输入相关的信息,比如姓名,计算机名,用户名和密码
Ubuntu 安装教程
13# 系统正式开始安装。。。。
Ubuntu 安装教程
14# 安装完成后,重新启动系统。
Ubuntu 安装教程
在安装完ubuntu系统后,我们可能会安装一些常用的应用软件,比如搜狗拼音输入法,JDK 开发环境,chrome浏览器等。下面我们来介绍如何在ubuntu系统下安装这几种常用的应用软件。

Ubuntu 安装搜狗输入法

在安装完系统后,可能我们第一个要装的软件应该是中文输入法了,而我们常用的中文输入法是搜狗拼音输入法,可以参照下面的文章去了解如何在ubuntu系统下安装搜狗拼音输入法。
阅读:Ubuntu 系统下安装搜狗拼音输入的方法

Ubuntu系统安装Chrome 浏览器

Ubuntu系统安装后默认会安装Firefox火狐浏览器,打开浏览器,进入google chrome浏览器官网下载chrome浏览器的deb安装包。下载地址为:http://www.google.cn/intl/zh-CN/chrome/browser/desktop/index.html
1# 点击”下载chrome” 按钮
Ubuntu系统安装Chrome 浏览器1
2# 选择下载包 64bit deb, 并点击 “接受并安装”按钮
Ubuntu系统安装Chrome 浏览器1
3# 接下来Firefox 浏览器会询问你如何打开这个下载的deb软件包,你可以选择默认的打开方式,通过ubuntu software center。 也可以将deb软件包保存在指定的目录下。(本教程将会使用默认的方法)
Ubuntu系统安装Chrome 浏览器1
如果选择了第一种打开方式,那么google chrome deb 软件包将会被保存到/tmp/mozilla_$username 目录里。 一旦下载完成后,ubuntu 软件中心会自动打开。 你只需要点击“安装”按钮,就可以安装google chrome 稳定版本到系统上。

如果此时安装失败,那是因为在安装chrome软件包的时候,有软件包依赖的问题。执行下面的命令解决依赖问题:

$ sudo agpt-get install  google-chrome-stable
$ sudo apt-get install -f

命令输出如下:

[sudo] devops 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在修复依赖关系... 完成
将会同时安装下列软件:
libappindicator1 libindicator7
下列【新】软件包将被安装:
libappindicator1 libindicator7
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 143 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 41.2 kB 的归档。
解压缩后会消耗 165 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 libindicator7 amd64 12.10.2+16.04.20151208-0ubuntu1 [21.9 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libappindicator1 amd64 12.10.1+16.04.20170215-0ubuntu1 [19.4 kB]
已下载 41.2 kB,耗时 0秒 (305 kB/s)
正在选中未选择的软件包 libindicator7。
(正在读取数据库 ... 系统当前共安装有 180114 个文件和目录。)
正准备解包 .../libindicator7_12.10.2+16.04.20151208-0ubuntu1_amd64.deb  ...
正在解包 libindicator7 (12.10.2+16.04.20151208-0ubuntu1) ...
正在选中未选择的软件包 libappindicator1。
正准备解包 .../libappindicator1_12.10.1+16.04.20170215-0ubuntu1_amd64.deb  ...
正在解包 libappindicator1 (12.10.1+16.04.20170215-0ubuntu1) ...
正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
正在设置 libindicator7 (12.10.2+16.04.20151208-0ubuntu1) ...
正在设置 libappindicator1 (12.10.1+16.04.20170215-0ubuntu1) ...
正在设置 google-chrome-stable (61.0.3163.100-1) ...
update-alternatives: 使用 /usr/bin/google-chrome-stable 来在自动模式中提供 /usr/bin/x-www-browser (x-www-browser)
update-alternatives: 使用 /usr/bin/google-chrome-stable 来在自动模式中提供 /usr/bin/gnome-www-browser (gnome-www-browser)
update-alternatives: 使用 /usr/bin/google-chrome-stable 来在自动模式中提供 /usr/bin/google-chrome (google-chrome)
正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...

6# 如果在第三步选择了将软件包保存到指定目录下, 那么可以使用下面的dpkg -i 命令来直接安装chrome deb软件包。

$ sudo dpkg -i  google-chrome-stable_current_amd64.deb

如果遇到依赖问题,可以通过执行下面命令解决:

$ sudo agpt-get install  google-chrome-stable
$ sudo apt-get install -f

再次执行dpkg -i  google-chrome-stable_current_amd64.deb
7# 我们来看下安装后的结果
Ubuntu系统安装Chrome 浏览器5
Ubuntu系统安装Chrome 浏览器5

Ubuntu 安装 JDK 8

下面我们会将如何通过下载源码包来安装java jdk 8. 因为oracle 官方已经不支持对JDK 7的下载,所有本教程值讲述如何来安装jdk 8.
1# 首先要添加ppa安装源
执行下面的命令:

$ sudo add-apt-repository ppa:webupd8team/java

命令输出如下:

[sudo] devops 的密码:
 Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Ubuntu 16.10 Yakkety Yak is no longer supported by Canonical (and thus, Launchpad and this PPA). The PPA supports Ubuntu 17.10, 17.04, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):
- for Oracle Java 7: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
Oracle Java 9 (for both Ubuntu and Debian): http://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html
Oracle JDK 9 is now considered stable. There are currently only 64bit builds (no other builds are available for download: http://www.oracle.com/technetwork/java/javase/downloads/index.html )
 更多信息: https://launchpad.net/~webupd8team/+archive/ubuntu/java
按回车继续或者 Ctrl+c 取消添加
gpg: 钥匙环‘/tmp/tmp77dgqq2l/secring.gpg’已建立
gpg: 钥匙环‘/tmp/tmp77dgqq2l/pubring.gpg’已建立
gpg: 下载密钥‘EEA14886’,从 hkp 服务器 keyserver.ubuntu.com
gpg: /tmp/tmp77dgqq2l/trustdb.gpg:建立了信任度数据库
gpg: 密钥 EEA14886:公钥“Launchpad VLC”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)
OK
$ sudo apt-get update

2# 安装jdk8 oracle-java-installer
执行下面命令:

$ sudo apt-get install oracle-java8-installer

3# 执行下面的命令,将jdk8 设置为默认的Java 运行版本

$ sudo apt install oracle-java8-set-default

4# 下面我们可以来检测一下JDK8 是否安装成功
执行命令:

$ java –version

命令输出:

java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
$ javac -version
javac 1.8.0_144

Ubuntu 安装MySQL

当前最新的MySQL 版本是5.7, 接下来将会讲述如何使用apt-get 命令来安装MySQL 5.7.
1# 更新当前的系统
执行命令:

$ sudo apt update
$ sudo apt upgrade

2# 在ubuntu 16.4 系统上安装MySQL 5.7
执行下面命令:

$ sudo apt-get install mysql-server mysql-client

命令输出如下:

Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following additional packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
  libterm-readkey-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common
  mysql-server-5.7 mysql-server-core-5.7
Suggested packages:
  libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
  libipc-sharedcache-perl mailx tinyca
The following NEW packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
  libterm-readkey-perl mysql-client mysql-client-5.7 mysql-client-core-5.7
  mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.7 MB of archives.
After this operation, 155 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

在运行过程中,需要你输入mysql root的密码。
3#  执行mysql_secure_installation  命令来增强mysql的安全性

$ sudo mysql_secure_installation

mysql_secure_installation命令会要求你更改root的密码,并且禁用或删除MySQL服务器中的匿名用户,关闭MySQL root用户远程登录权限,删除测试数据库,并重新加载授权表的系统。如果你已经完成了所有的步骤,那么MySQL安装将会是比较安全的。

 Ubuntu 手机

Ubuntu公司自从2013年1月份发布了针对手机的智能操作系统,并且与国产手机厂商魅族手机进行了合作,退出了乌班图MX3智能手机系统,但由于ubuntu手机系统的两大竞争对手安卓和苹果实力太过强大,并且占据了大部分市场份额,而且ubuntu手机系统的手机应用也不够多,以及合作的手机厂商太少,最后生存在了4年的ubuntu 手机系统也以失败而告终。

Ubuntu  和Deepin 相比哪个系统更好?

Deepin 基于debian的衍生版本,可以说是当前图形界面做的最华丽最漂亮的linux发型版本之一,对于桌面用户易用性相当强,默认会支持各种中文的应用,比如搜狗输入法,qq,自带chrome流量器等,当然还是有一些小bug, 稳定性还需要提高,如果是初学者的话,上手会很快。
Ubuntu系统发展时间比较长了,现在已经有服务器版本,云版本,手机版本,各方面来说都比较成熟了,产品也很稳定,社区支持也很强大。如果是深入学习的话或者做服务器使用的话,还是推荐使用ubutnu系统,毕竟网络上针对ubuntu系统的资料是最多的。


99%的人还阅读了:

Ubuntu 系统下如何添加具有sudo权限的用户

本文主要讲述如何在ubuntu  系统下创建具有sudo或者管理权限的新用户的方法。
Ubuntu下创建新用户的命令格式如下:

Sudo adduser  <用户名>  <组名>

如果要创建sudo 用户,需要将新创建的用户加入到sudo 组里,那么就会具有sudo用户的权限。
执行命令:

$ sudo adduser  newuser  sudo

新创建的用户在下次登录后会自动生效。
我们可以查看sudo 组的权限信息从/etc/sudoers配置文件, 如下:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

从上面的配置信息可以看到,只要属于sudo用户组,那么就可以执行任何的命令。
 

Ubuntu 系统下如何启用或禁用服务

本文主要讲述如何在ubuntu  系统命令行下启用或禁用相关的服务。

临时启用或者禁用ubuntu相关服务

执行下面的命令:

$ sudo service  service_name  stop|start|restart

以ubuntu下http 服务为例:

$ sudo service apache2 stop  (将会停止apache 服务直到下次重启服务)
$ sudo service apache2 start (启动apache服务)
$ sudo service apache2 restart  (重新启动apache服务,该命令主要是在更改某些配置文件或者跟apache服务相关的配置文件后执行)
$ sudo server apache2 (会显示该服务可以执行的所有操作)

SYSTEMD 启动或停止ubuntu相关服务

从ubuntu 15.04 系统开始,系统主要使用systemd 来管理所有的服务。

Systemctl  start service_name  - 启动ubuntu服务
Systemctl  stop  service_name   - 停止ubuntu服务
Systemctl restart service_name  - 重启ubuntu服务
Systemctl  reload service_name  - 如果相应的服务支持reload, 那么可以重新加载更改后的配置文件,而不需要终端任何正在运行的进程。
Systemctl  status service_name  - 显示服务的状态信息,来查看服务是否启动
Systemctl enable service  - 启用服务,在下一次重启系统后,依旧有效。
Systemctl disable service  - 停止服务, 在重启系统后,依旧有效
Systemctl is-enabled service  - 查看服务服务是否在下一次重启后启动
Systemctl  is-active SERVICE -  查看服务是否是Active状态
Systemctl  show SERVICE  - 显示所有关于该服务的信息

 

Ubuntu 系统命令行下安装.deb 文件

本文主要讲述如何在ubuntu 16.4 系统命令行下安装.deb 软件包。Deb格式的软件包主要是在ubuntu系统下软件包格式。

安装deb软件包

执行下面的命令:

$ sudo dpkg -I deb软件包

如果单独安装deb软件包,在安装的时候可能会遇到软件包依赖的问题,那么需要使用apt-get install  -f 命令来下载所需要的deb软件包并安装。

删除已安装的deb软件包

执行下面的命令:

$ sudo dpkg -r  软件包名

重新配置已经安装的软件包

执行命令:

$ sudo dpkg-reconfigure  软件包名

列出所有已安装的软件包

$ sudo dpkg -l | less

查看软件包是否安装

$ dpkg –l  软件包名

从指定位置安装deb软件包

$ sudo dpkg -R --install  软件包位置
$ sudo dpkg -R --install /root/test.deb

显示deb软件包的内容

$ sudo dpkg -p  软件包名
$ sudo dpkg -p firefox

查看deb软件包的信息

$ sudo dpkg -I  软件包名
$ sudo dpkg  - I  test.deb

解压缩并显示deb软件包里的内容

$ sudo dpkg -X {软件包名} {目的位置}
$ sudo dpkg -X test.deb /home/

更多关于dpkg的用法,可以使用man dpkg 命令查看。

$ man dpkg

 


99%的人还阅读了:

Ubuntu 系统下如何删除已经添加的PPAs

本文主要讲述如何在ubuntu 16.4 系统下删除使用add-apt-repository 命令添加的PPAs.

使用add-apt-repository  命令的—remove 选项来删除PPAs

执行下面的命令:

$ sudo add-apt-repository –remove ppa:repo_name/subdirectory

删除PPAs以及PPA安装或更新过的软件包

1#首先安装ppa-purge 软件包
执行下面的命令:

$ sudo apt-get install ppa-purge

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装:
aptitude
下列【新】软件包将被安装:
ppa-purge
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
需要下载 6,312 B 的归档。
解压缩后会消耗 24.6 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 ppa-purge all 0.2.8+bzr63 [6,312 B]
已下载 6,312 B,耗时 0秒 (70.1 kB/s)
正在选中未选择的软件包 ppa-purge。
(正在读取数据库 ... 系统当前共安装有 180004 个文件和目录。)
正准备解包 .../ppa-purge_0.2.8+bzr63_all.deb  ...
正在解包 ppa-purge (0.2.8+bzr63) ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 ppa-purge (0.2.8+bzr63) ...

2# 删除PPA仓库以及已经安装的软件包
执行下面的命令:

$ sudo ppa-purge ppa:webapps/preview

 

Ubuntu 系统下如何从命令行下解压缩一个zip文件

本文主要讲述如何在ubuntu 16.4 系统下解压缩出一个zip压缩文件。 当你下载了一个zip格式的压缩文件后,如何在命令行下解压缩这个zip文件呢?

1#安装unzip软件包

执行下面的命令:

$ sudo apt-get intall unzip

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
unzip
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
需要下载 158 kB 的归档。
解压缩后会消耗 530 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 unzip amd64 6.0-20ubuntu1 [158 kB]
已下载 158 kB,耗时 0秒 (759 kB/s)
正在选中未选择的软件包 unzip。
(正在读取数据库 ... 系统当前共安装有 179922 个文件和目录。)
正准备解包 .../unzip_6.0-20ubuntu1_amd64.deb  ...
正在解包 unzip (6.0-20ubuntu1) ...
正在处理用于 mime-support (3.59ubuntu1) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 unzip (6.0-20ubuntu1) ...

2#Unzip工具解压缩zip文件

使用刚才安装的unzip工具,来解压缩zip文件。 比如要解压缩一个zip文件到特定的目的目录,执行下面的命令:

$ unzip test.zip  -d  目的目录

 

7z 工具解压缩zip文件

1# 首先安装7z工具,执行下面的命令:

$ sudo apt-get install p7zip-full

命令输出:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装:
p7zip-rar
下列【新】软件包将被安装:
p7zip-full
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
需要下载 919 kB 的归档。
解压缩后会消耗 3,959 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 p7zip-full amd64 9.20.1~dfsg.1-4.2 [919 kB]
已下载 919 kB,耗时 1秒 (867 kB/s)
正在选中未选择的软件包 p7zip-full。
(正在读取数据库 ... 系统当前共安装有 179940 个文件和目录。)
正准备解包 .../p7zip-full_9.20.1~dfsg.1-4.2_amd64.deb  ...
正在解包 p7zip-full (9.20.1~dfsg.1-4.2) ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 p7zip-full (9.20.1~dfsg.1-4.2) ...

2# 解压缩zip文件

$ sudo 7z x test.zip

3# 7z命令查看zip文件里的内容

$ sudo 7z l  test.zip

 

Ubuntu 系统下如何列出所有已安装的软件包

本文将会讲述如何在Ubuntu系统下列出所有已经安装的软件包,并将其保存在特定的文件里。

对于ubuntu 14.04/ ubuntu 16.04 或者以上版本

我们可以使用apt 工具来查看已经安装的软件包,输入下面的命令:

$ apt list --installed

对于老版本的ubuntu系统

执行下面的命令,来获取已安装软件包的列表:

$ dpkg --get-selections | grep -v deinstall

命令输出如下:

accountsservice                                 install
acl                                             install
acpid                                           install
adduser                                         install
ansible                                         install
......

查看特定软件包是否安装

执行下面的命令:

$ dpkg --get-selections | grep wget

命令输出如下:

wget                                            install

将查找到的所有已安装软件包列表保存到当前目录的pkg文件里

执行下面的命令:

$dpkg --get-selections |grep -v deinstall > ./pkg

我们也可以使用dpkg -l 命令来列出所有已安装的软件包,以及软件包的详细信息,包括版本号, 体系结构,以及软件包的简要描述。
执行命令:

$ dpkg -l

命令输出如下:

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                             版本                  体系结构:            描述
+++-================================-=====================-=====================-======================================================================
ii  accountsservice                  0.6.40-2ubuntu11.3    amd64                 query and manipulate user account information
ii  acl                              2.2.52-3              amd64                 Access control list utilities
ii  acpid                            1:2.0.26-1ubuntu2     amd64                 Advanced Configuration and Power Interface event daemon
ii  adduser                          3.113+nmu3ubuntu4     all                   add and remove users and groups

 
 

Ubuntu 系统下NASM编译出错问题的解决方法

本文主要讲述如何在ubuntu 16.04/14.04系统下解决使用NASM编译文件时出现的问题(ld:i386 架构于输入文件与i386:x86-64输出不兼容)的解决方法。
1# 先查看当前ubuntu系统的cpu架构

$ uname -a
Linux ubuntutest 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

从上面的输出可以看到,cpu是x86 64位
2# elf参数使用el64,执行下面的nasm编译命令

$ nasm -f elf64 -g -F stabs sandbox.asm -o sandbox.o ld -o sandbox sandbox.o

3# 如果要兼容编译32位模式,可以使用下面的nasm命令:

$ nasm -f elf -g -F stabs sandbox sandbox.asm -o sandbox.o ld -m elf_i386 -o sandbox sandbox.o

 
 
 
 
 

Ubuntu系统下”Failed to start /etc/rc.local Compatibility”错误的解决方法

本文主要讲述在ubuntu 16.04/14.04 系统下在启动时出现或者查看rc-local状态时出现“failed to start /etc/rc.local compatibility”错误时的解决方法。
1# 查看/etc/rc.local 配置文件里的启动项,将有可能会导致错误的启动项注释掉。
2# 重启rc-local 服务

$ sudo systemctl restart rc-local.service

3# 再次查看rc-local 服务的状态信息

$ sudo systemctl status rc-local.service
rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since 一 2017-08-28 11:30:06 CST; 2h 56min ago
Process: 1219 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
8月 28 11:30:05 ubuntutest systemd[1]: Starting /etc/rc.local Compatibility...
8月 28 11:30:06 ubuntutest systemd[1]: Started /etc/rc.local Compatibility.

 
 
 

Ubuntu 系统下安装Android studio工具的方法

本文主要讲述如何在ubuntu 16.04/14.04 系统下安装android studio开发工具包的方法。
1# 下载android studio 工具包到本地(https://dl.google.com/dl/android/studio/ide-zips/2.3.3.0/android-studio-ide-162.4069837-linux.zip)
2# 配置好ubuntu linux下的java环境
3# 减压缩工具包

$ unzip android-studio-ide-162.4069837-linux.zip

4# 进入 /android-studio/bin 目录下,运行 studio.sh 安装脚本文件

$ ./ studio.sh

 
 

Xshell 远程ssh连接Ubuntu系统的方法

本文主要讲述如何使用Xshell工具远程登录ubuntu 16.04/14.04 系统的方法。
1# 从xshell 官方下载该软件并安装(http://www.netsarang.com/download/down_xsh.html)。
2# 安装openssh软件包。默认情况下,ubuntu系统没有安装Openssh服务,所以需要手动安装

$ sudo apt-get install openssh-server

3# 启动sshd 服务

$ sudo systemctl start sshd

4# 使用vi工具编辑/etc/ssh/sshd_config配置文件,找到下面的行:

PermitRootLogin prohibit-password

将上面的行改成为:

permitRootLogin yes

保存退出。
5# 重启sshd服务

$ sudo systemctl restart sshd

6# 打开xshell 工具,输入ubuntu系统的ip地址,以及用户名和密码。就可以正常登陆了。

Ubuntu 系统下如何安装rpm软件包

本文主要讲述如何在ubuntu16.04/14.04 系统下安装rpm格式的软件包。默认情况下,ubuntu系统只支持deb格式的软件包安装。在ubuntu系统下我们需要使用alien工具去安装rpm软件包。
1# 安装alien工具

$ sudo apt-get install alien

2# 通过alien命令安装rpm软件包

$ alien rpm软件包名

上面的alien命令会将rpm软件包转换成deb软件包
3# 使用dpkg命令安装转换后的deb软件包

$ sudo dpkg -i 软件包.deb

Ubuntu 系统下如何找回root密码

本文主要讲述如何在ubuntu16.04/14.04下找回忘记的root密码的方法。
1# 重启ubuntu系统,进入grub引导界面(开机后按F10)
2# 选中“*Advanced options for ubuntu”,点击回车
Ubuntu 系统下如何找回root密码1
3# 选中“recovery mode”行,按“e”来编辑当前选中的启动行。
Ubuntu 系统下如何找回root密码1
4# 将“ro recovery nomodeset”替换为”quiet splash rw init=/bin/bash
Ubuntu 系统下如何找回root密码1
5# 按”CTRL +X” 或 “F10” 重启系统
6# 重启系统后,ubuntu系统会进入一个可读写的行的bash shell 程序,输入下面的命令重新设置ubuntu root 密码

# passwd

Ubuntu系统下移动硬盘无法写入文件的解决方法

本文将会讲述如何在ubuntu 16.04/14.04系统下的挂载后的移动硬盘或U盘只能读取文件,但无法写入文件或者修改文件的解决方法。
1# 查看ubuntu系统磁盘的挂载情况,找到移动硬盘的文件系统信息和挂载点信息
执行下面命令:

$ df -h

命令输出如下:

Filesystem Size Used Avail Use% Mounted on
 udev 989M 0 989M 0% /dev
 tmpfs 200M 3.2M 197M 2% /run
 /dev/mapper/ubuntutest--vg-root 7.0G 2.3G 4.4G 34% /
 tmpfs 999M 0 999M 0% /dev/shm
 tmpfs 5.0M 0 5.0M 0% /run/lock
 tmpfs 999M 0 999M 0% /sys/fs/cgroup
 /dev/xvda1 472M 86M 362M 20% /boot
 tmpfs 200M 0 200M 0% /run/user/0
 /dev/xvda2 1000M 0 1000M 0% /mnt/tdisk

从上面的输出可以看出来,移动硬盘的文件系统是/dev/xvda2, 其挂载点是/mnt/tdisk
2# 从ubuntu系统上卸载移动硬盘

$ sudo umount /mnt/tdisk

3# 使用dosfsck工具修复移动硬盘的文件系统

$ sudo dosfsck -v -a /dev/xvda2

修复完毕后,可以重新挂载移动硬盘。

Ubuntu 系统下搜狗拼音输入法无法输入的问题解决方法

本文将会讲述如何在Ubuntu系统16.04或14.04下解决搜狗拼音输入法能正常启动但不能输出文字或者搜狗输入法无法正常启动的问题的解决方法。
1# 删除ubuntu下的所有的搜狗拼音输入法的配置文件
执行下面的命令:

$ cd ~/.config
Find . -name sogou* | xargs rm -rf
Find .  -name Sougou* | xargs rm -rf

上面的两个find命令将会删除所有的找到的搜狗配置文件。
2# 重启搜狗输入法服务

$ fcitx restart

更多阅读:Ubuntu 系统下安装搜狗拼音输入的方法

Ubuntu 系统下安装搜狗拼音输入的方法

本文主要讲述如何在ubuntu 16.04/14.04 系统下安装最常用的搜狗拼音输入的方法。

方法一:命令行下安装

1# 首先要添加搜狗拼音官方提供的个人软件包集 ppa:fcitx-team/nightly
执行下面的命令:

$ sudo add-apt-repository ppa:fcitx-team/nightly

2# 更新ubuntu系统安装源,并安装搜狗拼音输入法

$ sudo apt-get update
 $sudo apt-get install sogou*

方法二:通过ubuntu 图形界面安装搜狗拼音输入法

1#点击左上角的图标打开Dash,输入update-manager,点击更新管理器
Ubuntu 系统下安装搜狗拼音输入的方法1
2# 在更新管理器中,选择菜单:编辑->软件源,点击添加…按钮,在弹出的窗口中输入ppa:fcitx-team/nightly
点击添加源
Ubuntu 系统下安装搜狗拼音输入的方法1
3# 然后点击重新载入
Ubuntu 系统下安装搜狗拼音输入的方法1
4# 打开Ubuntu软件中心,在搜索栏输入fcitx,将会搜出fcitx,然后按照一般软件安装步骤安装即可完成升级
Ubuntu 系统下安装搜狗拼音输入的方法1
更多阅读:Ubuntu 系统下搜狗拼音输入法无法输入的问题解决方法


99%的人还阅读了:

Ubuntu 系统下KVM环境里启用Virsh console终端访问

本文将会讲述如何在Ubuntu系统下的kvm虚拟化环境中通过virsh console 终端去访问kvm里的ubuntu 16.04 虚机。

1# 使用ssh登录到kvm里的某个ubuntu 16.04 虚机

$ ssh utest@192.168.1.22

2# 在ubuntu虚机里配置串口信息

执行下面的两个命令来启用虚机里的串口访问,这样就可以使用“virsh console”来创建出一个新的连接

$ sudo systemctl enable serial-getty@ttyS0.service
 $ sudo systemctl start serial-getty@ttyS0.service

3# 返回kvm宿主机,查看虚机的name或者id

$ vish list

输出:

Id Name State
 ----------------------------------------------------
 1 ubuntu1 running
 2 ubuntu2 running

4# 从kvm宿主机通过virsh console登录到Ubuntu2的虚机

$virsh console ubuntu2

$ vish console 2

 
 

Ubuntu 下查看并提取deb软件包里的文件

本文将会讲述如何在Ubuntu系统下查看并提取其特有的deb软件包里的文件的方法。
下面我们通过两种方法来提取ubuntu系统下的deb软件包
首先我们先通过下面的apt-get命令下载一个deb软件包:

$ sudo apt-get download wget

命令输出:

获取:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 wget amd64 1.17.1-1ubuntu1.2 [298 kB]
 已下载 298 kB,耗时 0秒 (396 kB/s)

查看下载的deb软件包:

$ ls wget*
 wget_1.17.1-1ubuntu1.2_amd64.deb

方法一:使用ar工具来提取ubuntu里的.deb 软件包

1# 安装ar 工具
执行下面的命令:

$ sudo apt-get install binutils

命令输出如下:

正在读取软件包列表... 完成
 正在分析软件包的依赖关系树
 正在读取状态信息... 完成
 binutils 已经是最新版 (2.26.1-1ubuntu1~16.04.4)。
 binutils 已设置为手动安装。
 下列软件包是自动安装的并且现在不需要了:
 gyp javascript-common libjs-inherits libjs-jquery libjs-node-uuid libjs-underscore libnvpair1linux libssl-dev libssl-doc
 libuutil1linux libuv1-dev libzfs2linux libzpool2linux python-pkg-resources zfs-doc zlib1g-dev
 使用'apt autoremove'来卸载它(它们)。
 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。

2# 使用ar命令提取.deb 包
执行下面的命令:

$  ar vx wget_1.17.1-1ubuntu1.2_amd64.deb

命令输出如下:

x - debian-binary
 x - control.tar.gz
 x - data.tar.xz

3# 使用tar 解压缩命令将上面的压缩文件解压缩

$ tar -xvf control.tar.gz

方法二:通过dpkg-deb命令来提取deb软件包内容

命令格式如下:

dpkg-deb -xv {deb软件包} {提取到目的路径}

执行下面的命令:

$  dpkg-deb -xv wget_1.17.1-1ubuntu1.2_amd64.deb ./test

命令输出如下:

./
 ./usr/
 ./usr/share/
 ./usr/share/doc/
 ./usr/share/doc/wget/
 ./usr/share/doc/wget/NEWS.gz
 ./usr/share/doc/wget/MAILING-LIST
 ./usr/share/doc/wget/changelog.Debian.gz
 ./usr/share/doc/wget/AUTHORS
 ./usr/share/doc/wget/copyright
 ./usr/share/doc/wget/README
 ./usr/share/info/
 ./usr/share/info/wget.info.gz
 ./usr/share/man/
 ./usr/share/man/man1/
 ./usr/share/man/man1/wget.1.gz
 ./usr/bin/
 ./usr/bin/wget
 ./etc/
 ./etc/wgetrc

只查看deb软件包内容不做提取操作
执行下面的命令:

Dpkg  -c {deb软件包}
$ dpkg -c   wget_1.17.1-1ubuntu1.2_amd64.deb

命令输出如下:

drwxr-xr-x root/root         0 2017-03-08 21:56 ./
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/doc/
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/doc/wget/
 -rw-r--r-- root/root     13445 2015-12-12 01:29 ./usr/share/doc/wget/NEWS.gz
 -rw-r--r-- root/root      1957 2015-11-30 22:07 ./usr/share/doc/wget/MAILING-LIST
 -rw-r--r-- root/root      1427 2017-03-08 21:56 ./usr/share/doc/wget/changelog.Debian.gz
 -rw-r--r-- root/root      2182 2015-11-30 22:07 ./usr/share/doc/wget/AUTHORS
 -rw-r--r-- root/root      1420 2012-04-10 01:48 ./usr/share/doc/wget/copyright
 -rw-r--r-- root/root      4064 2015-11-30 22:07 ./usr/share/doc/wget/README
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/info/
 -rw-r--r-- root/root     69543 2017-03-08 21:56 ./usr/share/info/wget.info.gz
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/man/
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/share/man/man1/
 -rw-r--r-- root/root     34040 2017-03-08 21:56 ./usr/share/man/man1/wget.1.gz
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./usr/bin/
 -rwxr-xr-x root/root    474656 2017-03-08 21:56 ./usr/bin/wget
 drwxr-xr-x root/root         0 2017-03-08 21:56 ./etc/
 -rw-r--r-- root/root      4942 2017-03-08 21:56 ./etc/wgetrc

 
 

Ubuntu 下安装最新稳定版Linux内核kernel

本文将会讲述如何在Ubuntu 16.04 LTS 系统下安装最新版的linux内核。 在安装最新版内核前,需要需要考虑系统宕机风险,所以通常情况下,我们最好安装最新的稳定版本。
下面我们通过两种方法来在ubuntu系统下安装最新版的linux内核。

方法一:通过apt安装最新linux版本内核

1# 查看当前系统的linux内核版本

执行下面的命令:

$uname -mrs

命令输出如下:

Linux 4.4.0-62-generic x86_64

2# 查看当前可用的最新版本的linux 内核

执行下面的命令:

$ apt-cache search linux-generic

命令输出如下:

linux-generic - Complete Generic Linux kernel and headers
 linux-generic-lts-utopic - Complete Generic Linux kernel and headers (dummy transitional package)
 linux-generic-lts-vivid - Complete Generic Linux kernel and headers (dummy transitional package)
 linux-generic-lts-wily - Complete Generic Linux kernel and headers (dummy transitional package)
 linux-generic-lts-xenial - Complete Generic Linux kernel and headers (dummy transitional package)
 linux-image-4.4.0-21-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-21-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-generic-hwe-16.04 - Complete Generic Linux kernel and headers
 linux-generic-hwe-16.04-edge - Complete Generic Linux kernel and headers
 linux-image-4.10.0-14-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-19-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-20-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-21-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-22-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-24-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-26-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-27-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-28-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-30-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.10.0-32-generic - Linux kernel image for version 4.10.0 on 64 bit x86 SMP
 linux-image-4.11.0-13-generic - Linux kernel image for version 4.11.0 on 64 bit x86 SMP
 linux-image-4.11.0-14-generic - Linux kernel image for version 4.11.0 on 64 bit x86 SMP
 linux-image-4.4.0-22-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-24-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-28-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-31-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-34-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-36-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-38-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-42-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-43-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-45-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-47-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-51-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-53-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-57-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-59-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-62-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-63-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-64-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-66-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-67-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-70-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-71-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-72-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-75-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-77-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-78-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-79-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-81-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-83-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-87-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-89-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-91-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.4.0-92-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
 linux-image-4.8.0-34-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-36-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-39-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-41-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-42-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-44-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-45-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-46-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-49-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-51-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-52-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-53-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-54-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-56-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-4.8.0-58-generic - Linux kernel image for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-14-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-19-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-20-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-21-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-22-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-24-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-26-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-27-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-28-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-30-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.10.0-32-generic - Linux kernel extra modules for version 4.10.0 on 64 bit x86 SMP
 linux-image-extra-4.11.0-13-generic - Linux kernel extra modules for version 4.11.0 on 64 bit x86 SMP
 linux-image-extra-4.11.0-14-generic - Linux kernel extra modules for version 4.11.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-22-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-24-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-28-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-31-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-34-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-36-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-38-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-42-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-43-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-45-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-47-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-51-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-53-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-57-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-59-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-62-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-63-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-64-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-66-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-67-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-70-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-71-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-72-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-75-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-77-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-78-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-79-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-81-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-83-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-87-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-89-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-91-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.4.0-92-generic - Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-34-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-36-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-39-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-41-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-42-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-44-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-45-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-46-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-49-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-51-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-52-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-53-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-54-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-56-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP
 linux-image-extra-4.8.0-58-generic - Linux kernel extra modules for version 4.8.0 on 64 bit x86 SMP

从上面的命令输出中我们可以看到,当前的最新版本号是4.11.0-14

3# 安装最新的linux内核 4.11.0-14

执行下面命令:

$ sudo apt-get install linux-image-4.11.0-14-generic

命令输出如下:

正在读取软件包列表... 完成
 正在分析软件包的依赖关系树
 正在读取状态信息... 完成
 下列软件包是自动安装的并且现在不需要了:
 gyp javascript-common libjs-inherits libjs-jquery libjs-node-uuid libjs-underscore libnvpair1linux libssl-dev libssl-doc libuutil1linux libuv1-dev
 libzfs2linux libzpool2linux python-pkg-resources zfs-doc zlib1g-dev
 使用'apt autoremove'来卸载它(它们)。
 建议安装:
 fdutils linux-tools linux-headers-4.11.0-14-generic
 下列【新】软件包将被安装:
 linux-image-4.11.0-14-generic
 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
 需要下载 20.4 MB 的归档。
 解压缩后会消耗 70.7 MB 的额外空间。
 获取:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-image-4.11.0-14-generic amd64 4.11.0-14.20~16.04.1 [20.4 MB]
 已下载 20.4 MB,耗时 22秒 (894 kB/s)
 正在选中未选择的软件包 linux-image-4.11.0-14-generic。
 (正在读取数据库 ... 系统当前共安装有 67751 个文件和目录。)
 正准备解包 .../linux-image-4.11.0-14-generic_4.11.0-14.20~16.04.1_amd64.deb  ...
 Done.
 正在解包 linux-image-4.11.0-14-generic (4.11.0-14.20~16.04.1) ...
 正在设置 linux-image-4.11.0-14-generic (4.11.0-14.20~16.04.1) ...
 Running depmod.
 update-initramfs: deferring update (hook will be called later)
 Examining /etc/kernel/postinst.d.
 run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.11.0-14-generic /boot/vmlinuz-4.11.0-14-generic
 run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.11.0-14-generic /boot/vmlinuz-4.11.0-14-generic
 update-initramfs: Generating /boot/initrd.img-4.11.0-14-generic
 W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
 run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.11.0-14-generic /boot/vmlinuz-4.11.0-14-generic
 run-parts: executing /etc/kernel/postinst.d/update-notifier 4.11.0-14-generic /boot/vmlinuz-4.11.0-14-generic
 run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.11.0-14-generic /boot/vmlinuz-4.11.0-14-generic
 Generating grub configuration file ...
 Found linux image: /boot/vmlinuz-4.11.0-14-generic
 Found initrd image: /boot/initrd.img-4.11.0-14-generic
 Found linux image: /boot/vmlinuz-4.4.0-62-generic
 Found initrd image: /boot/initrd.img-4.4.0-62-generic
 done

4# 重启ubuntu 系统

$ sudo reboot

5# 查看当前系统的最新linux内核版本

$ uname -mrs

方法二:通过下载最新内核deb包安装内核

1# 首先访问kernel.org 官方网站确定当前最新的稳定版本号
2# 从ubuntu kernel官方下载该版本kernel http://kernel.ubuntu.com/~kernel-ppa/mainline/
使用wget命令来下载内核deb包:

$wget  http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.8/linux-image-4.12.8-041208-generic_4.12.8-041208.201708161815_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.8/linux-headers-4.12.8-041208_4.12.8-041208.201708161815_all.deb

3# 安装下载的.deb包

$ sudo dpkg -i *.db

4# 重启系统

$ sudo reboot