010.Debian系统基本操作

2020-05-04 21:13:37 浏览数 (1)

1. Debian系统基本操作

1.1 常用服务配置文件路径

  • 网卡配置文件:/etc/network/interfaces
代码语言:javascript复制
# 多个网卡都在这一个配置文件中

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
  • 动态添加删除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
  • 重启网络服务命令:/etc/init.d/networking restart
  • DNS配置文件:/etc/resolv.conf,与CentOS没有区别
  • 软件源配置文件:/etc/apt/sources.list

1.2 日常操作

查看系统版本号

代码语言:javascript复制
debian@debian-buster:/etc/apt$ cat /etc/debian_version 
10.3

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

代码语言:javascript复制
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的守护进程命令:

代码语言:javascript复制
# 使用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

系统自启动服务管理

  • 安装sysv-rc-conf apt-get install sysv-rc-conf
  • 执行sysv-rc-conf命令
  • 使用上下左右定位到服务在某个系统级别下的状态
  • 使用空格修改状态,"X"代表开机启动
  • ctrl n看下一页,ctrl p看上一页,q退出, 启动服务,-停止服务
  • 常用服务 acpi-support: 关于电源支持的默认是 1,2,3,4,5 下启动,可以把它调整到S级别 acpid: acpi的守护程序,默认是2-5开启 alsa: alsa声音子系统,可以不开启 alsa-utils: 这个服务似乎取代了alsa,所以开启这个就可以了 anacron: 这是一个用于执行那些到时间后应该执行却没有执行的程序的服务 apmd: 也是一种电源管理,电脑如果不是很老,就没有必要开启 atd: 和anacron类似,与定时执行计划任务相关 bluez-utiles: 蓝牙服务,可以关闭 bootlogd: 记录日志的服务 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,并记录为一个文件,重要,不能关闭 lvm: 逻辑卷管理器,如果没有用可以关了它 makedev: 用来创建设备到/dev目录,不能关 mdamd: 管理raid用,如果没有用可以关闭 module-init-tools: 从/etc/modules扩展模块的,一般开启 networking: 网络服务,必须开启 ntp-server: 时间同步服务 pcmcia: 激活pcmica设备 powernowd: 用于管理cpu的客户端程序,如果CPU有变频功能,比如amd的quite:cool,就可以开启这个服务 ppp: 拨号服务 ppp-dns: 同上 readahead: 预加载服务,此服务会使系统启动变慢3-4秒,可以关了它 reboot: 重启机器,不要动它 rmnologin: 清除nologin rsync: rsync守护进程 screen-cleanup: 一个清除开机屏幕的脚本 sendsigs: 重启和关机时向所有进程发送消息 single: 激活单用户模式 stop-bootlogd: 从2,3,4,5级别停止bootlogd sysklogd: 用于记录系统日志信息 udev: 用户空间dev文件系统 udev-mab: 同上 umountfs: 用来卸载文件卷 urandom: 生成随机数 usplash: 开机画面支持 vbesave: 显卡bios配置工具 xorg-common: 设置X服务ICE socket

防火墙和seliunx

  • Debian默认没有seliunx
  • Debian防火墙默认没有任何规则

命令的别名

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

代码语言:javascript复制
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文件:

代码语言:javascript复制
# 默认
#PermitRootLogin prohibit-password
#PasswordAuthentication yes

# 修改为
PermitRootLogin yes
PasswordAuthentication yes

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

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

默认没有安装rsync服务

代码语言:javascript复制
# 手动安装
apt-get install rsync

修改默认的系统运行级别

代码语言:javascript复制
# 查看当前系统运行级别
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.rpmrpm -i pkg.rpm

dpkg -i pkg.debpkg --install pkg.deb

删除软件包

rpm -e package

apt-get remove package

软件包升级检查/测试

yum check-update

apt-get -s upgradeapt-get -s dist-upgrade

升级软件包

yum updaterpm -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 installedrpm -qa

dpkg -ldpkg --list

获取某个已安装软件包的信息

yum info packagerpm -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/namedpkg --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

代码语言:javascript复制
# 格式
# 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

  • deb:软件位置
  • deb-src:软件源代码位置

