Ubuntu Server最佳方案――拥抱Ubuntu Server

 

 

2.2  安装Ubuntu Server

2.2.3          把语言环境变量改为英文

安装选择了中文,但是一般没有安装汉子系统,汉字是无法显示的,有汉字的地方显示是乱码。

查看当前环境的语言设置

$ locale

LANG=zh_CN.UTF-8

LANGUAGE=zh_CN:zh

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_PAPER="zh_CN.UTF-8"

LC="zh_CN.UTF-8"

LC_ADDRESS="zh_CN.UTF-8"

LC_TELEPHONE="zh_CN.UTF-8"

LC_MEASUREMENT="zh_CN.UTF-8"

LC_IDENTIFICATION="zh_CN.UTF-8"

LC_ALL=

系统默认语言环境在/etc/default/locale定义的。中文设置为

LANG="zh_CN.UTF-8"

LANGUAGE="zh_CN:zh"

 

$ sudo nano /etc/default/locale

修改默认设置为

LANG="en_US.UTF-8"

LANGUAGE="en_US:en"

 

$ locale

LANG=en_US.UTF-8

LANGUAGE=en_US:en

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=

2.2.4   安全补丁、版本升级

       升级、打补丁

$ sudo apt-get update   #更新软件包列表

$ sudo apt-get upgrade  #升级软件包

sudo apt-get upgrade后,系统会提示某些软件包会被“保留”而不能升级,则可以使用下面的命令升级所有的软件包

$ sudo apt-get dist-update

2.3  Ubuntu快速入门指南

nano编辑器

nano有两个启动选项,-w禁止nano自动换行,遇到长行,就不会自动换行,-m是否让nano启动鼠标的支持。启动nano后,也可以使用alt+m来打开鼠标的支持。

ctrl+shift+o 保存文件,ctrl+ shift+x退出编辑器,ctrl+ shift+k剪切行,ctrl+ shift+u粘贴,ctrl+ shift+w搜索,ctrl+ shift+\替换

当出现一些保存不了的问题时,查看权限是否允许修改

还有一个软件是mc,一个资源管理器工具,需要安装mc包软件

 

2.3.3   快速查找文件

1find命令

/usr/share/doc下查找后缀是txt的文件

$ find /usr/share/doc -name *.txt

/tmp下查找文件名是core的文件并删除

$ find /tmp -name core | xargs /bin/rm -f

在个人家目录下查找所有24小时内修改过的文件

$ find $HOME -mtime 0

在当前目录查找权限是644的文件

$ find . -perm 664

2locate命令

find不同,locate查找文件是基于本地数据库的,而且只能按照文件名查找。数据库由updatedb命令生成。在/etc/cron.daily下有个mlocate,每天运行一次更新一次数据库。

也可以手动更新

$ sudo updatedb

查找apt-get这个文件

$ locate apt-get

/usr/bin/apt-get

/usr/share/man/es/man8/apt-get.8.gz

/usr/share/man/fr/man8/apt-get.8.gz

/usr/share/man/ja/man8/apt-get.8.gz

/usr/share/man/man8/apt-get.8.gz

统计查找到得数量

$ locate apt-get -c

5

2.3.4          软件包管理

查看软件包信息,Depends一行对软件包的依赖情况进行了描述

$ apt-cache show php5-mysql

Package: php5-mysql

Priority: optional

Section: web

Installed-Size: 236

Maintainer: Ubuntu Core Developers <[email protected]>

Original-Maintainer: Debian PHP Maintainers <[email protected]. debian.or g>

Architecture: i386

Source: php5

Version: 5.2.4 -2ubuntu5.3

Replaces: php5-mysqli

Depends: libc6 (>= 2.4), libmysqlclient15off (>= 5.0.27 -1), php5-common (= 5.2.4-2 ubuntu5.3), phpapi-20060613+lfs

Conflicts: php5-mysqli

Filename: pool/main/p/php5/php5-mysql_ 5.2.4 -2ubuntu5.3_i386.deb

Size: 65242

MD5sum: 003114b8d97dd35d435763338b 3113f 7

SHA1: 8d977486b 1098c 54b54036815398223a191e590d

SHA256: 8d8b 301f 1a 1e85891d5da 5c 5fdebd9d 7c 16d7828b4be84640d824e881fe 9f 1df

Description: MySQL module for php5

 This package provides modules for MySQL database connections directly from

 PHP scripts.  It includes the generic "mysql" module which can be used

 to connect to all versions of MySQL, an improved "mysqli" module for

 MySQL version 4.1 or later, and the pdo_mysql module for use with

 the PHP Data Object extension.

 .

 PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed

 from C, Java and Perl with a couple of unique PHP-specific features thrown

 in. The goal of the language is to allow web developers to write

 dynamically generated pages quickly.

Bugs: mailto:[email protected]

Origin: Ubuntu

Task: lamp-server

2.3.5   使用apt工具

Ubuntu下载软件包是依据/etc/apt/sources.list这个文件指定的位置去查找并安装

2/etc/apt/sources.list文件

内容格式

deb(deb-src) 网络地址 主版本代号    软件仓库1    软件仓库2    软件仓库3 ...

样例文件(基于8.04版本)

deb http://archive.ubuntu.com/ubuntu/ hardy main restricted

deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted

 

deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted

deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted

 

deb http://archive.ubuntu.com/ubuntu/ hardy universe

deb-src http://archive.ubuntu.com/ubuntu/ hardy universe

deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe

deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates universe

 

deb http://archive.ubuntu.com/ubuntu/ hardy multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy multiverse

deb http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates multiverse

 

