Ubantu使用笔记

1.下载依赖包方式

apt-get

2.查看系统版本

uname  -a

lsb_release -a

3.下载依赖包源

 /etc/apt/sources.list

https://blog.csdn.net/u010918487/article/details/107115416

View Code 

  4. 更新源: sudo apt-get update

  5. 更新软件: sudo apt-get upgrade

4.设置防火墙

https://blog.csdn.net/qq_29232943/article/details/79947546

https://www.cnblogs.com/wangyuxing/p/10488522.html

https://www.cnblogs.com/sweet521/p/5733466.html

5.deb包

Ubuntu系统中,软件通常以 deb 格式的包文件发布,它是一种预编译软件包。deb包中除了包含已编译的软件,通常还包括软件的拷贝路径、对其它软件包的依赖关系纪录、比较通用的配置文件以及软件的描述、版本、作者、类别、占用空间等信息。

deb软件包命令遵行如下约定:

soft_ver-rev_arch.deb

soft软件包名称           ver软件版本号           revUbuntu修订版本号        arch目标架构名称

例如: azureus_2.4.0.2-0ubuntu2_all.deb

您需要使用 dpkg 命令来管理deb软件包:

dpkg -i | --install xxx.deb 安装deb软件包

dpkg -r | --remove xxx.deb 删除软件包

dpkg -r -P | --purge xxx.deb 连同配置文件一起删除

dpkg -I | -info xxx.deb 查看软件包信息

dpkg -L xxx.deb 查看包内文件

dpkg -l 查看系统中已安装软件包信息

dpkg-reconfigure xxx 重新配置软件包

有些时候,您使用 dpkg 安装一个软件包,系统会提示您该软件包依赖其它软件包。这时,您先安装其它软件包,直到满足依赖关系为止。或者同时安装多个软件包

dpkg -i aaa.deb bbb.deb ccc.deb

APT

如果一个软件依赖关系过于复杂,使用 dpkg

来安装它,并不是一个明智的选择,这个时候您就需要用到APT软件包管理系统。APT可以自动的检查依赖关系,通过您预设的方式来获得相关软件包,并自动

安装配置它。事实上,在多数情况下,我们推荐您使用APT软件包管理系统。

APT系统需要一个软件信息数据库和至少一个存放着大量deb包的软件仓库,我们称之为 源 。 源 可以是网络服务器,安装CD或者本地软件仓库。您需要修改 /etc/apt/sources.list 文件,使APT系统能够连接到 源。

从以下页面中获得网络安装源的列表,并且根据您的网络环境,选择速度较快的源。

http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E......%97/DapperDrake

APT系统主要包括 apt-get 和 apt-cache 等命令。通常是复合命令,包含若干个子命令。

apt-get install xxx 安装xxx

-d 仅下载           -f 强制安装

apt-get remove xxx 卸载xxx

apt-get update 更新软件信息数据库

apt-get upgrade 进行系统升级

apt-cache search 搜索软件包

说明:建议您经常使用 sudo apt-get update 命令来更新您的软件信息数据库

APT系统修复

由于各种意外,APT系统可能会出现问题,使用如下命令,尝试进行修复:apt-get -f install

源码包

对于绝大多数软件,我们建议您使用APT系统来安装它。在少数情况下,例如某软件没有以deb包的格式发布,或者需要定制适合自己的软件,您可以通过编译源代码的方式安装它。

首先需要下载软件的源码包,并且将它解包为一些源代码文件。并了便于管理,建议将下载的源码包移动到 /usr/local/src/ 目录下,并在这里解包。

sudo mv xxx.tar.gz /usr/local/src 移动源码包

cd /usr/local/src 进入“/usr/local/src/”目录

sudo tar -xzvf xxx.tar.gz 解包源码

cd xxx_ver/ 进行解包后的源码目录

源码目录中通常有一个 configure 脚本,用来配置即将开始的编译过程。您可以执行它

sudo ./configure [--prefix=/usr/loca/xxx ......]

它会自动检测软件的编译环境和依赖关系,并且生成 Makefile 文件。

使用带参数的命令 ./configure --help ,或者阅读 INSTALL 文件,查看该脚本允许的参数。例如使用

