系统安装好了我们,迫不及待的想要在Linux系统中肆意翱翔。如果是刚刚接触Linux的系统的话,可能一时间还无法适应Linux的系统环境。对于使用Debian来做服务器的选择,最好的练习方式的就是使用非界面的终端模式。而不断的练习才是大部分人深入了解Linux的重要途径之一。

紧接上篇的系统安装,如果我们选择的安装包是不带其它应用软件的安装包的话,系统安装完成之后。我们还是无法直接使用系统来为我们工作。要想使用系统则必须要依据系统的需求进行相应的软件的安装和配置才能达到我们的目的。好了废话这么多,直接进入正题。

一、本篇博文覆盖内容。

1、配置系统使用的源
2、配置系统的固定地址
3、安装常用的软件

二、详细配置步骤与原理

Linux系统为开源的操作系统,其平台上的软件也大都为免费的开源软件,如果你是一个软件开发者的话,相信你一定会喜欢开源。我们或多或少的在开源的浪潮中受益,我们使用的Linux系统也是一个开源的平台。为了更好的使用系统我们需要配置系统使用的开源仓库。而国外的开源仓库,因为国内的网络问题,有时候经常访问不上,而且速度也是很不令人满意的,而国内也有有一些大公司和学校的镜像为我们提供了更好的选择。

Debian系统的源配置文件位于 /etc/apt/sources.list

刚安装完的系统,默认的选择安装源是 cdrom的源。如果我们自己进行apt-get install [package name] 命令的操作我们会碰到类似于: E: Unable to locate package [package name]。因为系统还没有配置使用的源,我们默认是直接在cdrom中查找。我们需要把这两个记录注释掉。如果想要使用手动的方式配置的话我们可以选择参考使用的http://ftp.debian.org/debian/ wheezy-updates main的配置。

deb 类型是一个常见的二级架构描述。distribution/componet,通常distribution属于stable、unstable、testing之一,而componet则属于 main、contrib、non-free、non-us。deb-src 和 deb是类似的,主要是用来描述源码的信息获取源码索引所必须的配置。

deb 格式为: deb uri distribution [componet1] [componet2] […]

componet 必须至少要指定一个。通常国内的源使用比较多的是搜狐,网易,和阿里云,这几个公司还是比较靠谱的。经过测试这几个还是蛮好用的,效果也可以接受。不过要想达到一个比较好的效果我们可以使用工具用来筛选好的镜像点。

1、最常用的是使用netselect 工具。直接通过apt-get install netselect && netselect-apt 命令就可以安装这个软件。安装完成之后,我们可以直接使用netselect-apt stable 选择版本信息。这个工具会自动选择离你最近的镜像了。这个命令会自动在当前的目录生成一个sources.list 的文件,我们要使用生成的sources.list的镜像,则必须要把这个文件替换到/etc/apt/ 文件夹下的sources.list文件。使用执行apt-get update更新当前源系统。

2、第二个经常使用的软件是apt-spy 我们可以直接使用 apt-get install apt-spy的命令安装apt-spy软件。我们执行apt-spy的命令的时候会在/etc/apt/sources.list.d/的目录下生成一个apt-spy.list 文件。生成完成之后只需要再次执行apt-get update 命令即可更新本地的源路径。

通过上面的三种方法,我们就已经可以很方便的使用apt-get install 的命令进行安装所需要的软件。

配置好系统中使用的源之后我们,我们使用最多的方式就是就是配置好系统的静态IP地址,作为服务器的话系统的IP也是固定的。所以配置系统的固定IP对我们的后续工作也有很大的帮助。通常我们会使用SSH远程连接的方式连接到服务器进行管理与配置。

我们可以使用下面的方法来管理我们的网络

一、通过终端窗口的形式,更改系统为自动的IP地址。

Windows系统下查看系统IP的最常用的方法就是ipconfig,可以用来查看系统的网络配置信息,而Linux系统提供了一个更加强大的命令ifconfig给我们来操作Linux系统的网络设置。我们可以通过man命令来了解ifcofig的具体使用方法。直接输入ifconfig指令我们可以看到当前系统的网络配置。

通过ifconfig的参数配置我们可以,直接更改系统的IP地址。一般在Linux中的操作步骤是,1、先关闭要修改的应用程序。2、配置应用的具体配置参数。3、重新启动应用。如果有特殊需求的可能需要重新启动系统才能生效,但是一般的应用都只是重新启动应用就可以了。

例如我们需要配置eth0这个interface的IP地址。我们可以这样做。

1、关闭 eth0 网络接口。ifconfig eth0 inet down  // eth0 是接口名称, inet(TCP/IP) 是 address family 的一种。 down指示关闭接口。

2、使用指定的配置重新打开。 ifconfig eth0 inet up [ip] netmask [netmask value] broadcast [broadcast value]

