debian系统详细教程

第1章 debian 介绍

维基百科
https://zh.wikipedia.org/wiki/Debian
特点
Debian 是精简的 Linux 发行版,有着干净的作业环境。
安装步骤简易有效,大部分情况下只要<Enter>、<Enter>一直按下去便可以顺利安装。
拥有方便高效的软体包管理程序和 deb 软体包,可以让用户容易的查找、安装、移除、更新程序,或系统昇级。
健全的软件管理制度,包括了 Bug 汇报、包维护人等制度,让 Debian 所收集的软件品质在其它的 Linux 发行包之
上。
拥有庞大的包库,令用户只需通过其自身所带的软件管理系统便可下载并安装包,不必再在网络上查找。
包库分类清楚,用户可以明确地选择安装自由软件、半自由软件或闭源软件。

第2章 debian 和 ubnutu 的关系

转自维基百科
Ubuntu 与 Debian 使用相同的 deb 软件包格式,可以安装绝大多数为 Debian 编译的软件包,虽然不
能保证完全兼容,但大多数情况是
派生 Linux 发行版
主条目:Linux 发行版列表 § 基于 Dpkg(Debian 系)
Kanotix——LiveCD 及 Debian 安装程序。
Knoppix——LiveCD,同时亦有数个分支,包括 Morphix、Quantian、Whoppix 及 Xfld。
Stanix——接口像微软 Windows 的 LiveCD。
Libranet——目标是作为更易设置的发行版。
MEPIS——建基于 KDE 桌面环境,以新手为目标的发行版。
CoLinux——将 Debian 融于 Windows 的发行版。
Ubuntu——建基于 Unity 桌面环境的发行版。其亦有不同的分支,而几乎每一个分支都有 LiveCD(LiveCD 也提
供安装的功能)。
Deepin——深度操作系统,由中国武汉深之度科技有限公司开发的国产操作系统,以其特色应用与特色桌面环境
(DDE)闻名。
Xandros——Corel Linux 的商业支持版本。
Linux Mint Debian Edition——基于 Debian Testing 的滚动更新版本。有分别使用 MATE 和 Cinnamon 作为默
认桌面环境的两个版本。
B2D/OB2D Linux——OB2D XFCE 服务器版本,以及 B2D 2018 桌面版,采用快速安装接口,只要 5~15 分钟
即可完成安装。
image.png

第3章 debian 和 Centos 的关系

没什么关系.Debian 名字比较难念正确.
Debian 的版本命名更好玩一些,以电影<玩具总动员里>的人物命令

第4章 Debian 的安装

4.1 使用下载镜像

4.1.1 安装 jigdo 工具
参考博客
https://zhuanlan.zhihu.com/p/22383854
jigdo 下载方法,下载后直接 dpkg -i 安装
https://packages.debian.org/jessie/amd64/jigdo-file/download
镜像网站
https://cdimage.debian.org/cdimage/archive/
4.1.2 jigdo 工具下载镜像
软件安装好之后去镜像网站找到对应的 debian 镜像版本目录
http://cdimage.debian.org/mirror/cdimage/archive/8.4.0/amd64/jigdo-dvd/
输入命令:
jigdo-lite
复制对应的 debian 镜像链接地址
按照提示输入对应的内容
image.png
image.png
image.png
image.png
image.png

4.2 安装部署

见具体安装过程

第5章 Debian 和 Centos 使用上的区别

5.1 常用服务配置文件路径

image.png

5.2 日常使用的区别

