Flash Media Server 在 debian 上

本文介绍在Debian系统上安装FlashMediaServer的过程及遇到的问题解决方法,包括配置用户账号、使用rcconf工具管理服务启动、解决NSPR库依赖缺失等问题。

Flash Media Server 在 debian 上

學員安裝 Flash Media Server 在 Windows XP 上,基本上是可以運作啦!不過,我習慣使用 Linux 來架設伺服器,所以還是打算將 Flash Media Server 安裝在 Debian 上面。
下課回工作室後,先在工作室的 CentOS 5.2 上的 /tmp 目錄下建立一個子目錄,再將下載的 Flash Media Server 3 開發版複製到新建立的目錄下,以 unzip 解壓縮後再以 tar 指令將 tar ball 解包。
安裝前,我先建立一個 Flash Media Server 將來使用 Deamon 方式執行的用戶帳號與群組,接下來是安裝的重點,因為 Flash Media Server 一般指定的平台是 Solaris、 AIX或 Redhat Enterprise 版本,所以在 CentOS 或其它 DIST. 上安裝,必須要下 platformWarnOnly 的參數,否則無法安裝。
# useradd -r fms# mkdir /tmp/fms# mv Flashmedia3_Int_Strm_ALP.zip /tmp/fms# cd /tmp/fms# unzip Flashmedia3_Int_Strm_ALP.zip# tar zxvf FlashMediaServer3.tar.gz# cd FMS_3_0_1_r123# ./installFMS -platformWarnOnly
安裝過程需要回答 Y/N 的部分我採用預設值,管理者帳號密碼 admin/bar(請自設),執行 Deamon 的帳號與群組 fms/fms(請自訂)。CentOS 5.2 上安裝過程一切順利,測試實際使用串流內容也沒問題。
回到教室,依照上述的步驟在 Debian 上執行,安裝過程會出現找不到 chkconfig 檔案的錯誤訊息,不過也可以完成安裝,安裝完畢發現 Flash Media Server 無法自行啟動,可能是安裝過程找不到 chkconfig 檔案的關係。 FMS 安裝檔案下載
Debian 對 Deamon 的管理並不是使用 Redhat 的 chkconfig 管理工具,而是使用 rcconf 管理工具來做管理,所以在安裝完 Flash Media Server 後,得手動執行 rcconf 將 fms 服務該選才能在開機時自行啟動。
# rcconf
手動執行方式
# /etc/init.d/fms start
問題又來了,Flash Media Server 使用了 TCP Port:1935 來作為連線使用,使用 Port 1111 與 11110 給管理的 Console 連線,上述手動方式啟動 FMS 後,我使用 telnet localhost 1935 卻沒有任何回應,這表示無法提供串流服務,而 telnet localhst 1111 有回應,表示 Console 是可以使用的。
進入 /opt/adobe/fms 目錄,執行 ./fmsmgr server start 結果回應 NSPR 的 Library 找不到,查了一下函式庫,有發現 libnspr4-0d 的函式,那怎麼會無法啟動呢?想到之前在做某些程式的編譯時,需要一些函式的 develop 套件,把 libnspr4-dev 套件給安裝起來,再重新啟動 FMS,果然一舉成功
# apt-get install libnspr4-dev# /etc/init.d/fms restart
在 Debian 上安裝 Flash Media Server 可能還需要 libstdc++5 以及 libstdc++5-3.3-dev,如果執行 fms 發現有上述套件區缺少的情況,請把它裝到系統中。
通常,Debian 上 Deamon 執行不會在畫面顯示錯誤訊息,變通的方式是進入 /opt/adobe/fms 目錄下,執行以下檔案:
# ./fmsmgr server fms start

