1

作为一名运维,对于linux操作系统本应该是如数家珍,可是从入门开始就使用了CentOS。现在公司的主要软件部署在ubuntu上,所以不得不系统的了解一下ubuntu的server。(debian/UOS)

理论上,CentOS和Ubuntu都属于linux操作系统,但这两个发行版隶属于两大不同的阵营,所以切换起来还是需要一些经历的,所以,在这里做一些记录。

系统级别

1 openssh-server

我安装的是ubuntu14.04 server,竟然默认没有安装sshd服务。安装openssh-server

sudo apt-get install openssh-server

安装完成后sshd服务就直接启动了,这个和CentOS有些不同。

2 切换为阿里源

参考
快速更新脚本

apt-get安装软件默认缓存目录为 /var/cache/apt/archives

3 软件安装

dpkg 本地安装

dpkg -i|--install <deb>     安装deb包
dpkg -r|--remove <.deb>     移除deb包,删掉数据和可执行文件
dpkg -c|--audit <.deb>      查看deb包文件列表
dpkg -I|--info <.deb>       查看deb包信息
dpkg -l 列出所有已安装的软件包
dpkg -L|--listfiles <.deb>  列出安装的所有文件清单
dpkg –S 命令用于了解当前的软件属于那个软件包
dpkg -P|--purge <.deb>      完全清除已安装deb包,包括配置
dpkg –s <.deb> 命令查看软件包的详细情况,包括版本,依赖之类的
dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.

apt-get –f install 解决Dpends问题

dpkg -x xx.deb /tmp/oo 解压deb包

aptitude

apt-get install aptitude 
aptitude update           更新可用的包列表 
aptitude upgrade          升级可用的包 
aptitude dist-upgrade     将系统升级到新的发行版 
aptitude install pkgname  安装包 
aptitude remove pkgname   删除包 
aptitude purge pkgname    删除包及其配置文件 
aptitude search string    搜索包 
aptitude show pkgname     显示包的详细信息 
aptitude clean            删除下载的包文件 
aptitude autoclean        仅删除过期的包文件 

apt-get

apt-cache search package    搜索包 
apt-cache show package      获取包的相关信息,如说明、大小、版本等
apt-cache depends package   了解使用依赖 
apt-cache rdepends package  是查看该包被哪些包依赖
apt-cache madison package   查看包有哪些可安装的版本,如 apt-get install ansible=2.7.5+dfsg-1~bpo9+1

apt-get install [--reinstall] package       安装 
apt-get install [-f|--fix-missing] package  修复安装
apt-get remove [--purge] package  删除包(删除配置文件等) 
apt-get update                    更新源 
apt-get upgrade                   更新已安装的包 
apt-get dist-upgrade              升级系统 
apt-get dselect-upgrade           使用 dselect 升级 
apt-get build-dep package         安装相关的编译环境 
apt-get source package            下载该包的源代码 
apt-get clean && sudo apt-get autoclean 清理无用的包 
apt-get check                     检查是否有损坏的依赖
apt-get download package          只下载不安装
apt-get purge / apt-get --purge remove  删除已安装包(不保留配置文件)。
apt-get autoremove                删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件。
apt-get remove                    删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。
apt-get autoclean                 APT的底层包是dpkg, 而dpkg 安装Package时, 会将 *.deb 放在 /var/cache/apt/archives/中,apt-get autoclean 只会删除 /var/cache/apt/archives/ 已经过期的deb。
apt-get clean                     使用 apt-get clean 会将 /var/cache/apt/archives/ 的 所有 deb 删掉,可以理解为 rm /var/cache/apt/archives/*.deb。

apt-get使用代理
制作本地源

遇到的问题

问题1
clipboard.png
clipboard.png
方法
進到 /var/lib/dpkg/info 目錄
將卡住的套件檔案刪掉即可

apt-get autoclean
apt-get autoremove

参考

问题2
clipboard.png

方法

dpkg --remove --force-remove-reinstreq zramswap-enabler

参考

问题3

dpkg: error: dpkg status database is locked by another process

方法

$ sudo rm /var/lib/dpkg/lock
$ sudo dpkg --configure -a
$ sudo rm /var/lib/apt/lists/lock

问题4
apt-get 锁定问题

1 停掉 apt 相关进程
2 删除 lock 文件 /var/lib/apt/lists/、/var/lib/dpkg/、/var/cache/apt/archives/

参考

问题4

error processing install-info
解决办法:

 1.将info文件夹更名:mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/

2.再新建一个新的info文件夹 :mkdir /var/lib/dpkg/info/

3.apt-get update:apt-get update

4.重新安装 :apt-get -f install

5.执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下 :mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/

6.把自己新建的info文件夹删掉 :rm -rf /var/lib/dpkg/info

7.把info_old文件夹重新改回info :mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/

8.重新安装需要安装的软件

4网络

设置静态IP

vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.117           # ip地址
netmask 255.255.255.0           # 掩码
network 192.168.0.0             # 网络地址
gateway 192.168.0.1             # 网关
broadcast 192.168.0.255         # 广播地址
dns-nameservers 114.114.114.114 # DNS

设置DNS

sudo vim /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)
在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

修改好保存,然后执行
sudo resolvconf -u
会重新生成/etc/resolv.conf,即时生效
在这样设置时,有时resolvconf -u无法执行,所以还要直接设置 /etc/resolv.conf

查看网关

ip route show
route -n
netstat -rn

5 设置root用户密码

sudo passwd root

6 sar 命令

ubuntu下sysstat的监控默认是关闭的。
需要手动打开

/etc/default/sysstat

软件级别

iptables

debian

  1. Debian9 不含 rc.local处理方法

hiyang
240 声望4 粉丝

linux运维,python和go学习者。