5.2.1 查看系统版本号
root@test-100:~# cat /etc/debian_version
8.4
root@test-100:~# uname -a
Linux test-100 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux
5.2.2 useradd 创建用户
useradd 默认不创建家目录,需要手动创建并更改权限
5.2.3 后台运行 nohop 与&与 start-stop-daemon
start-stop-daemon 是 Debian 下的守护进程命令,很多服务的启动脚本都是以 start-stop-daemon 实现的.
https://blog.qiusuo.im/blog/2014/03/15/start-stop-daemon-usage/
5.2.4 系统自启动任务管理
安装工具
apt-get install sysv-rc-conf
运行
sysv-rc-conf
运行界面
image.png
操作指令
键盘上下左右移动
空格开启或关闭
Ctrl+n 下一页
Ctrl+p 上一页
q 退出
+/- 启动或关闭服务
常用服务解释(转发)
debian 下一些服务的名称和基本的解释:
acpi-support:这个是关于电源支持的默认是 1,2,3,4,5 下启动,我认为你可以把它调整到 s 级别。
acpid:acpi 的守护程序,默认是 2-5 开启,我认为可以不用管。
alsa:alsa 声音子系统,应该不用开启它。
alsa-utils:这个服务似乎取代了 alsa,所以开启这个就可以了,我在 S 级别开启它。
anacron:这是一个用于执行到时间没有执行的程序的服务。
apmd:也是一种电源管理,我认为电脑如果不是很老,它就没有开启的必要了。
atd:和 anacron 类似,与定时执行计划任务类似。
bluez-utiles:蓝牙服务,没有的话可以关了。
bootlogd:似乎使用来写 log 的,安全期间开着他也许比较好。
cron:指定时间运行程序的服务,所以开着比较好的。
cupsys:打印机服务,所以如果就开启吧。
dbus:消息总线系统,非常重要,一定要开。
dns-clean:拨号连接用的。
evms:企业卷管理系统。
fetchmail:用于邮件守护。
gdm:gnome 桌面管理器。
halt:关机用的,不要更改。
hdparm:没有 ide 硬盘也就不用开启它。
hotkey-setup:这个是给某些品牌笔记本设计的热键映射,台式机用户请关了它。
hotplug:这个是用于热插拔的,在某些电脑上关闭它会使声卡无效,请在 S 级别开启它。
hplip:hp 打印机专用的,应该可以关了它。
ifrename:网络接口重命名。
ifupdown:这个使用来打开网络的,开着它。
ifupdown-clean:同上。
klogd:linux 守护程序,接受来自内核和发送信息到 syslogd 的记录,并记录为一个文件,所以请开着它。
linux-restricted-modules-common:这个使用来使用受限制的模块的,你可以从/lib/linux-restricted-modules
下查看,如果没有什么,你可以关掉它。
lvm:逻辑卷管理器,如果没有用可以关了它。
makedev:用来创建设备到/dev/请不要动它。
mdamd:管理 raid 用,如果没有请关闭它。
module-init-tools 从/etc/modules:加在扩展模块的,这个一般开着。
networking:增加网络接口和配置 dns 用,将它开启。
ntp-server:与时间服务器进行同步的。
pcmcia:激活 pcmica 设备。
powernowd:用于管理 cpu 的客户端程序,如果有变频功能,比如 amd 的 quite:cool 那么就开启它吧。
ppp:拨号用的。
ppp-dns:同上。
readahead:预加载服务,让我想起了 win 的预读,当然他们不同,它会使启动变慢 3-4 妙,可以关了它。
reboot:重启用的,不要动。
rmnologin:如果发现 nologin,就去除它,在笔记本上不用开启。
rsync:rsync 协议守护,请视情况而定。
screen-cleanup:一个清除开机屏幕的脚本,随便。
sendsigs:重启和关机时向所有进程发送消息。
single:激活但用户模式。
stop-bootlogd:从 2,3,4,5 级别停止 bootlogd。
sudo:这个不用说吧。
sysklogd:用于记录系统日志信息。
udev:用户空间 dev 文件系统。
udev-mab:同上。
umountfs:用来卸载文件卷的。
urandom:生成随机数的。
usplash:那个漂亮的启动画面,但是关了它,所以想关他需要把内核起动参数中的 splash 一句删掉。
vbesave:显卡 bios 配置工具。
xorg-common:设置 x 服务 ice socket。
5.2.5 防火墙和 SElinux
Debian 默认没有 SElinux
防火墙默认没有任何规则
5.2.6 修改网卡
debian 的网卡配置文件语法:
root@test~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 210.14.154.115
netmask 255.255.255.224
gateway 210.14.154.113
# The primary network interface
allow-hotplug eth1
iface eth1 inet static
address 192.168.5.21
netmask 255.255.255.0
DNS 配置
root@test:~# cat /etc/resolv.conf 
search unassigned-domain
nameserver 114.114.114.114
动态添加删除 IP 地址
网卡上增加一个 IP:
ifconfig eth0:2 192.168.47.123 netmask 255.255.255.0
删除网卡的第二个 IP 地址:
ip addr del 192.168.47.123 dev eth0:2
5.2.7 bash.rc 默认注释了命令别名
root@debian:~# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
5.2.8 SSH 默认不允许 root 远程登录
PermitRootLogin yes
5.2.9 默认没有 rsync
但是 apt 安装后会有 init.d 和 systemd 启动脚本
apt-get install rsync

5.3 shell 脚本区别

5.3.1 shell 脚本 function 位置(暂时没研究彻底)
/lib/lsb/init-functions

第6章 Debian 软件包和 Centos 软件包的区别

参考博客:
https://blog.csdn.net/mbxc816/article/details/7473906
CentOS 和 Red Hat 使用 yum 安装,而 Debian 和 ubnutu 使用 apt 工具

6.1 apt 软件源格式介绍

https://blog.csdn.net/yuan13091324/article/details/42419503

6.2 apt 相关的的文件

image.png

6.3 apt-get 子命令

image.png

6.4 apt-get 命令选项

image.png

6.5 apt-cache 命令

image.png

6.6 软件包操作对比

image.png
image.png

第7章 Debian 下常用服务的安装配置

7.1 debian 软件源配置

常用源的官方说明地址:
#阿里源
https://opsx.alibaba.com/mirror
#163 源
https://mirrors.163.com/.help/debian.html

7.2 debian 下的 docker 部署

参考清华源安装说明:
https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
镜像加速参考阿里云相关说明

第8章 自定义打包 Debian 的 DEB 包

8.1 试验环境介

Debian8.4

8.2 软件介绍

fpm 打包工具

8.3 安装部署

