5

私の最終目標は、Raspberry Pi を FTP サーバーに変えることです。ネットワークには接続されていますが、インターネットには接続されていません。「sudo apt-get install ....」コマンドを実行できれば、これは非常に簡単に実行できるように思えますが、インターネットがないため、これは不可能です。

Python 用の「ftplib」をダウンロードしました。これにより、起動したら FTP サーバーに接続して対話できると思いますが、現在は行き詰まっています。

私は Linux や Web サーバーについてあまり詳しくありませんので、ご理解のほどよろしくお願いいたします。

可能な解決策は、インターネットを使用してコンピューターに LAMP パッケージをダウンロードし、それを Raspberry Pi に転送することだと思いますが、どのようなパスとフォルダーの問題が発生するかわかりません。

4

5 に答える 5

7

これを行うことは決してきれいではなく、決して完璧ではありません。しかし、以下は時々それを機能させるために私がしたことです。

FTP サーバーに似たマシンが必要になり、FTP サーバーからすべてのパッケージと依存関係をダウンロードする必要があります。通常、インターネット マシンから最初に実行するものは次のとおりです。

sudo apt-get clean 

上記のコマンド/var/cache/apt/archives/は、必要なパッケージと依存関係のみが含まれていることを確認できるように、ディレクトリをクリーンアップします。次に実行します。

sudo apt-get -d build-dep <package_name>

-dダウンロードのみを行いbuild-dep、必要なすべての依存関係を取得して にドロップします/var/cache/apt/archives/。これが、少なくとも同様のビルドが必要な理由です。sudo apt-get remove <package name>宛先サーバーが必要とするパッケージが既にマシン にある場合は、 を実行する必要がある場合もあります。

次に、そのディレクトリからデータを取り出し、デバイスに配置して FTP サーバーに転送します。そこから、ターゲット マシンで実行します。

sudo dpkg -i *.deb

他にできることは、apt オフラインhttp://apt-offline.alioth.debian.org/を使用することです。

于 2013-06-04T13:42:09.213 に答える
2

パッケージとその依存関係をダウンロードする必要があります。次に、それらを sd カードに配置して実行します。

cd folder_with_debs
sudo dpkg -i *.deb

ところで、ほとんどの場合、eth ケーブルをラズベリー パイに簡単に差し込む方が簡単です (ここで SO に投稿しているように、通常はインターネットにアクセスできる必要があります)。

于 2013-06-04T13:28:22.947 に答える
1

これは @Inquisitor への非常に長いコメントです。

ちなみに、非常に役立つ回答です。それは私を正しい軌道に乗せました。興味のある方のために、以下にいくつかのメモを含めます。この回避策はすべて機能せず、次の場所から直接ファイルをダウンロードしたことに注意してください。

ftp://ftp.us.debian.org/debian/pool/main/t/tk8.5/
ftp://ftp.us.debian.org/debian/pool/main/t/tcl8.5/

しかし、うまくいけば、これは誰かに役立つでしょう。

piにtk8.5-devとtcl8.5-devをインストールしています。これを行うには、次のことを見つけました。

https://packages.debian.org/wheezy/armhf/tk8.5-dev/download
https://packages.debian.org/wheezy/armhf/tcl8.5-dev/download