3、配置路由route add –net [网络] netmask [子网掩码] gw[网关] dev eth0 //网络是计算机所在的网络例如 10.0.0.0

配置完成之后使用ifconfig命令即可看到配置后的网络信息。如果你发现配置信息和你当时配置的信息不一致的时候,你需要重新运行上述步骤,仔细查看你的配置项。

这种方法可以用来临时需要更改系统的ip地址时所使用的方法。如果系统重新启动之后IP地址还是会重新改变。

如果我们需要设置无线网卡的IP地址的话我们可以使用iwconfig。

如果我们使用的是PPP拨号上网的话我们需要配置从ISP获得的账号和密码,配置文件在/etc/ppp/options 这个文件中。具体如何配置,大家可以参考对应系统的帮助文档。

我们需要的是为主机设置一个静态的IP,要达到这个目的我们可这样做。

1、ifdown eth0     //关闭eth0 接口

2、vi  /etc/network/interfaces   // 打开配置文件,编辑文件。是系统内置的编辑器,如果不熟悉vi也可以使用其它编辑器。

3、ifup eth0         //重新打开eth0 接口

第二步中打开文件之后我们需要配置具体的一些网络参数。

iface eth0 inet static          #  static 表示使用静态的地址。dhcp 表示使用的是动态分配。

address [IP 地址]       #  这里配置你需要配置的地址

netmask [子网掩码]    #  填写具体使用的子网掩码

gateway  [网关]        #   填写具体使用的网关

最简单的这样配置下就已经可以达到我们的需求了,如果你想要配置其它参数的话,可以查看帮助文档,找到你所需要的具体参数的配置方法。

如果我们又想变动回来重新使用dhcp配置接口的话

我们在第二步,将内容修改为

iface eth0 inet dhcp       #要想让技术机支持dhcp我们必须按照dhcp客户端程序,大部分默认都有安装,如果你选择的安装光盘没有带有DHCP客户端的话你也可以通过手工的方式安装。

我们还可以给Linux的单个网卡配多个IP地址。这样我们就不需要在购买多个网卡。我们可以用来在一台机器上运行多个服务器和网站。我们同样可以使用本地IP和别名用来创建LAN。

具体的步骤如下。和上面修改静态IP地址也是一样的。第二步,我们打开文件修改的时候。如下配置

iface eth0 inet static

address [IP 地址1]

netmask [子网掩码]

gateway  [网关]

iface eth0:0 inet static

address [IP 地址2]

netmask [子网掩码]

gateway  [网关]

eth0:0 这个接口是一个虚拟的接口,当我们启动的时候,真实的硬件eth0也会被启动。这样我们重新启动网络接口的时候我们就能够获得两个IP地址,我们可以通过这两个IP地址的任意一个都可以访问主机、同样的方法我们也可以配置多个IP使用例如eth0:1、eth0:2……...。不过我们都知道实际上我们的网卡是只有一张的,如果我们配置多个IP的话,系统的网络肯定没有单个IP的理想。具体可以配置多少个IP这样的问题我没有去查找相关的资料。如果你有兴趣可以去查查。还有配置多个IP对可能产生的问题,你如果有兴趣,也可以自行深入了解。

配置完源与网络之后我需要做的就是安装最常用的软件了。

你有兴趣可以去查查。还有配置多个IP对可能产生的问题,你如果有兴趣,也可以自行深入了解。

1、open-ssh 是一个开源的SSH实现软件,这个软件在Linux系统中的使用量是最多的。

我们可以直接通过 apt-get instll ssh 的命令进行安装。配置文件默认放在/etc/ssh/ 目录下,具体的ssh客户机的配置信息我们可以修改ssh_config 文件。如果是ssh服务的配置信息我们可以修改sshd_config配置文件。例如默认使用的端口号是22 我们可以修改为其它的端口号,以规避ssh端口攻击。配置完Linux服务器之后我们只需重新启动服务即可。然后再Windows客户端配置SSH远程工具我们就可以很方便的使用SSH远程工具远程管理Linux系统了。而在Windows上使用最顺手的那就非SecureCRT莫属了。这是一款很实用的软件,不过不是免费软件。当然免费的putty也做的很不错。还有SSH in cygwin这些免费的软件我们也是可以获得使用。

2、可以直接连接过去管理的时候我们就要考虑如何将文件上传到Linux服务器了。

我们开发完的项目如何上传到Linux服务器去部署,这也是接下来我们需要处理的内容。大家想到最多的是搭建Samba进行文件共享,毕竟Samba就是为了解决共享而生的。不过我们的需求仅仅是上传文件而已,没必要大费周章。既然我们是选择Linux来做服务器的,则安全性肯定是我们必须要考虑的关键点。而VSFTP(Very Secure FTP Daemon)就帮我们解决了这个顾虑,名字听起来就比较霸气。

直接命令 apt-get install vsftpd 安装完成之后我们就需要配置对应的配置参数,使得我们可以直接使用软件。

