前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打造超级富容器开发环境(五):安装软件包

打造超级富容器开发环境(五):安装软件包

原创
作者头像
imroc
修改2024-06-11 10:02:48
1010
修改2024-06-11 10:02:48
举报

基础软件安装

一些系统的基础软件包、帮助文档(man命令)以及 locale 和字符集的设置,可统一在 basic.sh 里配置:

代码语言:bash
复制
#!/bin/bash

set -ex

export DEBIAN_FRONTEND=noninteractive

apt update -y
apt upgrade -y

# enable man pages
apt install -y man-db
yes | unminimize

# timezone and locale
apt install -y tzdata locales
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
locale-gen zh_CN.UTF-8
update-locale LANG=zh_CN.UTF-8

# comman tools
apt install -y lsb-release gnupg software-properties-common \
	sudo gzip zip unzip curl wget git git-flow lrzsz \
	ssh rsync lsof tree jq build-essential autoconf automake \
	pkg-config systemd systemd-sysv htop ca-certificates sysstat iotop \
	gettext nginx patch fswatch silversearcher-ag vim psmisc \
	tig bison xclip xsel lld iperf flex

# shell
apt install -y zsh fish

# net tools
apt install -y telnet iputils-arping node-ws ethtool iptables nftables \
	conntrack netcat-openbsd iproute2 net-tools openssl dnsutils tcpdump \
	iputils-ping

# build tools
apt install -y protobuf-compiler llvm llvm-dev libtool libssl-dev libelf-dev \
	libtinfo6 libevent-dev ncurses-dev libluajit-5.1-dev libcurl4-openssl-dev \
	libreadline-dev ninja-build cmake make

# ebpf
apt install -y bcc libbpf-dev libbpfcc libbpfcc-dev bpfcc-tools

第三方软件包安装

一些软件包不能直接用 apt 软件源安装,可抽取到 3rd-tools.sh 进行安装:

代码语言:bash
复制
#!/bin/bash

set -ex

# docker cli
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
	"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
	tee /etc/apt/sources.list.d/docker.list >/dev/null
apt-get update -y
apt-get install -y docker-ce-cli=5:26.1.1-1~ubuntu.24.04~noble
mkdir -p /bins && mv /usr/bin/docker /bins/docker # 隐藏真实 docker 客户端,用脚本代理(默认加 -H 指向 host 的 socket,实现 dind,部分容器编译依赖这个)

# sdkman
curl -s "https://get.sdkman.io" | bash

# git-lfs (https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md)
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get install -y git-lfs

# httppie https://httpie.io/docs/cli/debian-and-ubuntu
curl -SsL https://packages.httpie.io/deb/KEY.gpg | gpg --dearmor -o /usr/share/keyrings/httpie.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/httpie.gpg] https://packages.httpie.io/deb ./" | tee /etc/apt/sources.list.d/httpie.list >/dev/null
apt update -y
apt install -y httpie

# github cli
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" |
	tee /etc/apt/sources.list.d/github-cli.list >/dev/null
apt update -y
apt install gh -y

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础软件安装
  • 第三方软件包安装
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档