2013-06-04 37 views
3

我的最終目標是將我的Raspberry Pi變成一個FTP服務器。它連接到網絡,但沒有互聯網連接。如果我可以運行「sudo apt-get install ....」命令,看起來這將非常容易完成,但由於我沒有互聯網,所以這是不可能的。運行sudo apt-get install沒有互聯網連接

我下載了蟒蛇的「FTPLIB」我認爲這將允許我連接到與我的FTP服務器進行交互,一旦我得到它,但現在我卡住了。

我不知道很多關於Linux或Web服務器,所以,謝謝您的耐心提前。

我認爲一個可能的解決方案是在我的電腦上用互聯網下載一個LAMP軟件包,然後將其傳輸到樹莓派,但我不確定我會遇到什麼樣的路徑和文件夾問題。

+0

您使用的是哪種Linux發行版? – user1516873

+0

您應該接受最能幫助您的答案。這樣你至少支持支持你的社區。 –

+0

嘿,這是我第一個關於堆棧溢出的問題,當我得到一個答案時,我正在等待一個電子郵件,這個答案顯然是錯誤的,所以直到現在我纔看到任何活動,抱歉讓每個人都掛了一下。我現在用的是2.7.0 – Shaun314

回答

5

這樣做永遠不會乾淨,永遠不會完美。但是,以下是我所做的努力有時讓它有用。

您需要一臺機器,類似於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/

+0

我想我忘了提一些重要的東西,我的互聯網機器是Windows 7,而且我現在不能輕易訪問linux系統,但在未來,這聽起來像要走的路將是有一個與linux連接到互聯網的朋友下載副本給我,並做所有的編譯,然後它應該是好的去我想,也是最後一個鏈接你發送的看起來很有幫助! – Shaun314

+0

@ Shaun314祝你好運!這樣做很糟糕,但希望這個信息可以幫助你。 –

+0

如果你知道你需要的所有包和依賴項,你可以使用'apt-get download ...'將deb的下載到當前目錄中,從而節省了對apt-get clean的需求。 – drevicko

0
sudo dpkg -i ftplib 

爲Debian軟件包。

2

你必須下載軟件包它的依賴。然後將它們放置在SD卡上,然後執行:

cd folder_with_debs 
sudo dpkg -i *.deb 

順便說一句,這將是在大多數情況下,更容易堵塞的ETH電纜插入樹莓派短(如你張貼在這裏的話,你應該有機會到互聯網一般)

+0

這樣會很好,但我們只是說由於各種有趣的企業互聯網政策,事情說起來容易得多。我現在也在一臺裝有互聯網的Windows機器上。儘管非常感謝你的幫助! – Shaun314

+0

'說起來容易做起來難啊'我可以想象...... :) – hek2mgl

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 

我加入了回購協議(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。如果你仍然有問題,this可能會有所幫助,或者--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 

所以我added an architecture到的dpkg:

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

和apt-get仍然沒有能夠找到包裹。 Sooo我放棄並直接下載文件。在我的情況,因爲我無法使用集結出發,我下載並安裝在這裏上市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薄荷系統上安裝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等/公寓/ sources.list中

更多來源: http://savvyadmin.com/download-pgp-keys-with-apt-key/

反正,我不知道這是否算作一個答案,但希望它會是有幫助的人。