deb http://security.ubuntu.com/ubuntu hardy-security main restricted

deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted

deb http://security.ubuntu.com/ubuntu hardy-security universe

deb-src http://security.ubuntu.com/ubuntu hardy-security universe

deb http://security.ubuntu.com/ubuntu hardy-security multiverse

deb-src http://security.ubuntu.com/ubuntu hardy-security multiverse

如果不需要源代码包,可以将deb-src注释掉。注意带有securityupdates的保留,因为关系到系统的安全。

Ubuntu的软件仓库分为mainrestricteduniversemultiverseMain是自由软件库,ubuntu提供完整技术支持,restricted不是自由软件。但是因为被广泛使用,ubuntu也提示支持,universe由社区维护,官方不提供技术支持,multiverse完全没有支持

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list-backup

3apt-get命令

参数install安装,update更新软件包列表,upgrade升级系统中所有软件包,remove移除,purge彻底删除(包括配置文件)

-d仅下载不安装

$ sudo apt-get install php5-mysql apache2-mpm-prefork libapache2-mod-php5

升级

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

4apt-cache命令

查找软件包信息(模糊查找)

$ apt-cache search mysql

对查找到得进行过滤

$ apt-cache search mysql | grep server

显示软件包信息

$ apt-cache show ssh

6tasksel命令

直接输入tasksel的界面

在上面现在LAMP servertasksel install lamp-server命令结果一样

下面的命令是查看lamp-server这个任务的软件包列表

$ tasksel --task-packages lamp-server

apache2

mysql-client-5.0

libapache2-mod-php5

apache2.2-common

apache2-utils

php5-common

libaprutil1

php5-mysql

libmysqlclient15off

libdbi-perl

mysql-server

libplrpc-perl

mysql-server-5.0

libdbd-mysql-perl

libnet-daemon-perl

libapr1

libxml2

libpcre3

libpq5

apache2-mpm-prefork

mysql-common

查看系统提供的任务

$ tasksel --list-tasks

u dns-server    DNS server

u edubuntu-server       Edubuntu server

u lamp-server   LAMP server

u mail-server   Mail server

i openssh-server        OpenSSH server

u postgresql-server     PostgreSQL database

u print-server  Print server

u samba-server  Samba File server

安装和删除软件

$ tasksel install lamp-server

$ tasksel remove lamp-server

7dpkg命令

查看软件包是否安装

$ dpkg -l apt

Desired=Unknown/Install/Remove/Purge/Hold

| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend

|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)

||/ Name           Version        Description

+++-===========-==============-============================================

ii  apt            0.7.9 ubuntu17  Advanced front-end for dpkg

 

$ dpkg -l apache

No packages found matching apache.

查看软件包包含哪些文件

$ dpkg -L whiptail

/.

/usr

/usr/bin

/usr/bin/whiptail

/usr/share

/usr/share/doc

/usr/share/doc/whiptail

/usr/share/doc/whiptail/README.whiptail

/usr/share/doc/whiptail/copyright

/usr/share/doc/whiptail/newt.spec.gz

/usr/share/doc/whiptail/changelog.Debian.gz

/usr/share/man

/usr/share/man/man1

/usr/share/man/man1/whiptail.1.gz

查看/bin/ls是由哪个软件安装的

$ dpkg -S /bin/ls

coreutils: /bin/ls

安装多个软件的时候会因为某个软件的问题而无法安装下去,用下面得命令查看哪些软件没有安装

$ dpkg -C

查看man手册

$ man dpkg

8dpkg-reconfigure命令

例如如果修改配置文件,把配置文件弄坏或者丢失,可以用下面的命令重新生成配置文件

$ sudo dpkg-reconfigure postfix

9.给apt设置代理服务器

通过代理服务器上网的话,需要给apt设置代理才能下载软件

临时的

$ export http_proxy=http://yourproxyaddress:proxyport

改配置文件,永久的

$ sudo nano /etc/apt/apt.conf

 

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

2.3.7   Ubuntu网络配置

1.网络配置文件/etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

auto eth0

iface eth0 inet dhcp

静态配置地址

auto eth0

iface eth0 inet static

    address 192.168.1.10

    netmask 255.255.255.0

    gateway 192.168.1.1

配置完后重启网卡

$ sudo /etc/init.d/networking restart

单独控制一个网卡

$ sudo ifdown eth0

$ sudo ifup eth0

2.域名服务器配置文件/etc/resolv.conf

search localdomain

nameserver 192.168.1.1

nameserver 202.102.14.68

3/etc/hosts文件(可以在/etc/nsswitch.conf下修改dns查询顺序)

127.0.0.1       localhost

127.0.1.1       ubuntu.localdomain      ubuntu

 

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

6NTP时间同步

创建一个cron计划任务,使其自动更新时间,避免每次开机时去自动同步时间而引起正常使用时产生的时间差

$ sudo nano /etc/cron.daily/timeupdate

输入的内容

ntpdate ntp.ubuntu.com

给予执行权限

$ sudo chmod 755 /etc/cron.daily/timeupdate

       在文件中可以指定多个时间服务器。

ntpdate ntp.ubuntu.com pool.ntp.org

2.3.8          远程管理Ubuntu Server

安装ssh软件(配置文件是/etc/ssh/sshd_config)

$ sudo apt-get install openssh-server

登陆

$ ssh 192.168.1.10 -p 3322

$ ssh [email protected] -p 3322

 文章整理来自于《Ubuntu Server最佳方案》书籍

由于字数限制,笔记可能无法全部上传,请下载笔记

你可能感兴趣的:(server,ubuntu,职场,休闲,最佳方案,caoyaodian)