apt-get update
apt-get install ruby-dev ruby-full build-essential libssl-dev
gem sources -a http://mirrors.aliyun.com/rubygems/
gem sources --remove https://rubygems.org/
gem sources --list
gem install fpm
fpm -v

8.4 自定义打包

8.4.1 软件目录规划
软件目录
配置文件
init.d 启动文件
systemd 启动文件
8.4.2 打包命令
使用 fpm 打包 deb 软包,由于 fpm 和 Debian 打包规则不一致,使用 deb-no-default-config-files 禁用这
种默认行为
fpm -s dir -t deb -n mynginx -v 1.6 \
--deb-no-default-config-files \
--description 'nginx' \
-d "gcc,g++,libpcre3,libpcre3-dev,openssl,libssl-dev,libpcrecpp0,zlib1g-dev,libperl-dev,build-essential" 
\
--before-install /root/deb_test/init.sh \
--deb-init /root/deb_test/nginx \
--deb-systemd /root/deb_test/nginx.service \
/opt/nginx/

第9章 搭建 Debian 软件仓库

9.1 试验环境介绍

debian8.4
1C 1G 20G

9.2 仓库目录规划

/data/deb

9.3 安装部署

9.3.1 apt-get 安装部署 nginx
创建 www 用户组和 www 用户
groupadd www -g 888
useradd www -u 888 -g 888 -M -s /sbin/nologin
apt 安装 nginx
apt-get install nginx
查看软件包信息
dpkg -S nginx
查看 nginx 配置文件
[root@box-64 nginx]# egrep -v "^#|^.*#|^$" /etc/nginx/nginx.conf 
user www;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
#include /etc/nginx/sites-enabled/*; ### 这一行注释掉或者删除这个目录下的文件
}
创建子配置文件
[root@box-64 nginx]# cat > /etc/nginx/conf.d/apt-deb.conf <<EOF
server {
 listen 8080;
 server_name localhost;
 autoindex on;
 location / {
 index index.html index.htm;
 root /data/mydeb/;
 }
}
EOF
检查启动
nginx -s stop
nginx -t
nginx
测试访问
9.3.2 编译安装 nginx
安装部署
apt-get -y install build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
mkdir -p /data/soft
cd /data/soft
wget -q http://nginx.org/download/nginx-1.6.3.tar.gz
useradd www -s /sbin/nologin -M -u 888
tar xf nginx-1.6.3.tar.gz
cd nginx-1.6.3
./configure --user=www --group=www --prefix=/opt/nginx-1.6.3 --with-http_stub_status_module 
--with-http_ssl_module
make && make install
ln -s /opt/nginx-1.6.3/ /opt/nginx
egrep -v "#|^$" /opt/nginx/conf/nginx.conf.default >/opt/nginx/conf/nginx.conf
/opt/nginx/sbin/nginx
修改配置文件
[root@box-64 ~]# cat /opt/nginx/conf/nginx.conf
user www;
worker_processes 1;
events {
 worker_connections 1024;
}
http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 server {
 listen 8080;
 server_name localhost;
 location / {
 root /data/mydeb/;
 index index.html index.htm;
 }
 }
}

9.4 只下载不安装软件包

man apt-get 
apt-get clean
ls -lh /var/cache/apt/archives/
apt-get install -d screen
ls -lh /var/cache/apt/archives/

9.5 移动自定义的 DEB 安装包到仓库

移动缓存的 deb 包或者自定义的 deb 包到仓库目录
mv /var/cache/apt/archives/screen_4.2.1-3+deb8u1_amd64.deb /data/mydeb/

9.6 更新仓库信息索引

[root@box-64 ~]# apt-get install dpkg-dev
[root@box-64 ~]# cd /data/mydeb
[root@box-64 mydeb]# dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: screen
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
查看索引压缩包的内容
zcat Packages.gz

9.7 客户机测试

配置软件源
[root@could-100 ~]# cat /etc/apt/sources.list
deb http://192.168.47.64/mydeb /
更新
apt-get update
安装测试
apt-get install screen
注意! 这里如果使用-y 会出错,下面有解决方案
测试安装 docker-ce

9.8 rsync 同步阿里云镜像

不过还是推荐使用什么什么包再复制什么包过去,不然可能会同步很多不需要的文件,
科大源参考网址
https://mirrors.ustc.edu.cn/help/rsync-guide.html

9.9 运维注意事项

9.9.1 不能使用-y 解决
在客户机上创建一个文件,然后写入一句话,再更新一下 apt-update
[root@apt-test ~]# cat /etc/apt/apt.conf.d/02allow-unsigned 
APT::Get::AllowUnauthenticated 1;
相关网站:
https://askubuntu.com/questions/74345/how-do-i-bypass-ignore-the-gpg-signature-checks-of-apt
https://stackoverflow.com/questions/31294150/there-are-problems-and-y-was-used-without-force-yes

第10章 Debian 忘记用户名密码处理

和 Centos 处理方式一样,进入单用户模式修改.

第11章 常见错误排查

11.1 service networking restart 重启网卡不生效

service networking 只对添加了 auto 的网卡重启生效
auto eth0
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容