--prefix=/usr/local/xxx 参数,将软件的安装目录设定为 /usr/local/xxx/

。(如果一定要将软件安装在单独目录下,建议您安装在这里)

现在执行 make 命令,系统会根据 Makefile 文件中的设定,通过 make 工具调用编译器和所需资源文件,将源代码编译成目标文件。

sudo make

执行 make install 命令, make 工具会自动连接目标文件和库文件,将最终生成的文件拷贝到 Makefile 文件设定的路径中,并且完成更改文件的属性,删除残留文件等活动。

sudo make install

现在,编译安装已经完成,为了更方便的使用它,需要给程序的可执行文件作一个符号链接。

sudo ln -sf /usr/local/xxx/可执行文件 /usr/local/bin/可执行文件

Tip:为了顺利的进行编译,至少需要安装 build-essential 软件包。

sudo apt-get install build-essential

6.网络和硬件管理

ifconfig

配置网络接口

-a 显示所有网络接口

ifconfig <网卡> up|down

激活|禁用网卡

示例: ::

sudo ifconfig eth0 up

ifconfig <网卡> add <IP地址> [ netmask <子网掩码> ]

给网卡指定IP地址或子网掩码

route

配置路由及网关

route add -net <路由地址> gw <网关地址> [ netmask <子网掩码> ] dev <网卡>

指定路由及网关

route del -net <网关地址> gw <网关地址> [ netmask <子网掩码> ]

删除路由及网关

ip

配置网络

子命令:

link 网卡配置             address 配置地址。相当于 ifconfig               route 配置路由。相当于 route

参数:

show 显示(默认)                 set 设置             add 添加            del 删除

示例:

ip link show 显示网卡配置

ip link set eth0 name xxx 重命名网络接口

 

7.adduser报错

https://stackoverflow.com/questions/23164343/sorry-user-user-is-not-allowed-to-execute-usr-bin-apt-get-update-as-root-o

 

8.ubuntu授予普通账户sudo权限

ununtu系统安装过程中,系统会提示建立一个默认用户。这个默认用户具有一定的管理功能,即可以通过sudo命令执行root权限的操作。由于Ubuntu系统默认不允许通过root用户登录系所以这个默认用户即是实际意义上的管理员.但是要给新建的一个普通用户赋予sudo权限怎么操作呢?

1 修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上chmod u+w /etc/sudoers。

2 编辑/etc/sudoers文件,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存。

3  最后恢复没有写权限模式,撤销文件的写权限,chmod u-w /etc/sudoers。

这样xxx用户可以采用sudo su切换到root用户了

#!/bin/bash
userlist=(
xxaaax:xsasdsdaaxxxxxx
)

function adduser_setpasswd(){
#循环取得数组里的用户名密码
user=`echo $1 |awk -F: '{print $1}'`
passwd=`echo $1 |awk -F: '{print $2}'`
#增加用户
useradd -m -s /bin/bash $user
#设置密码
echo "$user:$passwd"| sudo chpasswd
#增加sudo权限
sed -i "/${user}/d" /etc/sudoers
echo "${user} ALL=NOPASSWD:ALL,!/usr/bin/passwd,/usr/bin/passwd[a-zA-Z]*,!/usr/bin/passwd root,!/bin/su" >> /etc/sudoers
}


#循环调用函数,增加运维用户
for n in ${userlist[@]}
do
adduser_setpasswd $n
echo "user $n hasbeen set successfully !"
done

9.ubuntu查看系统日志

cat /var/log/syslog 

10.  Ubuntu18使用netplan设置网络

 参考:https://my.oschina.net/u/2306127/blog/2877106

     https://blog.csdn.net/peyte1/article/details/80509056

  Ubuntu18使用netplan设置网络,于之前版本区别很大,设置/etc/network/interfaces也可以生效,但是设置多网口绑定只能设置netplay

  环境查看

修改配置文件,如果没有该文件则创建一个

1

vim /etc/netplan/50-cloud-init.yaml

   

1

2

3

4

5

6

7

network:

  ethernets:

    enp1s0:

      addresses: [10.10.10.202/24]

      gateway4: 10.10.10.1

      nameservers:

        addresses: [114.114.114.114,8.8.8.8]

   enp1s0为网卡名称,分别设置地址,掩码在后面加即可,网关,DNS服务器

  立即生效

