Cygwinコマンドラインを使用してパッケージをアップグレードおよびインストールしますか?


113

私はCygwinを使用する盲目のコンピューターユーザーです。

インストールプログラムにはあまりアクセスできません。特定のパッケージのアップグレード、インストール、削除は、マウスのキーストロークをシミュレートしてクリックおよびスクロールする必要があるため、非常に困難です。

パッケージを手動でインストール/アップグレードする方法、またはコマンドラインからパッケージをインストール/アップグレードする方法はありますか?

回答:


121

apt-cygをインストールします。

lynx -source https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

その後、次のコマンドを実行して、依存関係を含むパッケージ「lynx」をインストールできます。

apt-cyg install lynx

4
リポジトリは移動していません:DMCAの苦情がtranscode-open / apt-cyg に対して再度発行ました。ところで、GitHubのユーザーsvnpennは、その後継者であることを主張、同時に「セージ」という名前のフォークを作成
ルーカスザシモンを


(実行できるように)実行可能にするには、chmod + x apt-cygが必要でした
ペドロA

23

一部の人々は正しくと述べているのでapt-cyg、それ自体はwgetのを必要とし得るためにapt-cygあなたがwgetのを必要とする、ブートストラップするbashの唯一の解決策があるwget純粋なbashでは。

mintty bashシェルで次のような関数を作成します。

