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

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

前言

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

安装步骤

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

依赖包安装

官网wiki地址: wiki.samba.org/index.php/P…

强烈建议,此处安装,完全在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源码包网址: www.samba.org/samba/histo…

下载,上传服务器目录,/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
目录
相关文章
|
22天前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
95 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
22天前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
53 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
11天前
|
Ubuntu 编译器 计算机视觉
Ubuntu系统编译OpenCV4.8源码
【10月更文挑战第17天】只要三步即可搞定,第一步是下载指定版本的源码包;第二步是安装OpenCV4.8编译需要的编译器与第三方库支持;第三步就是编译OpenCV源码包生成安装文件并安装。
|
27天前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
43 3
|
28天前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
28天前
|
Web App开发 Ubuntu 前端开发
【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0
【踩坑记】Ubuntu 20.04.6 LTS下编译安装gcc 4.4.0
|
2月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【9月更文挑战第8天】在Ubuntu中,编译指定版本的源码`make`是一项挑战但也极具价值的任务。它允许我们根据特定需求定制软件,提升性能与功能适配。首先需安装必要工具包如GCC等;接着下载所需源码并阅读相关文档以了解编译要求。通过运行`./configure`、`make`及`sudo make install`命令完成编译安装流程。过程中可能遇到依赖项缺失或编译选项设置不当等问题,需根据错误提示逐一解决。对于大型项目,可利用多核编译加快速度。掌握这一技能有助于更好地探索开源世界。
43 2
|
3月前
|
Ubuntu Linux
ubuntu源码编译指定版本make
以上内容涵盖了在Ubuntu中编译安装指定版本软件的全过程,这是一个技术性很强的操作,不仅可以带来定制化的安装体验,同时也能增加对系统管理和软件构建流程的理解。遵循以上步骤,任何有一定基础的用户都能够按需编译和安装软件。
53 8
|
3月前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
155 4
|
3月前
|
Ubuntu 编译器 C语言
Ubuntu 源码编译指定版本 make:神秘代码背后的激情冒险,等你来战!
【8月更文挑战第19天】在Ubuntu中编译指定版本的`make`工具是一项高级技巧,能让你针对特定需求定制软件。首先确保已安装`build-essential`等必要组件。下载所需版本源码后,遵循README指南配置与编译。使用`./configure`检测环境,`make`编译,最后`sudo make install`安装。面对问题如缺失依赖或编译选项不当,需耐心解决。对于大型项目,可利用多核加速编译,如`make -j 4`。这一过程虽具挑战,却能显著提升软件性能与功能适配。
66 2