Ubuntu系统apt添加第三方PPA源
一、前言
1.1目的
在使用Ubuntu时往往apt源会自带很多常用软件,但是大部分都是比较老的版本,本文主要是为了实现以下两个目的:
通过添加第三方的PPA源解决软件版本过低或者没有安装包的情况;
Apt使用的一些基本命令。
1.2相关文档:
PPA介绍可以参考此文章:技术|Ubuntu PPA 使用指南 https://linux.cn/article-10456-1.html
PPA的网址:https://launchpad.net/ubuntu/+ppas
二、apt命令
2.1基本用法
查询仓库汇总软件的所有版本
~# apt-cache madison nginx

~# apt-cache show nginx | grep -i version
安装指定版本:
语法: apt-get install <>=<>
~# apt-get -y install nginx=1.14-1~xenial
查询仓库中软件的所有版本及安装情况
~# apt-cache policy nginx

使用apt-get install -s模拟安装软件(不指定版本默认下载源中最新版本)
~# apt-get install -s apache2
2.2关于ppa的一些命令
导入ppa的源:
add-apt-repository ppa:源作者/软件名
PPA弊端
如果不将一些失效的PPA删除,就会是apt update 变慢甚至出错。所以及时删除,删除 PPA 源 命令: add-apt-repository -r ppa:user/ppa-name
更彻底的办法:
首先查询并删除不需要的key:
apt-key list #列出已保存在系统中key

apt-key del keyname #从本地trusted数据库删除key
apt-key del 1362 21EE520DDFAF0A905689B9316A7BC7917B12
apt-key update #更新本地trusted数据库,删除过期没用的key
到源的目录:cd /etc/apt/sources.list.d/,删除不需要的源地址文件
清空/var/lib/apt/lists里的文件: cd /var/lib/apt && sudo rm -rf lists && sudo mkdir lists
当然还有自己作死遇到的问题:The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY keyname
解决办法:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys keyname #删错了key重新加载回来
三、apt部署新版本的redis
3.1查看版本及软件版本
先查看apt可以下载的redis版本(如下可以下载最新的是5.5版本,已安装版本没有)
~# apt-cache policy redis-server
redis-server:
Installed: none
Candidate: 5:5.0.7-2ubuntu0.1
Version table:
*** 5:5.0.7-2ubuntu0.1 500
500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 Packages
500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 Packages
5:5.0.7-2 500
500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 Packages
查看Ubuntu的版本
~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
3.2查找PPA源
去PPA上https://launchpad.net/ubuntu/+ppas查找可用的redis源
在搜索栏上输入redis进行查找

可以看到这个源的作者是redislabs,而且有符合focal版本的源,最新为7.0.4版本

