010.Debian系统基本操作

2020-04-24  本文已影响0人  CoderJed

1. Debian系统基本操作

1.1 常用服务配置文件路径

# 多个网卡都在这一个配置文件中

auto lo
iface lo inet loopback

# atuo 在系统启动的时候启动网络接口,无论网络接口有无连接
auto eth0
iface eth0 inet static
address 210.14.154.115
netmask 255.255.255.224
gateway 210.14.154.113

# allow-hotplug 将此网卡设置为热插拔模式
# 只有当内核从该接口检测到热插拔事件后才启动该接口。
# 如果系统开机时该接口没有插入网线,则系统不会启动该接口
# 系统启动后,如果插入网线,系统会自动启动该接口
allow-hotplug eth1
iface eth1 inet static
address 192.168.5.21
netmask 255.255.255.0

1.2 日常操作

查看系统版本号

debian@debian-buster:/etc/apt$ cat /etc/debian_version 
10.3

创建用户,默认不创建家目录

root@debian-buster:/home# useradd tony
root@debian-buster:/home# ls
debian

# -m 创建home目录
# -g 设置用户的组
# -d 用户登陆后的起始目录
# -s 用户使用的bash,这个必须设置,否则默认为/bin/sh
# Centos的/bin/sh链接到bash,而Debian的/bin/sh链接到dash
root@debian-buster:/home# groupadd tom
root@debian-buster:/home# useradd -m tom -g tom -d /home/tom -s /bin/bash
root@debian-buster:/home# ls
debian  tom
root@debian-buster:/home# passwd tom
New password: 
Retype new password: 
passwd: password updated successfully

nohup与start-stop-daemon

start-stop-daemon是debian的守护进程命令:

# 使用nohup
nohup command 2>&1 >> log &
# 使用start-stop-daemon
# 开启一个daemon进程
start-stop-daemon --start --background --exec /root/proxy.py
# 关闭一个daemon进程
start-stop-daemon --stop --name proxy.py

系统自启动服务管理

防火墙和seliunx

命令的别名

CentOS中好用的命令别名,在debian中都注释掉了

root@debian-buster:~# 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'

root用户远程登录

debian默认不允许使用root用户远程登录,需要修改/etc/ssh/sshd_config文件:

# 默认
#PermitRootLogin prohibit-password
#PasswordAuthentication yes

# 修改为
PermitRootLogin yes
PasswordAuthentication yes

# 重启ssh服务
/etc/init.d/ssh restart

这样就可以使用root远程连接debian系统了

默认没有安装rsync服务

# 手动安装
apt-get install rsync

修改默认的系统运行级别

# 查看当前系统运行级别
root@debian-buster:~# systemctl get-default
graphical.target

# 查看可供替换的运行级别
root@debian-buster:~# systemctl list-units --type=target
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                
basic.target           loaded active active Basic System               
bluetooth.target       loaded active active Bluetooth                  
cryptsetup.target      loaded active active Local Encrypted Volumes    
getty.target           loaded active active Login Prompts              
graphical.target       loaded active active Graphical Interface        
local-fs-pre.target    loaded active active Local File Systems (Pre)   
local-fs.target        loaded active active Local File Systems         
multi-user.target      loaded active active Multi-User System          
network.target         loaded active active Network                    
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths                      
remote-fs.target       loaded active active Remote File Systems        
slices.target          loaded active active Slices                     
sockets.target         loaded active active Sockets                    
sound.target           loaded active active Sound Card                 
swap.target            loaded active active Swap                       
sysinit.target         loaded active active System Initialization      
time-sync.target       loaded active active System Time Synchronized   
timers.target          loaded active active Timers                     

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

19 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

# 修改默认系统运行级别方法一
systemctl set-default multi-user.target

# 修改默认系统运行级别方法二:创建软链接来替换
root@debian-buster:~# ll /lib/systemd/system | grep "runlevel*"
lrwxrwxrwx 1 root root   15 Jan 29 18:07 runlevel0.target -> poweroff.target
lrwxrwxrwx 1 root root   13 Jan 29 18:07 runlevel1.target -> rescue.target
drwxr-xr-x 2 root root 4096 Jan 29 18:07 runlevel1.target.wants
lrwxrwxrwx 1 root root   17 Jan 29 18:07 runlevel2.target -> multi-user.target
drwxr-xr-x 2 root root 4096 Jan 29 18:07 runlevel2.target.wants
lrwxrwxrwx 1 root root   17 Jan 29 18:07 runlevel3.target -> multi-user.target
drwxr-xr-x 2 root root 4096 Jan 29 18:07 runlevel3.target.wants
lrwxrwxrwx 1 root root   17 Jan 29 18:07 runlevel4.target -> multi-user.target
drwxr-xr-x 2 root root 4096 Jan 29 18:07 runlevel4.target.wants
lrwxrwxrwx 1 root root   16 Jan 29 18:07 runlevel5.target -> graphical.target
drwxr-xr-x 2 root root 4096 Jan 29 18:07 runlevel5.target.wants
lrwxrwxrwx 1 root root   13 Jan 29 18:07 runlevel6.target -> reboot.target
-rw-r--r-- 1 root root  797 Jan 29 18:07 systemd-update-utmp-runlevel.service
# 这里把runlevel5.target链接到default.target,其实就是这是系统默认运行级别为graphical.target
ln -sf /lib/systemd/system/runlevel5.target /lib/systemd/system/default.target

1.3 Debian软件包和CentOS软件包的区别

CentOS使用yum安装软件,Debian使用apt安装软件

apt相关配置文件