#./fmsadmin server fms start
它會告訴你不同的錯誤訊息。
另外,可以在 /etc/ld.so.conf.d/i486-linux-gnu.conf 內加上一行 /opt/adobe/fms,存檔後記得執行 ldconfig 指令讓設定生效。
網路上有文章寫到安裝 Flash Media Server 需要先進行補丁後再執行安裝程序,該補丁下載點在,指令需要解包後的安裝目錄下進行 patch -p1 < flash-media-server-3-ubuntu.patch。不過,我是沒有補丁啦!我猜想這個補丁應該是修改安裝程序,跳過 Platform 的檢查,所以我並沒有將它補上。
<think>我们在Debian系统上安装Microsoft SQL Server的ODBC驱动程序,主要参考官方文档和已有的社区经验。 根据引用[1]和引用[4],安装步骤大致包括添加微软的仓库、安装ODBC驱动包以及配置环境。 注意:Debian和Ubuntu虽然相近,但包管理器和依赖可能略有不同。这里我们以Debian 10(buster)为例,其他版本可能需要调整。 步骤: 1. 导入公共存储库GPG密钥 2. 将Microsoft ODBC驱动程序的存储库添加到系统中 3. 更新包列表 4. 安装ODBC驱动包(包括unixODBC开发包) 5. 验证安装 具体操作如下: 1. 导入GPG密钥: ``` curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - ``` 2. 添加存储库(以Debian 10为例): ``` curl https://packages.microsoft.com/config/debian/10/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list ``` 3. 更新包列表: ``` sudo apt update ``` 4. 安装ODBC驱动(17版本): ``` sudo ACCEPT_EULA=Y apt install msodbcsql17 ``` 注意:`ACCEPT_EULA=Y`表示接受许可协议。如果需要安装其他版本(如13版),将包名改为`msodbcsql13`即可。 5. 如果需要,可以安装ODBC头文件(用于编译): ``` sudo apt install unixodbc-dev ``` 6. 验证安装: ``` odbcinst -q -d -n "ODBC Driver 17 for SQL Server" ``` 如果安装成功,会显示驱动配置信息。 另外,根据引用[3],安装完成后可以使用sqlcmd工具进行连接测试。但是这里我们只安装ODBC驱动,sqlcmd属于mssql-tools包,如果需要可以单独安装。 注意:在安装过程中可能会遇到依赖问题,特别是libssl1.0.0的依赖。在Debian 10中,默认的libssl版本是1.1,而ODBC驱动可能需要1.0.0。解决方法如下(参考引用[2]): - 下载libssl1.0.0的deb包(例如从Debian仓库中获取)并安装: ``` wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb ``` 但是注意,这种方法可能会因为系统版本不同而不同。在Debian 10中,我们可以使用以下替代方案(因为官方仓库中已经移除了libssl1.0.0): - 添加buster-backports仓库(如果还没有): ``` echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee /etc/apt/sources.list.d/backports.list sudo apt update ``` - 然后安装libssl1.0.0(可能不可用,因为backports中可能也没有) 或者,我们可以从buster的安全仓库中获取: ``` wget http://security.debian.org/debian-security/pool/updates/main/o/openssl1.0/libssl1.0.2_1.0.2u-1~deb9u4_amd64.deb sudo dpkg -i libssl1.0.2_1.0.2u-1~deb9u4_amd64.deb ``` 但是,注意这个包名是针对Debian 9(stretch)的,在Debian 10上可能不兼容。 实际上,根据微软官方文档,ODBC驱动17要求的最低系统是Ubuntu 16.04,对应的OpenSSL版本是1.0.2。在Debian 10中,我们可以安装libssl1.1,但驱动可能要求的是1.0.0。因此,我们可以尝试安装libssl1.0.0的兼容包(如果存在)或者使用其他方法。 然而,微软在后续版本中已经更新了驱动对OpenSSL的依赖。我们可以尝试安装最新的ODBC驱动(17.7以上版本),这些版本支持OpenSSL 1.1。因此,我们最好安装最新版本的ODBC驱动,以避免依赖问题。 如果上述安装步骤中,安装msodbcsql17时提示缺少libssl1.0.0,我们可以尝试以下步骤: a. 添加Debian 9(stretch)的仓库来获取libssl1.0.2(因为Debian 10中默认没有): ``` echo "deb http://ftp.debian.org/debian stretch main" | sudo tee /etc/apt/sources.list.d/stretch.list sudo apt update ``` b. 安装libssl1.0.2: ``` sudo apt install -t stretch libssl1.0.2 ``` c. 然后再次尝试安装msodbcsql17。 d. 安装完成后,为了安全,可以移除stretch仓库: ``` sudo rm /etc/apt/sources.list.d/stretch.list sudo apt update ``` 但是,这种方法可能会引入不兼容的库,因此建议仅在必要时使用,并确保不会影响其他软件。 另外,根据引用[4]中的方法,也可以考虑在容器中安装,但这可能不是用户需要的。 因此,我们推荐用户尽量安装最新版本的ODBC驱动(17.7及以上),这些版本支持OpenSSL 1.1,从而避免依赖问题。如果用户使用的Debian版本较新(如Debian 11),则可以直接安装。 对于Debian 10,如果上述方法都无法解决,可以尝试使用微软提供的Docker镜像,或者考虑升级系统到Debian 11。 总结:在Debian上安装ODBC驱动可能会遇到OpenSSL版本问题,需要根据具体情况解决。 下面给出一个针对Debian 10的完整安装步骤(假设安装最新驱动,并解决依赖): 步骤1:导入GPG密钥并添加存储库(同上) 步骤2:更新包列表 步骤3:尝试安装msodbcsql17,如果遇到libssl问题,则安装libssl1.0.2(从stretch仓库) 具体命令: ``` # 导入GPG密钥 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - # 添加存储库 curl https://packages.microsoft.com/config/debian/10/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list # 更新 sudo apt update # 尝试安装,如果提示缺少libssl1.0.0,则添加stretch仓库 echo "deb http://ftp.debian.org/debian stretch main" | sudo tee /etc/apt/sources.list.d/stretch.list sudo apt update sudo apt install -t stretch libssl1.0.2 # 安装ODBC驱动 sudo ACCEPT_EULA=Y apt install msodbcsql17 # 安装完成后,移除stretch仓库 sudo rm /etc/apt/sources.list.d/stretch.list sudo apt update ``` 注意:这种方法可能会因为网络原因导致下载失败,请确保能够访问Debian的官方仓库。 另外,如果用户使用的是Debian 11(bullseye),则可以直接安装,因为Debian 11自带的libssl1.1可以被驱动支持(驱动版本>=17.7)。 因此,建议用户检查自己的Debian版本,并根据版本选择安装方法。 最后,验证安装: ``` odbcinst -q -d -n "ODBC Driver 17 for SQL Server" ``` 如果输出中包含该驱动的配置信息,则安装成功。 希望这些步骤能帮助您在Debian系统上成功安装Microsoft SQL Server的ODBC驱动程序。 如果遇到其他问题,可以参考微软官方文档:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15 注意:官方文档中主要支持Ubuntu,但Debian可以参照类似步骤。 相关问题: 1. 如何验证ODBC驱动是否安装成功? 2. 安装过程中遇到依赖问题如何解决? 3. 除了ODBC驱动,如何在Debian上安装SQL Server命令行工具(sqlcmd)? 4. 如何使用ODBC驱动连接SQL Server数据库?</think>### 在 Debian 系统上安装 Microsoft SQL Server ODBC 驱动程序的步骤 #### 📦 1. 添加 Microsoft 软件仓库 ```bash # 导入 GPG 密钥 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - # 添加 Debian 仓库源 (以 Debian 10 为例) curl https://packages.microsoft.com/config/debian/10/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt update ``` #### ⚙️ 2. 安装 ODBC 驱动核心组件 ```bash # 安装 ODBC 驱动 (接受 EULA 协议) sudo ACCEPT_EULA=Y apt install msodbcsql17 # 安装 unixODBC 开发工具 sudo apt install unixodbc-dev ``` #### 🔍 3. 验证安装 ```bash # 检查已安装的驱动列表 odbcinst -q -d -n "ODBC Driver 17 for SQL Server" # 测试连接 (替换密码和服务器信息) sqlcmd -S localhost -U SA -P "<YourPassword>" ``` 成功安装后应显示驱动信息: `[ODBC Driver 17 for SQL Server]` `Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.2.1`[^1][^3] #### ⚠️ 常见依赖问题解决方案 若遇到 `libssl1.0.0` 缺失错误(常见于 Debian 10): ```bash # 添加旧版 SSL 库源 echo "deb http://security.debian.org/debian-security stretch/updates main" | sudo tee /etc/apt/sources.list.d/ssl.list sudo apt update # 安装兼容库 sudo apt install libssl1.0.2 ``` #### 🌐 4. 配置 ODBC 数据源 在 `/etc/odbc.ini` 添加配置: ```ini [SQLServer] Driver = ODBC Driver 17 for SQL Server Server = <your_server_ip> Port = 1433 Database = <database_name> ``` ### 📚 安装原理说明 1. **msodbcsql17** 包包含 Microsoft 官方 ODBC 驱动二进制文件 2. **unixODBC** 提供标准 ODBC 接口管理框架 3. 驱动安装路径:`/opt/microsoft/msodbcsql17/lib64/` 4. 配置文件路径: - 系统 DSN:`/etc/odbc.ini` - 驱动配置:`/etc/odbcinst.ini`[^1][^4] > 💡 **提示**:对于 Debian 11/12 用户,建议直接使用微软官方 Docker 镜像规避依赖问题: > `docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<密码>' mcr.microsoft.com/mssql/server:2022-latest`[^3][^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值