避坑指南之Samba4在Ubuntu20.04 编译安装指南

简介: 避坑指南之Samba4在Ubuntu20.04 编译安装指南

前言

在Ubuntu系统20.04上编译安装Samba4,官网文档没有及时更新,在此,把为了给大家避坑,特此分享。

安装步骤

  • 依赖包安装
  • 编译安装Samba
  • 配置Samba

依赖包安装

官网wiki地址:https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba

强烈建议,此处安装,完全在root环境下进行,省的出现各样的权限问题

首先需要预计安装Samba的版本,此处安装Samba 4.12.7

Ubuntu 18.04与20.04相差不是很大,因此

image.png我们选择该脚本,初步安装,脚本如下:

#!/bin/bash
#
# This file is generated by 'bootstrap/template.py --render'
# See also bootstrap/config.py
#
set -xueo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install \
  acl \
  apt-utils \
  attr \
  autoconf \
  bind9utils \
  binutils \
  bison \
  build-essential \
  chrpath \
   curl \
  debhelper \
  dnsutils \
  docbook-xml \
  docbook-xsl \
  flex \
   gcc \
  gdb \
   git \
  glusterfs-common \
  gzip \
  heimdal-multidev \
  hostname \
  htop \
  krb5-config \
  krb5-kdc \
  krb5-user \
  language-pack-en \
  lcov \
  libacl1-dev \
  libarchive-dev \
  libattr1-dev \
  libavahi-common-dev \
  libblkid-dev \
  libbsd-dev \
  libcap-dev \
  libcephfs-dev \
  libcups2-dev \
  libdbus-1-dev \
  libglib2.0-dev \
  libgnutls28-dev \
  libgpgme11-dev \
  libicu-dev \
  libjansson-dev \
  libjs-jquery \
  libjson-perl \
  libkrb5-dev \
  libldap2-dev \
  liblmdb-dev \
  libncurses5-dev \
  libpam0g-dev \
  libparse-yapp-perl \
  libpcap-dev \
  libpopt-dev \
  libreadline-dev \
  libsystemd-dev \
  libtasn1-bin \
  libtasn1-dev \
  libunwind-dev \
  lmdb-utils \
  locales \
  lsb-release \
   make \
  mawk \
  mingw-w64 \
  patch \
  perl \
  perl-modules \
  pkg-config \
  procps \
  psmisc \
  python3 \
  python3-dbg \
  python3-dev \
  python3-dnspython \
  python3-gpg \
  python3-iso8601 \
  python3-markdown \
  python3-matplotlib \
  python3-pexpect \
  rng-tools \
  rsync \
   sed \
   sudo \
  tar \
  tree \
  uuid-dev \
  xfslibs-dev \
  xsltproc \
  zlib1g-dev
apt-get -y autoremove
apt-get -y autoclean
apt-get -y clean

安装期间,需要输入Kerberos协议的域名信息,正确填写即可,此处不多赘述。

DC安装

安装完依赖包之后,需要安装Samba DC

此处,官网安装依赖如下:

apt-get install acl attr autoconf bind9utils bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \
libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libgpgme-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config \
python-all-dev python-crypto python-dbg python-dev python-dnspython \
python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown \
python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils

如果安装以上命令安装,不出意外会报错。

根据我们之前安装脚本,需要做一下调整,并且添加几个需要的依赖

apt-get install acl attr autoconf bind9utils bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \
libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libgpgme-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config \
python-all-dev python-crypto python3-dbg python-dev python-dnspython \
python3-dnspython python3-gpg python-markdown python3-markdown \
python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils libsystemd-dev libkrb5-dev krb5-kdc

此时,应该依赖包安装完毕。

编译安装Samba4

Samba源码包网址:https://www.samba.org/samba/history/samba-4.12.7.html

下载,上传服务器目录,/usr/local/src/,解压文件

命令执行
root@ubuntu1:/usr/local/src# cd samba-4.12.7/
root@ubuntu1:/usr/local/src/samba-4.12.7# ./configure

image.png如果出现如上提示,配置成功。

执行安装

root@ubuntu1:/usr/local/src/samba-4.12.7# make && make install

image.png显示以上,就安装成功了,默认安装目录:/usr/local/samba

image.png

将Samba命令添加到$PATH变量

如果构建了Samba,请将包含命令的目录添加到变量的开头。例如:$PATH

export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH
目录
相关文章
|
6天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
127 15
|
18天前
|
Ubuntu 开发工具 git
Ubuntu编译ffmpeg解决错误:ERROR: avisynth/avisynth_c.h not found
通过本文的详细指导,您可以顺利地在Ubuntu系统上配置和编译FFmpeg,并解决Avisynth头文件缺失的问题。
76 27
|
1月前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
69 13
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
70 30
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
80 43
|
1月前
|
Ubuntu 计算机视觉 C++
Ubuntu系统下编译OpenCV4.8源码
通过上述步骤,你可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使你能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
37 12
|
2月前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
190 13
|
2月前
|
Ubuntu 开发工具 C++
Ubuntu 22.04上编译安装c++ libconfig library
通过本文的介绍,我们详细讲解了如何在Ubuntu 22.04上编译和安装libconfig库,并通过编写和运行一个简单的测试程序来验证安装是否成功。libconfig库的安装过程相对简单,主要包括环境准备、下载源码、编译和安装几个步骤。希望本文对您在项目中使用libconfig库有所帮助。
173 13
|
4月前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
4月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
308 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)