vi /etc/vsftpd/vsftpd.conf

annoymous_enavle=NO #关闭匿名访问。

ascii_upload_enable = YES

ascii_download_enable = YES

启用ascii 传输。

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

启用Chroot

use_localtime=YES

vi /etc/vsftpd/chroot_list

username1

username2

username3

我们可以在文件中添加允许访问的用户。

配置完成之后我们重新启动一下vsftp的服务即可。现在就可以直接在Windows下面通过ftp软件直接将文件传送到Linux服务器了。Windows下面的FTP客户端有很多。使用的比较多的比如FileZilla,8UFTP,FlashFXP以及CuteFTP,推荐使用FileZilla开源免费。

三、文章总结

叨叨絮絮了这么多,其实本文就讲了三个问题,一个是配置系统使用的源用于系统的更新和软件的获取。其次一个是通过终端和修改文件的方式配置系统的网络。再次一个是安装基本的软件。做完这些之后的系统已经具备了服务的雏形了。后续的软件安装与使用,你可以根据自己的需求去安装相应的软件。Linux的一个最大的特点就是强大的配置,如何你喜欢解决问题,那么你和Linux有缘,你会在不断的折腾下进步成长。而这些让你苦恼不堪的问题也正是进步的助推剂。

Debian 基本使用进阶的更多相关文章

  1. linux(Debian)下安装与MySql的安装、卸载、配置及使用

    参考资料:http://www.cnblogs.com/xusir/p/3334217.html 以下是简要记录. 一.安装 安装:apt-get install mysql-server mysql ...

  2. 移动端https抓包那些事--进阶篇

    上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ...

  3. devops工具-Ansible进阶playbook&roles

    一.playbook介绍     playbook 是 Ansible 管理配置.部署应用的核心所在,一个playbook由有多“play组成”,而一个play实际就是一个task,每个task是由多 ...

  4. vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

    vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一 ...

  5. Java程序员进阶路线-高级java程序员养成

    1. 引言 搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备.想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还是有 ...

  6. 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库

    我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...

  7. 【转】Java进阶之路

    1.   引言 搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备.想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还 ...

  8. Docker入门与进阶(上)

    Docker入门与进阶(上) 作者 刘畅 时间 2020-10-17 目录 1 Docker核心概述与安装 1 1.1 为什么要用容器 1 1.2 docker是什么 1 1.3 docker设计目标 ...

  9. docker和docker compose安装使用、入门进阶案例

    一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...

随机推荐

  1. swap交换2变量

    #define swap(x,y) {(x)=(x)+(y); (y)=(x)-(y); (x)=(x)-(y);} void swap(int i, int offset){ int temp; t ...

  2. Java排序算法(一)冒泡排序

    一.测试类SortTest  import java.util.Arrays; public class SortTest { private static final int L = 20; pub ...

  3. Codeforces Global Round 11【ABCD】

    比赛链接:https://codeforces.com/contest/1427 A. Avoiding Zero 题意 将 \(n\) 个数重新排列使得不存在为 \(0\) 的前缀和. 题解 计算正 ...

  4. HDOJ 1848(SG函数)

    对于SG函数来说,sg[y]=x的意义为,x与y的输赢状态是相同的 sg[y]=mex(y)的定义与n.p点的定义是相同的 #include<iostream>#include<cs ...

  5. 【bzoj 2339】[HNOI2011]卡农(数论--排列组合+逆元+递推)

    题意:从编号为 1~N 的音阶中可选任意个数组成一个音乐片段,再集合组成音乐篇章.要求一个音乐篇章中的片段不可重复,都不为空,且出现的音符的次数都是偶数个.问组成 M 个片段的音乐篇章有多少种.答案取 ...

  6. 用servlet在网页中打印字符串(初接触)、servlet调用过程

    一.servlet是什么: 二.在官方文档中点servlet 这就是servlet的方法,这里说一下什么叫生命周期的方法(life-cycle methods):就是这个对象一旦创生之后一定会执行的方 ...

  7. 错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。

     解决方案:VS中"工具"->"选项"->"Web项目"->"对网站和项目使用IIS Express的64位版& ...

  8. Chrome Switchs & Chrome Pref

    Chrome Switchs: https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_switche ...

  9. 【应急响应】Windows应急响应入门手册

    0x01 应急响应概述   首先我们来了解一下两个概念:应急响应和安全建设,这两者的区别就是应急响应是被动响应.安全建设是主动防御.  所谓有因才有果,既然是被动的,那么我们在应急响应的时候就得先了解 ...

  10. 说说Golang goroutine并发那些事儿

    摘要:今天我们一起盘点一下Golang并发那些事儿. Golang.Golang.Golang 真的够浪,今天我们一起盘点一下Golang并发那些事儿,准确来说是goroutine,关于多线程并发,咱 ...