1

netplan apply

   注意:需要注释配置文件/etc/netplan/01-network-manager-all.yaml的一行才能使用netplan apply生效

1

renderer: NetworkManager

 

  重启主机也可以生效

11.Ubuntu重启网卡的三种方法

Linux重启网卡的三种方法:


一、network
利用root帐户
# service network restart

或者/etc/init.d/networking restart


二、ifdown/ifup
# ifdown eth0
# ifup eth0


三、ifconfig
# ifconfig eth0 down
# ifconfig eth0 up

 

 

Ubuntu14.04修改配置,重启网卡没有生效,出现如下问题:

service  networking restart //重启网络服务
stop: Job failed while stopping
start: Job is already running: networking

tail -f /var/log/upstart/networking.log //查看错误日志
Stopping or restarting the networking job is notsupported.
Use ifdown & ifup to reconfigure desired interface.


从以上日志内容可以看出,传统的service重启和停止网络已经不再支持了,需要通过使用ifdown &ifup来实现相应的操作。


重启指定网卡

ifdown eth0 && ifup eth0

 

12.系统设置了静态IP之后还会获取动态IP的问题解决

有时已经把ip配置文件写好,还是会有下面的情况

一个网卡会获取多个地址

root:/etc/sysconfig/network-scripts # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:16:6d brd ff:ff:ff:ff:ff:ff
inet 192.168.64.140/24 brd 192.168.64.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea8:166d/64 scope link
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:16:77 brd ff:ff:ff:ff:ff:ff
inet 192.168.65.148/24 brd 192.168.65.255 scope global noprefixroute dynamic ens34
valid_lft 1799sec preferred_lft 1799sec
inet 192.168.65.147/24 brd 192.168.65.255 scope global secondary noprefixroute dynamic ens34
valid_lft 1435sec preferred_lft 1435sec
inet 192.168.65.146/24 brd 192.168.65.255 scope global secondary noprefixroute dynamic ens34
valid_lft 1461sec preferred_lft 1461sec
inet6 fe80::20c:29ff:fea8:1677/64 scope link
valid_lft forever preferred_lft forever

或者

root:/etc/sysconfig/network-scripts # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:16:6d brd ff:ff:ff:ff:ff:ff
inet 192.168.64.140/24 brd 192.168.64.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea8:166d/64 scope link
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a8:16:77 brd ff:ff:ff:ff:ff:ff
inet 192.168.65.147/24 brd 192.168.65.255 scope global dynamic ens34
valid_lft 1775sec preferred_lft 1775sec
inet 192.168.65.146/24 brd 192.168.65.255 scope global secondary dynamic ens34
valid_lft 1784sec preferred_lft 1784sec
inet6 fe80::20c:29ff:fea8:1677/64 scope link
valid_lft forever preferred_lft forever

解决方法

原因是network与NetworkManager服务冲突

第一步是禁用NetworkManager服务

# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service

第二步重启network服务

# service network restart

但在 大多数情况下还是不行,必须要在网卡配置文件里写入一行

root:/etc/sysconfig/network-scripts # cat ifcfg-ens34
BOOTPROTO="dhcp"
DEVICE="ens34"
ONBOOT="yes"
NM_CONTROLLED="no"  #加入此行,网卡就不受NetworkManager所控制

13. apt-get 报错,执行不了

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 

 

dpkg: error processing archive /var/cache/apt/archives/postfix_3.3.0-1ubuntu0.3_amd64.deb (--unpack):
 new postfix package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/postfix_3.3.0-1ubuntu0.3_amd64.deb


Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 bsd-mailx : Depends: default-mta or
                      mail-transport-agent
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
dpkg --configure -a
rm /var/lib/dpkg/lock-frontend
rm /var/cache/apt/archives/lock
apt --fix-broken install
dpkg --configure --force-overwrite -a
最后执行这个才解决的
sudo apt -o Dpkg::Options::="--force-overwrite" --fix-broken install

https://unix.stackexchange.com/questions/537546/e-unmet-dependencies-try-apt-fix-broken-install-with-no-packages-or-speci

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值