3.3添加ppa源
有sources.list配置添加和add-apt-repositor命令添加两种方法:
方法一:sources.list配置添加
在/etc/apt/sources.list文件中添加以下配置:
deb http://ppa.launchpad.net/redislabs/redis/ubuntu trusty main
deb-src http://ppa.launchpad.net/redislabs/redis/ubuntu trusty main
更新apt源
~# apt-get update
方法二:命令添加
添加add-apt-repository命令
~# apt-get install python-software-properties #Ubuntu12.04以下
~# apt-get install software-properties-common #Ubuntu12.10版本以上
添加ppa源(会自动添加符合自己版本的源)
~# add-apt-repository ppa:redislabs/redis-server
更新apt源
~# apt-get update
再次查看可下载版本:
~# apt-cache policy redis-server
redis-server:
Installed: 6:7.0.4-1rl1~focal1
Candidate: 6:7.0.4-1rl1~focal1
Version table:
*** 6:7.0.4-1rl1~focal1 500
500 https://packages.redis.io/deb focal/main amd64 Packages
100 /var/lib/dpkg/status
6:7.0.4-1rl1~focal1 500
500 http://ppa.launchpad.net/redislabs/redis/ubuntu focal/main amd64 Packages
6:7.0.3-1rl1~focal1 500
500 https://packages.redis.io/deb focal/main amd64 Packages
6:7.0.2-1rl1~focal1 500
500 https://packages.redis.io/deb focal/main amd64 Packages
......
由于缓存需要时间,过一段时间旧版本的才会被下载
~# apt-cache madison redis
redis | 6:7.0.4-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.4-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.4-1rl1~focal1 | http://ppa.launchpad.net/redislabs/redis/ubuntu focal/main amd64 Packages
redis | 6:7.0.3-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.3-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.2-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.2-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.1-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.1-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:7.0.0-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:7.0.0-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.7-1rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.7-1rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.6-3rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.6-3rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
redis | 6:6.2.6-2rl1~focal1 | https://packages.redis.io/deb focal/main amd64 Packages
redis | 6:6.2.6-2rl1~focal1 | https://packages.redis.io/deb focal/main all Packages
3.4安装redis
下载默认版本(默认为最新的)
~# apt-get install -y redis-server
下载指定版本
~# apt-get install -y redis-server=7.0.4-1rl1~focal1
查看下载情况
~# apt-cache policy redis
redis:
Installed: 6:7.0.4-1rl1~focal1
Candidate: 6:7.0.4-1rl1~focal1
Version table:
*** 6:7.0.4-1rl1~focal1 500
500 https://packages.redis.io/deb focal/main amd64 Packages
500 https://packages.redis.io/deb focal/main all Packages
100 /var/lib/dpkg/statu
3.5 redis优化
编辑配置文件添加redis密码为:guest
sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /etc/redis/redis.conf
sed -i "561i maxmemory-policy allkeys-lru" /etc/redis/redis.conf
sed -i "481i requirepass guest" /etc/redis/redis.conf
cat << EOF >> /etc/redis/redis.conf
rename-command FLUSHALL ""
rename-command FLUSHDB ""
EOF
修改参数
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
sysctl -p
启动redis并加入开机自启
~# systemctl start redis-server && ~# systemctl enable redis-server
~# systemctl status redis-server
~# ps -ef|grep redis
redis 153598 1 0 Aug31 ? 00:03:02 /usr/bin/redis-server 0.0.0.0:6379
完成
Ubuntu系统apt添加第三方PPA源的更多相关文章
- [Ubuntu] apt 添加第三方库
1. 方法一:直接在 /etc/apt/sources.list 添加第三方库. $ sudo vi /etc/apt/sources.list 在其中添加: deb http://archive.s ...
- ubuntu - 14.04,常用PPA源(第三方提供的deb格式安装文件)!!
说明: 1,下面所有PPA源的执行命令,均为在shell中执行的命令,需要依次执行! 2,下面所有测试方法,均为在shell中执行的命令!! PPA源: 一,Oracle JDK:Oracle公司提供 ...
- 为 Ubuntu/Anaconda/pip 添加国内下载源
背景 正在看 tensorflow-lite 压缩模型的部分,结果 tutorial 一上来就要卸旧版安装 tf-nightly (新版?反正小白下就vans了) 然而好不容易才编译好源码舍不得删.又 ...
- Ubuntu系统下添加程序启动器
Ubuntu系统上安装的软件,有的会自动创建快捷方式,在程序中可以搜索到,而有的安装后不会在应用程序中出现,如Eclipse.Spring Tool Suite或是绿色软件等,那么怎么手动创建快捷方式 ...
- Ubuntu 16.04添加阿里云源/163源
添加国内源有个好处,比如下载软件时直接时国内的服务器,速度有保证. 以下是操作方法: 1.备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list. ...
- Ubuntu 16.04添加阿里云源
转自:http://www.cnblogs.com/EasonJim/p/7119156.html 添加国内源有个好处,比如下载软件时直接时国内的服务器,速度有保证. 以下是操作方法: 1.备份 su ...
- 怎样在Qsys系统中添加第三方IP核
1.新建Quartus II工程 2.新建Qsys系统 3.如果没有我们需要添加的IP,需要自己额外添加 4在我们新建的Quartus工程里面新建一个文件夹,命名为ip; 5.将我们已经下载好的IP文 ...
- ubuntu系统中添加DNS服务器地址后诡异消失的解决办法
今天查看了一下自己电脑里的ubuntu14.04系统,发现无法上网,于是ping了一下百度,出现unknown host,查了一下/etc/resolv.conf中的DNS地址,却发现我之前的修改被清 ...
- ubuntu系统下,下载Android源码
博主电脑的Windows的 是用的vmware装的ubuntu kylin.vmware随便找都能找到尽量安装最新版本号的,而unbuntu在官方站点下载即可了,安装vmware的时候建议关闭安全类 ...
随机推荐
- zabbix监控apache80端口
1.修改zabbix_agentd.conf 修改# EnableRemoteCommands=0 -->去掉注释修改为1--> EnableRemoteCommands=1 ###允许客 ...
- 浪姐打分看不够?用几行Python代码模拟评委打分
大家好鸭~我是小熊猫比赛大家都看过吧,每次是不是都对比赛成绩充满期待.特别是浪姐的打分看的简直欲罢不能- 今天就用Python来模拟评委打分,这个案例很短也很简单,很适合新手跟小白练习. 在某次十佳歌 ...
- Codeforces Round #780 (Div. 3)
A. Vasya and Coins 题目链接 题目大意 Vasya 有 a 个 1-burle coin,有 b 个 2-burle coin,问他不能通过不找钱支付的价格的最小值. 思路 如果 a ...
- 全民开发!仓库管理者用无代码平台,搭建理想的WMS软件
货在哪儿? 我说过仓库管理不要依赖"老人",因为只有"他"知道货在哪怎么行?也不要完全依赖"系统",因为当前的"系统"并 ...
- 你有没有想过用电子表格也能做MES、WMS、SRM和MRP
曾几何时,小微企业多半选择excel和WPS等电子表格,中小企业更喜欢选择用友金蝶和浪潮这样的国产大品牌软件,而大型企业则偏爱SAP.oracle这样的国外大品牌. 时至今日,风向却变了,品牌软件已不 ...
- MyBatis-通用Mapper-tk.mybatis的使用
MyBatis-通用Mapper[更新中] tk.mybatis的使用 前言 使用MyBatis开发,如果是普通是同MyBatis进行开发,那么就需要在xml文件中编写大量的SQL.当数据库表结构发生 ...
- python jinjia2 使用语法
简介 对于jinjia2来说,模板仅仅是文本文件,可以生成任何基于文本的文件格式,例如HTML.XML.CSV.LaTex 等等,以下是基础的模板内容: <!DOCTYPE html> & ...
- 如何让照片中的人物笑起来?HMS Core视频编辑服务一键微笑功能,让人物笑容更自然
最近一键"露齿笑"席卷全网,无论是短视频用户还是社交App用户都在使用这项黑科技.当三两好友聚会拍集体照留念时,为了处理个别人的表情"瑕疵",让大家都尽量保持微 ...
- Axure RP 8 实现 圆角文本框 圆角带筛选的下拉列表框 可自动显示滚动条
刚开始用Axure 会发现 Axure 元件库并不是很齐全,很多元件需要自己想办法解决 或者去网上去找.其实个人建议网上有现成的元件可以就下载就不必花时间去折腾.除非你也想练练手,原型这种东西除非高保 ...
- Docker Php + mysql + nginx
1 # 一.数据库搭建(MySQL) 2 # 1.拉取mysql镜像 3 docker pull mysql:5.6.50 4 # 2.启动镜像:--name(容器名), MYSQL_ROOT_PAS ...