文件 说明
/etc/apt/sources.list 设置软件包的获取来源
/etc/apt/apt.conf apt配置文件
/etc/apt/apt.conf.d/ apt的其他各种配置所在的目录
/etc/apt/preferences 版本参数
/var/cache/apt/archives/ 存放已经下载的软件包
/var/cache/apt/archives/partial 存放正在下载的软件包
/var/lib/apt/lists/ 存放已经下载的软件包详细信息
/var/lib/apt/lists/partial/ 存放正在下载的软件包详细信息

apt-get命令的子命令

子命令 说明
update 更新软件包列表
upgrade 升级系统中的所有软件包
install 安装软件包
remove 卸载软件包
autoremove 仅删除不需要再次下载的软件包
purge 彻底删除软件包,包括配置文件
source 下载源代码
build-dep 自动下载安装编译某个软件所需要的软件包
dist-upgrade 升级整个发行版
clean 删除本地缓存的所有升级包
autoclean 删除本地缓存中无用的软件包
check 检查是否存在有问题的依赖关系

apt-get命令选项

选项 说明
-d,--download-only 仅下载,不安装
-f,--fix-broken 修复依赖问题,用于install和remove子命令
-m,--ignore-missing,--fix-missing 忽略缺失的软件包,遇到无法下载的软件包,自动忽略
--no-download 禁止下载软件包,与-m配合,可以使apt只使用已经下载的软件包
-q,--quiet 静默模式,输出的信息适合做日志
-s,--simulate,--just-print 模拟测试,不做出实际操作,不改变系统
-y,--yes,--assume-yes 在系统提问时,自动应答yes
-u,--show-upgraded 显示已升级的软件包
-V,--verbose-versions 显示已安装和已升级的软件包的完整版本号
-b,--compile,--build 在源码包下载完成后进行编译
--ignore-hold 忽略被保留的软件包
--no-upgrade 不要升级软件包
--force-yes 强制回答yes
--print-uris 仅打印软件包地址,不安装
--purge 彻底删除,包括配置文件
--reinstall 重新安装软件包

apt-cache命令

功能:搜索某个软件包的名字或者显示某个软件包的详细信息

示例 说明
apt-cache search mysql 搜索mysql的软件包
apt-cache show ssh 查看ssh软件包的详细版本号

CentOS和Debian软件包操作对比

操作内容 CentOS Debian
基本信息
软件包后缀 .rpm .deb
软件源配置文件 /etc/yum.conf /etc/apt/sources.list
安装、删除、升级软件包
更新软件包列表 每次运行yum时自动执行 apt-get update
从软件仓库中安装软件 yum install package apt-get install package
安装一个已下载的软件包 yum install pkg.rpm
rpm -i pkg.rpm
dpkg -i pkg.deb
pkg --install pkg.deb
删除软件包 rpm -e package apt-get remove package
软件包升级检查/测试 yum check-update apt-get -s upgrade
apt-get -s dist-upgrade
升级软件包 yum update
rpm -Uvh [args]
apt-get upgrade
升级整个系统 yum upgrade apt-get dist-upgrade
获取软件包信息
获取某个软件包的信息 yum search package apt-cache show package
获取所有软件包的信息 yum list available apt-cache dumpavail
显示所有已安装的软件 yum list installed
rpm -qa
dpkg -l
dpkg --list
获取某个已安装软件包的信息 yum info package
rpm -qi package
dpkg --status package
列出某个已安装软件包所包含的文件列表 rpm -ql package
列出某个已安装软件包所包含的文档 rpm -qd package
列出某个已安装软件包所包含的配置文件 rpm -qc package
显示某个软件包所依赖的软件包列表 rpm -qR package apt-cache depends package
显示某个软件包的反向依赖关系 rpm -q -whatrequires [args] apt-cache rdepends package
软件包文件信息
获取某个软件包文件的信息 rpm -qpi pkg.rpm dpkg --info pkg.deb
获取某个软件包文件所包含的文件列表 rpm -qpl pkg.rpm dpkg --contents pkg.deb
获取某个软件包文件所包含的文档 rpm -qpd pkg.rpm
获取某个软件包文件所包含的配置文件 rpm -qpc pkg.rpm
软件包解压 rpm2cpio pkg.rpm dpkg-deb --extract pkg.deb
搜索某个文件是由哪个软件包安装的 rpm -qf /file/name dpkg -S /file/name
dpkg --search /file/name
搜索所有提供某个文件的软件包 yum provides /file/name apt-file search /file/name
其他
显示本地软件包缓存的状态 apt-cache stats
校验所有已安装的软件包 rpm -Va debsums
删除本地缓存的所有软件包 yum clean packages apt-get clean
仅删除本地缓存中过时的软件包 apt-get autoclean
删除所有软件包信息 yum clean headers apt-file purge

debian软件源sources.list文件格式说明

/etc/apt/sources.list

# 格式
# deb/deb-src ftp或者http地址 版本号 限定词

deb http://mirrors.163.com/debian/ buster main
deb-src http://mirrors.163.com/debian/ buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

deb http://mirrors.163.com/debian/ buster-updates main
deb-src http://mirrors.163.com/debian/ buster-updates main

第一部分:deb/deb-src

第二部分:系统镜像地址

以下为网易的debian镜像站中的内容:

第三部分:系统版本号

dists目录下的子目录就是按照Debian的系统版本分类的:

总的来说,分为以下4类:

第四部分:限定词

进入某个版本的目录后,又会根据一些属性分成多个目录:

以下为清华大学镜像站的debian buster的sources.list配置:

# 如果遇到无法拉取https源
# 就把下面的地址中的https都改为http
# 或者使用sudo apt install apt-transport-https ca-certificates来安装https的支持

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

修改了软件源之后可以执行apt-get update命令更新软件包列表信息,使用apt-get dist-upgrade对系统进行全面升级

1.4 debian本地软件仓库的搭建

上一篇下一篇

猜你喜欢

热点阅读