第二部分:系统镜像地址

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

  • dists:此目录是获得Debian发布版本(releases)和预发布版本(pre-releases)的软件包的正规途径,有些旧软件包及packages.gz文件也在里面
  • pool:此目录为软件包的物理地址,软件包都放进一个巨大的"池"(pool)中,按照源码包名称分类存放,为了方便管理,pool目录下按属性再分类(main、contrib和non-free),分类下面再按源码包名称的首字母归档,这些目录包含的文件有:运行于各种系统架构的二进制软件包、生成这些二进制软件包的源码包、可以执行命令apt-cache showsrc package来查看软件包的存放位置,例如apache软件包存放在pool/main/a/apache/ 目录中,另外,由于lib*软件包数量巨大,所以它们以特殊的方式归档,例如,libpaper软件包存放在pool/main/libp/libpaper/下 root@debian-buster:~# apt-cache showsrc i2pd Package: i2pd Binary: i2pd Version: 2.23.0-1 Maintainer: Yangfl <mmyangfl@gmail.com> Build-Depends: debhelper (>= 12~), libboost-system-dev (>= 1.46), libboost-date-time-dev, libboost-filesystem-dev, libboost-program-options-dev, libminiupnpc-dev, libssl-dev, zlib1g-dev, cmake, libwebsocketpp-dev Architecture: any Standards-Version: 4.3.0 Format: 3.0 (quilt) Files: 366f33aefb89eb9c8ac5850dbb4b2ccf 1952 i2pd_2.23.0-1.dsc b3815eab442230414a66be7e4b7de617 1008677 i2pd_2.23.0.orig.tar.gz 5538ad75732afa9cddff94c76ec0d509 6684 i2pd_2.23.0-1.debian.tar.xz Vcs-Browser: https://salsa.debian.org/yangfl-guest/i2pd Vcs-Git: https://salsa.debian.org/yangfl-guest/i2pd.git Checksums-Sha256: d4b825caa40d563f3f64b867ca0a83ef74eafe4f017ecb9fead603ca1477b554 1952 i2pd_2.23.0-1.dsc 19e8573b44b94ce83bd5705569934049cb1dc39db11449abcb9e4b36afe5a279 1008677 i2pd_2.23.0.orig.tar.gz 353873a700017e85cc9d318d126209d28bf9f805784cd1d975e20e7f1c20621f 6684 i2pd_2.23.0-1.debian.tar.xz Homepage: https://i2pd.website Package-List: i2pd deb net optional arch=any # 软件包的位置 Directory: pool/main/i/i2pd Priority: extra Section: misc
  • tools:用于创建启动盘、磁盘分区、压缩/解压文件、启动Linux的DOS等功能的小工具
  • doc:基本的Debian文档,如FAQ,错误报告系统指导等
  • indices:维护人员文件和重载文件
  • project:大部分为开发人员的资源,如project/experimental目录下包含了处于开发中的软件包和工具,它们均处于alpha测试阶段,用户不应该使用这些软件

第三部分:系统版本号

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

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

  • oldstable:旧的稳定发行版,oldstable是目前稳定发行版的上一个版本的链接,例如目前稳定版本是10.3,上一个版本是9.12,所以oldstable目录与Debian9.12下的文件一模一样
  • stable:目前的稳定发行版,每个Debian系统都有一个代号,debian6叫做squeeze,debian7叫做wheezy,所以stable就是目前稳定版本的一个链接,目前稳定版为buster,所以stable目录下的内容和buster目录下的内容一模一样
  • testing:目前还暂时处于测试阶段的debian发行版,如buster下个版本是bullseye,所以testing目录就是bullseye目录
  • unstable:不稳定版本了,是sid目录的链接,debian的发行版本名称大都来自玩具总动员中的角色名称,而sid就是那个专门破坏玩具的邻居家坏小孩,所以就把unstable这个不稳定的软件目录起名为sid了,这里面的软件一般都是最新的,稳定性、安全稳定值得商榷,经过一段时间的测试,这里面的软件可能会进入下一个阶段,出现在testing目录,然后就有可能出现在下一个debian发行版中,当然也有直接被放弃的软件

第四部分:限定词

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

  • main:Debian最基本及主要的且符合自由软件规范的软件(packages)
  • contrib:这里头的软件虽然可以在Debian系统中运行,本身属于自由软件,但却依赖于非自由(non-free)软件
  • non-free:不属于自由软件范畴的软件
  • non-us:这个分类中的软件都来自非美国地区,其中可能有牵扯到专利、加密等问题
  • marillat:对应Christian Marillat的软件仓库,包括mplayer,transcode等
  • rareware: 对应rarewares.org的软件仓库,包括很多音效程序,如lame、musepack、beep media player等
  • ustc:对应debian@ustc维护的一些软件包,如 mule-gbk、gaim-openq、scim、stardict dicts、patched xpdf、irssi、xmms等
  • java:对应Blackdown java,包括 j2re、j2sdk、mozilla java plugin
  • firefly:对应打过firefly补丁的包,包括fontconfig、mozilla、mozilla-firefox、pango1.0、qt-x1-free、xft
  • misc:对应其它无分类的包,包括nvidia-kernel、winex3、rox、chmsee等

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