function __wget() {
    : ${DEBUG:=0}
    local URL=$1
    local tag="Connection: close"
    local mark=0

    if [ -z "${URL}" ]; then
        printf "Usage: %s \"URL\" [e.g.: %s http://www.google.com/]" \
               "${FUNCNAME[0]}" "${FUNCNAME[0]}"
        return 1;
    fi
    read proto server path <<<$(echo ${URL//// })
    DOC=/${path// //}
    HOST=${server//:*}
    PORT=${server//*:}
    [[ x"${HOST}" == x"${PORT}" ]] && PORT=80
    [[ $DEBUG -eq 1 ]] && echo "HOST=$HOST"
    [[ $DEBUG -eq 1 ]] && echo "PORT=$PORT"
    [[ $DEBUG -eq 1 ]] && echo "DOC =$DOC"

    exec 3<>/dev/tcp/${HOST}/$PORT
    echo -en "GET ${DOC} HTTP/1.1\r\nHost: ${HOST}\r\n${tag}\r\n\r\n" >&3
    while read line; do
        [[ $mark -eq 1 ]] && echo $line
        if [[ "${line}" =~ "${tag}" ]]; then
            mark=1
        fi
    done <&3
    exec 3>&-
}

これで、ほとんど wgetのように使用できます。

__wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg > /usr/bin/apt-cyg && chmod 0755 /usr/bin/apt-cyg

すみません、@ moreaki、しかしapt-cygから理解できないことが1つあります。古典的なCygWin Windowsインストーラーでは、リポジトリー/パッケージの場所を指定する必要があります。サイト、またはローカルドライブ(コンピューター内)。公式のgooglecodeサイトにはこのようなオプションはありません。apt-cygパッケージはどこからダウンロードしますか?
ソパラホデアリエレス14

返信が遅くなりました。公式のgooglecodeサイトでapt-cygのコードをざっと見てみましたが、選択したダウンロードサイトは、コマンドラインオプションを使用してミラーを指定していない場合にhttp://mirrors.kernel.org/sourceware/cygwin指定されているように見えfindworkspace()ます-m。コマンドラインを指定すると、ミラーサーバー情報がに書き込まれ/etc/setup/last-mirrorます。
モレアキ14年

apt-cygのインストールはもはやwgetに依存していません。彼らは彼らのウェブサイトでlynx(cygwinに組み込まれているようですか?)を使用しています。
akauppi

@steven大幅な変更を加えた大規模な編集の理由は何ですか?それはほとんど別の答えそのものです
ランダム

1
次に、反対票を投じて、競合する回答を提供します。あなたがapt-cygのメンテナーである場合、あなたのプロファイルや編集概要、またはこれらの種類の編集のスワローでスチームロールするその種の権限または背景を示唆する目に見える場所に表示はありません
ランダム

21

公式のapt-CYGインストール方法は次のとおりです。

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

2つのステップは3つよりも優れています。次に:

apt-cyg install nano

ちなみに、apt-cygを使用するには、機能させるためにwgettargawk 、およびbzip2をインストールする必要があります。wgetとは別に、他のものにはデフォルトのCygwinインストールが付属しています。


2
64ビットCygwin用に、svnそしてapt-cyg破壊することができます。だから、使用する必要がありますthree stepインストールするには、wgetのアプローチをapt-cygしてから交換する$mirror/setup...$mirror/x86_64/setup...のapt-CYGファイルの行98および105で。
サガンス

17

古い質問ですが、グーグルでここに来た人:公式セットアップにはコマンドライン引数があり、簡単な* .batスクリプトを準備できます-たとえば、「install-pkg.bat」に次の行を入れて、そのファイルをルートディレクトリに入れてください(例:C:\ cygwin):

setup-x86.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --root "%cd%" --packages %*

http://www.cygwin.com/setup-x86.exe(32bit)またはhttp://www.cygwin.com/setup-x86_64.exe(64bit)をダウンロードして同じディレクトリに配置する必要があります。パッケージをインストールするために必要なことは次のとおりです。

install-pkg packagename

ポジティブ:公式のセットアップ。どのパッケージでも常に機能するはずです。ネガ:現在(2015年6月)の公式セットアップでは、実際には必要ありませんが(システムフォルダー外のルートディレクトリなど)、管理者権限が必要です。


1
これは、Cygwinのインストール済み環境にすでにあるツールです。ただし、すでにインストールされているすべてのパッケージを更新しないようにすることはできませんか?新しいパッケージを1つだけインストールしたい場合は非常に面倒です。言い換えると、グラフィカルなsetup.exeの「保持」オプションに相当するコマンドラインはありません
-golimar

1
注setup.exeはsetup-x86.exeと呼ばれるようになりました-またはCPUビットに応じたバリアントです
ErichBSchulz 14年

リンクが壊れています、今は:cygwin.com/faq/faq.html#faq.setup.cliあなたの答えでそれを編集できますか?ありがとう
-Benj

--no-adminスイッチを使用する場合、管理者権限は必要ありません(と同じ-B)。
cdlvcdlv

13

Cygwinのsetup.exeは、少なくとも1.7「ベータ」リリースでは、「無人」モードが組み込まれています。setup.exeショートカットをコマンドウィンドウにドラッグアンドドロップし(または、スイッチで実行する準備をして)、-q無人モードを追加し、その後に-Pパッケージ名とカンマ区切りのパッケージ名を追加します。だから、私にとって、これはlynxをインストールしました:

$ "C:\Documents and Settings\martind\Desktop\setup-1.7.exe" -q -P lynx

ちょっと、それは動作しますが、インストール時にいくつかのパッケージを追加したい場合、どうすればいいですか?
ジョニデップ

1
注setup.exeはsetup-x86.exeと呼ばれるようになりました-またはCPUビットに応じたバリアントです
ErichBSchulz 14年

7
setup-x86 -nq -s http://box-soft.com -P curl,git,make

または

setup-x86 -nq -s http://box-soft.com -P curl -P git -P make

これにより、cURL、git、およびmakeがインストールされますが、quietモードではショートカットはありません。



0

受け入れられた答えに鶏<=>卵の問題があります。取得していない場合、wgetまたはlynx初期インストール中に、を使用することはできませんapt-cygwget使用できるようにインストールした方法を次に示しますapt-cyg。(cygwin setup exeのCLI機能を使用します。)

# check to see if you are running 64 bit cygwin
$ uname -a
CYGWIN_NT-10.0 WINDOWS-ABMESEI 2.6.0(0.304/5/3) 2016-08-31 14:32 x86_64 Cygwin

# if you are not using 64 bit, get http://www.cygwin.com/setup-x86.exe instead of...
$ curl -o cygwin-setup.exe http://www.cygwin.com/setup-x86_64.exe
$ chmod +x cygwin-setup.exe

# now you are ready to use it according to: https://cygwin.com/faq/faq.html#faq.setup.cli
$ cygwin-setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --packages wget

-1

少なくとも、インストール後の設定を必要としないパッケージについては、cygwinルート「/」から単純に展開しました。セットアップで処理される2つのバージョンを超えた古いバージョンのsubversion(1.7.14)が必要でした。

追加の利点は、パッケージがcygwinパッケージ管理の世界の外側になるため、ある種のアドホックブラックリストでは、デフォルトが維持される場合、最新のパッケージで自動的に更新されないことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.