第1章 debian 介紹
維基百科
https://zh.wikipedia.org/wiki/Debian
特點(diǎn)
Debian 是精簡的 Linux 發(fā)行版妈候,有著干凈的作業(yè)環(huán)境苦银。
安裝步驟簡易有效幔虏,大部分情況下只要<Enter>、<Enter>一直按下去便可以順利安裝伐蒂。
擁有方便高效的軟體包管理程序和 deb 軟體包,可以讓用戶容易的查找、安裝宪躯、移除位迂、更新程序囤官,或系統(tǒng)昇級(jí)党饮。
健全的軟件管理制度,包括了 Bug 匯報(bào)氯窍、包維護(hù)人等制度狼讨,讓 Debian 所收集的軟件品質(zhì)在其它的 Linux 發(fā)行包之
上政供。
擁有龐大的包庫,令用戶只需通過其自身所帶的軟件管理系統(tǒng)便可下載并安裝包离陶,不必再在網(wǎng)絡(luò)上查找招刨。
包庫分類清楚哀军,用戶可以明確地選擇安裝自由軟件杉适、半自由軟件或閉源軟件淘衙。
第2章 debian 和 ubnutu 的關(guān)系
轉(zhuǎn)自維基百科
Ubuntu 與 Debian 使用相同的 deb 軟件包格式彤守,可以安裝絕大多數(shù)為 Debian 編譯的軟件包,雖然不
能保證完全兼容侈离,但大多數(shù)情況是
派生 Linux 發(fā)行版
主條目:Linux 發(fā)行版列表 § 基于 Dpkg(Debian 系)
Kanotix——LiveCD 及 Debian 安裝程序卦碾。
Knoppix——LiveCD洲胖,同時(shí)亦有數(shù)個(gè)分支坯沪,包括 Morphix、Quantian丐一、Whoppix 及 Xfld淹冰。
Stanix——接口像微軟 Windows 的 LiveCD樱拴。
Libranet——目標(biāo)是作為更易設(shè)置的發(fā)行版疹鳄。
MEPIS——建基于 KDE 桌面環(huán)境瘪弓,以新手為目標(biāo)的發(fā)行版腺怯。
CoLinux——將 Debian 融于 Windows 的發(fā)行版川无。
Ubuntu——建基于 Unity 桌面環(huán)境的發(fā)行版懦趋。其亦有不同的分支仅叫,而幾乎每一個(gè)分支都有 LiveCD(LiveCD 也提
供安裝的功能)。
Deepin——深度操作系統(tǒng)笙隙,由中國武漢深之度科技有限公司開發(fā)的國產(chǎn)操作系統(tǒng)竟痰,以其特色應(yīng)用與特色桌面環(huán)境
(DDE)聞名坏快。
Xandros——Corel Linux 的商業(yè)支持版本憎夷。
Linux Mint Debian Edition——基于 Debian Testing 的滾動(dòng)更新版本岭接。有分別使用 MATE 和 Cinnamon 作為默
認(rèn)桌面環(huán)境的兩個(gè)版本。
B2D/OB2D Linux——OB2D XFCE 服務(wù)器版本粘拾,以及 B2D 2018 桌面版缰雇,采用快速安裝接口追驴,只要 5~15 分鐘
即可完成安裝殿雪。
image.png
第3章 debian 和 Centos 的關(guān)系
沒什么關(guān)系.Debian 名字比較難念正確.
Debian 的版本命名更好玩一些,以電影<玩具總動(dòng)員里>的人物命令
第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
鏡像網(wǎng)站
https://cdimage.debian.org/cdimage/archive/
4.1.2 jigdo 工具下載鏡像
軟件安裝好之后去鏡像網(wǎng)站找到對(duì)應(yīng)的 debian 鏡像版本目錄
http://cdimage.debian.org/mirror/cdimage/archive/8.4.0/amd64/jigdo-dvd/
輸入命令:
jigdo-lite
復(fù)制對(duì)應(yīng)的 debian 鏡像鏈接地址
按照提示輸入對(duì)應(yīng)的內(nèi)容
image.png
image.png
image.png
image.png
image.png
4.2 安裝部署
見具體安裝過程
第5章 Debian 和 Centos 使用上的區(qū)別
5.1 常用服務(wù)配置文件路徑
image.png
5.2 日常使用的區(qū)別
5.2.1 查看系統(tǒng)版本號(hào)
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 創(chuàng)建用戶
useradd 默認(rèn)不創(chuàng)建家目錄,需要手動(dòng)創(chuàng)建并更改權(quán)限
5.2.3 后臺(tái)運(yùn)行 nohop 與&與 start-stop-daemon
start-stop-daemon 是 Debian 下的守護(hù)進(jìn)程命令,很多服務(wù)的啟動(dòng)腳本都是以 start-stop-daemon 實(shí)現(xiàn)的.
https://blog.qiusuo.im/blog/2014/03/15/start-stop-daemon-usage/
5.2.4 系統(tǒng)自啟動(dòng)任務(wù)管理
安裝工具
apt-get install sysv-rc-conf
運(yùn)行
sysv-rc-conf
運(yùn)行界面
image.png
操作指令
鍵盤上下左右移動(dòng)
空格開啟或關(guān)閉
Ctrl+n 下一頁
Ctrl+p 上一頁
q 退出
+/- 啟動(dòng)或關(guān)閉服務(wù)
常用服務(wù)解釋(轉(zhuǎn)發(fā))
debian 下一些服務(wù)的名稱和基本的解釋:
acpi-support:這個(gè)是關(guān)于電源支持的默認(rèn)是 1,2,3,4,5 下啟動(dòng),我認(rèn)為你可以把它調(diào)整到 s 級(jí)別索抓。
acpid:acpi 的守護(hù)程序逼肯,默認(rèn)是 2-5 開啟汉矿,我認(rèn)為可以不用管。
alsa:alsa 聲音子系統(tǒng)奈揍,應(yīng)該不用開啟它男翰。
alsa-utils:這個(gè)服務(wù)似乎取代了 alsa蛾绎,所以開啟這個(gè)就可以了,我在 S 級(jí)別開啟它鹏倘。
anacron:這是一個(gè)用于執(zhí)行到時(shí)間沒有執(zhí)行的程序的服務(wù)纤泵。
apmd:也是一種電源管理捏题,我認(rèn)為電腦如果不是很老公荧,它就沒有開啟的必要了同规。
atd:和 anacron 類似捻浦,與定時(shí)執(zhí)行計(jì)劃任務(wù)類似朱灿。
bluez-utiles:藍(lán)牙服務(wù)钠四,沒有的話可以關(guān)了缀去。
bootlogd:似乎使用來寫 log 的缕碎,安全期間開著他也許比較好咏雌。
cron:指定時(shí)間運(yùn)行程序的服務(wù),所以開著比較好的统倒。
cupsys:打印機(jī)服務(wù)房匆,所以如果就開啟吧浴鸿。
dbus:消息總線系統(tǒng)岳链,非常重要,一定要開左胞。
dns-clean:撥號(hào)連接用的烤宙。
evms:企業(yè)卷管理系統(tǒng)俭嘁。
fetchmail:用于郵件守護(hù)供填。
gdm:gnome 桌面管理器近她。
halt:關(guān)機(jī)用的粘捎,不要更改攒磨。
hdparm:沒有 ide 硬盤也就不用開啟它。
hotkey-setup:這個(gè)是給某些品牌筆記本設(shè)計(jì)的熱鍵映射灸撰,臺(tái)式機(jī)用戶請(qǐng)關(guān)了它拼坎。
hotplug:這個(gè)是用于熱插拔的浮毯,在某些電腦上關(guān)閉它會(huì)使聲卡無效,請(qǐng)?jiān)?S 級(jí)別開啟它演痒。
hplip:hp 打印機(jī)專用的亲轨,應(yīng)該可以關(guān)了它。
ifrename:網(wǎng)絡(luò)接口重命名鸟顺。
ifupdown:這個(gè)使用來打開網(wǎng)絡(luò)的惦蚊,開著它器虾。
ifupdown-clean:同上蹦锋。
klogd:linux 守護(hù)程序兆沙,接受來自內(nèi)核和發(fā)送信息到 syslogd 的記錄,并記錄為一個(gè)文件莉掂,所以請(qǐng)開著它葛圃。
linux-restricted-modules-common:這個(gè)使用來使用受限制的模塊的,你可以從/lib/linux-restricted-modules
下查看憎妙,如果沒有什么库正,你可以關(guān)掉它。
lvm:邏輯卷管理器厘唾,如果沒有用可以關(guān)了它褥符。
makedev:用來創(chuàng)建設(shè)備到/dev/請(qǐng)不要?jiǎng)铀?mdamd:管理 raid 用,如果沒有請(qǐng)關(guān)閉它抚垃。
module-init-tools 從/etc/modules:加在擴(kuò)展模塊的喷楣,這個(gè)一般開著。
networking:增加網(wǎng)絡(luò)接口和配置 dns 用鹤树,將它開啟铣焊。
ntp-server:與時(shí)間服務(wù)器進(jìn)行同步的。
pcmcia:激活 pcmica 設(shè)備罕伯。
powernowd:用于管理 cpu 的客戶端程序曲伊,如果有變頻功能,比如 amd 的 quite:cool 那么就開啟它吧捣炬。
ppp:撥號(hào)用的熊昌。
ppp-dns:同上绽榛。
readahead:預(yù)加載服務(wù)湿酸,讓我想起了 win 的預(yù)讀,當(dāng)然他們不同灭美,它會(huì)使啟動(dòng)變慢 3-4 妙推溃,可以關(guān)了它。
reboot:重啟用的届腐,不要?jiǎng)印?rmnologin:如果發(fā)現(xiàn) nologin铁坎,就去除它,在筆記本上不用開啟犁苏。
rsync:rsync 協(xié)議守護(hù)硬萍,請(qǐng)視情況而定。
screen-cleanup:一個(gè)清除開機(jī)屏幕的腳本围详,隨便朴乖。
sendsigs:重啟和關(guān)機(jī)時(shí)向所有進(jìn)程發(fā)送消息祖屏。
single:激活但用戶模式。
stop-bootlogd:從 2,3,4,5 級(jí)別停止 bootlogd买羞。
sudo:這個(gè)不用說吧袁勺。
sysklogd:用于記錄系統(tǒng)日志信息。
udev:用戶空間 dev 文件系統(tǒng)畜普。
udev-mab:同上期丰。
umountfs:用來卸載文件卷的。
urandom:生成隨機(jī)數(shù)的吃挑。
usplash:那個(gè)漂亮的啟動(dòng)畫面钝荡,但是關(guān)了它,所以想關(guān)他需要把內(nèi)核起動(dòng)參數(shù)中的 splash 一句刪掉舶衬。
vbesave:顯卡 bios 配置工具化撕。
xorg-common:設(shè)置 x 服務(wù) ice socket。
5.2.5 防火墻和 SElinux
Debian 默認(rèn)沒有 SElinux
防火墻默認(rèn)沒有任何規(guī)則
5.2.6 修改網(wǎng)卡
debian 的網(wǎng)卡配置文件語法:
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
動(dòng)態(tài)添加刪除 IP 地址
網(wǎng)卡上增加一個(gè) IP:
ifconfig eth0:2 192.168.47.123 netmask 255.255.255.0
刪除網(wǎng)卡的第二個(gè) IP 地址:
ip addr del 192.168.47.123 dev eth0:2
5.2.7 bash.rc 默認(rèn)注釋了命令別名
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 默認(rèn)不允許 root 遠(yuǎn)程登錄
PermitRootLogin yes
5.2.9 默認(rèn)沒有 rsync
但是 apt 安裝后會(huì)有 init.d 和 systemd 啟動(dòng)腳本
apt-get install rsync
5.3 shell 腳本區(qū)別
5.3.1 shell 腳本 function 位置(暫時(shí)沒研究徹底)
/lib/lsb/init-functions
第6章 Debian 軟件包和 Centos 軟件包的區(qū)別
參考博客:
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 相關(guān)的的文件
image.png
6.3 apt-get 子命令
image.png
6.4 apt-get 命令選項(xiàng)
image.png
6.5 apt-cache 命令
image.png
6.6 軟件包操作對(duì)比
image.png
image.png
第7章 Debian 下常用服務(wù)的安裝配置
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/
鏡像加速參考阿里云相關(guān)說明
第8章 自定義打包 Debian 的 DEB 包
8.1 試驗(yàn)環(huán)境介
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 軟件目錄規(guī)劃
軟件目錄
配置文件
init.d 啟動(dòng)文件
systemd 啟動(dòng)文件
8.4.2 打包命令
使用 fpm 打包 deb 軟包约炎,由于 fpm 和 Debian 打包規(guī)則不一致植阴,使用 deb-no-default-config-files 禁用這
種默認(rèn)行為
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 試驗(yàn)環(huán)境介紹
debian8.4
1C 1G 20G
9.2 倉庫目錄規(guī)劃
/data/deb
9.3 安裝部署
9.3.1 apt-get 安裝部署 nginx
創(chuàng)建 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/*; ### 這一行注釋掉或者刪除這個(gè)目錄下的文件
}
創(chuàng)建子配置文件
[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
檢查啟動(dòng)
nginx -s stop
nginx -t
nginx
測(cè)試訪問
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 移動(dòng)自定義的 DEB 安裝包到倉庫
移動(dòng)緩存的 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.
查看索引壓縮包的內(nèi)容
zcat Packages.gz
9.7 客戶機(jī)測(cè)試
配置軟件源
[root@could-100 ~]# cat /etc/apt/sources.list
deb http://192.168.47.64/mydeb /
更新
apt-get update
安裝測(cè)試
apt-get install screen
注意! 這里如果使用-y 會(huì)出錯(cuò),下面有解決方案
測(cè)試安裝 docker-ce
9.8 rsync 同步阿里云鏡像
不過還是推薦使用什么什么包再復(fù)制什么包過去,不然可能會(huì)同步很多不需要的文件,
科大源參考網(wǎng)址
https://mirrors.ustc.edu.cn/help/rsync-guide.html
9.9 運(yùn)維注意事項(xiàng)
9.9.1 不能使用-y 解決
在客戶機(jī)上創(chuàng)建一個(gè)文件,然后寫入一句話圾浅,再更新一下 apt-update
[root@apt-test ~]# cat /etc/apt/apt.conf.d/02allow-unsigned
APT::Get::AllowUnauthenticated 1;
相關(guān)網(wǎng)站:
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 處理方式一樣,進(jìn)入單用戶模式修改.
第11章 常見錯(cuò)誤排查
11.1 service networking restart 重啟網(wǎng)卡不生效
service networking 只對(duì)添加了 auto 的網(wǎng)卡重啟生效
auto eth0