代码语言:javascript复制
# 如果遇到无法拉取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本地软件仓库的搭建

  • 创建www用户组和www用户 groupadd www -g 888 useradd www -u 888 -g 888 -M -s /sbin/nologin
  • 安装nginx apt-get install nginx
  • 查看软件包信息 dpkg -S nginx
  • 查看nginx配置文件 root@debian-buster:~# egrep -v "^#|^.*#|^$" /etc/nginx/nginx.conf user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; 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; include /etc/nginx/conf.d/*.conf; # 把这一行注释掉 # include /etc/nginx/sites-enabled/*; }
  • 创建一个目录用作软件仓库 mkdir -p /data/deb chown -R www:www /data
  • 创建/etc/nginx/conf.d/apt-deb.conf文件,内容如下: server { listen 8080; server_name localhost; autoindex on; location / { index index.html index.htm; root /data/deb; } }
  • 启动nginx systemctl start nginx
  • 访问服务

目前还没有任何包

  • 下载包 # 只下载不安装 # 清空缓存 root@debian-buster:~# apt-get clean # 查看/var/cache/apt/archives root@debian-buster:~# tree -F /var/cache/apt/archives/ /var/cache/apt/archives/ ├── lock └── partial/ # 下载一个包,只下载不安装 root@debian-buster:~# apt-get install -d screen # 查看缓存目录 root@debian-buster:~# tree -F /var/cache/apt/archives/ /var/cache/apt/archives/ ├── libutempter0_1.1.6-3_amd64.deb ├── lock ├── partial/ └── screen_4.6.2-3_amd64.deb # 移动下载好的包到仓库目录下 root@debian-buster:~# mv /var/cache/apt/archives/screen_4.6.2-3_amd64.deb /data/deb/ root@debian-buster:~# mv /var/cache/apt/archives/libutempter0_1.1.6-3_amd64.deb /data/deb/
  • 这时就可以在页面看到刚才下载的包了
  • 更新本地仓库的索引信息 索引信息中包括各个包的元数据信息,而不是包本身,每次仓库只要发生变动,就应该更新索引信息 root@debian-buster:~# apt-get install dpkg-dev root@debian-buster:~# cd /data/deb/ root@debian-buster:/data/deb# dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz dpkg-scanpackages: warning: Packages in archive but missing from override file: dpkg-scanpackages: warning: libutempter0 screen dpkg-scanpackages: info: Wrote 2 entries to output Packages file. # 查看索引压缩包的内容 root@debian-buster:/data/deb# zcat Packages.gz
  • 客户端配置,修改/etc/apt/sources.list文件 # 只留局域网内的这个源 deb [trusted=yes] http://10.0.0.200:8080/ /
  • 客户端测试 root@debian-buster:/etc/apt# apt-get update Ign:1 http://10.0.0.200:8080 InRelease Ign:2 http://10.0.0.200:8080 Release Ign:3 http://10.0.0.200:8080 Packages Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Ign:3 http://10.0.0.200:8080 Packages Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Ign:3 http://10.0.0.200:8080 Packages Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Get:3 http://10.0.0.200:8080 Packages [1,066 B] Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Ign:4 http://10.0.0.200:8080 Translation-en Ign:5 http://10.0.0.200:8080 Translation-en_GB Fetched 1,066 B in 0s (52.1 kB/s) Reading package lists... Done # 安装screen root@debian-buster:/etc/apt# apt-get install screen Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libutempter0 Suggested packages: byobu | screenie | iselect The following NEW packages will be installed: libutempter0 screen 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 611 kB of archives. After this operation, 1,061 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://10.0.0.200:8080 libutempter0 1.1.6-3 [7,812 B] Get:2 http://10.0.0.200:8080 screen 4.6.2-3 [603 kB] Fetched 611 kB in 0s (49.3 MB/s) Selecting previously unselected package libutempter0:amd64. (Reading database ... 133533 files and directories currently installed.) Preparing to unpack .../libutempter0_1.1.6-3_amd64.deb ... Unpacking libutempter0:amd64 (1.1.6-3) ... Selecting previously unselected package screen. Preparing to unpack .../screen_4.6.2-3_amd64.deb ... Unpacking screen (4.6.2-3) ... Setting up libutempter0:amd64 (1.1.6-3) ... Setting up screen (4.6.2-3) ... Processing triggers for man-db (2.8.5-2) ... Processing triggers for libc-bin (2.28-10) ... Processing triggers for systemd (241-7~deb10u3) ...
  • 问题 如果-y选项不生效,即指定-y,但是安装软件的时候还是需要手动确认,那么在/etc/apt/apt.conf.d/02allow-unsigned文件中添加如下一行: APT::Get::AllowUnauthenticated 1; 文件不存在的话直接创建,然后重新apt-get update 另外,我这里的本地仓库里只有两个包,我们可以将镜像站的所有包都下载下来,但是会占用很大的磁盘,可能有几百G,所以需要什么就在本地仓库中下载什么,然后重新生成索引文件即可。另外也可以直接从外网的软件源同步软件包,参考科大源同步方法与注意事项

0 人点赞