repo( deb http://ftp.de.debian.org/debian wheezy main) をに追加してから/etc/apt/sources.list、 を実行しましsudo apt-get updateた。更新時に、次のように叫びました。

GPG error: http://ftp.de.debian.org wheezy Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 6FB2A1C265FFB764

私はdebianを使用していないためですが、使用しました

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6FB2A1C265FFB764

それは私に言ったno ultimately trusted keys found。また走っsudo apt-get updateた。キーを紛失した場合 (私が最初に行ったように)、それが教えてくれますThere is no public key available for the following key IDs: 6FB2A1C265FFB764。それでも問題が解決しない場合は、これが役立つか、 --allow-unauthenticated フラグが役立つ可能性があります。

この時点で、私は走りました

sudo apt-get -d build-dep tk8.5-dev_8.5.11-2_armhf.deb tcl8.5-dev_8.5.11-2_armhf.deb

そして得た

Unable to find a source package for tk8.5-dev_8.5.11-2_armhf.deb

そこで、dpkgにアーキテクチャを追加しました。

sudo dpkg --add-architecture armhf
sudo apt-get update

そして apt-get はまだパッケージを見つけることができませんでした. すっごくあきらめて、ファイルを直接ダウンロードしました。私の場合、build-dep を使用できなかったので、armhf 用にここにリストされているすべてをダウンロードしてインストールしました。

https://packages.debian.org/stable/devel/libxss-dev
https://packages.debian.org/stable/devel/libxft-dev
https://packages.debian.org/stable/devel/tk8.5-dev
https://packages.debian.org/stable/devel/tk8.5
https://packages.debian.org/stable/devel/tcl8.5-dev
https://packages.debian.org/stable/devel/tcl8.5

他にも依存関係があるので、今日はそれらを調べて、他に興味深いものが見つかったらこの回答を編集します。

もちろん、すべての良いことはchiasticであるため、amd64 mint システムに debian armhf パッケージをインストールしたくないため、すべてを元に戻す必要がありました。

sudo dpkg --remove-architecture armhf
sudo apt-key del 8B48AD6246925553
sudo apt-key del 6FB2A1C265FFB764
sudo apt-get update

deb http://ftp.de.debian.org/debian wheezy main/etc/apt/sources.list から削除

その他のソース: http://savvyadmin.com/download-pgp-keys-with-apt-key/

とにかく、これが答えとしてカウントされるかどうかはわかりませんが、誰かの役に立てば幸いです.

于 2014-04-29T17:15:28.247 に答える
0
sudo dpkg -i ftplib

Debian パッケージ用。

于 2013-06-04T13:27:47.330 に答える
0

それを行う適切な方法:apt-offline

オフライン システムにパッケージをインストールする本当に良い方法は、 を使用することapt-offlineです。依存関係がほとんどないため、オフライン システムにインストールできますdpkg -ipkgs.orgで deb ファイルをダウンロードします。

# Online is the computer connected to internet
# Offline is the computer disconnected from internet
# ---
# ## Install apt-offline ## 
# Online
apt update
apt install apt-offline
# Offline
#   Download last package from pkgs.org
dpkg -i apt-offline_1.8.*_all.deb


# ## Update System ##
# Offline
apt-offline set --update updates.sig
# Online
apt-offline get updates.sig --bundle updates.zip
# Offline 
apt-offline install updates.zip


# ## Upgrade System ##
# <!> Update must be done before.
# Offline
apt-offline set --upgrade upgrade.sig
# Online
apt-offline get upgrade.sig --bundle upgrades.zip
# Offline 
apt-offline install upgrades.zip
apt upgrade --no-download --fix-missing


# ## Install packages##
# <!> Update must be done before.
# pkg1, pkg2 & pkg3 being the packages you want to install
# Offline 
apt-offline set install.sig --install pkg1 pkg2 pkg3
# Online
apt-offline get install.sig --bundle install.zip
# Offline 
apt-offline install install.zip
apt install pkg1 pkg2 pkg3 --no-download --fix-missing

重要: 更新とアップグレード/インストールを同時に進めないでください。そうすることで、アップグレードは、更新後ではなく、コンピューターに既にインストールされているパッケージ リストから実行されます。

重要 2 :パッケージをインストールするには十分ではありませんapt-offline installupgradeこのコマンドが行う唯一のことは、apt ( /var/cache/apt/archives) のキャッシュをパッケージでいっぱいにすることです。これにより、 に進むことができますapt install --no-download --fix-missing

于 2022-01-23T15:46:49.493 に答える